Slava Pestov
4fd1767768
Old fix for classes-intersect? no-method bug was incorrect; we were
...
ignoring anonymous classes in compiled-generic-crossref. Also,
forget* now calls reset-word so that references to predicates of
forgotten classes don't break the compiler with a similar error.
2008-11-05 18:32:02 -06:00
Slava Pestov
7f59942219
Change title to be more consistent
2008-11-05 04:28:13 -06:00
Slava Pestov
affb48a067
Fix docs
2008-11-05 04:27:12 -06:00
Slava Pestov
2239f4fb99
More work on PowerPC backend; change register usage, free up some more integer and float regs (untested)
2008-11-05 04:20:35 -06:00
Slava Pestov
7aa530c64e
Fix ABOUT: docs
2008-11-05 04:16:15 -06:00
Slava Pestov
dae41147fe
%bignum>integer now takes a temporary register since this is useful on both x86 and ppc
2008-11-05 04:16:08 -06:00
Slava Pestov
8b7c47a68b
Clean up x86 backend: move cpu.x86.architecture to cpu.x86, use branchless arithmetic in some intrinsics
2008-11-05 04:15:48 -06:00
Slava Pestov
10d3b4a55d
New PPC backend (untested)
2008-11-05 00:31:08 -06:00
Slava Pestov
c8521ad826
Add tool to dump live intervals
2008-11-04 17:23:20 -06:00
Slava Pestov
22f11f24c9
Move simple-table. to prettyprint since its generally useful and not specific to tools.time
2008-11-04 17:23:08 -06:00
Slava Pestov
d8345b5eda
Update PPC non-optimizing compiler backend: there are three new sub-primitives to support
2008-11-04 06:07:19 -06:00
Slava Pestov
46830bb38d
Fix another name clash in tests; putting all compiler tests in compiler.tests vocab is probably not good
2008-11-04 00:46:06 -06:00
Slava Pestov
4a37bcb757
Strip out remake-generics-hook, since otherwise it slurps in a lot of meta-programming machinery, increasing deployed image size by about 200kb for hello-world
2008-11-04 00:36:16 -06:00
Slava Pestov
1af3b8ed65
If a register is spilled and the reload location is also a copy, we chicken out and don't coalesce. This is suboptimal but it's not clear to me how to implement it cleanly, and SSA graph coloring will solve this problem eventually anyway
2008-11-04 00:32:56 -06:00
Slava Pestov
efcb916e35
Handle a jump to a jump by cloning the block, in the same way we optimize jumps to returns
2008-11-03 21:02:34 -06:00
Slava Pestov
3e75e0f8b5
Update word naming conventions
2008-11-03 21:00:27 -06:00
Slava Pestov
06b99c31ee
Fix regression. If a parsing word called the compiler, it might compile a caller of a generic before the generic gets built, which would throw an error since the inferred effect of the generic might have less inputs than the combination's dispatch#
2008-11-03 20:59:48 -06:00
Slava Pestov
dc85ed3d56
Fix help lint: links to obsolete article
2008-11-03 08:08:28 -06:00
Slava Pestov
82e9eedd39
Forgot about float= intrinsic
2008-11-03 07:15:09 -06:00
Slava Pestov
75e9708488
Oops
2008-11-03 06:50:59 -06:00
Slava Pestov
e6f6cd5d93
Fix USING: -- you can now make ppc images, they just don't work yet
2008-11-03 06:40:14 -06:00
Slava Pestov
b649c01de6
Fix name clash with templates.factor
2008-11-03 06:34:56 -06:00
Slava Pestov
59f4f25b91
Loop alignment: appears to be a small win for reverse-complement
2008-11-03 06:20:51 -06:00
Slava Pestov
cdb5c30bd3
Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time
2008-11-03 03:51:28 -06:00
Slava Pestov
2445a83cb9
Clean up recursive-state usage
2008-11-03 03:06:11 -06:00
Slava Pestov
0250d7c1d2
Forgot a drop in unit test
2008-11-03 01:53:27 -06:00
Slava Pestov
08b277e892
Fix alias anlaysis bug: result of ##box-alien and ##box-float did not get an AC, so calling hi-tag would not compile
2008-11-03 01:52:55 -06:00
Slava Pestov
3230e0010f
-trace-compilation command line switch
2008-11-03 01:19:20 -06:00
Slava Pestov
7f3282bb39
Better error reporting
2008-11-03 01:19:06 -06:00
Slava Pestov
f253e74942
Inline subprimitives in optimizing compiler
2008-11-03 01:18:54 -06:00
Slava Pestov
44a2499c17
fixnum-shift-fast and fixnum-mod subprimitives
2008-11-03 01:18:35 -06:00
Slava Pestov
dd20b39cd6
fixnum-shift-fast subprimitive
2008-11-03 00:03:39 -06:00
Slava Pestov
1aefde994f
Cleanup
2008-11-03 00:03:22 -06:00
Slava Pestov
0d83873174
Fix regression
2008-11-03 00:03:15 -06:00
Slava Pestov
abb02f1784
Flesh out shift instructions
2008-11-03 00:03:00 -06:00
Slava Pestov
449c1191cc
Add another debug var
2008-11-02 23:25:42 -06:00
Slava Pestov
445e353337
Optimize away useless jumps
2008-11-02 23:09:31 -06:00
Slava Pestov
d11a779fdd
RicE
2008-11-02 03:58:32 -06:00
Slava Pestov
998637109a
Merge branch 'master' into new_codegen
2008-11-02 03:10:40 -06:00
Slava Pestov
3834eaeb05
Don't generate GC checks if the allocation instruction is optimized out
2008-11-02 01:50:48 -06:00
Slava Pestov
8df1aba71d
Coalescing
2008-11-02 01:49:57 -06:00
Doug Coleman
c5293819ce
Merge branch 'master' of git://factorcode.org/git/factor
2008-11-01 19:40:18 -05:00
Doug Coleman
9c5bd1e96d
remove debug from regexp
2008-11-01 19:39:49 -05:00
Slava Pestov
46b1fd652b
Merge branch 'master' of git://factorcode.org/git/factor into new_codegen
2008-11-01 19:11:40 -05:00
slava
1cd2874072
Uncomment a test
2008-11-01 18:56:12 -05:00
Slava Pestov
b5c3c19ebe
Merge branch 'master' of git://factorcode.org/git/factor into new_codegen
2008-11-01 16:38:04 -05:00
Doug Coleman
8a494a0da4
fix the way postgresql creates functions
2008-11-01 15:24:05 -05:00
Slava Pestov
804c6f93ea
Fix x86.32
2008-10-31 21:07:41 -05:00
Slava Pestov
db4db19cd9
Start working on coalescing
2008-10-28 02:38:37 -07:00
Slava Pestov
492a15e345
Move insn class to compiler.cfg.instructions
2008-10-24 09:17:06 -05:00
Doug Coleman
2937f71702
more usings
2008-10-23 13:38:26 -05:00
Doug Coleman
a42c8d4ab7
fix using
2008-10-23 13:37:14 -05:00
Doug Coleman
03d96cc1bd
rename name to mount-point
2008-10-23 13:18:00 -05:00
Slava Pestov
1912c57bb5
Fix comment
2008-10-23 05:55:50 -05:00
Slava Pestov
69a0ad5e42
Ricing locals
2008-10-23 05:49:32 -05:00
Slava Pestov
1c7d9c1066
Merge branch 'master' into new_codegen
2008-10-23 05:29:09 -05:00
Slava Pestov
885adc8dc9
Various improvements
2008-10-23 05:27:54 -05:00
Slava Pestov
7fb39a14c1
Compile compiler early
2008-10-23 02:49:55 -05:00
Slava Pestov
52967c5bf1
Improved value numbering
2008-10-23 02:49:26 -05:00
Doug Coleman
d7cbf8b1f3
Merge branch 'master' of git://factorcode.org/git/factor
2008-10-22 22:03:00 -05:00
Doug Coleman
e776bd29e1
add type to file-system-info
2008-10-22 22:02:33 -05:00
Slava Pestov
d723b69990
Value numbering
2008-10-22 21:59:07 -05:00
Slava Pestov
084e64d0bc
Tweak inheritance
2008-10-22 21:58:46 -05:00
Slava Pestov
ba0ed21e1d
Better error message
2008-10-22 21:58:37 -05:00
Doug Coleman
b85b0f6820
fix typo
2008-10-22 21:43:19 -05:00
Doug Coleman
c9167e2ab2
better file-system-info on mac
2008-10-22 20:32:39 -05:00
erg
bccf9d9698
add device-name and type to file-system-info
2008-10-22 20:28:30 -05:00
Doug Coleman
4ddfc83423
id_t type
2008-10-22 20:22:35 -05:00
Doug Coleman
46fbd8c520
mounton -> name
2008-10-22 20:18:58 -05:00
erg
278b55ee57
include mount point in file-system-info
2008-10-22 20:04:10 -05:00
Doug Coleman
89e9fa8b6b
mounted* -> mounted
2008-10-22 19:56:46 -05:00
erg
b4b02d29fa
fix mounted on linux
2008-10-22 19:54:22 -05:00
Doug Coleman
f9b90d035b
implement mounted on linux
2008-10-22 19:01:45 -05:00
Doug Coleman
371b1f8f20
fix mounted on macosx
2008-10-22 18:46:24 -05:00
Slava Pestov
9a07760542
CFG optimizer
2008-10-22 18:41:37 -05:00
Slava Pestov
3711aa3bca
Stack height normalization
2008-10-22 18:41:26 -05:00
Slava Pestov
6d812aaa52
Write barrier elimination
2008-10-22 18:41:10 -05:00
Slava Pestov
1f693b50b3
Massive focused action
2008-10-22 18:39:41 -05:00
Slava Pestov
73d01452cb
Replace ##gc with a gc flag in the basic block
2008-10-22 18:38:30 -05:00
Slava Pestov
f09813f6fd
Alias analysis
2008-10-22 18:37:47 -05:00
Doug Coleman
1d750b26d2
Merge branch 'master' of git://factorcode.org/git/factor
2008-10-21 23:44:02 -05:00
Doug Coleman
b9e043effe
move >file-system-info
2008-10-21 23:43:36 -05:00
Slava Pestov
dc74d1a9b6
Merge branch 'master' into new_codegen
2008-10-21 23:40:03 -05:00
Slava Pestov
84820244dd
Merge branch 'master' into new_codegen
2008-10-21 23:19:20 -05:00
Slava Pestov
ebd6776fc4
Merge branch 'master' of git://factorcode.org/git/factor
2008-10-21 23:18:49 -05:00
Slava Pestov
52020c2fe3
Fixing x86 instruction encoding for addressing with base = ESP or R12
2008-10-21 23:18:27 -05:00
Slava Pestov
1b06ab1b39
Fixing various bugs
2008-10-21 23:17:32 -05:00
Doug Coleman
9870a7d7cd
fix bug with printing docs directory
2008-10-21 21:03:37 -05:00
Doug Coleman
003000b7cf
timeval>seconds
2008-10-21 04:19:50 -05:00
Slava Pestov
87e9fbb34c
Comparison operations
2008-10-21 03:21:29 -05:00
Doug Coleman
1423577d89
typo
2008-10-21 03:21:17 -05:00
Slava Pestov
94a2bfa2ea
Working on comparison operations, clearing out remaining dead wood
2008-10-21 03:20:48 -05:00
Doug Coleman
33948aa024
linux32 and linx64 filesystem info objects instead of only one type
2008-10-21 03:16:48 -05:00
Doug Coleman
09c1f8cc01
split up linux statfs
2008-10-21 03:11:26 -05:00
Doug Coleman
69aad251c1
use common statfs fields on linux for now
2008-10-21 02:53:34 -05:00
Slava Pestov
ca49ab09c9
Merge branch 'master' into new_codegen
2008-10-20 23:28:51 -05:00
Slava Pestov
a8d1ec34f8
Fix an UI bug and remove some pick usages
2008-10-20 23:28:02 -05:00
Slava Pestov
4b20266235
Merge branch 'master' into new_codegen
2008-10-20 22:06:11 -05:00
Slava Pestov
1df08ba8c8
Unit tests no longer use hard-coded ports
2008-10-20 22:05:22 -05:00
Slava Pestov
d7ad12207c
Merge branch 'master' of git://factorcode.org/git/factor
2008-10-20 21:09:01 -05:00