Björn Lindqvist
ea67379751
compiler.tree.*: new tests
2015-09-22 08:52:37 +02:00
Björn Lindqvist
b9ce4910af
compiler.tree.*: docs
2015-09-22 08:52:36 +02:00
Björn Lindqvist
aaef9af863
compiler.cfg.*: random doc updates
2015-09-22 08:51:46 +02:00
Björn Lindqvist
a1153e6de1
compiler.tree.propagation.info: more docs and tests for the vocab
2015-09-22 08:51:46 +02:00
Björn Lindqvist
bb8b77419f
compiler.tree.propagation.nodes: the loop-nesting variable appears unused
2015-09-22 08:51:05 +02:00
Björn Lindqvist
44092bf78d
compiler.tree.propagation.*: better to use 2array than the "cuter" /\ word
2015-09-22 08:51:05 +02:00
Björn Lindqvist
9369f8216f
compiler.tree.propagation.constraints: docs for this vocab
2015-09-22 08:51:04 +02:00
Björn Lindqvist
508ddc5c0b
compiler.cfg.linear-scan.ranges: merge adjacent ranges when adding them
...
this way, the number of live interval ranges you have to deal with is
much smaller
2015-09-22 08:51:04 +02:00
Björn Lindqvist
89e261f673
compiler.cfg.linear-scan.ranges: remove the live-range definition and
...
use integer pairs instead
so instead of ranges being a sequence of live-ranges it is now a
sequence of integer pairs instead. That makes the
compiler.cfg.linear-scan.ranges simpler and easier to generalize
2015-09-22 08:51:04 +02:00
Björn Lindqvist
2943e7f246
compiler.cfg.linear-scan.ranges: new word ranges-endpoints and remove relevant-ranges
2015-09-22 08:51:04 +02:00
Björn Lindqvist
8c781639ed
compiler.cfg.linear-scan.ranges: move more range-related features into
...
this vocab
2015-09-22 08:51:04 +02:00
Björn Lindqvist
fb45bc278f
compiler.cfg.linear-scan.live-intervals: the reg-class slot can be
...
removed
it's always the same as vreg>> rep-of reg-class-of so no need to store
that data twice
2015-09-22 08:51:04 +02:00
Björn Lindqvist
68c6654763
compiler.cfg.linear-scan.*: move words for splitting and intersecting ranges to the compiler.cfg.linear-scan.ranges vocab
2015-09-22 08:51:04 +02:00
Björn Lindqvist
b8d47ed845
compiler.cfg.linear-scan.ranges: new vocab to contain all the range
...
related stuff from live intervals
2015-09-22 08:51:03 +02:00
Björn Lindqvist
d0aae5cc20
compiler.cfg.linearization: number-blocks can set the number>> accessor
...
instead of using the numbers dynamic variable
2015-09-22 08:51:03 +02:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
Björn Lindqvist
bc7f9ee669
VM: always use undecorated names when loading ffi functions
...
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx ).
2015-09-02 21:54:41 +02:00
Björn Lindqvist
9725169ca7
compiler.cfg.intrinsics.misc: use the vm-special-object-offset word
2015-09-02 21:54:36 +02:00
Björn Lindqvist
22887c5816
VM: get rid of the odd RT_EXCEPTION_HANDLER relocation
...
The address to the win32 relocation handler can be stored in a special
object and be accessed by jit-install-seh. Doing it that way is better
because you can remove a lot of special code related to that relocation
type.
2015-09-02 21:54:30 +02:00
Björn Lindqvist
85e45ae29e
compiler.constants: remove a bunch of constants that are unused
...
(or only used by the defunkt arm backend)
2015-09-02 21:54:24 +02:00
Björn Lindqvist
a89b0c2b30
Docs: reorg of the compiler.constants docs a little
2015-09-02 21:54:21 +02:00
Björn Lindqvist
883f65d0e4
VM: fix one callstack overflow problem by "unlocking" the callstacks
...
border pages
Also a new vocab compiler.tests.callstack-overflow which is supposed to
contain all tests for callstack overflow-related problems.
2015-08-14 20:19:58 -07: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
John Benediktsson
0216f9f6d1
namespaces: rename namestack* to (get-namestack) for consistency.
2015-08-13 17:53:07 -07:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -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
62686907fe
compiler: fix rename
2015-08-13 12:55:28 -07:00
Doug Coleman
c21a154056
core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack.
2015-08-13 10:11:59 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
Doug Coleman
225c28f23a
compiler.tree.propagation: Fix build error
2015-08-13 02:53:03 -07:00
Doug Coleman
e3ddd337e0
compiler, alien: fix some duplication in ERROR: definitions. hope this doesnt trigger more failing builds than it fixed...
2015-08-12 13:58:38 -05:00
Doug Coleman
e0d1b14e5c
factor: don't need FROM: namespaces => set or namespaces:set anymore
2015-08-12 11:25:57 -05:00
Doug Coleman
46587f8457
factor: arch -> arch-name. fix breakage caused by other patch.
2015-08-12 11:08:24 -05:00
Doug Coleman
28dcd0667a
factor: rename set to unordered-set.
2015-08-12 10:54:19 -05:00
Doug Coleman
330c7ba156
factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.
...
Redo many FROM: and QUALIFIED: and using lists.
2015-08-12 08:49:02 -05:00
Doug Coleman
00338f62f3
factor: put inline on same line as ; for experimentation
2015-08-10 12:55:27 -05:00
Doug Coleman
0bdc27053b
compiler: oops, assoc-empty? vs empty?. undo harvest-values here.
2015-08-08 12:27:36 -05:00
Doug Coleman
76cb13ac52
basis: use harvest-values
2015-08-08 12:24:22 -05:00
Doug Coleman
43fb73fae6
factor: Rename I[ ]I to [I I]. Fix places where we do "string"token without whitespace.
2015-08-06 17:05:12 -05:00
John Benediktsson
136d793c6e
compiler.tests: remove some tests that can't work now.
...
check-combination-effect raises an error at parse-time.
2015-08-05 18:01:16 -07:00
Björn Lindqvist
22b871d82e
compiler.cfg.utilities: make it so block>cfg initializes spill-area-align
2015-07-29 13:01:24 +02:00
John Benediktsson
38afea84bf
fix doc using.
2015-07-28 20:20:40 -07:00
John Benediktsson
4ded3c491c
fix some help-lint errors.
2015-07-28 20:06:59 -07:00
Björn Lindqvist
8a731681bf
compiler.cfg.*: tests against #1308
2015-07-28 17:58:29 -07:00
Björn Lindqvist
a8c0a25d87
compiler.cfg.ssa.destruction.coalescing: refactor and maybe a fix for #1308
...
the eliminatable-copy? word is the fix. the previous code only checked
that the registers had the same register class, but you also need to
check that they dont have the same representation size. because a copy
from double-rep -> double-2-rep is not eliminatable
2015-07-28 17:58:29 -07:00
Björn Lindqvist
b544c1b352
compiler.cfg.*: some extra unit tests for the compiler
2015-07-28 17:58:29 -07:00
Björn Lindqvist
820207c5b0
compiler.cfg.ssa.destruction.coalescing: simpler code for setting up the
...
initial leader-map and class-element-map
2015-07-28 17:58:28 -07:00
Björn Lindqvist
5e29aac0a6
Docs: various more compiler-related docs
2015-07-28 17:58:28 -07:00
Björn Lindqvist
aca610813d
compiler.cfg.representations.selection: use a union instead of a generic
...
to see if an insn is peephole-optimizable + test
2015-07-28 17:58:28 -07:00
Björn Lindqvist
44c9b2c8e8
compiler.tree.*: new docs
2015-07-28 17:58:28 -07:00