Commit Graph

1807 Commits (416f46db7cb1abb25c3156e89a14785cdb9db282)

Author SHA1 Message Date
Slava Pestov 425c70caa9 Remove empty tags file 2008-12-16 02:03:35 -06:00
Slava Pestov 63fda570bf Fixing assorted compile errors and help lint warnings 2008-12-16 01:12:36 -06:00
Slava Pestov 0021cde743 Fix more compile errors 2008-12-15 22:21:56 -06:00
U-SLAVA-DFB8FF805\Slava bf4acfa509 Merge branch 'master' of git://factorcode.org/git/factor 2008-12-13 05:06:56 -06:00
Slava Pestov 400b2a0ccb Add declaration to from-end 2008-12-15 21:34:25 -06:00
Slava Pestov de3a4f5462 Change some dup ... swap to bi and keep 2008-12-15 21:20:32 -06:00
Slava Pestov daf2857d7b define-inline now takes an effect parameter
C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words
2008-12-15 19:44:56 -06:00
Slava Pestov e335059a87 Add meta-data to new I/O vocabularies 2008-12-15 08:15:32 -06:00
Slava Pestov 5cb18d51b3 Fixing test-all and help-lint-all failures 2008-12-15 03:33:04 -06:00
U-SLAVA-DFB8FF805\Slava 53db40ba13 Add more stack declarations 2008-12-13 05:06:28 -06:00
Slava Pestov 023ae576b5 Updating unit tests for io.files split 2008-12-15 01:40:50 -06:00
Slava Pestov e0f86889c7 Fixing load-everything for io.files split 2008-12-15 01:13:35 -06:00
Slava Pestov 59a5e554d4 Split up io.directories further, move file types to io.files.types. Bunny demo no longer pulls in file-info and file-system-info code, reducing image size by 35kb 2008-12-15 00:01:06 -06:00
Slava Pestov 6ea1de887d More unit test fixes 2008-12-14 22:38:14 -06:00
Slava Pestov dccbb84629 Updating unit tests for I/O re-organization 2008-12-14 21:21:44 -06:00
Slava Pestov 50e214c152 io.files split up and general refactoring work in progress 2008-12-14 20:03:00 -06:00
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