Commit Graph

19 Commits (38d662c29a4527b301c78aaa9900fc0c7ff78112)

Author SHA1 Message Date
Slava Pestov 89612b7f31 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 3887292543 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 a989cad668 vm: fix compile error with DEBUG=1 2009-10-02 03:30:02 -05:00
Phil Dawes a514f79d3c inlineimpl.hpp is toast 2009-09-29 19:53:10 +01:00
Phil Dawes 49df5b1078 moved local_roots and write_barrier stuff out of inlineimpls.hpp 2009-09-28 19:02:51 +01:00
Phil Dawes 6c566717ba moved global state from math into vm 2009-09-16 08:16:24 +01:00
Phil Dawes 6d1ee34188 moved data_gc and local_roots inline functions to vm.hpp 2009-09-16 08:16:23 +01:00
Phil Dawes f8d56f69c1 added vm member to gc_bignum 2009-09-16 08:16:22 +01:00
Phil Dawes ebbf2151fe added vm member to gc_root and growable arrays 2009-09-16 08:16:22 +01:00
Phil Dawes 16c3591d11 moved local roots state to vm, shuffled includes around 2009-09-16 08:16:21 +01:00
Slava Pestov 2e88ff775a Fix debug build 2009-09-11 20:33:38 -05:00
Slava Pestov bd447dca7b VM: use an std::vector instead of a fixed-size buffer for GC roots 2009-09-08 14:21:09 -05:00
Slava Pestov c4162971e0 callstack>array was keeping an uninitialized array around across potential GCs; add more assertions 2009-05-17 18:18:07 -05:00
Slava Pestov 72691cae07 Cleanups 2009-05-04 05:07:14 -05:00
Slava Pestov 7c0a59f7a9 The great type renaming 2009-05-04 04:50:24 -05:00
Slava Pestov 7f48eb2b2c Use C++ namespaces 2009-05-04 01:46:13 -05:00
Slava Pestov 1857f90eb6 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 7820d88271 Various VM cleanups, new approach for bignum GC root registration 2009-05-03 05:48:03 -05:00
Slava Pestov 938d1a4270 Move vmpp to vm 2009-05-02 20:37:18 -05:00