Commit Graph

8969 Commits (b981b8cad8e375ec352e734255bbef32b296680b)

Author SHA1 Message Date
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 aac256324f lo-tag-dispatch-engine now sorts tags, this ensures that >fixnum compiles more efficiently 2008-11-06 00:02:10 -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
James Cash 6035bb3130 Tests of around-advice 2008-11-06 00:44:25 -05:00
James Cash 894d9a67c9 Naive around-advice working 2008-11-06 00:44:11 -05:00
James Cash d530ec6bd5 More work on around-advice 2008-11-06 00:20:52 -05:00
James Cash d2224ec935 Adding documentation for advice 2008-11-06 00:20:52 -05:00
James Cash 718b29798a Adding missing semicolon to lisp-docs.factor 2008-11-06 00:20:52 -05:00
James Cash 0f9ccaa352 Working on implementation of 'around' advice 2008-11-06 00:20:52 -05:00
James Cash 585afbf24e Adding tests for advice 2008-11-06 00:20:52 -05:00
James Cash 2904f35f12 Adding summary for extra/advice 2008-11-06 00:20:52 -05:00
James Cash f8da0cd23f Starting work on advice vocab 2008-11-06 00:20:52 -05:00
James Cash f5db48e3b7 Fixing typo in lisp-docs 2008-11-06 00:20:51 -05:00
James Cash 560399a2b6 Adding some more documentation to extra/lisp 2008-11-06 00:20:51 -05:00
James Cash 27d216cf1e Making work director symlink to ~/Programming/factor 2008-11-06 00:20:51 -05:00
James Cash b250a62f87 Fixing spacing 2008-11-06 00:20:51 -05:00
James Cash 0e18200b16 Fixing defun, adding test for it 2008-11-06 00:20:51 -05:00
James Cash d2d3e1e4f2 Adding more tests to extra/lisp 2008-11-06 00:20:51 -05:00
James Cash f82cb061f5 Fixing bug with quoted expressions for lisp.parser 2008-11-06 00:20:51 -05:00
James Cash 6899bb2898 Adding tests for quoted forms in lisp.parser 2008-11-06 00:20:51 -05:00
James Cash db1a69f6aa Adding support for ' quote syntax in lisp.parser 2008-11-06 00:20:51 -05: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
Aaron Schaefer c9449cf3f5 Merge branch 'master' of git://factorcode.org/git/factor 2008-11-05 23:05:37 -05:00
Aaron Schaefer 15257b91ac Refactor math.text.english using new combinators 2008-11-05 22:59:06 -05:00
Slava Pestov 4e98751ce0 Remove a conditional branch from all tuple dispatches, since we don't have to check if the class height is at least 1; and remove memory accesses from tuple dispatch where all tuples are height 1 2008-11-05 20:23:38 -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
Aaron Schaefer 373c05ee49 Forgot to inline collect-benchmarks word 2008-11-05 19:24:19 -05:00
Slava Pestov 81c7320f7b mason.updates was calling download-my-image, which uses the current CPU/OS instead of target-cpu and target-os. So doing 32-bit builds from a 64-bit Factor instance didn't work... oops 2008-11-05 05:14:35 -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
Aaron Schaefer db7002effa Merge branch 'master' of git://factorcode.org/git/factor 2008-11-05 01:11:58 -05:00
Aaron Schaefer b5b207a484 Add test files for all Project Euler solutions 2008-11-05 01:11:15 -05: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 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