Commit Graph

114 Commits (e95bda8144058c374215fb7ac9ad29305f7d03c1)

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 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 d66f887736 Create basis vocab root 2008-07-28 22:03:13 -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 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 a876005c98 Clean up non optimizing compiler, rewrite more primitives in assembly 2008-07-11 17:25:46 -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 9256e31d66 Fix feps on 64 bit 2008-07-05 21:00:05 -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 ba8f1388ab Fixing everything for mandatory stack effects 2008-06-09 02:14:14 -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 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 7584e02805 New checksum protocol 2008-04-30 16:11:55 -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