Slava Pestov
fae27fb361
vm: make some more ctors explicit just for kicks
2009-10-24 23:02:58 -05:00
Slava Pestov
606a805d7d
vm: debugging mark and sweep
2009-10-21 23:24:35 -05:00
Slava Pestov
2e65366c6b
vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions
2009-10-18 20:31:59 -05:00
Slava Pestov
c4ef640f4d
Big VM cleanup
...
- Move forward declarations of 'struct factor_vm' to one place
- Rename template parameters from T and TYPE to descriptive names. New convention: CamelCase for template parameters
- Change some higher-order functions taking function pointers into templates, and define classes overriding operator(). There's a bit of new boilerplate here but its more consistent than the old mish-mash approaches
- Put GC state into a gc_state struct
- Use exceptions instead of longjmp for non-local control transfer in GC
- In code GC, instead of interleaving code block tracing with copying, add code blocks which need to be revisited to an std::set stored in the gc_state
2009-10-03 08:47:05 -05:00
Slava Pestov
d86ba27577
vm: fix compile error with DEBUG=1
2009-10-02 03:30:02 -05:00
Phil Dawes
3a88d8c49e
inlineimpl.hpp is toast
2009-09-29 19:53:10 +01:00
Phil Dawes
791d654f92
moved local_roots and write_barrier stuff out of inlineimpls.hpp
2009-09-28 19:02:51 +01:00
Phil Dawes
efa974f025
moved global state from math into vm
2009-09-16 08:16:24 +01:00
Phil Dawes
4dabd186c9
moved data_gc and local_roots inline functions to vm.hpp
2009-09-16 08:16:23 +01:00
Phil Dawes
e678f6a681
added vm member to gc_bignum
2009-09-16 08:16:22 +01:00
Phil Dawes
a2f14b5a6d
added vm member to gc_root and growable arrays
2009-09-16 08:16:22 +01:00
Phil Dawes
386dafe747
moved local roots state to vm, shuffled includes around
2009-09-16 08:16:21 +01:00
Slava Pestov
13464d9403
Fix debug build
2009-09-11 20:33:38 -05:00
Slava Pestov
81c4670619
VM: use an std::vector instead of a fixed-size buffer for GC roots
2009-09-08 14:21:09 -05:00
Slava Pestov
efde9b8d10
callstack>array was keeping an uninitialized array around across potential GCs; add more assertions
2009-05-17 18:18:07 -05:00
Slava Pestov
abf7912ae7
Cleanups
2009-05-04 05:07:14 -05:00
Slava Pestov
8872c40b1e
The great type renaming
2009-05-04 04:50:24 -05:00
Slava Pestov
edecac508e
Use C++ namespaces
2009-05-04 01:46:13 -05:00
Slava Pestov
8e17e0a01e
VM: use better abstractions for tagged pointers, eliminate get()/set() stuff, clean up array, string, and byte-array element access
2009-05-04 01:00:30 -05:00
Slava Pestov
ec28b1ef85
Various VM cleanups, new approach for bignum GC root registration
2009-05-03 05:48:03 -05:00
Slava Pestov
b923d548cf
Move vmpp to vm
2009-05-02 20:37:18 -05:00