Commit Graph

7 Commits (44c78493bf3166a1ed88025f450dbe4e847ef4fd)

Author SHA1 Message Date
Slava Pestov 44c78493bf vm: misc cleanups 2009-10-09 03:20:50 -05:00
Slava Pestov 8ffd538d27 vm: more code cleanups 2009-10-07 08:33:54 -05:00
Slava Pestov fa2ee8ee7a vm: free up a cell in compiled code block headers 2009-10-06 05:52:45 -05:00
Slava Pestov 1bfa4ef5ca vm: cleanup 2009-10-06 01:42:17 -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
Phil Dawes 0ca2b9b3b2 Converted some callback fns to use member-fn pointers 2009-09-28 19:45:10 +01:00
Slava Pestov 5195fdaeaa vm: make heap data-type object-oriented 2009-09-25 20:32:00 -05:00