Commit Graph

287 Commits (5e822dd454b38c266ce64ab2e5ca91c0a1462191)

Author SHA1 Message Date
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 eb8c621b6f Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch 2008-11-28 08:35:02 -06:00
Slava Pestov 6dfce7d4e7 load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive 2008-11-27 22:30:29 -06:00
slava fbc0f33c86 The deploy tool would coalesce equal quotations into one. This created a problem
for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`.
2008-11-24 15:59:27 -06:00
Slava Pestov f520823d5c Minor speedup 2008-11-23 04:22:38 -06:00
Slava Pestov 7788b3e0db Merge branch 'master' into microseconds 2008-11-23 03:06:32 -06:00
Slava Pestov a4d9cdfeb3 Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov 89440b2a23 curry and compose now check their inputs 2008-11-21 04:37:17 -06:00
Slava Pestov ae4f9a2809 Add fixnum/mod-fast and fixnum/i-fast subprimitives 2008-11-21 02:11:36 -06:00
Slava Pestov 8819f23312 Replace millis primitive with micros primitive
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
unknown 78eeaddcf2 Add winnt-x86.64 boot image name 2008-11-07 20:34:26 -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 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 44a2499c17 fixnum-shift-fast and fixnum-mod subprimitives 2008-11-03 01:18:35 -06:00
Slava Pestov 69a0ad5e42 Ricing locals 2008-10-23 05:49:32 -05:00
Doug Coleman 78a529b1c3 remove directory from the vm 2008-10-19 13:27:59 -05:00
Doug Coleman 27c36974a7 remove primitives from core, update usages 2008-10-18 21:42:01 -05:00
Slava Pestov c19f2257f4 Fix permission bits 2008-10-02 08:34:49 -05:00
Slava Pestov cc7f9e7731 Fixing make-image 2008-09-11 00:40:25 -05:00
Slava Pestov 6b07c85fec Minor fixes here and there for delegation slot removal 2008-09-03 06:05:50 -05:00
Slava Pestov e1716d92b3 Remove delegation slot 2008-09-03 03:46:56 -05:00
Slava Pestov f5fbd94a4c New compiled crossref implementation 2008-08-31 01:34:00 -05:00
Slava Pestov 86e04a81dc Fix conflict 2008-08-30 02:32:17 -05:00
Slava Pestov b3f3068bdc Massive focused action #1 2008-08-30 00:09:45 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -05:00
Slava Pestov 6047429401 More unit test fixes 2008-07-29 16:57:30 -05:00
Slava Pestov 8a2f1d0451 More core cleanups 2008-07-28 22:57:43 -05:00
Slava Pestov d66f887736 Create basis vocab root 2008-07-28 22:03:13 -05:00
Slava Pestov 1f39689e76 Fix bootstrap 2008-07-25 19:27:03 -05:00
Slava Pestov 9d7a1a70ee Fix bootstrap 2008-07-20 04:24:04 -05:00
Slava Pestov 9e685d7ac4 Refactor curry/compose a bit for upcoming frontend changes 2008-07-20 01:15:58 -05:00
Slava Pestov 37af854b18 Move io.thread to stage2 2008-07-18 19:25:28 -05:00
Slava Pestov ac2bf0b87d Adding inline recursive declarations 2008-07-18 19:22:59 -05:00
Slava Pestov d0ae6bdb8f Make array length foldable 2008-07-16 16:48:09 -05:00
Slava Pestov aea935638c Fix bootstrap 2008-07-13 23:26:43 -05:00
Slava Pestov 16b85df5db Fixes and a small optiimization 2008-07-12 22:27:28 -05:00
Slava Pestov a876005c98 Clean up non optimizing compiler, rewrite more primitives in assembly 2008-07-11 17:25:46 -05:00
Slava Pestov bdd5a79177 Compiler fix 2008-07-10 02:52:55 -05:00
Slava Pestov 5d9c1ea0a0 Documentation updates, rename unfold to produce 2008-07-10 01:00:27 -05:00
U-SLAVA-DFB8FF805\Slava 0051a50b75 Move general shufflers and combinators into generalizations, move narray there too 2008-07-07 19:36:33 -05:00
Slava Pestov 423ad4503b Minor oversights 2008-07-07 19:11:49 -05:00
Slava Pestov a8808b7087 Non-optimizing compiler now inlow inlines some primitives, this improves bootstrap time 2008-07-07 10:39:04 -05:00
Slava Pestov 9256e31d66 Fix feps on 64 bit 2008-07-05 21:00:05 -05:00
Slava Pestov ef2fddb1ec Fix conflict 2008-07-03 16:46:21 -05:00
Eduardo Cavazos 4238657a26 bootstrap.stage2: use count 2008-07-03 13:47:11 -05:00
Slava Pestov f7eecc7893 Move bit-arrays and float-arrays to extra 2008-07-02 02:03:30 -05:00
Slava Pestov f8fd065fc5 Initial value for alien slots is a BAD-ALIEN 2008-07-01 16:33:45 -05:00
Slava Pestov f7b7001f39 BOA constructors now check types 2008-06-30 01:44:58 -05:00
Slava Pestov 3b41e31584 More tuple declaration work 2008-06-29 21:37:57 -05:00
Slava Pestov 0be00f03e6 Mirrors now check sot t slot types, support type coercion for setters, instance? now infers, better transform for 'new', more efficient 'case' where keys are all wrappers 2008-06-29 02:12:44 -05:00
Slava Pestov b36e06d0d6 Builtinn types now use new slot accessors; tuple slot type declaration work in progress 2008-06-28 02:36:20 -05:00
Slava Pestov 685d53e264 Add gather word; faster 'implementors' using inverted index 2008-06-12 05:49:46 -05:00
Slava Pestov 9270ed591f Fix bootstrap 2008-06-09 05:39:55 -05:00
Slava Pestov 29fa4a8a54 assoc-find is no longer generic 2008-06-09 05:22:21 -05:00
Slava Pestov ba8f1388ab Fixing everything for mandatory stack effects 2008-06-09 02:14:14 -05:00
Slava Pestov 9dd5c9919f Mandatory stack effect annotations 2008-06-08 15:32:55 -05:00
Slava Pestov c60baf1232 sift and harvest words added 2008-05-13 23:36:55 -05:00
Slava Pestov a42756abac object is now an empty intersection 2008-05-11 01:37:37 -05:00
Slava Pestov dd08bdfdd1 Class algebra changes 2008-05-10 23:59:02 -05:00
Slava Pestov 315110eb09 Working on intersection classes 2008-05-10 18:09:05 -05:00
Slava Pestov d425844485 Fix bootstrap without compiler being loaded 2008-05-09 17:11:46 -05:00
Slava Pestov 23d95c99f2 Add primitive 2008-05-08 17:04:28 -05:00
Slava Pestov 1d60d722fe Improve time word, faster card scan 2008-05-07 17:42:41 -05:00
Slava Pestov 75fb15ee4c Split stdio up into input-stream/output-stream, pipes work in progress 2008-05-05 02:19:25 -05:00
Slava Pestov d1a3b64569 Fix class sorting again 2008-05-02 17:36:31 -05:00
Slava Pestov 5a29b2e273 Class linearization 2008-05-02 02:51:38 -05:00
Slava Pestov 7584e02805 New checksum protocol 2008-04-30 16:11:55 -05:00
Slava Pestov 5901107f66 Bootstrap fix 2008-04-29 01:49:06 -05:00
Slava Pestov 08af497255 Fix /f for large integers 2008-04-28 21:26:31 -05:00
Slava Pestov 1083f36e6e Fix stage1 bootstrap bug, overly-eager object merging 2008-04-28 21:25:59 -05:00
Doug Coleman e264537a1a reverse the arguments of diff, assoc-diff
fix lots of usings
fix help-lint
2008-04-26 02:01:06 -05:00
Doug Coleman 15402ed1b4 core changes:
index* -> index-from
last-index* -> last-index-from
1 tail -> rest
1 tail-slice -> rest-slice
subset -> filter
prepose
find* -> find-from
find-last* -> find-last-from
before, after generic, < for integers
make between? work for timestamps
2008-04-25 23:12:44 -05:00
Slava Pestov 55f6636bc0 FFI string encoding conversion 2008-04-20 05:15:46 -05:00
Slava Pestov 10ee5cf8ed Fix bootstrap 2008-04-20 00:18:27 -05:00
Slava Pestov 9589c5359a Remove commented-out code 2008-04-17 03:03:00 -05:00
Slava Pestov 7f89cb73a1 Fix bootstrap 2008-04-14 05:27:04 -05:00
Doug Coleman 4597cab824 move some words to sets
write docs for sets
started on usings..
2008-04-14 02:20:37 -05:00
Doug Coleman f80085ff0a seq-diff -> diff
seq-intersect -> intersect
2008-04-13 23:09:42 -05:00
Doug Coleman 2edd0fefc9 new -> new-sequence
construct-empty -> new
construct-boa -> boa
diff -> assoc-diff
union -> assoc-union
intersect -> assoc-intersect
2008-04-13 22:58:07 -05:00
Doug Coleman fafd00bae7 rename new -> new-sequence 2008-04-13 12:54:58 -05:00
Doug Coleman 6c5935a3b0 add set-os-env, unset-os-env 2008-04-08 23:08:11 -05:00
Slava Pestov 225a0fb781 Fix Windows crash with set-os-envs 2008-04-06 23:31:53 -05:00
Slava Pestov 1cc72a386e Faster bootstrap 2008-04-05 07:35:36 -05:00
Slava Pestov f7f43fa689 ABOUT: updates vocabulary 2008-04-05 07:00:09 -05:00
Slava Pestov b2cb88f497 GC: allocate large objects directly into tenured space 2008-04-05 04:01:46 -05:00
Slava Pestov ef4046cda9 Converting code to use inheritance 2008-04-04 00:33:06 -05:00
Slava Pestov cc2f512287 New classes.builtin vocab 2008-04-03 21:19:20 -05:00
Slava Pestov a27fa29098 Remove type, class-hash primitives 2008-04-02 21:37:26 -05:00
Slava Pestov 192471badb Merge branch 'master' of git://factorcode.org/git/factor 2008-04-02 21:31:50 -05:00
Slava Pestov 5346e1899f Working on call-next-method, and identity-tuple 2008-04-02 21:27:49 -05:00
Slava Pestov 8fde3fb914 More inheritance debugging 2008-04-02 18:50:21 -05:00
Doug Coleman 393f77715c update everything to use os singletons 2008-04-02 18:25:33 -05:00
Doug Coleman d736a8660d cpu is now a singleton 2008-04-02 16:32:58 -05:00
Doug Coleman 47b54b1307 add singletons to core 2008-04-02 15:41:29 -05:00
Doug Coleman 11feb563eb move singletons to core 2008-04-02 13:11:55 -05:00
Slava Pestov fa8b578370 Rewriting method dispatch to support inheritance 2008-04-02 00:28:07 -05:00
Eduardo Cavazos cc5ddd8d78 Resolve more add/add* items 2008-03-31 20:05:06 -06:00
Slava Pestov 2ebb7d2271 Clean up bootstrap code a bit 2008-03-31 01:19:21 -05:00
Slava Pestov c22af5c7a6 Rename 2apply to bi@ 2008-03-29 20:36:58 -05:00
Slava Pestov adb1dd14d0 Rename tuples vocab to classes.tuple for consistency 2008-03-29 03:34:48 -05:00