Slava Pestov
0a634ec4ec
Fix compiler.cfg.linear-scan.resolve test failure
2009-07-04 16:30:16 -05:00
Slava Pestov
3d7addbbf5
compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now
2009-07-04 03:26:37 -05:00
Slava Pestov
577a3cb968
compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule
2009-07-04 02:50:50 -05:00
Slava Pestov
c431e0db99
compiler.cfg.linear-scan.resolve: More fixes
2009-07-04 00:45:06 -05:00
Slava Pestov
ab5fdc70ac
compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue
2009-07-03 23:38:52 -05:00
Slava Pestov
12cbbbd6ad
compiler.cfg: clean up GC check generation to use spill-slot data type
2009-07-03 23:11:23 -05:00
Slava Pestov
3d92117ef1
compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer
2009-07-03 22:51:40 -05:00
Slava Pestov
e21cf72927
compiler.tree.dead-code: methods on flushable generics should be flushable
2009-07-03 21:31:26 -05:00
Doug Coleman
2ef03895ee
convert ##compare with immediates to ##compare-imm
2009-07-03 19:19:33 -05:00
Slava Pestov
a406a5aa23
compiler.cfg.predecessors: delete dead predecessors from phi nodes
2009-07-03 18:45:03 -05:00
Doug Coleman
779401d938
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 19:04:50 -05:00
Doug Coleman
9ce34bf972
add constant folding for integer ops, refactor some rewrites
2009-07-02 19:03:21 -05:00
Slava Pestov
1da42c2111
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 18:36:49 -05:00
Doug Coleman
d69c5ae260
Revert "fix a unit test so it's sure to overflow 64bit machines"
...
This reverts commit 88a545a215 .
2009-07-02 18:18:50 -05:00
Doug Coleman
88a545a215
fix a unit test so it's sure to overflow 64bit machines
2009-07-02 18:05:55 -05:00
Doug Coleman
29dc6fc837
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 18:01:58 -05:00
Doug Coleman
da9883b762
unit test to make sure adds are not optimized incorrectly
2009-07-02 18:01:00 -05:00
Doug Coleman
f4d3daea7d
fix bug in rewriting #add -- wasn't checking small-enough?, and change negative adds to subtractions/negative subtractions to adds
2009-07-02 17:55:35 -05:00
Slava Pestov
086ebcdda4
half-floats: Add some more unit tests
2009-07-02 17:52:53 -05:00
Slava Pestov
fc029299d8
compiler.cfg.liveness: update for new ##phi node representation
2009-07-02 17:28:02 -05:00
Slava Pestov
2a63722c91
compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented
2009-07-02 17:10:50 -05:00
Doug Coleman
89f33a1e45
rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm
2009-07-02 11:35:31 -05:00
Doug Coleman
fe3ab1a0ac
simplify sub and sub-imm
2009-07-02 11:33:15 -05:00
Doug Coleman
c3f190daff
add a utility word vreg>constant
2009-07-02 11:32:23 -05:00
Slava Pestov
9605ffc0dc
compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue
2009-07-02 03:17:19 -05:00
Slava Pestov
49250ea56b
compiler.cfg.dce: minor renamings
2009-07-02 02:41:10 -05:00
Daniel Ehrenberg
d9d665480f
Merge branch 'master' of git://factorcode.org/git/factor
2009-07-02 02:31:06 -05:00
Daniel Ehrenberg
f07100739b
Dead code elimination eliminates some dead allocations
2009-07-02 02:30:46 -05:00
Slava Pestov
8364f1146c
compiler.cfg.optimizer: enable branch folding
2009-07-02 01:05:59 -05:00
Slava Pestov
04508f2ece
compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics
2009-07-02 00:51:06 -05:00
Slava Pestov
ca0b05cd1d
compiler.cfg.linear-scan: fix spilling
2009-07-01 22:37:27 -05:00
Slava Pestov
2b5df8c298
compiler.tree.optimizer: Remove redundant call to compute-def-use
2009-07-01 17:41:20 -05:00
Slava Pestov
14bce3b400
compiler.cfg.linear-scan: debugging spilling and resolve pass
2009-07-01 17:41:07 -05:00
Slava Pestov
720ad7cfa7
compiler.cfg.stack-analysis: fix unit tests for useless-blocks renaming and ##no-tco instruction
2009-06-30 23:17:33 -05:00
Slava Pestov
0963e6b73a
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 23:07:36 -05:00
Slava Pestov
4983091344
compiler.cfg.optimizer: disable branch folding for now
2009-06-30 23:07:27 -05:00
Slava Pestov
0837732c10
compiler.cfg.builder: emit less crap after a #terminate node
2009-06-30 23:03:25 -05:00
Doug Coleman
b82bea4004
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 23:02:04 -05:00
Doug Coleman
ccd847083e
optimize fixnum*fast and fixnum-shift-fast
2009-06-30 23:01:44 -05:00
Doug Coleman
0ad81de3b6
combine add-imm instructions into a single add
2009-06-30 22:59:53 -05:00
Slava Pestov
cdd95472c7
compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better
2009-06-30 22:43:32 -05:00
Slava Pestov
19036c5105
Fix possible infinite loop in skip-empty-blocks and remove redundant test in compiler.cfg.useless-conditionals
2009-06-30 22:43:02 -05:00
Slava Pestov
139bb68f8e
Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it
2009-06-30 22:11:15 -05:00
Slava Pestov
752aebf89a
Fix conflict
2009-06-30 21:37:49 -05:00
Slava Pestov
fa4f710095
compiler.cfg Remove height tracking for ##call instructions, wire in ##no-tco instruction
2009-06-30 21:21:46 -05:00
Slava Pestov
9bcdf463a1
compiler.cfg.tco: fix tail call optimization for ##fixnum-mul
2009-06-30 21:08:08 -05:00
Slava Pestov
46a3608e3a
compiler.cfg.builder: fix stack effect
2009-06-30 21:07:55 -05:00
Slava Pestov
189043eae7
compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'
2009-06-30 21:07:39 -05:00
Slava Pestov
f6b537f4c6
Fix conflict
2009-06-30 20:16:09 -05:00
Slava Pestov
89fbc8efb4
compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass
2009-06-30 20:13:35 -05:00
Doug Coleman
f824845433
remove duplicate using
2009-06-30 18:48:52 -05:00
Doug Coleman
116d55feac
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 18:48:10 -05:00
Doug Coleman
97ceba5000
make commutative operations with immediates output the same IR
2009-06-30 18:47:24 -05:00
Slava Pestov
79a60c8bc5
compiler.cfg.stack-analysis: fix tests
2009-06-30 18:22:54 -05:00
Slava Pestov
dc96968b99
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 18:12:00 -05:00
Slava Pestov
6efe62a49a
compiler.cfg.stack-analysis: enable global optimization
2009-06-30 18:11:45 -05:00
Slava Pestov
87aabfc053
compiler.cfg.linear-scan.assignment: get check-assignment? to work with coalescing
2009-06-30 18:10:53 -05:00
Doug Coleman
eb2d574e79
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 16:45:57 -05:00
Doug Coleman
c5ffb08f5b
fix bug where traversal order was lost
2009-06-30 16:44:14 -05:00
Slava Pestov
ecf44c98bc
compiler.cfg.linear-scan: compute-free-pos was broken in the case where more than one inactive interval had the same physical register assigned
2009-06-30 16:07:58 -05:00
Doug Coleman
d888d13efe
spill to spill-temp, not to virtual spill addresses
2009-06-30 15:40:13 -05:00
Doug Coleman
228716a94e
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-30 15:32:11 -05:00
Doug Coleman
5ae6eb089d
add branch splitting pass to compiler.cfg
2009-06-30 15:31:48 -05:00
Slava Pestov
7fc239d638
compiler.cfg.stack-analysis: fix typos in unit tests
2009-06-29 16:37:40 -05:00
Slava Pestov
c2d4c42252
Fix conflict
2009-06-29 01:59:53 -05:00
Slava Pestov
5754bf0028
compiler.cfg.linear-scan.resolve: remove redundant vocabs from using list
2009-06-28 22:58:35 -05:00
Slava Pestov
b63133f9f6
compiler.cfg.stack-analysis: fix another corner case with ##peek insertion, and fix changed-loc merging
2009-06-28 22:52:28 -05:00
Doug Coleman
2ed3edeb41
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-28 16:43:45 -05:00
Doug Coleman
b2d3b588f0
fix bug in linear-scan.resolve by rewriting entire algorithm
2009-06-28 16:43:17 -05:00
Slava Pestov
9ab1bd1edb
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-27 17:33:00 -05:00
Slava Pestov
12df05da5d
compiler.cfg.stack-analysis: Fix case where both an ##inc-d/r and a ##peek get inserted
2009-06-27 17:32:37 -05:00
Doug Coleman
750d8c0a9a
Merge branch 'master' of git://factorcode.org/git/factor
...
Conflicts:
basis/compiler/cfg/linear-scan/resolve/resolve-tests.factor
2009-06-26 21:51:08 -05:00
Doug Coleman
c7a04858ee
add spill-temp to compiler.cfg.instructions, implement parallel register assignment in linear-scan.resolve
2009-06-26 21:48:21 -05:00
Slava Pestov
6cb4966075
Fix bootstrap and unit test
2009-06-26 17:44:33 -05:00
Slava Pestov
3b8733de01
Redesign compiler.cfg.stack-analysis to make compiler.cfg.height redundant, and to fix some problems
2009-06-26 17:29:55 -05:00
Slava Pestov
80f7594f75
compiler.cfg.stack-analysis: split up into three vocabs
2009-06-24 13:54:43 -05:00
Slava Pestov
be1dcc04c2
compiler.cfg.linear-scan: fix unit tests
2009-06-24 13:54:12 -05:00
Slava Pestov
fff4a1dbbd
compiler.cfg.linear-scan: fix coalescing to take lifetime holes into account
2009-06-23 21:32:51 -05:00
Slava Pestov
478e5cc95f
compiler.cfg.linear-scan: Debugging resolve pass
2009-06-22 00:24:51 -05:00
Slava Pestov
02e2c0bcf7
compiler.cfg.linear-scan.resolve: unit tests
2009-06-21 00:23:34 -05:00
Slava Pestov
39dba00279
compiler.cfg.linear-scan: Working on resolve pass
2009-06-21 00:20:01 -05:00
Slava Pestov
886967256e
compiler.cfg.linear-scan.assignment: correctly compute live registers at GC check points
2009-06-20 15:33:12 -05:00
Slava Pestov
82730af521
compiler.cfg.linear-scan: untangle add-active/delete-active/add-handled calls in spilling, replace 'sort-values last' with 'alist-max' in compiler.utilities
2009-06-19 18:28:30 -05:00
Slava Pestov
6ff7e2cba7
compiler.cfg.linear-scan: Fix a couple of bugs
2009-06-19 03:42:42 -05:00
Slava Pestov
e1e24c4802
compiler.cfg.linear-scan: Further progress on inactive interval handling
2009-06-17 15:27:20 -05:00
Slava Pestov
9eec019e9b
Remove initial-quot feature
2009-06-15 13:07:15 -05:00
Slava Pestov
14b4b79a37
compiler.cfg.linear-scan.resolve: fix compile error
2009-06-14 17:00:52 -05:00
Slava Pestov
48c31d441c
Add some failing unit tests exposing bugs in initial-quot: implementation
2009-06-13 18:34:27 -05:00
Slava Pestov
941d7a1eeb
Various linear scan fixes
...
insert spill before reload to fix x86-32 regression
inactive splitting: if all inactive intervals' registers are in use, don't fail
fix stack analysis tests
2009-06-13 17:35:40 -05:00
Slava Pestov
d09ece8152
Split up compiler.cfg.linear-scan.allocation into a number of sub-vocabularies; start work on compiler.cfg.linear-scan.resolve; start work on inactive interval splitting
2009-06-11 17:55:14 -05:00
Doug Coleman
34dcd28362
add an iota
2009-06-10 09:45:48 -05:00
Slava Pestov
e4bce2615f
compiler.cfg: add a declaration to fix tools.deploy.test.11
2009-06-09 03:36:16 -05:00
Slava Pestov
a61a992bfd
cpu.x86.assembler: IMUL2 instruction was busted for immediate operands
...
When given a register and an immediate, it would generate imul imm,dst,dst however the 64-bit prefix was generated wrong and if dst was an extended register only the first operand would be an extended register. To fix this, change IMUL2 to not work on immediates anymore, and added a new IMUL3 that takes a destination register, source register, and immediate. Also, change compiler.cfg.two-operand to not two-operandize %mul-imm, since this isn't needed anymore.
This fixes the sporadic benchmark.tuple-arrays crash on 64-bit machines.
2009-06-08 21:15:52 -05:00
Slava Pestov
02fafdbec1
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-07 21:46:41 -05:00
Slava Pestov
0d265fe016
Remove %dispatch-label since its tehe same on all platforms; fix %gc on PowerPC
2009-06-07 21:46:28 -05:00
Slava Pestov
e1d13d8ee7
Linear scan: implement live range intersection
2009-06-06 01:04:12 -05:00
Slava Pestov
d830838ffa
compiler.cfg.optimizer: disable CFG checker by default
2009-06-05 18:07:22 -05:00
Slava Pestov
ad5ef2a3cc
Linear scan: correctly compute live spill slots
2009-06-05 18:06:47 -05:00
Slava Pestov
26152bd83c
compiler: more informative trace-compilation
2009-06-05 17:32:37 -05:00
Slava Pestov
2b49600f42
compiler.cfg.checker: run if a variable is set
2009-06-05 17:32:12 -05:00
Slava Pestov
ee67b7c9a8
compiler.cfg.linear-scan: re-do interval splitting to operate on live ranges; add inactive set processing
2009-06-04 18:53:02 -05:00
Slava Pestov
fd710385e5
cpu.x86: fix small register intrinsics on x86-64
2009-06-03 03:22:46 -05:00
Slava Pestov
9096acea6f
Linear scan: build live ranges
2009-06-03 03:22:27 -05:00
Slava Pestov
c6326b0177
Merge branch 'master' of git://factorcode.org/git/factor
2009-06-02 18:30:25 -05:00
Slava Pestov
7aca076408
GC checks now save and restore registers
2009-06-02 18:23:47 -05:00
Doug Coleman
086bf4c003
fix load error
2009-06-01 09:34:28 -05:00
Slava Pestov
b52bdf60e4
Fix for recent word renaming
2009-06-01 03:19:35 -05:00
Slava Pestov
3de85158de
Merge branch 'master' into global_optimization
2009-06-01 03:12:32 -05:00
Slava Pestov
0654e8fc51
Remove obsolete optimization
2009-06-01 03:05:49 -05:00
Slava Pestov
a07279bf6d
Fix compiler errors
2009-06-01 03:00:10 -05:00
Slava Pestov
fc9e9a0ab1
Code cleanup
2009-06-01 02:32:42 -05:00
Slava Pestov
096803e58f
Redo compiler.codegen.fixup and get %dispatch to work
2009-06-01 02:32:36 -05:00
Slava Pestov
64114947d2
Various improvements aimed at getting local optimization regressions fixed:
...
- Rename _gc to ##gc
- Absolute labels are now supported
- Generate _dispatch-label
2009-05-31 23:28:08 -05:00
Slava Pestov
6ac52761c6
Fix loop handling in stack-analysis
2009-05-31 19:04:26 -05:00
Slava Pestov
0375ce6bb4
Fix scoping issue in compiler.cfg.linear-scan.assignment
2009-05-31 18:21:23 -05:00
Slava Pestov
fd70adf39e
Rename _gc to ##gc
2009-05-31 18:21:11 -05:00
Slava Pestov
57d9d9f961
Split off local-optimization combinator into compiler.cfg.local, factor out CFG -> MR into compiler.cfg.mr, split off GC check insertion into a new compiler.cfg.gc-checks pass
2009-05-31 12:20:46 -05:00
Slava Pestov
2ea8212968
Start cleaning up stack analysis
2009-05-30 13:22:30 -05:00
Slava Pestov
968a9bb666
Various codegen improvements:
...
- new-insn word to construct instructions
- cache RPO in the CFG
- re-organize low-level optimizer so that MR is built after register allocation
- register allocation now stores instruction numbers in the instructions themselves
- split defs-vregs into defs-vregs and temp-vregs
2009-05-29 13:11:34 -05:00
Slava Pestov
5a5afcbfaa
On second thought, linearization will be done after SSA destruction so live-in is accurate
2009-05-29 05:45:40 -05:00
Slava Pestov
fbefd02bfb
Put GC checks in the right place when linearizing, and generate _dispatch-labels
2009-05-29 05:36:04 -05:00
Slava Pestov
40949800bf
Fixing various bugs; alias analysis wasn't handling ##phi nodes, stack analysis incorrectly handled height-changing back edges and ##fixnum-*, clean up ##dispatch generation
2009-05-29 01:39:14 -05:00
Slava Pestov
cef9ac778b
compiler.cfg.alias-analysis: ##peek needs to set alias class of output value
2009-05-28 18:19:01 -05:00
Slava Pestov
6b81b3e055
compiler.cfg.liveness: correct handling of phi nodes
2009-05-28 17:54:27 -05:00
Slava Pestov
4c05bc4f10
Test updates
2009-05-28 02:50:07 -05:00
Slava Pestov
9987f272b0
CFG checker now checks consistency of successors and predecessors lists; fix long-standing bug in useless-blocks optimization
2009-05-28 02:49:51 -05:00
Slava Pestov
4292033da6
Fix alias analysis
2009-05-28 02:48:58 -05:00
Slava Pestov
1fc830a99e
Add a with-scope so that optimize-tree doesn't pollute namespace
2009-05-27 18:58:54 -05:00
Slava Pestov
64da54234d
Fixing local optimizations
2009-05-27 18:58:41 -05:00
Slava Pestov
fe44ce2821
Better CFG checker
2009-05-27 18:58:14 -05:00
Slava Pestov
dd8152f7bb
Add phi elimination pass
2009-05-27 18:58:01 -05:00
Slava Pestov
3954c3fdc3
Add a new ##allocation union to remove some code duplication
2009-05-27 18:55:49 -05:00
Slava Pestov
a29317df5f
Remove old local DCE pass
2009-05-27 17:55:15 -05:00
Slava Pestov
1242a3a411
New local-optimization combinator removes some boilerplate
2009-05-26 19:56:56 -05:00
Slava Pestov
25805f9bfe
Refactoring low-level optimizer to support stack analysis pass
2009-05-26 19:31:19 -05:00
Slava Pestov
957bc53d4b
Move maybe-set-at to assocs
2009-05-26 18:45:37 -05:00
Slava Pestov
f6fab1b035
Fix another bug in stack-analysis
2009-05-26 03:42:39 -05:00
Slava Pestov
75d1f6dfda
compiler.cfg.stack-analysis: make it pass more tests
2009-05-26 02:59:14 -05:00
Slava Pestov
44437cc891
compiler.cfg.dce: new global dead code elimination pass
2009-05-26 02:58:57 -05:00
Slava Pestov
015b7afe93
compiler.cfg.checker: new check-rpo word
2009-05-26 02:58:40 -05:00
Slava Pestov
1c45d0e81b
compiler.cfg.stack-analysis: progress
2009-05-25 19:18:13 -05:00
Slava Pestov
5d50f4eb5b
compiler.cfg.checker: new vocabulary for checking CFG invariants
2009-05-25 19:16:58 -05:00
Slava Pestov
531580ed30
compiler.cfg.builder: don't make basic blocks after terminating calls
2009-05-25 19:16:36 -05:00
Doug Coleman
8da9d0f203
rename peek -> last and update all usages
2009-05-25 16:38:33 -05:00
Doug Coleman
34e1d60578
add a clamp word to math.order, use clamp word throughout libraries
2009-05-24 21:35:50 -05:00
Slava Pestov
ffd0db30bf
Merge branch 'master' into global_optimization
2009-05-23 15:55:04 -05:00
Slava Pestov
c2499cdd55
stack-checker: fix case where invalid code could infer
2009-05-23 15:50:35 -05:00
Slava Pestov
f28439329c
compiler.cfg.stack-analysis: change how inc-d/inc-r work
2009-05-23 15:47:08 -05:00
Slava Pestov
8478881522
Merge branch 'master' into global_optimization
2009-05-23 01:03:24 -05:00
Joe Groff
483c936eb3
get rid of useless test
2009-05-21 20:56:57 -05:00
Slava Pestov
b42bed7e77
CFG optimizer work in progress - adding phi nodes
2009-05-21 16:49:28 -05:00
Slava Pestov
873bb49849
Working on global optimizations
2009-05-19 17:28:13 -05:00
Slava Pestov
ba04d5af1e
Update documentation for stricter vocabulary search path semantics
2009-05-16 00:29:21 -05:00
Slava Pestov
344f3668e4
Fix escape analysis bug reported by Doug
2009-05-15 17:18:38 -05:00
Slava Pestov
d7db5edadc
Cleaning up USING: lists for new strict semantics
2009-05-14 16:54:16 -05:00
Slava Pestov
302d829ea9
Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration
2009-05-12 21:23:52 -05:00
Slava Pestov
05146c6907
Remove compiled slot from quotations since its not needed
2009-05-12 03:09:15 -05:00
Slava Pestov
70deacb900
Fix unit tests and load errors for slip removal
2009-05-10 17:03:41 -05:00
Slava Pestov
dfb7514a02
Removing slip usage from basis
2009-05-10 15:28:22 -05:00
Slava Pestov
9b419aa0b1
Count megamorphic cache hits
2009-05-07 14:26:08 -05:00
Slava Pestov
e55f0d17e5
compiler.tree.modular-arithmetic: convert >integer >fixnum into >fixnum
2009-05-07 12:54:23 -05:00
Slava Pestov
3c19ec1cbb
Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff)
2009-05-07 12:32:06 -05:00
Slava Pestov
d3b85c14c9
Working on inline caching for tail call sites
2009-05-06 19:22:22 -05:00
Slava Pestov
478d29a175
Better separation of concerns: cpu.{x86,ppc}.assembler no longer depends on compiler.codegen.fixup and cpu.architecture. Rename rt-xt-direct to rt-xt-pic to better explain its purpose
2009-05-06 16:14:53 -05:00
Slava Pestov
0ca1d013f8
Add new RC_ABSOLUTE_PPC_2 relocation type
2009-05-05 20:56:23 -05:00
Slava Pestov
c5d3bbd5b6
Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu
2009-05-05 18:37:40 -05:00
Slava Pestov
259586e89e
compiler.constants: update compiled-header-size
2009-05-05 15:06:05 -05:00
Slava Pestov
1e2561f863
Make walker work better with call( and breakpoints which are nested inside combinators
2009-05-05 09:12:32 -05:00
Slava Pestov
c68e05d3d8
Fix some test failures
2009-05-04 09:44:26 -05:00
Slava Pestov
4d438a3edd
Remove cruddy string encoding/decoding code from VM
2009-05-02 13:45:38 -05:00
Slava Pestov
2c78b77f36
Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X
2009-05-01 09:36:53 -05:00
Slava Pestov
7495ad96cb
Fix typo in redefine14 test
2009-05-01 08:29:04 -05:00
Slava Pestov
a25577d6df
Some new compiler tests
2009-05-01 06:48:33 -05:00
Slava Pestov
6f03366e2b
Rename enable/disable-compiler to enable/disable-optimizer, and add with-optimizer and without-optimizer combinators
2009-05-01 05:52:05 -05:00
Slava Pestov
23b5888da6
Fix some test failures and add an unportable tag
2009-04-30 22:56:15 -05:00
Slava Pestov
e5cdb7ac2d
call( fast-path now supports curry and compose
2009-04-30 21:08:29 -05:00
Slava Pestov
a79e3eb687
Passing an invalid parameter to 'declare' doesn't break the compiler anymore
2009-04-30 20:40:47 -05:00
Slava Pestov
5fb5c19d61
Machine code is now stored in a byte array instead of an array for add_code_block()
2009-04-30 04:34:35 -05:00
Slava Pestov
515c619202
Non-optimizing compiler now open-codes megamorphic dispatch fast path
2009-04-30 03:37:07 -05:00
Slava Pestov
964fbd0a24
Fix test failures from ratio/complex built-in removal
2009-04-30 00:38:55 -05:00
Slava Pestov
663db67b23
compiler.tree.debugger: wasn't counting intrinsics properly when computing report
2009-04-30 00:27:51 -05:00
Slava Pestov
fc4894fbdf
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
2009-04-30 00:27:35 -05:00
Slava Pestov
3bbfc57de3
bootstrap.image: remove some duplication from emit-object callers
2009-04-29 23:35:02 -05:00
Slava Pestov
bd186b6320
Eliminate 3 instructions from PIC fast path
2009-04-29 21:32:05 -05:00
Slava Pestov
deaea55d85
compiler: don't wrap non-inference errors in compile errors, since they indicate compiler bugs; just rethrow them. Add unit test for a PIC regression
2009-04-29 19:39:04 -05:00
Slava Pestov
7f766ab355
Update compiler tests for tag number changes
2009-04-28 21:43:30 -05:00
Slava Pestov
c15a4c1c5a
Add new relocation type for call sites which may be replaced by ICs
2009-04-28 17:53:14 -05:00
Slava Pestov
5f6c074edd
Split up types.c/h into smaller files, remove optimized slot from F_WORD struct
2009-04-28 17:26:11 -05:00
Slava Pestov
5ff2c2e2bf
Don't compile predicate engines since there's no gain
2009-04-27 14:10:12 -05:00
Slava Pestov
bf0e8606a8
Merge branch 'master' into inline_caching
2009-04-26 21:26:39 -05:00
Slava Pestov
dac5203e81
compiler.tree.builder: Fix scoping of a variable by hints vocab
2009-04-26 16:04:44 -05:00
Slava Pestov
f94a44f3fd
Merge branch 'master' into inline_caching
2009-04-26 09:22:27 -05:00
Slava Pestov
7e84daf0f1
Move (execute) to kernel.private
2009-04-26 02:42:37 -05:00
Doug Coleman
28cacc8d61
fix some compiler tests
2009-04-26 02:23:33 -05:00
erg
acd312ab19
fix IN: for compiler tests
2009-04-26 00:51:47 -05:00
Slava Pestov
8ea3db9eef
Get rid of a 'rot'
2009-04-25 22:35:30 -05:00
Slava Pestov
7aa65b5b5f
Fixing new method dispatch implementation
2009-04-25 19:41:27 -05:00
Slava Pestov
d03b1eef01
Compile methods of generic words since the generic word itself doesn't get compiled
2009-04-24 20:54:30 -05:00
Slava Pestov
3dc9fdf9db
Fleshed out new dispatch code
2009-04-24 20:43:01 -05:00
Slava Pestov
5649cc7a0a
Compiler warnings are no more
2009-04-23 22:17:25 -05:00
Slava Pestov
c2fe2a4fea
Improve stack checker documentation
2009-04-23 03:48:32 -05:00
Slava Pestov
1dd3ed519f
Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression
2009-04-22 21:03:53 -05:00
Doug Coleman
7f983f12d4
fix help lint failures, fix example in words
2009-04-22 12:26:28 -05:00
Slava Pestov
dea3987ca5
Silly workaround for performance regression
2009-04-22 00:44:06 -05:00
Slava Pestov
057f75e9a1
Refactor compiler.tree.builder to fix various regressions
2009-04-21 23:02:00 -05:00
Slava Pestov
24a22e233c
Clean up compiler vocab
2009-04-21 22:33:04 -05:00
Slava Pestov
469c9ee21d
Debugging stack checking
2009-04-21 16:09:53 -05:00
Slava Pestov
a9b4a724a4
Remove "compiled-status" word prop and simplify associated machinery
2009-04-21 03:23:11 -05:00
Slava Pestov
f38d2f91f6
Words which didn't compile cannot be run at all
2009-04-20 22:05:41 -05:00
Slava Pestov
05f3f9dcb9
Fixing unit tests for stack effect inference changes
2009-04-20 21:15:19 -05:00
Slava Pestov
8414693142
stack-checker: trust word declarations instead of recursively checking them
2009-04-20 18:44:45 -05:00
Slava Pestov
5165d811d5
Changing the stack effect of a generic word could break the compiler
2009-04-20 04:21:00 -05:00
Slava Pestov
ec49307c88
Never inline default methods, and fix inlining of methods with hints
2009-04-20 03:27:18 -05:00
Slava Pestov
e811dd6192
Reverse compiler.errors => tools.errrs dependency to reduce deploy image size
2009-04-18 03:21:31 -05:00
Slava Pestov
e9e15ffb27
Merge branch 'master' of git://factorcode.org/git/factor
2009-04-17 16:17:36 -05:00
Doug Coleman
332bde4173
use iota in a few places
2009-04-17 16:17:11 -05:00
Slava Pestov
f80c89f128
Add fatal? flag to error types; non-fatal errors are hidden by default in error list, not shown in summary
2009-04-17 16:16:12 -05:00
Slava Pestov
99a120a146
Merge branch 'smarter_error_list'
2009-04-17 15:50:36 -05:00
Slava Pestov
ce76331fd6
Fixing more unit tests
2009-04-17 15:50:03 -05:00
Doug Coleman
7a1841f59b
(( -- )) eval -> eval( -- )
2009-04-17 15:49:21 -05:00
Doug Coleman
dba4c0d589
fixing compiler errors in basis
2009-04-17 12:46:04 -05:00
Slava Pestov
0a5b076c11
Make the walker infer
2009-04-16 23:14:11 -05:00
Slava Pestov
a69d404f74
Start documenting compiler internals
2009-04-16 16:24:14 -05:00
Slava Pestov
c0874e64cc
Documentation updates
2009-04-15 18:19:35 -05:00
Slava Pestov
83b7ac3f3a
Forgetting a definition removes compile error
...
Notify definition observers with nested compilation units
2009-04-15 00:27:02 -05:00
Slava Pestov
65b27354ad
Merge branch 'master' into smarter_error_list
2009-04-14 15:07:22 -05:00
sheeple
a4e62dfdba
Fix for math.parser syntax change
2009-04-13 14:47:39 -05:00
Slava Pestov
a2cff89591
Call notify-error-observers
2009-04-13 14:40:03 -05:00
Slava Pestov
e52be965f0
Finish moving compiler.errors to basis
2009-04-13 02:50:23 -05:00
Slava Pestov
d227fcd33f
Move compiler.errors to basis
2009-04-13 02:18:41 -05:00
Slava Pestov
c4be8bd65a
Refactor error code so that error types are registered; listener prints a summary of errors
2009-04-12 16:08:46 -05:00
Slava Pestov
deae1d7bbb
Fix bootstrap
2009-04-10 04:41:26 -05:00
Slava Pestov
0a7485190b
compile-error-type => source-error-type; make test failures global
2009-04-10 03:52:12 -05:00
Slava Pestov
37e278ed02
Use [ ] [ ] map-reduce instead of unclip [ ] reduce
2009-04-06 17:50:54 -05:00
Slava Pestov
268abfcf2a
Remove method-specs in favor of M\
2009-04-06 02:59:59 -05:00
Slava Pestov
932d44cab8
Small speedup for code using H{ } clone and with-scope
2009-03-31 08:16:04 -05:00
Slava Pestov
39b53817b9
Small size reduction for deployed images
2009-03-31 08:15:27 -05:00
Doug Coleman
5460a5375e
change makefile to use .so instead of .a on unix
2009-03-28 14:41:48 -05:00
U-SLAVA-DFB8FF805\Slava
40631ec2a9
Fix alien tests on Windows; LoadLibraryEx does not like UNC paths
2009-03-28 02:37:07 -05:00
Doug Coleman
6f743b280d
hopefully last fix for alien.factor
2009-03-27 17:58:31 -05:00
sheeple
1cf5c519cc
fix ffi tests on 32bit
2009-03-27 14:39:45 -05:00
sheeple
e04efe5f5a
use .a instead of .so on unix
2009-03-27 10:41:24 -05:00
Doug Coleman
73b8bf1193
fix using list
2009-03-26 19:58:23 -05:00
Doug Coleman
63e06589bd
don't normalize-path in add-library
2009-03-26 18:56:10 -05:00
Doug Coleman
b771758ff7
fix load errors, help lint
2009-03-26 10:45:52 -05:00
Doug Coleman
6ca02e9b37
Merge branch 'master' of http://factorcode.org/git/factor into db
2009-03-25 23:01:05 -05:00
Doug Coleman
8b7fcce399
update code for usages of add-library
2009-03-25 23:00:19 -05:00
Slava Pestov
ff07c8f352
Fix compiler.tree.debugger tests
2009-03-25 22:53:03 -05:00
Doug Coleman
4b275c2861
make add-library normalize-path, use libfactor-ffi-tests for testing ffi
2009-03-25 13:05:34 -05:00
Slava Pestov
9b8dd01c0b
Fix bitrot in compiler.tree.debugger
2009-03-25 10:11:58 -05:00
Slava Pestov
9ebd9c8d01
Add unit test for regression
2009-03-22 21:42:15 -05:00
Slava Pestov
6080c6e734
Fix stack effect redefinition
2009-03-22 20:16:31 -05:00
Slava Pestov
2f4e2735ea
Fix compile errors in compiler tests so that they actually test the compiler instead of being useless
2009-03-22 17:50:53 -05:00
Slava Pestov
ea60f8ae93
Changing : foo ; parsing to SYNTAX: foo ;
2009-03-21 01:27:50 -05:00
Slava Pestov
7f4c967ace
More compact relocation layout
2009-03-19 20:02:43 -05:00
Slava Pestov
9d44b7620f
Fixing the build
2009-03-18 17:01:26 -05:00
Slava Pestov
be4fb1e7d9
Move call( and execute( to core
2009-03-16 20:11:36 -05:00
Slava Pestov
0c77a3b3be
compiler: use call( instead of assert-depth
2009-03-16 06:27:01 -05:00
Slava Pestov
38c6be94d4
Fixing some stack comments
2009-03-16 06:17:18 -05:00
Slava Pestov
bf41b187b0
Re-organize code so that with-compilation-unit can infer
...
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
Slava Pestov
2f85a1a9eb
Don't report inference warnings for inline words
2009-03-12 17:30:41 -05:00
Slava Pestov
80e719ba5b
Remove stupid commented out code
2009-03-12 17:30:33 -05:00
Slava Pestov
4fdb5d0557
Fix infinite fixed point iteration bug found by littledan; generalize-counter-interval wasn't called in all the right places
2009-03-12 17:30:24 -05:00
Slava Pestov
b6f6e880bf
Make partially dispatched integer ops foldable
2009-03-11 13:57:13 -05:00
Slava Pestov
42224eb4e7
Propagation pass: add inlined node counts to total node count, so that the more we inline the less we are eager to inline more
2009-03-06 23:34:01 -06:00
Slava Pestov
37bc52afa8
Redefining methods didn't always update callers if more than one method on the same generic was redefined in a compilation unit
2009-03-06 23:33:30 -06:00
Slava Pestov
ca7a155b72
Merge branch 'master' into new_ui
2009-03-01 20:13:05 -06:00
Slava Pestov
03cb32ad9c
Make execute( faster, add execute-unsafe( and make effect tuple slots read only
2009-03-01 20:12:35 -06:00
Slava Pestov
25a877e50b
Merge OneEyed's patch
2009-02-28 17:06:55 -06:00
Slava Pestov
78ce670101
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-02-28 14:42:56 -06:00
Slava Pestov
e0cfad4676
Merge branch 'master' into new_ui
2009-02-26 14:27:55 -06:00
Slava Pestov
bda8b2dda6
Better inlining for both-fixnums?
2009-02-26 14:11:26 -06:00
Slava Pestov
ce1bc1d6ed
Fixing conflicts from stack checker changes
2009-02-24 01:21:10 -06:00
Slava Pestov
91d0c4ed1f
Fix conflict
2009-02-22 20:02:13 -06:00
Doug Coleman
990513db60
use CONSTANT: in basis
2009-02-22 19:13:08 -06:00
Slava Pestov
b4a61114e1
Merge branch 'master' into new_ui
2009-02-19 13:36:32 -06:00
Slava Pestov
60134eeb98
Documentation fixes
2009-02-19 13:35:53 -06:00
Samuel Tardieu
da2ebe21a6
Fix two overzealous [ ] removal in tests
2009-02-18 03:06:14 +01:00
Samuel Tardieu
087d931c36
Remove the tail argument from do/until/while
2009-02-18 02:41:14 +01:00
Slava Pestov
421ee726b8
Merge branch 'master' into new_ui
2009-02-16 21:22:12 -06:00
Slava Pestov
6b25e99470
Add summary for heaps more vocabs
2009-02-16 21:05:13 -06:00
Slava Pestov
634435d816
Merge branch 'master' into new_ui
2009-02-15 04:07:51 -06:00
Slava Pestov
cddb1f6133
Fix spelling
2009-02-15 04:07:05 -06:00
Slava Pestov
8fd159dadd
Fix conflict
2009-02-12 09:22:35 -06:00
sheeple
facd455e92
Working on complex float support in FFI on NetBSD
2009-02-12 06:25:07 -06:00
Slava Pestov
ab386d01aa
Merge branch 'master' into new_ui
2009-02-10 16:23:14 -06:00
Slava Pestov
07caee3405
Update some existing code to use initialize
2009-02-10 16:16:12 -06:00
Slava Pestov
3045777f02
Fix conflict
2009-02-09 00:34:00 -06:00
Daniel Ehrenberg
b65b88364c
Updating lots of things to use call( -- )
2009-02-08 22:12:11 -06:00
Slava Pestov
043b77c702
Fix conflict
2009-02-08 00:07:59 -06:00
Slava Pestov
01c2e26dfe
Fix alien tests, oops
2009-02-06 12:30:11 -06:00
sheeple
173b0ee78d
Add some more tests for complex numbers in FFI
2009-02-06 12:21:53 -06:00
Slava Pestov
dd9cf39467
Fix conflict in libc
2009-02-06 05:10:41 -06:00
Slava Pestov
d6aa376ed0
Removing now-redundant underlying>> calls
2009-02-06 04:37:28 -06:00
Slava Pestov
7bb0e78314
Add support for C99 complex float and complex double types to FFI
...
They are named complex-float and complex-double in the Factor world
2009-02-06 04:02:00 -06:00
slava
e29f18a2f4
Trying to fix a bad merge...
...
Revert "Merge branch 'master' of git://factorcode.org/git/factor"
This reverts commit da639739bd , reversing
changes made to 346a61f497 .
2009-02-03 00:27:34 -06:00
Slava Pestov
669548e62e
Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary
2009-02-02 13:43:54 -06:00
Slava Pestov
e88812b76a
map infimum => [ min ] map-reduce
2009-02-02 06:04:29 -06:00
Slava Pestov
b684db297a
Use [ max ] map-reduce instead of map supremum; would be nice to find a good name for this and put it in sequences vocab
2009-02-02 03:46:10 -06:00
Doug Coleman
3c408342ef
renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail
2009-01-29 22:19:07 -06:00
Slava Pestov
44bfff7c7b
Rename ##load-indirect to ##load-reference since this is more descriptive; value numbering doesn't assign expressions to ##load-reference nodes since this would end up folding literals which were eq? but not =
2009-01-29 01:44:58 -06:00
Slava Pestov
3e685b2eb4
Add test case for bug discovered by erg
2009-01-28 23:35:41 -06:00
Slava Pestov
65a53e1fa5
Don't keep compiled-effect around anymore
2009-02-23 23:55:16 -06:00
Slava Pestov
901bcccc1c
Fix remaining text failures
2009-02-23 23:25:13 -06:00
Slava Pestov
1951d739a0
Stack effect declarations are mandatory on all words now
...
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov
60f36cd9c8
Update user-space code for modify-code-heap primitive change
2009-01-24 20:17:11 -06:00
Slava Pestov
f34c14a0f5
Remove some usages of tuck
2009-01-23 18:20:47 -06:00
Slava Pestov
a8d1459c08
Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled)
2009-01-23 00:37:02 -06:00
Slava Pestov
ca2f01e0d0
Updating non-core libraries for monotonic? change
2009-01-16 17:02:54 -06:00
Slava Pestov
bf5ff11720
Update usages of all-equal? now that its in the grouping vocab
2009-01-16 15:14:30 -06:00
Slava Pestov
4204fd495f
Move formatted stream output words to io.styles; they didn't belong in core, and this reduces deployed image size
2009-01-13 17:12:43 -06:00
Doug Coleman
e661c67189
refactor a word to use smart combinators
2009-01-08 23:09:38 -06:00
Slava Pestov
7b110b0bfd
Move 3each, 3map from compiler.utilities to sequences
2009-01-05 17:32:08 -06:00
Slava Pestov
5fdb474c76
Fixing various test failures and updating some more vocabs for >r/r> removal
2008-12-17 22:29:32 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
c5160d76e9
Merge qualified, alias, symbols, constants into core
2008-12-17 18:10:01 -06:00
Slava Pestov
60a1378a0a
Faster dynamic variable lookup: 6% speedup in benchmark.fib5
...
- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables
2008-12-17 14:57:24 -06:00
Slava Pestov
0021cde743
Fix more compile errors
2008-12-15 22:21:56 -06:00
Slava Pestov
daf2857d7b
define-inline now takes an effect parameter
...
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov
c679ae025b
Rename tools.disassembler.udis:& to alien.syntax:&: and fix it to survive image save/load
2008-12-11 00:03:58 -06:00
Slava Pestov
ec23584f48
Finish up O(1) byte array allocation
2008-12-09 18:17:04 -06:00
Slava Pestov
eb79c6ab71
Fix conflict
2008-12-09 17:52:45 -06:00
Slava Pestov
a90118da5d
Add inc-at word to core, and update some usages of at+ to use it instead
2008-12-09 16:54:48 -06:00
Slava Pestov
db92c90569
Eliminate some usages of locals in compiler.tree.dead-code
2008-12-09 01:04:15 -06:00
Slava Pestov
640b37cb70
More permissive
2008-12-08 19:14:18 -06:00
Slava Pestov
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -06:00
Slava Pestov
e4f8448eb1
Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
...
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov
8a8f0c925c
Use BSR instruction to implement fixnum-log2 intrinsic
2008-12-06 15:31:17 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
a56d480aa6
Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
...
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov
044e2867d5
Teach compiler about string-nth range
2008-12-05 23:51:58 -06:00
Slava Pestov
f48653c47a
Fix compile error
2008-12-05 23:51:34 -06:00
Slava Pestov
aa838dbc2d
Fix compile errors
2008-12-05 09:04:16 -06:00
Slava Pestov
908644ee7a
O(1) <sbuf> and new-sequence on byte-arrays (work in progress)
2008-12-05 07:28:52 -06:00
Slava Pestov
e256846acd
Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement
2008-12-05 06:38:51 -06:00
Slava Pestov
6c7005d588
Tweak inlining heuristic
2008-12-05 01:50:14 -06:00
Slava Pestov
fa6a2047f0
New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%
2008-12-04 07:05:59 -06:00
Slava Pestov
e304d3c9f8
Local DCE
2008-12-04 06:02:49 -06:00
Slava Pestov
e6cb449b19
optimized. now accepts method-specs
2008-12-03 10:44:21 -06:00
Slava Pestov
e5ed7447ed
Removing more >r/r> usages
2008-12-03 08:46:16 -06:00
Slava Pestov
d60c79c9bf
Expand instance? with literal class
2008-12-03 08:11:51 -06:00
Slava Pestov
402da00390
Fixing bootstrap with specialized arrays
2008-12-02 02:44:19 -06:00
Slava Pestov
f51708386d
Fix conflicts
2008-12-01 20:39:43 -06:00
Slava Pestov
6dce834d91
Get rid of some more >r/r> usages
2008-11-30 18:28:15 -06:00
sheeple
6400085bea
Fix bootstrap, add a unit test
2008-11-30 07:36:29 -06:00
Slava Pestov
e7f4563374
fixnum* intrinsic for x86
2008-11-30 07:26:49 -06:00
Slava Pestov
e8a69a3aea
Fix conflict
2008-11-29 05:14:49 -06:00
Slava Pestov
52f1ff3a95
Fix conflict
2008-11-29 04:23:23 -06:00
Slava Pestov
86d45262dc
Add toutput ype propagation for #alien-invoke and #alien-indirect nodes
2008-11-29 03:47:38 -06:00
Slava Pestov
1c0789e616
Didn't generate ##branch after ##alien-invoke and ##alien-indirect
2008-11-29 03:46:57 -06:00