Slava Pestov
5cfa4a7677
Update primitives.factor for compiler.units changes
2009-03-13 19:42:35 -05:00
Slava Pestov
bf41b187b0
Re-organize code so that with-compilation-unit can infer
...
Fix with-compilation-unit to work in deployed code
2009-03-13 19:39:32 -05:00
Slava Pestov
1951d739a0
Stack effect declarations are mandatory on all words now
...
define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler
2009-02-23 20:27:05 -06:00
Slava Pestov
6b99b04531
Add vocab: for vocab-relative paths
2009-02-15 19:53:21 -06:00
Slava Pestov
c074740746
Split off data_heap.c from data_gc.c; split off write_barrier.h, local_roots.h from data_gc.h, misc other cleanups
2009-01-24 23:39:00 -06: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
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
2b553566d2
Fix bootstrap
2008-12-17 18:12:59 -06:00
Slava Pestov
c5160d76e9
Merge qualified, alias, symbols, constants into core
2008-12-17 18:10:01 -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
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
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
4f0a9f311e
Untangling some dependencies
2008-12-08 14:58:00 -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
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
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
Slava Pestov
d8abb49a9b
Working on classes
2008-03-28 22:59:48 -05:00
erg
3dde03bb4d
Merge branch 'master' of git://factorcode.org/git/factor
2008-03-27 07:36:18 -05:00
Slava Pestov
5aae4516dd
Working on slot inheritance
2008-03-27 01:42:13 -05:00
erg
15c68a23f8
remove ?resource-path and resource-exists?
2008-03-26 23:47:51 -05:00
Slava Pestov
89a531d4a2
Fixing unit tests
2008-03-26 17:07:50 -05:00
Slava Pestov
e1ad21a439
Working on shapes
2008-03-26 03:57:48 -05:00
Slava Pestov
8d7367674c
Class algebra refactoring
2008-03-24 19:52:21 -05:00
Slava Pestov
e621a92cae
-output-image now relative to current directory
2008-03-20 20:52:43 -05:00
Doug Coleman
a6e1d83740
add calloc to core/bootstrap/compiler
2008-03-20 17:20:03 -05:00
Slava Pestov
02727576c2
New slots are now in the core
2008-03-20 15:30:59 -05:00
Slava Pestov
70641c9293
Fix failing classes unit tests
2008-03-19 23:29:59 -05:00
Slava Pestov
aec6d6f5c8
Replace (stat) with (exists?)
2008-03-19 23:29:19 -05:00
Slava Pestov
e9d7e2523c
Clean up random and fix circular
2008-03-19 21:48:29 -05:00
Doug Coleman
6f2369b16e
add code to bootstrap.syntax
2008-03-19 21:15:38 -05:00
Doug Coleman
d0b348591a
path+, prepend
2008-03-19 19:15:43 -05:00
Slava Pestov
3591ed402d
Simplify vocab.loader even further
2008-03-19 14:39:08 -05:00
Slava Pestov
d04eb777ff
Update bootstrap code for loader changes
2008-03-18 21:45:04 -05:00
Slava Pestov
d06db3f628
Fix bootstrap error exit code
2008-03-16 02:44:39 -05:00
Slava Pestov
90f8aa3136
Fix regressions
2008-03-14 02:27:43 -05:00
Slava Pestov
033085a683
Fix inference.class regression
2008-03-13 22:11:10 -05:00
Slava Pestov
31e15e3204
Fix bootstrap problems
2008-03-13 18:56:24 -05:00
Slava Pestov
120c9cacb7
Fixing 64-bit image generation
2008-03-12 01:54:29 -05:00
Slava Pestov
b387066357
Fix slot name
2008-03-07 02:28:29 -06:00
Slava Pestov
05b02f3c38
Changing launcher to use new_slots
2008-03-06 20:44:52 -06:00
Slava Pestov
549a7538c7
Clean up some of Dan's code after merge
2008-03-06 15:58:05 -06:00
Daniel Ehrenberg
c5eec0ba10
Merge branch 'master' of git://factorcode.org/git/factor into unicode
...
Conflicts:
core/io/files/files-tests.factor
core/io/files/files.factor
core/io/io-tests.factor
core/io/streams/c/c-tests.factor
core/io/streams/lines/lines-tests.factor
core/source-files/source-files.factor
extra/benchmark/sockets/sockets.factor
extra/http/server/templating/templating-tests.factor
extra/http/server/templating/templating.factor
extra/io/launcher/launcher.factor
extra/io/mmap/mmap-tests.factor
extra/io/unix/launcher/launcher.factor
extra/io/unix/unix-tests.factor
2008-03-04 17:51:40 -06:00
Slava Pestov
e98cd1fd59
New convention for unit tests
2008-03-01 17:00:45 -05:00
Daniel Ehrenberg
efb3367c45
Merge branch 'master' of git://factorcode.org/git/factor into unicode
...
Conflicts:
core/io/files/files-docs.factor
core/io/files/files-tests.factor
core/io/files/files.factor
core/listener/listener.factor
extra/benchmark/sum-file/sum-file.factor
extra/bootstrap/image/upload/upload.factor
extra/http/server/templating/templating.factor
extra/logging/server/server.factor
extra/smtp/smtp.factor
extra/tools/deploy/macosx/macosx.factor
extra/tools/disassembler/disassembler.factor
extra/webapps/file/file.factor
2008-02-29 01:20:44 -06:00
Slava Pestov
ed4506c0b0
Errors remember the original thread
2008-02-27 19:23:22 -06:00
Slava Pestov
3d6cb9a90c
Improve stage1 bootstrap speed
2008-02-26 03:30:11 -06:00
Daniel Ehrenberg
4cfdc3de62
Merge branch 'master' of git://factorcode.org/git/factor into unicode
...
Conflicts:
extra/webapps/file/file.factor
extra/webapps/source/source.factor
2008-02-25 15:12:26 -06:00
Slava Pestov
a902349dc4
Fix overly long bootstrap time
2008-02-25 03:38:37 -06:00
Slava Pestov
643b3b7dcb
Fix bootstrap
2008-02-24 17:40:39 -06:00
Slava Pestov
d2c5f28b65
Do tuple reshaping at the end of a compilation unit, preserving a consistent view of the heap to code running during compilation
2008-02-24 02:19:38 -06:00