Commit Graph

236 Commits (1a38a6f63a341f20bb8a9237bfa91e32ebfd40dc)

Author SHA1 Message Date
Björn Lindqvist aab79a655c compiler.*: more docs 2017-07-05 00:51:26 +02:00
Björn Lindqvist ffef75f8a7 compiler.cfg.*: more docs 2016-11-15 03:49:46 +01:00
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 26d53f9019 compiler.cfg.*: compiler doc updates 2016-09-01 02:16:30 +02:00
Björn Lindqvist 24a02a1c8f compiler.*: Backend implementation of varargs
It is turned off by default. Support for using it coming soon. :)
2016-08-08 12:02:19 +02:00
Björn Lindqvist 2e332f73b5 compiler.*: new docs 2016-08-01 21:52:05 +02:00
Björn Lindqvist 75a3e191b2 compiler.*: a bunch of random doc additions 2016-06-21 23:15:20 +02:00
Björn Lindqvist 70e9834f2f compiler.cfg.*: new system for emitting spill/reloads for gc calls (#1471)
GC calls were treated as sync points so all registers were spilled
around them. But if the gc call isn't triggered, it is unnecessary to
spill. This commit fixes that by handling ##call-gc specially and
putting ##spill and ##reloads in the same block as the gc call itself.
2016-04-22 19:21:15 +02:00
Björn Lindqvist d5cb972a71 Docs: ui and compiler 2016-04-22 18:23:02 +02:00
Björn Lindqvist 89e98e96a4 compiler.cfg.linear-scan.live-intervals: hairy- and clober-insn moved to
this vocab
2016-04-03 20:56:30 +02:00
Björn Lindqvist 63ef600aa3 compiler.cfg.*: indentation fixes 2016-03-27 19:21:50 +02:00
Björn Lindqvist aaef9af863 compiler.cfg.*: random doc updates 2015-09-22 08:51:46 +02:00
Björn Lindqvist b4e4792cb6 compiler.cfg.*: a bunch of docs updates 2015-07-28 17:58:27 -07:00
Björn Lindqvist 78d5c0a743 compiler.cfg.instructions: ##read -> read-insn and ##write -> write-insn 2015-07-28 17:58:27 -07:00
Björn Lindqvist 81c7659360 compiler.cfg.instructions: rename ##allocation to allocation-insn,
because it's nicer if all instruction unions have the -insn suffix and
the ## prefix is reserved for tuples
2015-07-28 17:58:27 -07:00
John Benediktsson 621b50a8e5 cpu: enable bit-test intrinsic for fixnum-bit?. 2015-06-17 19:11:10 -07:00
Björn Lindqvist 5ad35fabd1 compiler.cfg.*: lots of more compiler docs 2015-06-14 16:44:37 +02:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
Björn Lindqvist 9ceea3c241 compiler.*: new cfg instruction ##clear, it makes it easier to see where
the compiler.cfg.stacks.clearing pass inserts extra instructions
2015-05-17 07:59:34 +02:00
Björn Lindqvist 655faadec9 compiler.*: now when we're tracking uninitialized locations instead of
initialized ones, the height slot isn't needed on ##call anymore
2015-05-17 07:59:34 +02:00
Björn Lindqvist 8df92abeb9 compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler
passes can much easier to accurate liveness analysis on stack locations
2015-05-09 20:04:22 -07:00
Björn Lindqvist 5ca23c4793 compiler.*: a few extra doc fixes 2015-04-30 04:51:58 +02:00
Björn Lindqvist c3ca8bd859 compiler.cfg.*: even more compiler docs 2015-04-29 09:31:58 -07:00
Björn Lindqvist b827bc75cc compiler.*: bunch of new docs for some compiler instructions 2015-04-29 09:31:58 -07:00
Björn Lindqvist d486de889d compiler.cfg.*: smaller doc improvements 2015-04-29 09:31:57 -07:00
Björn Lindqvist acc1bd3221 compiler.*: removing the check-d and check-r slots from gc-map and adjusting code that depended on those 2015-04-29 09:31:53 -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
John Benediktsson c65877104e compiler: cleanup usings. 2014-12-13 16:10:21 -08:00
Björn Lindqvist 53b7f82368 Docs: more compiler docs 2014-12-11 14:30:46 +01:00
Björn Lindqvist 971a157369 compiler.cfg.instructions: ##alien-assembly should be in the alien-call-insn union but not gc-map-insn 2014-12-08 18:13:46 -08:00
Björn Lindqvist 52d3affeb8 compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map 2014-12-08 18:13:46 -08:00
John Benediktsson 60d0937041 compiler.cfg.instructions: fix help-lint. 2014-11-16 16:22:13 -08:00
Björn Lindqvist 0d9316f4f9 Docs: more various compiler doc improvements 2014-11-16 06:25:55 -08:00
Björn Lindqvist 90b31d543b compiler.cfg.instructions: more docs 2014-11-16 06:25:54 -08:00
Björn Lindqvist cbc8681187 Docs: compiler.cfg.instructions improvements 2014-11-16 06:25:53 -08:00
Björn Lindqvist 164af978ba compiler.cfg.*: more stub docs for cfg construction words 2014-10-19 13:45:42 +02: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 769ca5550f compiler.cfg.*: docs for compiler words 2014-08-13 11:01:11 -07:00
Björn Lindqvist 1225abeeaf Docs: more compiler-related documentation 2014-08-13 11:01:10 -07:00
Doug Coleman f9d9d8d64c compiler.cfg.instructions: Messed up a patch. oops. 2014-07-17 18:19:10 -05:00
Doug Coleman 1d0f0fb98a compiler.cfg.instructions: Fix using. 2014-07-17 15:48:41 -05:00
Doug Coleman d173da94c1 compiler.cfg: Rename doc -> docs in filenames so the docs load. 2014-07-17 15:32:29 -05:00
Björn Lindqvist 280620c55f Docs: docs for compiler-related words 2014-06-08 11:48:31 -07:00
Björn Lindqvist 2d7f344109 Docs: more docs for compiler.cfg.* words 2014-06-08 11:48:30 -07:00
Björn Lindqvist fa097c7a56 Docs: for compiler.cfg and cpu.architecture words
Conflicts:
	basis/cpu/architecture/architecture-docs.factor
2014-06-08 11:48:30 -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 4f9f2b862f Docs: docs for compiler-related vocabs 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
Björn Lindqvist 0bb3e2397b Docs: more compiler documentation 2014-05-10 17:13:48 -07:00
Björn Lindqvist 6a8336047d Docs: initial docs for the compiler.cfg.* vocabs 2014-05-10 17:13:48 -07:00