John Benediktsson
|
e477f6996f
|
Fix comments to be ! not #!.
|
2015-09-08 16:15:10 -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
|
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 |