Björn Lindqvist
1eac4afc8b
compiler.cfg.linear-scan.allocation.state: sub docs and tests
2014-11-16 06:25:53 -08:00
Björn Lindqvist
0a30bd9218
compiler.cfg.stack-frame: stub docs and tests for vocab
2014-11-16 06:25:53 -08:00
Björn Lindqvist
8a0b4c3d26
compiler.cfg.build-stack-frame: stub docs and tests for vocab
2014-11-16 06:25:53 -08:00
Björn Lindqvist
cbc8681187
Docs: compiler.cfg.instructions improvements
2014-11-16 06:25:53 -08:00
Björn Lindqvist
18d7be2c05
compiler.tests.alien: tests to make sure #1021 stays dead
2014-11-12 19:41:32 -08:00
Doug Coleman
466fe4559d
ffi_test: Can actually test 62 and 63 on windows.
2014-11-10 10:30:35 -08:00
Doug Coleman
564a67ce7e
compiler.tests.alien: Don't test ffi calls 61-63 on Windows.
2014-11-09 10:52:16 -08:00
Doug Coleman
7cfa9d9518
assocs: Make map-index-as support seq or assoc exemplars and move map-index, map-index-as to assocs because they need to use new-assoc. Make zip-index-as support assoc exemplars. Fix up docs and tests.
...
assocs.extras: Remove zip-as and move tests to assocs.
2014-11-08 18:18:00 -08:00
Doug Coleman
1b5711cc42
compiler.tests.alien: Add structs with uint and ulonglong pairs and return them from an FFI call. macosx32 seems to be working, hopefully this will break it or confirm that it's working. Linux32 is broken, hopefully this will show how.
2014-11-08 13:39:47 -08:00
Doug Coleman
56f1b87a6f
basis, extra: Use zip-index.
2014-11-08 00:46:30 -08:00
Doug Coleman
e494e3965b
compiler.tests.alien: Check in a failing unit test. Structure is getting returned improperly.
2014-11-07 15:34:10 -08:00
Benjamin Pollack
2c3dd8c3c8
Remove executable bit from tons of files that aren't
2014-11-05 20:40:42 -08:00
Doug Coleman
1ee9a8ea13
compiler.cfg.stacks.local: Have unit test load prettyprint implementation for ds-loc so that it always prints as "D 4".
2014-10-22 10:31:27 -07:00
Björn Lindqvist
cb83f3b39b
compiler.tests.alien: use the with-callback combinator to plug the memory leaks in the tests
2014-10-22 07:02:55 -07:00
John Benediktsson
af2a53239e
compiler: resolve duplicate doc for "compiled".
2014-10-19 08:27:59 -07:00
Björn Lindqvist
961d0c4eb9
compiler.codegen.gc-maps: update docs so that they match how factors gc-maps currently work
2014-10-19 14:17:54 +02:00
Björn Lindqvist
a617855aef
Docs: fixing smaller help-lint nitpicks
2014-10-19 14:05:06 +02: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
81a84266d3
compiler.codegen.*: help for resolve-label misplaced -- move it
2014-10-19 13:41:45 +02:00
Björn Lindqvist
83cf4b9d57
compiler,cpu: more docs
2014-10-17 23:18:57 +02:00
Björn Lindqvist
476ebf5b25
compiler.cfg.*: more docs, tests and a small refactoring of the
...
admissible-registers word
2014-10-17 23:18:57 +02:00
Björn Lindqvist
88fb349bd0
stack-checker,compiler: docs for stack-checker and compiler words
2014-10-17 23:18:57 +02:00
Björn Lindqvist
425031e4b3
compiler.codegen.gc-maps: initial docs
2014-10-17 23:17:49 +02:00
Björn Lindqvist
275082d603
compiler.*: doc improvements
2014-10-17 23:17:49 +02:00
Björn Lindqvist
be372831f5
compiler.tests.alien: wrap all callback tests in special
...
unit-test-with-destructor blocks, that way they dont leak memory in the
callback heap
2014-09-29 07:30:22 -07:00
Doug Coleman
4c6435934b
compiler.cfg.stacks.vacant: Fix docs for word rename.
2014-09-08 17:48:22 -07:00
Björn Lindqvist
ffacc8370d
compiler.cfg.stacks.vacant: ##call instructions clear the set of overinitialized locations
2014-09-08 14:54:18 -07:00
Björn Lindqvist
9836d6a1d0
VM: move the stack scrubbing logic to call_frame_slot_visitor to avoid visiting the callstack twice
...
primitive_minor_gc() iterates the stack twice, first to scrub stack
locations, then to trace overinitialized ones and gc roots. By running
visit_callstack() before visit_stack_elements() you only need to do it
once.
2014-09-08 14:54:18 -07:00
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
46082d836a
compiler.cfg.stacks.vacant: invert meaning of 0/1 for overinit:ed locs to make some logic simpler
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
ecead801c1
compiler.cfg.stacks.vacant: more docs and removed usage of byte-arrays
2014-09-08 14:54:17 -07:00
Björn Lindqvist
ab5e629243
compiler.cfg.stacks.vacant: sub docs seeded with a stolen comment from uninitialized.factor
2014-09-08 14:54:17 -07:00
Björn Lindqvist
40ee3cdcbb
compiler.cfg.stacks.vacant: fix usings and remove commented out code
2014-09-08 14:54:17 -07:00
Björn Lindqvist
e961a03837
compiler.cfg.stacks.vacant: compiler pass replacing uninitialized for more accurate stack maps
...
This pass uses a better algorithm for keeping track of all stack
manipulations which means that the stack maps it assigns are much more
precise.
2014-09-08 14:54:17 -07:00
Björn Lindqvist
d1032c159a
compiler.cfg.dataflow-analysis: generic for configuring the "block skipping"
...
To accurately record uninitialized/overinitialized stack locations,
kill blocks needs to be analyzed. Now you can make it so by overriding
ignore-block?.
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
John Benediktsson
7609ab6eda
compiler.cfg: fix some help-lint warnings.
2014-08-14 09:59:27 -07:00
Björn Lindqvist
c3253406e3
compiler.cfg.*: more docstrings for compiler words
2014-08-13 11:01:11 -07:00
Björn Lindqvist
c6784020aa
compiler.cfg.*: initial docs for dataflow analysis vocabs
2014-08-13 11:01:11 -07:00
Björn Lindqvist
6560778d2a
compiler.cfg.*: stub docs for register scheduling vocabs
2014-08-13 11:01:11 -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
Björn Lindqvist
60ffe0680e
kernel: new combinator 2with = with with
2014-07-22 07:40:13 -07:00
Doug Coleman
8c8f58dfee
compiler.codegen-docs: Make example clickable.
2014-07-18 13:37:38 -05: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
John Benediktsson
e0801a632e
compiler.tree.modular-arithmetic: make a partial test and add some information to the XXX: comment.
2014-07-09 09:27:13 -07:00
John Benediktsson
cc7dfc146b
Revert "compiler.tree.modular-arithmetic: revert strict patch so we can investigate further."
...
This reverts commit ec8377e125
.
2014-07-08 19:18:34 -07:00
John Benediktsson
ec8377e125
compiler.tree.modular-arithmetic: revert strict patch so we can investigate further.
2014-07-08 16:59:58 -07:00
Doug Coleman
beb2d1df3a
ffi: Add some tests to ensure that 64bit integers are handled properly.
2014-07-07 17:02:36 -07:00
Doug Coleman
712aa303db
compiler, stack-checker docs: Fix for 32-bit builds.
2014-07-03 12:21:17 -07:00
Doug Coleman
a6ce3e9113
compiler.tree.modular-arithmetic: Don't require that fixnum+ works on tuple slots marked fixnum. This is probably a speed regression. XXX revisit
2014-07-03 12:12:46 -07:00
John Benediktsson
bf473ec943
compiler.cfg: fix some docs.
2014-06-08 18:20:27 -07:00
John Benediktsson
14f425c57c
compiler.tree.modular-arithmetic: strict versions shouldn't be here.
2014-06-08 16:16:24 -07:00
John Benediktsson
b573c40402
compiler.tree: teaching it bignum>fixnum-strict.
2014-06-08 13:40:38 -07:00
Björn Lindqvist
280620c55f
Docs: docs for compiler-related words
2014-06-08 11:48:31 -07:00
Björn Lindqvist
160df8b3f1
Docs: for compiler.cfg.* vocabs
2014-06-08 11:48:31 -07:00
Björn Lindqvist
9c901b9c0e
Docs: for compiler, vm and combinators
2014-06-08 11:48:30 -07:00
Björn Lindqvist
2d7f344109
Docs: more docs for compiler.cfg.* words
2014-06-08 11:48:30 -07:00
Björn Lindqvist
3d7b0dbf0a
Docs: for compiler.cfg.regsters
2014-06-08 11:48:30 -07:00
Björn Lindqvist
395a490b90
Docs: documentation for stack-checker.* and compiler.* vocabs
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
c76a994f27
Docs: new stub documentation for vocabs in compiler.cfg
2014-06-08 11:48:29 -07:00
Björn Lindqvist
c3f9c0a9a3
compiler.cfg.intrinsics.simd: the ulonglong case is correct, it just shouldn't convert the value to a fixnum
2014-06-07 17:00:52 +02:00
Björn Lindqvist
644dac1fc0
compiler.cfg.intrinsics.simd: remove a case in sign-bit-mask that is probably unused
2014-06-07 14:39:19 +02:00
Björn Lindqvist
4f49edaa66
VM: tests that rely on the integer values of the vm_error_type needs to be updated
2014-06-07 12:13:59 +02:00
John Benediktsson
05c35ebda3
kernel: change errors to be in kernel.private.
2014-06-04 14:33:02 -07:00
Björn Lindqvist
6627a3327b
kernel: symbolic constants for the various kernel errors
2014-06-04 23:16:40 +02:00
John Benediktsson
57f9d78892
improve help by linking to types directly.
2014-05-23 20:20:15 -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
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
4cd49e56b2
Docs: for node and #call tuples
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
Björn Lindqvist
b11e912b44
Docs: initial docs for compiler.tree.propagation.* vocabs
2014-05-10 17:13:48 -07:00
Björn Lindqvist
669bb0a77e
Docs: stub docs for some compiler-related words
2014-05-10 17:13:48 -07:00
John Benediktsson
9d3a654443
namespaces: removing make-assoc in favor of explicit get's.
2014-04-24 09:16:14 -07:00
John Benediktsson
b910ca090c
compiler.tree.propagation.transforms: previous H{ } and HS{ } optimization no longer necessary.
2014-01-08 09:56:08 -08:00
John Benediktsson
47a0ebcc99
compiler.tree.propagation.transforms: faster H{ } and HS{ } clone.
2013-11-25 16:42:59 -08:00
John Benediktsson
97530d86d4
compiler.tree.propagation.transforms: rename to non-negative-fixnum?.
2013-11-25 12:58:21 -08:00
John Benediktsson
9bb5e34762
compiler.tree.propgation.transforms: make bit? use integer>fixnum.
2013-11-25 12:48:48 -08:00
John Benediktsson
9e65ccaf9f
compiler.tree.propagation.simple: check output types length.
2013-04-26 17:21:22 -07:00
John Benediktsson
5e0e6119e3
compiler.tree.propagation.transforms: intersect and diff should return type of set2.
2013-03-27 07:21:39 -07:00
John Benediktsson
77a3641bb6
compiler.tree.propagation.transforms: also fix diff.
2013-03-26 19:06:05 -07:00
John Benediktsson
c4d832ce4d
compiler.tree.propagation.transforms: fix intersect and add intersects?.
2013-03-26 19:04:50 -07:00
Doug Coleman
33a4117787
compiler: Fix tuple literals in tests.
2013-03-24 01:09:37 -07:00
Doug Coleman
8160bb036d
compiler.cfg.linear-scan.live-inervals: Rename live-interval
2013-03-23 22:59:18 -07:00
Doug Coleman
5f377c0849
compiler: Rename value-info, live-interval
2013-03-23 22:56:47 -07:00
Doug Coleman
97f6d171ed
compiler.tree: Fix compiler test with merge-state
2013-03-23 22:56:16 -07:00
Doug Coleman
ee4f4ec997
source-files.errors: Rename error-type.
2013-03-23 21:25:19 -07:00
Doug Coleman
fa0b4c1a5b
compiler: Use lookup-library.
2013-03-23 21:23:23 -07:00
John Benediktsson
d0ad18a64e
compiler.cfg.ssa.construction.tdmsc: fix previous broken commits.
2013-03-23 18:44:49 -07:00
John Benediktsson
15f9ba2763
Revert "compiler.cfg.ssa.construction.tdmsc: more use of ?adjoin."
...
This reverts commit 6bf55a6d89
.
2013-03-23 18:39:15 -07:00
John Benediktsson
3f1a426210
Revert "compiler.cfg.ssa.construction.tdmsc: pass visited set on stack."
...
This reverts commit ec2834300b
.
2013-03-23 18:25:53 -07:00
John Benediktsson
7744498ad2
compiler.cfg.ssa.construction.tdmsc: pass visited set on stack.
2013-03-23 18:13:17 -07:00
John Benediktsson
56a7cf4df2
compiler.cfg.ssa.construction.tdmsc: more use of ?adjoin.
2013-03-23 17:57:41 -07:00
John Benediktsson
93fb7805b0
compiler: more use of ?adjoin.
2013-03-23 17:47:07 -07:00
Doug Coleman
f820215b1e
alien.libraries: Rename library to lookup-library.
2013-03-23 17:16:46 -07:00
Doug Coleman
eb20c5e22e
compiler.tree.modular-arithmetic: Fix test for iota change.
2013-03-23 17:12:16 -07:00
Doug Coleman
9f92b12e3b
compiler.tests: Fix test for <groups> change.
2013-03-23 17:11:27 -07:00
Doug Coleman
033711bf6a
compiler.errors: Rename linkage-error.
2013-03-23 17:10:11 -07:00
Doug Coleman
8c19602ae9
assocs: Add of and ?of. Change all the things at once! Fixes #701 .
2013-03-23 14:59:07 -07:00
Doug Coleman
f9ea61bf91
basis/extra: Update last usages of <sliced-groups> to <groups>.
2013-03-23 12:08:18 -07:00
Doug Coleman
8917ae9ad7
grouping: Remove <groups>, old <sliced-groups> is now <groups>. Fixes
2013-03-23 11:37:51 -07:00
John Benediktsson
460d19f56c
compiler.tree: fewer namespace lookups.
2013-03-21 19:36:07 -07:00
John Benediktsson
7da4a74588
compiler: fewer namespace lookups.
2013-03-21 19:11:20 -07:00
John Benediktsson
972281987c
compiler.cfg.intrinsics: intrinsics on inline words are not supported.
2013-03-20 10:59:45 -07:00
John Benediktsson
2bbec0dd61
stack-checker: more use of hash-sets.
2013-03-16 13:41:51 -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
b8097f9221
compiler: cleaner use of sets.
2013-03-10 17:21:27 -07:00
John Benediktsson
7f3f90eb8d
compiler: more use of hash-sets.
2013-03-10 16:13:31 -07:00
John Benediktsson
1776893c36
compiler.tree.dead-code.simple: curry live-values.
2013-03-10 16:13:31 -07:00
John Benediktsson
ac95c024f3
compiler.cfg.loop-detection: more use of hash-sets.
2013-03-10 10:06:48 -07:00
John Benediktsson
c7c951f207
compiler.cfg.ssa.construction: more use of hash-sets.
2013-03-10 10:03:11 -07:00
John Benediktsson
229e85459e
compiler.tree.tuple-unboxing: simpler checks.
2013-03-10 09:36:52 -07:00
John Benediktsson
2025ffe292
compiler.tree.modular-arithmetic: more use of hash-sets.
2013-03-08 15:58:16 -08:00
John Benediktsson
262a46a3f4
compiler.cfg.loop-detection: more use of hash-sets.
2013-03-08 12:38:50 -08:00
John Benediktsson
ff9af6423f
compiler.tree.recursive: more use of hash-sets.
2013-03-08 12:34:23 -08:00
John Benediktsson
9d43e21563
compiler.cfg.write-barrier: more use of hash-sets.
2013-03-08 12:30:37 -08:00
John Benediktsson
88626d38ca
compiler.cfg.ssa.construction: more use of hash-sets.
2013-03-08 12:24:06 -08:00
John Benediktsson
af1b167c28
compiler.tree.propagation.info: inline <value-info>.
2013-03-08 12:19:24 -08:00
John Benediktsson
b97a1a0753
compiler: fix stack effects to indicate visited is same object.
2013-03-08 12:16:02 -08:00
John Benediktsson
bf35114fec
compiler: use hash-sets to track visited sets.
2013-03-08 11:04:47 -08:00
John Benediktsson
04af5f2ffb
hash-sets: faster implementation based on hashtables.
2013-03-07 21:43:17 -08:00
John Benediktsson
5908186301
compiler.cfg.alias-analysis: use clear-set.
2013-03-07 21:35:00 -08:00
John Benediktsson
5751f6d309
compiler.tree.propagation.transforms: use integer>fixnum-strict in shift.
2013-03-05 08:19:31 -08:00
John Benediktsson
7a3a801bde
words: adding inline-recursive?.
2013-03-04 16:09:56 -08:00
John Benediktsson
5a7e7b8d9b
compiler.tree.propagation.known-words: retry this change, some issue with use vocabs.
2013-01-22 07:09:49 -08:00
John Benediktsson
f5c898734c
Revert "compiler.tree.propagation.known-words: adding known outputs for some words."
...
This reverts commit 16d8e6555b
.
2013-01-22 06:42:58 -08:00
John Benediktsson
7a63013916
compiler.tree.propagation.known-words: adding known outputs for some words.
2013-01-21 20:28:17 -08:00
Doug Coleman
fe677bac2f
compiler.tree.propagation.recursive: Generalizing intervals in the propagation pass ignored types. Fixes #770 .
2013-01-01 18:47:23 -08:00
Doug Coleman
63e55ac813
compiler.cfg.liveness: Break the infinite loop--add the base-pointer as f to start with, and replace it with the real one if there's not a circular chain. Fixes #22 again.
2013-01-01 14:47:54 -08:00
Doug Coleman
125e4befd3
compiler.cfg.liveness: Add parallel-copy method for lookup-base-pointer*. Adjust lookup-base-pointer* stack effect to take two parameters. Still retain stack overflows, but more correct now...
2013-01-01 14:16:51 -08:00
Alex Vondrak
8b44af4717
compiler.cfg.renaming.functor: fix ##parallel-copy methods
2012-12-31 11:26:46 -08:00
Alex Vondrak
e90ce0865c
compiler.cfg.ssa.destruction.leaders: break off leader-map to resolve circular dependencies (oops)
2012-12-31 11:20:57 -08:00
Alex Vondrak
dcb27c51e4
compiler.cfg.liveness: still kill defs by leaders, but keep original
...
vregs in the live-sets so accurate info (e.g., representations) can
still be looked up (issue #22 )
2012-12-31 11:05:05 -08:00
Alex Vondrak
fc91dcf530
compiler.cfg.ssa.destruction: alien-call-insns are too hairy to coalesce (issue #22 )
2012-12-31 11:04:57 -08:00
Alex Vondrak
86a15ad47b
compiler.cfg.liveness: look up leaders (if possible) so liveness analysis doesn't break after leaving SSA (issue #22 )
2012-12-31 11:04:52 -08:00
Alex Vondrak
b08c077023
compiler.cfg.parallel-copy: make sure new vregs used to break cycles in parallel-copy-rep update the leader-map (issue #22 )
2012-12-31 11:04:44 -08:00
Alex Vondrak
ff1c2c293b
compiler.cfg.ssa.interference.live-ranges: fix kill-indices for ##parallel-copy (issue #22 )
2012-12-31 11:04:38 -08:00
Alex Vondrak
ae0b77a0c4
compiler.cfg.ssa.cssa: split the definitions of ##phis so live-ranges don't interfere (issue #22 )
...
See the explanation after the proof of Lemma 1 in "Revisiting Out-of-SSA
Translation for Correctness, Code Quality, and Efficiency" (Boissinot et
al.) for why this is necessary.
2012-12-31 11:04:26 -08:00
Doug Coleman
a0dd953e33
starting point - Fix bootstrap; I broke it in merging. Disable environment variables because the compiler isn't loaded yet and can't call C ffi functions, and tools.test loads this vocab.
...
Disable intrinsics in cpu.x86.64 for now, since they invoke the compiler
Fix ##branch renaming to ##branch,
To work on this branch:
./factor -include=math -i=boot.image
./factor -run=listener
USE: compiler USE: tools.test save
enable-optimizer
Error message is now:
T{ vregs-shouldn't-interfere f 409 424 }
2012-12-31 11:03:45 -08:00
Slava Pestov
07227f22f9
WIP
2012-12-31 11:03:33 -08:00
John Benediktsson
013160df9a
change some "2drop 2drop" to "4drop".
2012-10-23 12:21:30 -07:00