Commit Graph

46 Commits (07eb27068f5975a69e99036b3f85b44b56f600d7)

Author SHA1 Message Date
Joe Groff 056749d2e7 bootstrap.compiler: move GetLastError/FormatMessageW compilation before any other foreign words; add a similar shortlist for dlerror on unix as a safeguard 2011-09-13 13:33:07 -07:00
Joe Groff 0396df43c2 bootstrap.compiler: add GetLastError and FormatMessageW to the compilation shortlist on Windows to avoid compilation order issues 2011-09-13 13:33:07 -07:00
Slava Pestov b360a4a514 bootstrap.compiler.timing: small update 2010-05-14 18:37:07 -04:00
Slava Pestov 3d66820344 FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
Slava Pestov b6e9ee539c bootstrap.compiler.timing: update 2010-05-04 19:33:54 -04:00
Slava Pestov 4fe845977f Merge branch 'require-when' of git://github.com/littledan/Factor 2010-04-19 14:06:52 -05:00
Slava Pestov 28a9cf79ff io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters 2010-04-19 01:14:00 -05:00
Slava Pestov 1d7089dc04 compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register 2010-04-18 21:42:45 -05:00
Daniel Ehrenberg d9878f81d7 Changing require-when usages to the new syntax for require-when 2010-04-18 14:29:24 -05:00
Slava Pestov 3b92172115 Replace 'untested' tag with 'not loaded' and 'not tested' tags 2010-04-13 18:43:01 -07:00
Slava Pestov 94787b962b bootstrap.compiler: fix joint dependencies declared here 2010-03-29 13:14:26 -04:00
Daniel Ehrenberg f2f80dadc7 Updating code to use require-when rather than vocab [ require ] when 2010-03-18 01:13:37 -04:00
Slava Pestov 747ddf5173 debugger: Untangle some dodgy dependencies that were loading locals before prettyprint, resulting in locals.prettyprint not being loaded 2010-03-17 19:19:43 +13:00
Slava Pestov 0aad3e6e12 vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases 2010-02-20 13:30:49 +13:00
Slava Pestov 57a47d9566 Rename update to assoc-union!, add assoc-filter! assoc-diff! words 2010-02-04 02:55:00 +13:00
Slava Pestov 80f604ac73 compiler: remove some unnecessary complexity 2010-02-04 01:36:52 +13:00
Slava Pestov 711d78f511 vm: don't recompile lazy-jit-compile more than once 2010-01-20 02:48:31 +13:00
Slava Pestov 08b6ebc7fa Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Joe Groff 9ae404b304 no need to pre-compile roll/-roll since they're not used in core or basis anymore 2009-10-30 18:00:47 -05:00
Joe Groff eecef661cf exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Doug Coleman b5fd809209 memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
Slava Pestov 527db8995a Specialized array overhaul
- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely
2009-09-09 22:33:34 -05:00
Slava Pestov 3efe0360e2 bootstrap.compiler: add -debug-compiler switch which loads compiler but doesn't compile any words 2009-08-20 03:48:03 -05:00
Doug Coleman 7c3824639e move if-zero etc to math, remove 1-/1+ from math 2009-08-14 14:27:23 -05:00
Slava Pestov b18d109f00 bootstrap.compiler.timing: fix load error 2009-08-03 13:34:28 -05:00
Slava Pestov 7665784911 Compiler speedups 2009-08-02 09:16:21 -05:00
Slava Pestov 7004ccfb8f Passing -profile-compiler switch to bootstrap collects timing information from optimizer passes 2009-07-30 21:27:52 -05:00
Slava Pestov df8bd282b5 bootstrap.compiler: compile a few more words early, for a big bootstrap speed boost 2009-07-30 02:45:29 -05:00
Doug Coleman 8da9d0f203 rename peek -> last and update all usages 2009-05-25 16:38:33 -05:00
Slava Pestov d7db5edadc Cleaning up USING: lists for new strict semantics 2009-05-14 16:54:16 -05:00
Slava Pestov 56d30c9536 bootstrap.compiler: clean up 2009-05-05 15:57:08 -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 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 2630c4a95f Add local caching 2009-04-25 20:33:52 -05:00
Slava Pestov 057f75e9a1 Refactor compiler.tree.builder to fix various regressions 2009-04-21 23:02:00 -05: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 4f0a9f311e Untangling some dependencies 2008-12-08 14:58:00 -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 53cd75b06c Add string-nth intrinsic 2008-11-06 01:11:28 -06:00
Slava Pestov 7fb39a14c1 Compile compiler early 2008-10-23 02:49:55 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -05:00
Slava Pestov 9b6fb70eba Debugging optimizer 2008-08-18 15:47:49 -05:00
Slava Pestov a5ff214d67 More load fixes 2008-08-12 03:38:56 -05:00
Slava Pestov 48fa2e2d0e Updating some code 2008-08-12 03:31:48 -05:00
Slava Pestov d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00