Commit Graph

1791 Commits (a4ba0453b3a32de5200fc9a114bfc54500e861de)

Author SHA1 Message Date
Slava Pestov a91dee7810 Fix for native I/O backends that create callbacks in deployed apps; this affected tools.deploy.test[35] ever since run-loop multiplexer landed on OS X 2008-12-12 19:48:17 -06:00
Slava Pestov 38046364ac Fix memory test on OpenBSD 2008-12-12 01:00:32 -06:00
Slava Pestov e6145c71c0 Change a -rot usage to 2dip 2008-12-10 17:26:54 -06:00
Slava Pestov 2a3db4cd23 Minor optimization to flip 2008-12-09 21:50:31 -06:00
Slava Pestov 7ad6d34212 Fix byte-arrays tests 2008-12-09 21:07:28 -06:00
Slava Pestov ec23584f48 Finish up O(1) byte array allocation 2008-12-09 18:17:04 -06:00
Slava Pestov d9231f3bc5 Remove unsafe string allocation, since its of dubious value 2008-12-09 17:53:00 -06:00
Slava Pestov eb79c6ab71 Fix conflict 2008-12-09 17:52:45 -06:00
Slava Pestov a90118da5d Add inc-at word to core, and update some usages of at+ to use it instead 2008-12-09 16:54:48 -06:00
Slava Pestov b5e8b14722 Add unit test for GC problem 2008-12-09 16:45:02 -06:00
Slava Pestov ea4feee886 Fix typo 2008-12-09 15:10:51 -06:00
John Benediktsson 6745e0dad9 Fix error in the docs for assoc-map. 2008-12-09 12:35:59 -08:00
Slava Pestov ccab34e7c4 Fix restart behavior with circular vocabs, and add a test for this 2008-12-09 04:50:33 -06:00
Slava Pestov 7c1c97470f tuple-class-unchanged? was bogusly returning f during bootstrap for classes without a superclass 2008-12-08 23:52:46 -06:00
Slava Pestov b154b21aaa Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once 2008-12-08 23:37:18 -06:00
Slava Pestov a0e7663afb Remove eval dependency from unicode.syntax 2008-12-08 19:46:40 -06:00
Slava Pestov 7940020491 Untangling more dependencies 2008-12-08 16:02:31 -06:00
Slava Pestov 4f0a9f311e Untangling some dependencies 2008-12-08 14:58:00 -06:00
Slava Pestov 73b3cd6367 Use eq? instead of number= since we only ever have a fixnum here 2008-12-08 13:59:59 -06:00
Slava Pestov ca8091443c Move byte-vectors and io.streams.byte-array to basis 2008-12-08 13:59:25 -06:00
Slava Pestov e4f8448eb1 Fix some problems with arithmetic type inference, exposed by recent changes to log2 word
- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless
2008-12-07 19:44:49 -06:00
Slava Pestov 3469d50b91 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-07 08:51:40 -06:00
Slava Pestov d1744fd67a Remove cache-nth word, nobody was using it and the semantics were broken 2008-12-07 08:51:22 -06:00
Doug Coleman 29d5278569 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-06 19:01:35 -06:00
Doug Coleman 37b9a350cc swap ... 3append -> surround in core 2008-12-06 18:42:41 -06:00
Slava Pestov 0290be6e93 Exploit the fast-path for allocation of array with initial element 0 by changing
new-sequence on arrays, the vector constructor, and resize-array, called when
growing vectors, to fill arrays with 0 instead of f. user code never observes the
initial value in these situations anyway. small speedup on bootstrap
2008-12-06 18:37:28 -06:00
Slava Pestov bac338663d Mark a word inline 2008-12-06 15:31:35 -06:00
Slava Pestov 8a8f0c925c Use BSR instruction to implement fixnum-log2 intrinsic 2008-12-06 15:31:17 -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 a56d480aa6 Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Doug Coleman 2e31f7d792 fix help-lint errors 2008-12-05 12:57:36 -06:00
Doug Coleman 3293dde7a2 remove unit test 2008-12-05 12:53:23 -06:00
Slava Pestov aa838dbc2d Fix compile errors 2008-12-05 09:04:16 -06:00
Slava Pestov 8db24bdd34 assert-depth now has a static stack effect. This fixes a UI unit test failure 2008-12-05 08:25:26 -06:00
Slava Pestov 908644ee7a O(1) <sbuf> and new-sequence on byte-arrays (work in progress) 2008-12-05 07:28:52 -06:00
Slava Pestov e256846acd Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement 2008-12-05 06:38:51 -06:00
Slava Pestov 252b1eb513 Faster conversion of sbufs, vectors and byte-vectors to their corresponding fixed-size type respectively; we call the resize-T primitive on the underlying sequence instead of >T 2008-12-05 06:37:19 -06:00
Slava Pestov fa146b248a Remove obsolete info; 1+ and 1- are identical to 1 + and 1 - in reality 2008-12-05 02:11:50 -06:00
Slava Pestov e304d3c9f8 Local DCE 2008-12-04 06:02:49 -06:00
Slava Pestov 993d8de372 Merge branch 'master' of git://projects.elasticdog.com/git/factor 2008-12-04 00:28:29 -06:00
Slava Pestov 1247ebbac9 Fix typo 2008-12-04 00:28:16 -06:00
Aaron Schaefer 13781ee48c Merge branch 'master' of git://factorcode.org/git/factor 2008-12-04 00:42:34 -05:00
Aaron Schaefer ca73c06194 Fix documentation example for floats 2008-12-04 00:36:11 -05:00
Doug Coleman 0e14f767ee core: swap 3append -> glue 2008-12-03 19:12:48 -06:00
Aaron Schaefer e6b585c376 Fix example in spread combinator article 2008-12-03 13:26:31 -05:00
Doug Coleman 06388da30d Merge branch 'master' of git://factorcode.org/git/factor 2008-12-03 10:03:37 -06:00
Slava Pestov 8e69362512 Better error message for INSTANCE: if second arg is not a mixin 2008-12-03 09:33:32 -06:00
Doug Coleman c4a06d4a60 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-03 08:34:59 -06:00
Doug Coleman fd270d8ef2 add surround and glue to sequences 2008-12-03 08:32:54 -06:00
Doug Coleman a329960d7e move retry word to continuations 2008-12-03 08:32:12 -06:00