Commit Graph

18 Commits (1a38a6f63a341f20bb8a9237bfa91e32ebfd40dc)

Author SHA1 Message Date
Björn Lindqvist 349f99661d compiler.*: Remove the scrubbing part of the GC maps
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00
Björn Lindqvist a36c0cb5ac compiler.*: moving all words only relevant for testing to compiler.test 2016-08-12 15:13:51 +02:00
Björn Lindqvist 07aee7525f compiler.cfg.save-contexts: ##save-context isn't need in front of ##call-gc
The reason is because the minor-gc primitive itself saves the
context. Not inlining context saves, saves 20 bytes/call site.
2016-03-27 19:21:50 +02:00
Björn Lindqvist bdc4880b17 compiler.cfg.save-contexts: context-save-needed not needed because it's
the same as gc-map-insn
2015-08-14 20:19:51 -07:00
Doug Coleman ce046b77c8 compiler: rename D to D: because it wants a token. Same for R -> R: 2015-08-13 15:23:10 -07:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Björn Lindqvist ded3760d46 compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot
this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work
2015-04-29 09:31:53 -07:00
Björn Lindqvist a7137f32ff compiler.cfg.save-contexts: refactoring of the vocab, using the simple-optimization combinator and union classes you can shorten it a lot 2014-12-15 20:36:27 +01:00
Slava Pestov 1985705413 compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
Slava Pestov b23aac1beb compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
Slava Pestov 8e46305288 compiler.cfg.save-contexts: don't insert ##save-context in front of ##phi 2010-07-19 09:27:10 -04:00
Slava Pestov e27adb2830 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 a55c8ee671 FFI rewrite part 6: deconcatenatize 2010-07-02 15:44:12 -04:00
Slava Pestov e96404327e Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13:00
Slava Pestov daff63071f Fix the build 2009-09-09 13:44:54 -05:00
Slava Pestov 15d85c1c4f compiler.cfg.save-contexts: add new pass 2009-09-08 21:56:28 -05:00