Commit Graph

228 Commits (179c60b0a5741a84f043edefcc6c285be27548a4)

Author SHA1 Message Date
Björn Lindqvist 8cd2eee8e0 compiler.codegen.gc-maps: the gc-map-needed? word can be called with f 2014-09-08 14:54:17 -07:00
Björn Lindqvist 8c0f9698de compiler.codegen.gc-maps: check-d>> and check-r>> now used in the code generator
the approach looks sound and now the gc can be fixed to take advantage
of the extra info.
2014-09-08 14:54:17 -07:00
Björn Lindqvist 70e4f2a8b7 compiler.cfg.instructions: added check-d and check-r slots to gc-map
the data is output from compiler.cfg.stacks.vacant in a reasonable
format but not yet used for code generation.
2014-09-08 14:54:17 -07:00
Björn Lindqvist 3a6c14765d vm: add the gc-info struct 2014-08-25 14:52:11 -07:00
Björn Lindqvist 1225abeeaf Docs: more compiler-related documentation 2014-08-13 11:01:10 -07:00
Doug Coleman 8c8f58dfee compiler.codegen-docs: Make example clickable. 2014-07-18 13:37:38 -05:00
Björn Lindqvist 280620c55f Docs: docs for compiler-related words 2014-06-08 11:48:31 -07:00
Björn Lindqvist 395a490b90 Docs: documentation for stack-checker.* and compiler.* vocabs 2014-06-08 11:48:30 -07:00
John Benediktsson 25ff85331c compile.codegen.relocation: make doc example work on 32-bit. 2014-05-11 08:22:01 -07:00
Björn Lindqvist e2eebdec4d Docs: mostly fixes for doc errors found by help lint 2014-05-10 17:13:49 -07:00
Björn Lindqvist 5bccede3b6 Docs: docs for compiler.* and cpu.* words 2014-05-10 17:13:49 -07:00
Björn Lindqvist ea48d13731 Docs: for compiler.cfg and compiler.codegen 2014-05-10 17:13:49 -07:00
Doug Coleman 8160bb036d compiler.cfg.linear-scan.live-inervals: Rename live-interval 2013-03-23 22:59:18 -07:00
Doug Coleman 875e45a640 sequences: Add some short useful factors. Clean up the use of longest. 2013-03-11 17:47:52 -07:00
John Benediktsson 3a7a7ac86b compiler.codegen: instruction counter is a global. 2012-08-02 15:06:04 -07:00
Joe Groff c86d92a219 fix compiler.codegen tests 2011-12-14 12:51:12 -08:00
Joe Groff e21f316583 vm: store stack frame size in code blocks
Change modify-code-heap primitive so it takes a sixth element in each array for the frame size.
2011-12-14 09:56:45 -08:00
Doug Coleman 80385770ef compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them. 2011-12-05 14:50:51 -08:00
Joe Groff d79b462f75 compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
Joe Groff 0c022f2454 compiler: add ##safepoint IR insn 2011-10-27 21:14:46 -07:00
Joe Groff 98fa51f0e0 compiler: rt-safepoint and rel-safepoint words 2011-10-27 21:14:45 -07:00
Doug Coleman f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson 81714b8dc3 More lint cleanups. 2011-10-16 19:33:16 -07:00
Slava Pestov 7a4ab74703 compiler.codegen.gc-maps: fix tests 2011-10-10 12:07:09 -07:00
Slava Pestov f8e475485a Add RT_INLINE_CACHE_MISS relocation type to avoid frequent dlsym lookups when compiling PICs. Fixes #123 2011-10-03 00:26:21 -07:00
Slava Pestov 05f7419f2f Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -07:00
Slava Pestov b89e9a549b Split up compiler.codegen.fixup into compiler.codegen.{gc-maps,labels,relocation} 2011-10-03 00:25:47 -07:00
Erik Charlebois 64252dbdbc 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov 6b5fffc026 compiler: preliminary implementation of tracking derived pointers in GC maps 2010-09-27 20:12:44 -07: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 168dd1f825 FFI rewrite part 7: compile callback bodies with the optimizing compiler 2010-07-28 00:49:26 -04: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 e5dd21b0b9 compiler.cfg: nuke ##allot-byte-array instruction 2010-07-16 19:57:45 -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 e86f434f26 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 806e54630a GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Joe Groff 7fe04fa8ee compiler.cfg.intrinsics.simd: intrinsic support for double-2>float-4 conversion 2010-06-01 00:34:50 -07:00
Slava Pestov 91cd3b854d Use ##local-allot to simplify longlong unboxing 2010-05-19 01:07:22 -04:00
Slava Pestov 77516c6932 compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot 2010-05-19 00:33:15 -04:00
Slava Pestov ea726f5680 Move remaining sequence operations from generalizations to sequences.generalizations where they belong 2010-05-18 18:36:47 -04:00
Slava Pestov a7b5957f6d compiler: hack to make XCreateIC() work on x86-64 2010-05-16 04:49:53 -04:00
Joe Groff 645164188d compiler.cfg.instructions: ##select-vector instruction mapping to SSE4 PEXTR* 2010-05-16 00:50:19 -07:00
Slava Pestov 5b48cd2a63 FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing 2010-05-16 03:43:23 -04:00
Joe Groff 8c878ada17 compiler.cfg.instructions: ##gather-int-vector-2/4 instructions that map to SSE4 PINSR/PEXTR 2010-05-15 23:48:22 -07:00
Joe Groff 7fec53b509 compiler.cfg.instructions: ##bit-count insn 2010-05-15 13:57:35 -07:00
Slava Pestov 5a67711bfd compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 =' 2010-05-14 18:37:06 -04:00
Joe Groff 3766abd65e compiler.cfg.instructions: ##shuffle-vector-halves-imm insn to map to SSE's two-input SHUFPS/SHUFPD 2010-05-14 00:20:21 -07:00
Slava Pestov eb802208d1 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -04:00
Slava Pestov 4478c3a51a FFI rewrite part 3: eliminate ##push-context-stack and ##pop-context-stack 2010-05-10 00:46:29 -04:00