Joe Groff
e56f2b5753
vm: replace remaining stack_frame-based logic
2011-12-14 09:56:49 -08:00
Joe Groff
9df2c107dc
vm: remove _reversed from callstack iterator names
...
Now that they're the only game in town we can give them the short names
2011-12-14 09:56:49 -08:00
Joe Groff
841600fc6e
vm: stage code block map fixup properly for GC
...
Don't update the map until the very last thing, and pass untranslated addresses to the iterator functors. Somewhat complicated by the fact that, for startup_fixup, the map is initialized with fixed-up values, so the fixup functor needs a flag indicating whether it operates with a fixed or unfixed code heap map.
2011-12-14 09:56:48 -08:00
Joe Groff
faa9b4ea3f
vm: callstack_reversed in code_block_visitor
2011-12-14 09:56:48 -08:00
Joe Groff
5b43301eb6
vm: strip out call-counting profiler
...
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318 .
2011-11-10 16:01:07 -08:00
Joe Groff
2a64c3ed69
vm: sample code block owners instead of blocks
2011-11-02 13:23:17 -07:00
Joe Groff
22b1c51b64
vm: write back fixed-up code address to samples
2011-11-02 13:23:09 -07:00
Joe Groff
89d5236980
vm: walk code roots from sample callstacks
2011-11-02 13:23:08 -07:00
Joe Groff
12a4c7a538
vm: change "profiler" names to "counting_profiler"
2011-11-02 13:23:05 -07:00
Slava Pestov
5e39764ccd
vm: have to be extra careful when messing with return addresses
2010-06-13 18:12:57 -04:00
Slava Pestov
a08295d9b7
GC maps for more compact inline GC checks
2010-06-11 20:06:00 -04:00
Slava Pestov
adeb6fb68f
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Slava Pestov
0165daf56c
Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types
2010-01-18 20:54:00 +13:00
Slava Pestov
d2baa6dde5
vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64
2010-01-06 15:47:36 +13:00
Slava Pestov
1453154376
vm: remove VM_ASM_API
2009-12-24 01:37:24 +13:00
Slava Pestov
912b1265fc
Split literal table into literal and parameter tables, literal table is discarded after code block initialization
2009-12-02 04:28:15 -06:00
Slava Pestov
ca7bca6738
Big cleanup of literal table and relocation-related code
...
- new way to iterate over instruction_operands cleans up relocation code
- move some methods out of the VM class to clean up code
- if debugging is on, die earlier if attempting to allocate inside GC
- callback heap entries are now code_blocks
- replace block_granularity with data_alignment
2009-12-02 00:48:41 -06:00
Slava Pestov
8d41693ee3
vm: growing heap no longer uses relocate_code_block()
2009-11-28 19:48:26 -06:00
Slava Pestov
3d335474fe
vm: new image relocation that doesn't use literal table
2009-11-27 17:05:08 -06:00
Slava Pestov
0ac2a92d56
vm: new implementation of modify-code-heap that doesn't use literal tables
2009-11-25 17:20:48 -06:00
Slava Pestov
3789e75e0c
vm: compaction now updates the needs_fixup set
2009-11-24 19:29:59 -06:00
Slava Pestov
bfa5340ea8
vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand
2009-11-23 19:17:12 -06:00
Slava Pestov
4168ffbcee
New identity-hashcode primitive
2009-11-10 21:18:54 -06:00
Slava Pestov
858f20ef5f
vm: fix crash in profiler
2009-11-06 01:22:53 -06:00
Slava Pestov
99e3b9c59c
vm: don't do a data compaction when growing the data heap, speeds up data heap grow by a bit
2009-10-31 21:06:34 -05:00
Slava Pestov
7a1f2b2d4b
vm: clean up code heap visitor
2009-10-24 04:36:29 -05:00
Slava Pestov
60f3cb669a
vm: data heap compaction work in progress
2009-10-24 04:18:33 -05:00
Slava Pestov
eefcc0fb8c
vm: factor out code that visits object slots and code heap blocks into slot_visitor and code_block_visitor
2009-10-24 03:54:53 -05:00