Commit Graph

33 Commits (1ee53d04a95f1ce3e8b82e90a8b0c7149a654612)

Author SHA1 Message Date
Slava Pestov a13ffad800 vm: build fix 2009-10-09 05:12:28 -05:00
Slava Pestov 44c78493bf vm: misc cleanups 2009-10-09 03:20:50 -05:00
Slava Pestov b9f386c693 vm: make a new old_space type to encapsulate a few things, split up generations array somewhat 2009-10-07 14:05:09 -05:00
Slava Pestov bc691eb198 vm: replace generations array with individual instance variables referencing zone objects 2009-10-07 11:59:59 -05:00
Slava Pestov 8ffd538d27 vm: more code cleanups 2009-10-07 08:33:54 -05:00
Slava Pestov 4d0ec09d9c vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool 2009-10-06 06:25:07 -05:00
Slava Pestov 326952e919 vm: number of generations is not configurable anymore, split up begin_gc() and end_gc() into collect_{nursery,aging,aging_again,tenured}() 2009-10-06 02:39:12 -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
Phil Dawes 63266524d7 Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp 2009-09-27 19:42:18 +01:00
Slava Pestov 5195fdaeaa vm: make heap data-type object-oriented 2009-09-25 20:32:00 -05:00
Phil Dawes c495640cc5 forwarding functions replaced with PRIMITIVE_FORWARD() macro 2009-09-25 20:43:01 +01:00
Phil Dawes 1c5329cc2e renamed factorvm to factor_vm 2009-09-24 08:16:52 +01:00
Phil Dawes 2cfb1b6f02 removed a bunch of superflous blank lines 2009-09-24 08:02:14 +01:00
Phil Dawes 134a359353 misc cleanup 2009-09-24 08:02:14 +01:00
Phil Dawes 3da9b64c73 renamed vmprim_ to primitive_ 2009-09-24 08:02:13 +01:00
Phil Dawes 4bdb4853ca removed some global functions from image.cpp 2009-09-16 08:16:28 +01:00
Phil Dawes 537402274e vm ptr passed to untag_check 2009-09-16 08:16:26 +01:00
Phil Dawes 03ecc58bbf Dev checkpoint 2009-09-16 08:16:25 +01:00
Phil Dawes 50875c77f3 Dev checkpoint 2009-09-16 08:16:25 +01:00
Phil Dawes 4188b0fde3 moved global state from inline_cache into vm 2009-09-16 08:16:24 +01:00
Phil Dawes 4ff57d8acf 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 ebbf2151fe added vm member to gc_root and growable arrays 2009-09-16 08:16:22 +01:00
Phil Dawes 5c261e4590 moved image functions to vm 2009-09-16 08:16:20 +01:00
Philipp Brüschweiler 18240b0219 misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644 2009-08-10 21:33:07 +02:00
Slava Pestov 4490fc6b81 image.cpp: don't try to make code heap bigger than p->code_size since on PPC this will cause crashes if the image has a code heap of exactly 32Mb 2009-07-31 23:23:29 -05:00
Slava Pestov 05146c6907 Remove compiled slot from quotations since its not needed 2009-05-12 03:09:15 -05:00
Slava Pestov 92ae2f7e71 VM cleanup: replace some #defines with constants and inline functions 2009-05-08 15:05:55 -05:00
Slava Pestov 4764f1c676 Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image) 2009-05-05 10:29:22 -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 938d1a4270 Move vmpp to vm 2009-05-02 20:37:18 -05:00