Commit Graph

23 Commits (4378948e47867d60006df99ffd582f7a2275ce11)

Author SHA1 Message Date
Slava Pestov 1434a305c8 vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this 2010-04-12 14:22:41 -07:00
Slava Pestov 0068bce934 vm: big overhaul of non-optimizing compiler
- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups
2009-12-15 07:20:09 -05:00
Slava Pestov 68c09f0e93 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 c6602bda27 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 57c541ea46 vm: eliminating literal table work in progress 2009-11-07 16:16:09 -06:00
Slava Pestov 6c2c87758a vm: rename gc_root to data_root, add code_root to fix a problem where code blocks would move underneath the PIC compiler if PIC compiler allocated enough 2009-11-02 18:10:34 -06:00
Slava Pestov 810e309e0c vm: rename userenv to special_objects 2009-10-23 00:33:53 -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 236588208b vm: rename F to false_object, and rename T to true_object 2009-10-18 20:26:21 -05:00
Slava Pestov 697e2342d0 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
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 43787e2664 moved stack_traces_p into the vm 2009-09-16 08:16:31 +01:00
Phil Dawes 959da30f05 removed global functions from code_block.cpp 2009-09-16 08:16:27 +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
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