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
|
b6be8685c3
|
basis: ERROR: changes.
|
2015-08-13 03:20:39 -07: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
|
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 |
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 |
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 |
John Benediktsson
|
2c3492a916
|
minor cleanup to some docs.
|
2015-05-13 16:09:14 -07:00 |
Björn Lindqvist
|
0c2559ef6e
|
compiler.*: a bunch more compiler docs
|
2015-05-09 20:04:22 -07:00 |
John Benediktsson
|
c65877104e
|
compiler: cleanup usings.
|
2014-12-13 16:10:21 -08:00 |
Björn Lindqvist
|
8744d908b6
|
compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg
since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
|
2014-12-11 14:30:45 +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 |
John Benediktsson
|
5908186301
|
compiler.cfg.alias-analysis: use clear-set.
|
2013-03-07 21:35:00 -08:00 |
John Benediktsson
|
4e72d80256
|
Using "same?" in more places.
|
2012-07-21 10:22:44 -07:00 |
Slava Pestov
|
910748819d
|
Now that #foo and ##foo are symbols we can remove a bunch of \
|
2011-11-12 22:04:26 -08:00 |
Slava Pestov
|
53aed0805a
|
compiler.cfg.alias-analysis: fix bug in lazy alias class instantiation
|
2010-09-27 20:12:43 -07:00 |
Slava Pestov
|
80d7aab40b
|
compiler.cfg.alias-analysis: don't need to do a local live-in calculation anymore
|
2010-09-25 16:13:17 -07:00 |
Slava Pestov
|
a605d5c9c9
|
compiler.cfg.alias-analysis: dead store elimination was too aggressive, can't eliminate dead stores across a GC call even for fresh allocations because GC will see uninitialized data
|
2010-09-06 16:57:56 -07:00 |
Slava Pestov
|
b5fc39c198
|
compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there
|
2010-08-13 23:19:56 -07:00 |
Slava Pestov
|
b6fe62299e
|
compiler.cfg.alias-analysis: factor-call-insns which defined values were not handled properly
|
2010-07-19 19:56:00 -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
|
d1e422c981
|
compiler.cfg.alias-analysis: simplify and speed up
|
2010-05-14 18:37:07 -04:00 |
Slava Pestov
|
bb87d124c1
|
compiler: small fixes and cleanups
|
2010-05-13 02:48:20 -04:00 |
Slava Pestov
|
ca4f442eaa
|
compiler.cfg.alias-analysis: storing a reference into an object now merges the reference's alias class with the heap alias class
|
2010-05-03 18:20:28 -04:00 |
Slava Pestov
|
e90712b1ed
|
compiler.cfg: cleanup
|
2010-05-03 17:34:26 -04:00 |
Slava Pestov
|
ce73031ec3
|
compiler.cfg.alias-analysis: write unit tests and fix redundant store elimination
|
2010-05-03 17:34:22 -04:00 |
Slava Pestov
|
f14f2cbdab
|
compiler.cfg.value-numbering: merge 'simplify' pass into 'rewrite'
|
2010-05-03 17:34:08 -04:00 |
Slava Pestov
|
5d3a7a7362
|
Untagged fixnums work in progress
|
2010-05-03 17:34:02 -04:00 |
Slava Pestov
|
503c0fcfde
|
compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies
|
2010-05-03 17:34:01 -04:00 |
Slava Pestov
|
2aaf24412a
|
compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search
|
2010-04-18 21:42:45 -05:00 |
Slava Pestov
|
eceabbc57e
|
compiler: new set-special-object intrinsic; more efficient special-object intrinsic
|
2010-04-01 20:09:14 -04:00 |
Daniel Ehrenberg
|
1e5f202998
|
Maing vocabs.hierarchy use sets; modifying alias analysis's use of sets
|
2010-02-28 22:55:22 -05:00 |
Daniel Ehrenberg
|
1217dc9c6e
|
Making alias analysis use sets
|
2010-02-28 22:42:10 -05:00 |
Daniel Ehrenberg
|
7074979745
|
Moving new-sets to sets
|
2010-02-26 16:01:01 -05:00 |
Slava Pestov
|
e4ad642134
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Slava Pestov
|
fb09d67936
|
compiler.cfg.alias-analysis: fix ##compare where operands are copies
|
2009-10-01 23:54:19 -05:00 |
Slava Pestov
|
2a4475f85e
|
Fix alias analysis of a ##compare whose input is another ##compare
|
2009-10-01 23:20:05 -05:00 |
Slava Pestov
|
31f39ce32f
|
compiler.cfg.alias-analysis: optimize ##vm-field-ptr and ##alien-global instructions, and optimize out ##compare between values of different alias classes; this optimizes '[ [ >float ] bi@ [ + ] [ - ] 2bi eq? ]' down to an o-op and removes boxing from '[ [ >float ] bi@ [ + ] [ - ] 2bi = ]'
|
2009-10-01 23:03:17 -05:00 |
Phil Dawes
|
84faf2431f
|
cleaned up vm-field-ptr compiler code
|
2009-09-24 08:16:57 +01:00 |
Phil Dawes
|
ff8f2b10ec
|
fixed up getenv compiler intrinsic to use vm struct userenv
|
2009-09-16 08:16:32 +01:00 |
Slava Pestov
|
85a2bfab6c
|
compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax
|
2009-09-02 06:22:37 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Slava Pestov
|
4b7ba38aab
|
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
|
2009-08-08 04:02:18 -05:00 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
89db2e745d
|
Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code
|
2009-07-22 06:07:28 -05:00 |
Slava Pestov
|
21a012e3d7
|
compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework
|
2009-07-22 03:08:28 -05:00 |