For the sake of first-class continuations, two extra lazy link slots are added to each new stack frame. Deallocation pops frame that weren't captured, up to the "stack base". The rest become GC fodder. For the sake of performance, frames are further aligned to 4 words. 4/
-
Show this thread
-
When your stack overflows its current "msection", memory is allocated for a new msection, and the now previous msection becomes heap. In that heap msection, the change of representation of frames from contiguous to using link slots is lazy. 5/
1 reply 0 retweets 0 likesShow this thread -
Immediate objects have a type tag in the two lowest bits. 00 for fixnums, 10 for immediate objects, 11 for pairs, 01 for everything else. For the sake of a simpler more uniform and faster GC, pairs still have a header like other objects, and the cdr comes before the car. 6/
1 reply 0 retweets 0 likesShow this thread -
Low 8 bits of heap object headers are 5 type bits, and 3 GC bits: permanent (never reclaimed), still (outside an msection), moveable (can be moved). For thread-safe GC, compare-and-swap is used to grab ownership of the object. 7/
1 reply 0 retweets 0 likesShow this thread -
Gambit has a library for you to do your own Run-Time Code Generation (and calling of generated code) for x86 assembly and more. Gambit has a lot of experimental, disabled, unused features and works in progress. Projects for future students! 8/
1 reply 0 retweets 1 likeShow this thread -
Brad Lucier explains his career of numerical computations in Gambit, and making it consistently competitive with or faster than lower-level code written by hand in C or assembly.
1 reply 2 retweets 2 likesShow this thread -
Samuel Yvon presents Mimosa, a unikernel written in
#Gambit Scheme, in which you can update the drivers while the machine is running.2 replies 3 retweets 5 likesShow this thread -
Marc Feeley explains how to migrate tasks from one machine to the other, how to serialize continuations and everything that entails, how to use a trampoline but not too often, how to avoid space leaks between the GVM and target language GC...
1 reply 1 retweet 2 likesShow this thread -
Frédéric Hamel talks about Gambit's new module system, developed to solve issues with the Termite distributed system.
1 reply 0 retweets 1 likeShow this thread -
Frédéric Hamel demonstrates hot code upgrade of distributed code and task migration to a different machine.
#GambitAt302 replies 1 retweet 2 likesShow this thread
Looking at the source code for the upgrade and migration, I see that more is done in user code than I was hoping for. This is no Erlang. Still cool.
-
-
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.
Read my blog!