Commit Graph

1339 Commits (b981b8cad8e375ec352e734255bbef32b296680b)

Author SHA1 Message Date
Doug Coleman aff4c9bda3 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-11 13:07:26 -06:00
Doug Coleman f6c0c43dd4 fix user-cache and add tests for this 2008-11-11 13:05:04 -06:00
Doug Coleman e3533daf4d make jedit behave nicely with scaffolding docs 2008-11-11 13:04:20 -06:00
Doug Coleman 51ecc18cd8 changed a bitwise word, updating usage for mersenne twister 2008-11-11 13:03:42 -06:00
Doug Coleman 7aeeb2c9ce bitwise docs, fix some bugs in bitwise words 2008-11-11 13:03:08 -06:00
Slava Pestov 8a6ecec9f3 Fix broken link in ratios docs 2008-11-11 12:11:36 -06:00
Slava Pestov a32acdcff0 Tweak grouping code for better method inlining 2008-11-11 12:11:13 -06:00
Slava Pestov d7dd084b8d Usability tweak: focus on listener input area when input presentation is clicked 2008-11-11 11:46:35 -06:00
Slava Pestov fed799a32c Fix circularity 2008-11-11 11:39:38 -06:00
Slava Pestov 4c0f2cc3f5 Move factor-2s from miller-rabin to math.functions; use it to make ^ more efficient 2008-11-11 11:30:47 -06:00
Slava Pestov f1a1a4c1cb Cloning a dlist did not clone its nodes, and so was useless 2008-11-11 10:56:58 -06:00
Slava Pestov 1d630b6cf2 Minor documentation fixes 2008-11-11 10:51:15 -06:00
Slava Pestov f04b32ea02 Remove duplicated logic 2008-11-11 09:10:33 -06:00
Slava Pestov d50f4275d4 Fix help lint 2008-11-11 08:53:11 -06:00
Slava Pestov 792df37431 Update unit test 2008-11-11 08:50:30 -06:00
Slava Pestov 5f4b247072 Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement 2008-11-11 08:49:00 -06:00
Slava Pestov 7f9fbdaa4e cleanup pass didn't properly handle conditionals where both branches were dead 2008-11-11 08:38:03 -06:00
Slava Pestov 43335d9c36 Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<= 2008-11-11 08:30:14 -06:00
Slava Pestov bb44effcb3 Forgot to include this in the last patch 2008-11-11 02:35:27 -06:00
Slava Pestov d579628d61 More OpenGL rendering tweaks 2008-11-11 02:31:56 -06:00
James Cash da3399f31d More tests for linked-assocs 2008-11-11 02:33:19 -05:00
James Cash a5576bbb1d Fixing extra space, replacing tuck ... swap with [ ... ] keep 2008-11-11 02:33:19 -05:00
James Cash d9076407fb Writing docs for linked-assocs 2008-11-11 02:33:19 -05:00
James Cash 143567c917 More tests for linked-assocs 2008-11-11 02:33:19 -05:00
James Cash 41b7853e08 Adding more assoc protocol methods to linked-assocs, bugfixes 2008-11-11 02:33:18 -05:00
James Cash b3acebc350 linked-assocs passes tests 2008-11-11 02:33:18 -05:00
James Cash b68d3c94a7 Adding linked-assocs 2008-11-11 02:33:18 -05:00
Slava Pestov f0c61b9499 Rewrite OpenGL rendering code
- Don't use glPolygonMode to draw outline rectangles
- Use vertex arrays instead of glBegin/glVertex/glEnd
- Remove dead code from opengl vocabulary
- draw-interior and draw-boundary are now called with origin get [ ... ] with-translation
2008-11-11 00:28:37 -06:00
Slava Pestov eabba96627 Merge branch 'master' of git://repo.or.cz/factor/jcg 2008-11-10 21:38:28 -06:00
Eduardo Cavazos 2489ac5205 bootstrap.stage2: Factor out 'print-time' 2008-11-10 21:27:48 -06:00
Eduardo Cavazos 78d9452b7e basis/bootstrap/stage2: Show core bootstrap time in report 2008-11-10 20:05:50 -06:00
Joe Groff 6189bfd1f0 bring cairo bindings back from the dead 2008-11-10 17:01:14 -08:00
Slava Pestov 161c917748 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-10 05:08:39 -06:00
Slava Pestov d8a3439bc2 Fix indentation 2008-11-10 05:08:30 -06:00
Slava Pestov eeb53283d4 Update code for builder removal 2008-11-10 05:07:25 -06:00
Eduardo Cavazos 0b33c52886 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-10 03:36:26 -06:00
Eduardo Cavazos 17be33fb01 ui.gadgets.labelled: Simplify '<title-bar>' 2008-11-10 03:35:21 -06:00
Slava Pestov 8da65ff55c Merge branch 'master' of git://factorcode.org/git/factor 2008-11-10 03:23:19 -06:00
sheeple ffe4bd6787 Various updates 2008-11-10 03:18:58 -06:00
sheeple 067e9934e1 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-10 03:02:17 -06:00
sheeple 5b7d40d9b4 We need to end the basic block after the ##prologue in the dispatch branch so that the GC check can go after the prologue 2008-11-10 02:58:05 -06:00
Eduardo Cavazos 6df7342b81 ui.gadgets.scrollers: Nicer version of 'find-scroller*' 2008-11-10 02:10:18 -06:00
Slava Pestov 4d317e2d46 Merge branch 'master' of git://github.com/glguy/factor 2008-11-10 00:30:27 -06:00
Slava Pestov b8eebd5c2b swap over == tuck; dupd swap == over 2008-11-10 00:16:11 -06:00
U-SLAVA-DFB8FF805\Slava 2bf9a55cea Fix Windows deployment 2008-11-09 17:27:51 -06:00
U-SLAVA-DFB8FF805\Slava 429fe85f46 Fix compile error 2008-11-09 17:27:39 -06:00
Slava Pestov 28e397420d Fix USING: 2008-11-08 21:43:55 -06:00
unknown 7a6a280b5c Fix conflict 2008-11-08 21:41:33 -06:00
unknown f7fe84e563 Working on Win64 FFI 2008-11-08 21:40:47 -06:00
Slava Pestov f53e9c654c Merge branch 'master' of git://factorcode.org/git/factor 2008-11-08 20:36:29 -06:00
Slava Pestov 65dea0aa26 PowerPC backend fixes 2008-11-08 20:36:14 -06:00
Slava Pestov 57242951b9 Better error reporting in FROM: and RENAME: words 2008-11-08 19:33:15 -06:00
Eduardo Cavazos 8262b50c87 ui.gadgets.scrollers: minor tweak in 'new-scroller' 2008-11-08 16:23:06 -06:00
Eduardo Cavazos 8e44e783cf ui.gadgets.lists: minor tweak to 'select-gadget' 2008-11-08 15:59:21 -06:00
Peter Burns a4cecaaf40 swap drop === nip 2008-11-08 13:45:45 -08:00
Peter Burns 64cdabf57a A bit more refactoring and testing of json.reader 2008-11-08 12:08:58 -08:00
Slava Pestov 9cc193ea5b Add unportable tags and fix my-arch word 2008-11-07 22:37:40 -06:00
Peter Burns bca998bba5 Merge branch 'master' of git://factorcode.org/git/factor into json 2008-11-07 20:00:42 -08:00
Peter Burns 706da24b8c Refactored json.reader, added a couple more unit tests, no more rationals 2008-11-07 20:00:19 -08:00
Slava Pestov eb83b542d6 Fix unix x86.64 bootstrap 2008-11-07 21:54:13 -06:00
Slava Pestov 000affca5a Merge branch 'master' of git://factorcode.org/git/factor 2008-11-07 21:09:45 -06:00
Slava Pestov 1b744ab14b Updating code for boot image renaming 2008-11-07 21:09:42 -06:00
unknown de0cc7f99a Merge branch 'master' of git://factorcode.org/git/factor 2008-11-07 20:49:42 -06:00
Slava Pestov 639da2d335 Refactor OS-specific parts of PowerPC backend 2008-11-07 20:45:25 -06:00
unknown cc7ab11881 Add more unit tests 2008-11-07 20:34:04 -06:00
unknown 7365959f01 Starting work on Win64 port 2008-11-07 20:33:32 -06:00
Peter Burns 6e22f39f46 Rewrote json.reader to use peg.ebnf 2008-11-06 21:45:24 -08:00
sheeple 070432d140 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-06 19:15:13 -06:00
sheeple d1f248dac6 Fixing PowerPC backend: prolog register clobberage, spilling, and general stack frame usage. Add some lame tests for spilling 2008-11-06 19:00:56 -06:00
Doug Coleman a7595665fc Merge branch 'master' of git://factorcode.org/git/factor 2008-11-06 16:54:05 -06:00
Doug Coleman 46aa56730b better parsing for anchors 2008-11-06 16:53:00 -06:00
Slava Pestov b7dc7296db Implement stream-read on memory-streams. This allows alien>string to work with utf16 encoding 2008-11-06 13:42:53 -06:00
Doug Coleman dd1b28ba7a Merge branch 'master' of git://factorcode.org/git/factor 2008-11-06 13:17:54 -06:00
Doug Coleman 811026ce4d removing some uses of at* in favor of at, simplifying code 2008-11-06 13:16:33 -06:00
Slava Pestov 63a9975a0e Support inline, foldable, flushable on methods; add declarations in a couple of places for ricing purposes 2008-11-06 13:13:37 -06:00
Slava Pestov 751426f283 Remove dead code from math.intervals; we no longer need the operations to support f anymore 2008-11-06 11:57:31 -06:00
Slava Pestov 4e55cd973b If a #dispatch branch is a call to another word which is not an intrinsic, we avoid generating the dispatch branch and just jump to the word directly 2008-11-06 11:48:55 -06:00
Slava Pestov 9366ad650d Add unportable tag 2008-11-06 09:29:21 -06:00
Slava Pestov 64cbf619a9 Add more algebraic simplifications: comparison of a comparison, comparison where first is immediate 2008-11-06 09:27:52 -06:00
Slava Pestov 1c1333fbe9 Compile not and >boolean as branchless intrinsics by having the CFG builder detect certain code patterns 2008-11-06 09:09:21 -06:00
Peter Burns e631e1ca08 Normalized spacing to 4 space tabs in json modules 2008-11-06 04:41:53 -08:00
Peter Burns 986ea40835 Changed json-null to a SINGLETON for method dispatch 2008-11-06 04:38:12 -08:00
sheeple d2ec46e38f PowerPC backend almost functional; some new compiler unit tests added,
better compilation of 'f eq?'; f becomes an immediate operand
move aux-offset to compiler.constants
2008-11-06 06:27:27 -06:00
Peter Burns 260862603c Added some tests for json.writer, fixed a bug with t >json and json-null >json 2008-11-06 04:26:49 -08:00
Slava Pestov 7741096bff Tweak PPC register usage; gcc doesn't like it when you mess with r31 for some reason 2008-11-06 03:36:46 -06:00
Slava Pestov 6f432811f5 Fix mirrors 2008-11-06 02:52:54 -06:00
Slava Pestov 29279f305e Fix 32-bit bootstrap 2008-11-06 01:58:07 -06:00
Slava Pestov 5def7c5dea Don't load random number generator on bootstrap 2008-11-06 01:30:59 -06:00
Slava Pestov 53cd75b06c Add string-nth intrinsic 2008-11-06 01:11:28 -06:00
Slava Pestov bfd119e3b5 I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement 2008-11-06 00:02:44 -06:00
Slava Pestov be798dd5e9 We need to internalize tuple layouts in bootstrap, but since they're arrays we have to use a predicate class to detect them 2008-11-06 00:01:50 -06:00
Slava Pestov cc879fa9b7 Tuple layouts are now arrays, instead of built-in types. The superclass
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov fbb958da82 Fix lambda-method forget 2008-11-05 18:59:58 -06:00
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