Commit Graph

20 Commits (5ae40e26ee7f8f2a1a9c58c0b8c95f448001321e)

Author SHA1 Message Date
Slava Pestov 810e309e0c vm: rename userenv to special_objects 2009-10-23 00:33:53 -05:00
Slava Pestov 40351d40be vm: use iostreams instead of printf for debug messages, clean up a few things 2009-10-21 20:12:57 -05:00
Slava Pestov 838a44e901 vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits 2009-10-20 09:37:24 -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 2b63029da8 vm: fix GC safety issue in non-optimizing compiler 2009-10-18 18:57:41 -05:00
Slava Pestov 38d120f92e vm: rt-vm relocation now supports accessing a field directly 2009-10-14 19:24:23 -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
Phil Dawes 57840562f5 renamed myvm member variable to parent_vm 2009-09-24 08:16:57 +01:00
Phil Dawes 83b0769eef renamed factorvm to factor_vm 2009-09-24 08:16:52 +01:00
Phil Dawes ef16c4be66 moved userenv into vm in C code (DOESNT BOOTSTRAP YET!!!) 2009-09-16 08:16:32 +01:00
Phil Dawes 80716a1b6e moved global state from contexts and run into vm
Also renamed template type from T to TYPE to prevent clash with vm::T (true)
2009-09-16 08:16:24 +01:00
Phil Dawes a2f14b5a6d added vm member to gc_root and growable arrays 2009-09-16 08:16:22 +01:00
Phil Dawes 54b3c1ea88 added vm member to jit classes 2009-09-16 08:16:21 +01:00
Phil Dawes 386dafe747 moved local roots state to vm, shuffled includes around 2009-09-16 08:16:21 +01:00
Slava Pestov 4915e1ced7 Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs 2009-05-06 22:04:01 -05:00
Slava Pestov 12a34d81f7 JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends 2009-05-06 20:04:49 -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 e3592ca8f6 Clean up untag_* and tag_* inline functions in favor of more idiomatic C++ 2009-05-02 20:47:29 -05:00
Slava Pestov b923d548cf Move vmpp to vm 2009-05-02 20:37:18 -05:00