Commit Graph

22 Commits (8c5a22e2ca796252cc56f5b25106cac1f6b819de)

Author SHA1 Message Date
Slava Pestov 333b9a34cc compiler.cfg: nuke ##allot-byte-array instruction 2010-07-16 19:57:45 -04:00
Slava Pestov f133a5f2be compiler: re-architect low-level optimizer to allow more than one output value per instruction 2010-07-13 07:40:14 -04:00
Slava Pestov 8fd5d3c86a FFI rewrite part 6: deconcatenatize 2010-07-02 15:44:12 -04:00
Slava Pestov fb4de47abf Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction 2010-06-14 19:39:46 -04:00
Slava Pestov a08295d9b7 GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Slava Pestov 0dbc9eaae0 compiler.cfg: more silly optimizations 2010-05-14 18:37:09 -04:00
Slava Pestov d2d466de29 Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO) 2010-05-06 17:21:02 -04:00
Slava Pestov 813eabadc6 compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior 2010-05-03 17:34:17 -04:00
Slava Pestov fc7a1ad8b3 New GC checks work in progress 2010-05-03 17:34:16 -04:00
Slava Pestov 19412e4ad1 compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies 2010-05-03 17:34:01 -04:00
Slava Pestov 6299c42564 Minor bug fixes for 4-bit tags 2009-11-02 17:41:36 -06:00
Slava Pestov d65296b334 vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
Doug Coleman 1ee8c8f5eb sigma -> map-sum 2009-10-29 14:34:04 -05:00
Slava Pestov 931107397c compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb 2009-10-05 05:27:49 -05:00
Slava Pestov 2d575d7ec9 compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case 2009-08-08 04:02:18 -05:00
Slava Pestov 4d2160799f Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
Slava Pestov 99216b8435 compiler.cfg: Get inline GC checks working again, using a dataflow analysis to compute uninitialized stack locations in compiler.cfg.stacks.uninitialized. Re-enable intrinsics which use inline allocation 2009-07-30 09:19:44 -05:00
Slava Pestov 12cbbbd6ad compiler.cfg: clean up GC check generation to use spill-slot data type 2009-07-03 23:11:23 -05:00
Slava Pestov a406a5aa23 compiler.cfg.predecessors: delete dead predecessors from phi nodes 2009-07-03 18:45:03 -05:00
Slava Pestov 7aca076408 GC checks now save and restore registers 2009-06-02 18:23:47 -05:00
Slava Pestov fd70adf39e Rename _gc to ##gc 2009-05-31 18:21:11 -05:00
Slava Pestov 57d9d9f961 Split off local-optimization combinator into compiler.cfg.local, factor out CFG -> MR into compiler.cfg.mr, split off GC check insertion into a new compiler.cfg.gc-checks pass 2009-05-31 12:20:46 -05:00