Commit Graph

8618 Commits (d8345b5eda090cc5abef7b94e4d4e9388a928764)

Author SHA1 Message Date
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 fb64c1cb45 Fix class<=; a predicate class derived from a union was not reported as being contained in the union 2008-11-04 04:59:54 -06:00
Slava Pestov cc94894441 Fix notorious classes-intersect? bug, or at least one manifestation thereof. Turns out that we may temporarily end up with forgotten classes in the compiled-generic-crossref table. This is not a problem, since subsequently the words that reference forgotten classes will presumably be redefined and recompiled, but it does mean that (compiled-generic-usage) does need to handle this case 2008-11-04 03:38:44 -06:00
Slava Pestov 9b492b55e0 Fix minor leak: class-caches were not reset if a class was forgotten 2008-11-04 02:17:37 -06:00
Slava Pestov 7134fad54c Add more unit tests highlighting the problem: predicate -vs- union comparison is broken 2008-11-04 02:17:22 -06:00
U-SLAVA-DFB8FF805\Slava 18fdf64931 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-04 00:05:04 -06:00
Slava Pestov 88d5dac02f Remove obsolete code from unfinished 2008-11-04 00:54:57 -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
U-SLAVA-DFB8FF805\Slava 72b34c7b47 Fix visibility of check_sse2 symbol; DDLEXPORT doesn't work in gas source 2008-11-04 00:04:18 -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 b4d3473d5e Tuple parsing didn't handle line breaks properly; if scan returns f, must throw unexpected-eof 2008-11-03 21:01:50 -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 4d25f1fff6 Add some missing meta-data 2008-11-03 08:06:59 -06:00
Slava Pestov 00fc4eb179 Fix Windows bootstrap: check_sse2 was not DLLEXPORT 2008-11-03 07:27:14 -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 673fda2281 Fix bogus error message 2008-11-02 03:10:27 -06:00
Slava Pestov 866f798c00 Clean up hexdump 2008-11-02 02:12:12 -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 1f16c5cb9e Fix some deploy descriptors 2008-11-01 18:56:02 -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 c417f829bd fix potential garbled output 2008-11-01 15:48:35 -05:00