Daniel Ehrenberg
|
83327635f3
|
Fixing one of the bad bugs, in row-polymorphism
|
2010-06-22 17:31:21 -04:00 |
Slava Pestov
|
5ae75af6a8
|
Clarify documentation for resize-array, resize-byte-array, resize-string words, and remove flushable declaration since technically they don't satisfy the flushable contract (reported by Daniel Ehrenberg)
|
2010-06-22 15:48:48 -04:00 |
Daniel Ehrenberg
|
2c8897c56b
|
Merge branch 'master' of git://factorcode.org/git/factor into propagation
|
2010-06-22 14:47:57 -04:00 |
Slava Pestov
|
75d2635c05
|
Merge branch 'master' of git://github.com/erg/factor
|
2010-06-22 04:13:39 -04:00 |
Doug Coleman
|
0edadff45f
|
remove system-micros word from factor src tree
|
2010-06-22 01:49:11 -05:00 |
Joe Groff
|
bcf6d83a8f
|
stack-checker.errors.prettyprint: refer to unbalanced-branches quotation in singular when there's only one
|
2010-06-18 15:36:03 -07:00 |
Daniel Ehrenberg
|
b362fe25b1
|
Fixing infinite loop in loading benchmark.fib4
|
2010-06-15 13:53:40 -04:00 |
Daniel Ehrenberg
|
30cfbc8512
|
Merge branch 'master' into propagation
|
2010-06-15 13:26:01 -04:00 |
Slava Pestov
|
7c85fdc1e5
|
stack-checker.alien: callback and assembly quotations can be callables
|
2010-05-19 00:31:46 -04:00 |
Slava Pestov
|
1834241e5a
|
alien.libraries, stack-checker.alien: check user inputs more carefully to ensure that invalid ABI descriptors don't slip through and break random stuff (reported by prunedtree)
|
2010-05-18 18:46:31 -04:00 |
Slava Pestov
|
5b48cd2a63
|
FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing
|
2010-05-16 03:43:23 -04:00 |
Daniel Ehrenberg
|
fbaa8d153f
|
Inlining no-method when a generic word has no method
|
2010-05-14 20:28:09 -05:00 |
Daniel Ehrenberg
|
05290ee1b1
|
Merge branch 'master' of git://factorcode.org/git/factor into propagation
Conflicts:
basis/compiler/tree/propagation/propagation-tests.factor
|
2010-05-14 18:59:39 -05:00 |
Slava Pestov
|
42b0d456cd
|
Refactor x86-32 stack cleanup logic
|
2010-05-12 02:09:11 -04:00 |
Slava Pestov
|
7316d41226
|
FFI rewrite part 2: use ##peek and ##replace instructions to access stack
|
2010-05-09 23:26:43 -04:00 |
Daniel Ehrenberg
|
4d5b7fe883
|
Fixing bug in dependency tracking for guarded method inlining
|
2010-05-04 16:47:00 -05:00 |
Daniel Ehrenberg
|
0f0b56f1ef
|
Adding dependency checking and proper handing of dispatch# to the new method inlining
|
2010-05-04 16:46:38 -05:00 |
Slava Pestov
|
a9ccfa8f05
|
strings: move string-nth primitive out of the VM and into the library
|
2010-05-03 17:34:12 -04:00 |
Doug Coleman
|
366ce2896f
|
Add callstack-bounds primitive to vm/ for use with javascriptcore library
|
2010-04-19 20:08:15 -05:00 |
Daniel Ehrenberg
|
aa6158b366
|
Changing require-when usages to the new syntax for require-when
|
2010-04-18 14:29:24 -05:00 |
Slava Pestov
|
288090d993
|
math.parser: expose a format-float primitive for use by formatting vocabulary
|
2010-04-13 21:21:28 -07:00 |
Slava Pestov
|
572b71238f
|
stack-checker: calling 'dispatch' with unbalanced branches generated an error message that erroneously talked about 'if'
|
2010-04-13 05:24:49 -07:00 |
Slava Pestov
|
ed40eb4239
|
cpu.x86.32: cleanups and fixes to make fastcall and thiscall callbacks work
|
2010-04-10 16:54:17 -07:00 |
Slava Pestov
|
0faa3bcf4a
|
vm: pre-allocate context alien
|
2010-04-02 00:02:21 -04:00 |
Slava Pestov
|
1b271f8202
|
locals: remove some dead code
|
2010-03-30 21:56:51 -04:00 |
Slava Pestov
|
fb2ecab614
|
threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread
|
2010-03-30 21:47:48 -04:00 |
Slava Pestov
|
c7142e4281
|
threads: use context-switching primitives
|
2010-03-29 20:40:17 -04:00 |
Slava Pestov
|
99771eb689
|
bootstrap.compiler: fix joint dependencies declared here
|
2010-03-29 13:14:26 -04:00 |
Slava Pestov
|
b6dfdcb909
|
set-context and start-context primitives can now pass parameters around
|
2010-03-27 08:13:57 -04:00 |
Slava Pestov
|
e6b9e54454
|
stack-checker.known-words: fix load error
|
2010-03-27 03:35:01 -04:00 |
Slava Pestov
|
1717b8d0f7
|
Implement start-context and set-context primitives
|
2010-03-27 02:56:11 -04:00 |
Slava Pestov
|
560c119cd2
|
vm: actually use context callstacks when running code
|
2010-03-26 22:44:43 -04:00 |
Slava Pestov
|
6aee6b3adc
|
Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct
|
2010-03-18 22:06:00 +13:00 |
Slava Pestov
|
fb06bbcae7
|
stack-checker.errors.prettyprint: give it some smart quotes lovin'
|
2010-03-17 19:20:28 +13:00 |
Daniel Ehrenberg
|
512fe14e4e
|
Merge branch 'bags' of git://github.com/littledan/Factor
Conflicts:
basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
basis/furnace/auth/auth.factor
basis/stack-checker/backend/backend.factor
|
2010-03-16 13:28:00 -04:00 |
Joe Groff
|
8687a7e283
|
Merge branch 'master' of git://factorcode.org/git/factor into row-polymorphism
|
2010-03-12 14:36:13 -08:00 |
Joe Groff
|
dfbe1211f7
|
pre-chew the bite-sized morsels of stack-checker.row-polymorphism so they're easy for old people to digest
|
2010-03-11 14:09:18 -08:00 |
Slava Pestov
|
16ddd015d3
|
typed: forgetting a final class would throw an error while recompiling typed words depending on it
|
2010-03-12 10:22:35 +13:00 |
Joe Groff
|
26ff757de4
|
carve the tough, gamey steak of stack-checker.polymorphism into chewable morsels
|
2010-03-11 00:53:40 -08:00 |
Joe Groff
|
b9bced9a5e
|
update docs for unbalanced-branches-error
|
2010-03-09 18:42:10 -08:00 |
Joe Groff
|
34b29af245
|
non-polymorphic input parameter check was too strict: wouldn't allow ( x -- ) for ( x x -- x ), for example
|
2010-03-09 15:57:00 -08:00 |
Joe Groff
|
191ac353fd
|
generalize stack effects so we can bootstrap with the stricter stack effect checking
|
2010-03-08 23:38:10 -08:00 |
Joe Groff
|
3abf1f1ef7
|
stack-checker.row-polymorphism: modify check-variables to enforce non-polymorphic stack effects
|
2010-03-08 19:44:01 -08:00 |
Joe Groff
|
21aa4632c8
|
refactor stack-checker.row-polymorphism a little
|
2010-03-08 19:32:25 -08:00 |
Joe Groff
|
5597ee691f
|
add documentation about stack effect variable syntax and the effect on the stack checker
|
2010-03-08 17:17:47 -08:00 |
Joe Groff
|
8159a19187
|
combine unbalanced-branches-error and invalid-quotation-input into one error
|
2010-03-07 22:23:24 -08:00 |
Joe Groff
|
9e6f84bc24
|
declare effect on inputs to infer-if in non-literal case, so we get a better error than "unbalanced drop call/nip call"
|
2010-03-07 21:37:24 -08:00 |
Joe Groff
|
6689113519
|
unify inner-d-index when unifying branches; close a few other leaks where meta-d could have been popped without updating inner-d-index
|
2010-03-07 20:44:50 -08:00 |
Joe Groff
|
66687d6b21
|
reuse @ and _ from fry in placeholders for invalid-quotation-input errors rather than making our own redundant placeholder symbols
|
2010-03-07 20:08:35 -08:00 |
Joe Groff
|
f353b13bbc
|
add unit test from quotation that fails to infer during bootstrap.compiler
|
2010-03-07 20:07:30 -08:00 |
Joe Groff
|
4cd6ad840d
|
add tests from old row-polymorphism implementation to stack-checker unit tests
|
2010-03-07 19:13:41 -08:00 |
Joe Groff
|
1512ed12f3
|
further improve error message for invalid quotation inputs using a table display with the actual quotation effects determined so far
|
2010-03-07 18:40:58 -08:00 |
Joe Groff
|
ea4545e366
|
improve error message for invalid quotation inputs by referencing each declared-effect to its other references
|
2010-03-07 18:27:55 -08:00 |
Joe Groff
|
011a39457e
|
clear away some rebar
|
2010-03-07 18:11:44 -08:00 |
Joe Groff
|
6b9a79159d
|
tweak declared-effect to wrap the existing known instead of introducing a new value, so we don't confuse the compiler
|
2010-03-07 18:07:42 -08:00 |
Joe Groff
|
b14d59030f
|
add stack variable unification to M\ declared-effect infer-call*
|
2010-03-07 17:51:41 -08:00 |
Joe Groff
|
bbbda64ee7
|
add a with-effect-here combinator that determines the effect of a scoped subset of the stack checker
|
2010-03-07 16:54:25 -08:00 |
Joe Groff
|
63ad397cc1
|
tweak recursive call site checking to consider declared-effects equivalent to their wrapped values
|
2010-03-07 11:55:47 -08:00 |
Joe Groff
|
339cc8f04e
|
row polymorphism new approach: wrap polymorphic quotation inputs in a "declared-effect" value. M\ declared-effect infer-call* will then assert the effect of declared-effect values during the normal course of stack inference
|
2010-03-07 11:54:57 -08:00 |
Joe Groff
|
68dd644233
|
add unit test to show that polymorphic check breaks inference of inline recursive words
|
2010-03-06 12:28:09 -08:00 |
Joe Groff
|
9571bf6d4b
|
give terminating stack effects a pass in the polymorphic checker
|
2010-03-05 21:51:38 -08:00 |
Joe Groff
|
15e6a7fa5e
|
move error summaries for effect parsing errors to debugger vocab
|
2010-03-05 21:50:40 -08:00 |
Joe Groff
|
26e4bb818a
|
reuse infer-call* for polymorphic inference, which handles curried quotations. tests can pass with real "each" etc. now
|
2010-03-05 15:20:55 -08:00 |
Joe Groff
|
c9162c5e31
|
fix stack error in stack-checker.row-polymorphism
|
2010-03-05 14:34:50 -08:00 |
Joe Groff
|
4892bf1d47
|
refactor stack-checker slightly to fix circular dependency
|
2010-03-05 14:27:36 -08:00 |
Joe Groff
|
a3033e885a
|
make effect variables part of effect syntax, stored out of band in effect tuple
|
2010-03-05 13:30:10 -08:00 |
Joe Groff
|
1b1ccb71a4
|
make tests pass
|
2010-03-04 22:43:01 -08:00 |
Joe Groff
|
053ba583fc
|
improve error reporting
|
2010-03-04 21:51:49 -08:00 |
Joe Groff
|
31640ea9c6
|
nested scopes were messing up stack checker state
|
2010-03-04 20:15:26 -08:00 |
Joe Groff
|
23de281186
|
initial implementation of row-polymorphism check
|
2010-03-04 19:30:08 -08:00 |
Daniel Ehrenberg
|
7074979745
|
Moving new-sets to sets
|
2010-02-26 16:01:01 -05:00 |
Slava Pestov
|
af0ddd5985
|
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
|
2010-02-24 20:18:41 +13:00 |
Joe Groff
|
31a0d98e02
|
Merge branch 'master' into new-alien-pointers
Conflicts:
basis/alien/c-types/c-types.factor
basis/stack-checker/dependencies/dependencies.factor
|
2010-02-22 10:32:59 -08:00 |
Slava Pestov
|
23a1f0ed8c
|
alien: some code cleanups and fixes
|
2010-02-23 01:28:56 +13:00 |
Slava Pestov
|
eb3f8632dd
|
stack-checker.alien: now that C types are words, the compiler can add dependencies on them when compiling alien words. This triggers the necessary recompilation when C types are redefined
|
2010-02-22 21:32:41 +13:00 |
Joe Groff
|
c4cc70b92c
|
stack-checker.dependencies: extend c-type-word method for depends-on-c-type to all words (so it works for non-c-types like void)
|
2010-02-21 23:13:12 -08:00 |
Joe Groff
|
310b3df2ec
|
stack-checker.dependencies: add method for pointers to depends-on-c-type
|
2010-02-21 22:31:32 -08:00 |
Slava Pestov
|
2c34ecbdb5
|
stack-checker.dependencies: add depends-on-c-type
|
2010-02-22 19:25:09 +13:00 |
Slava Pestov
|
c5a62b14e7
|
stack-checker.dependencies: fix load error
|
2010-02-20 12:08:14 +13:00 |
Slava Pestov
|
6501480a0e
|
Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining
|
2010-02-20 12:01:47 +13:00 |
Slava Pestov
|
60296be964
|
typed: only unbox final classes. Fixes bug reported by littledan
|
2010-02-18 02:39:12 +13:00 |
Slava Pestov
|
f01487eb83
|
A few documentation fixes
|
2010-02-17 00:05:36 +13:00 |
Slava Pestov
|
747974f4ae
|
vm: nuke unused (string>float) primitive
|
2010-02-08 08:16:56 +13:00 |
Slava Pestov
|
26cae00eeb
|
Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils
|
2010-02-03 23:11:32 +13:00 |
Slava Pestov
|
0b278adb5a
|
Test fixes
|
2010-02-03 23:11:31 +13:00 |
Slava Pestov
|
7de81976a5
|
Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"
This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85.
|
2010-02-03 23:11:29 +13:00 |
Slava Pestov
|
3259ef4bec
|
vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units
|
2010-02-03 23:11:28 +13:00 |
Slava Pestov
|
b7fde7af27
|
macros: macro body is now defined in its own subword, for compile-time stack effect checking
|
2010-02-03 23:11:22 +13:00 |
Brad Christensen
|
9b9322ea1e
|
A number of documentation fixes and cleanup.
|
2010-02-03 00:05:03 -07:00 |
Slava Pestov
|
2c63161c84
|
stack-checker.dependencies: make conditional dependencies more robust
|
2010-01-31 01:55:35 +13:00 |
Slava Pestov
|
ea9dbf2ea1
|
compiler.crossref: more space-efficient storage of dependency information
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
fa4f7d8ccf
|
Clean up some code in preparation for a refactoring
|
2010-01-30 09:29:02 +13:00 |
Slava Pestov
|
c438e84bd0
|
compiler.crossref: add next-method dependency
|
2010-01-30 09:29:01 +13:00 |
Slava Pestov
|
6cc68e889e
|
stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
09ead56652
|
Re-work flushed dependencies into new compiler cross-referencing framework
|
2010-01-30 09:29:00 +13:00 |
Slava Pestov
|
c058343167
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
26f311279c
|
Re-defining a tuple class now invalidates cached quotation stack effects
|
2010-01-30 09:28:59 +13:00 |
Slava Pestov
|
c027046857
|
New 'conditional dependency' mechanism for more accurate recording of recompilation information
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
817bc02392
|
compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled
|
2010-01-30 09:28:57 +13:00 |
Slava Pestov
|
f031a97084
|
Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy
|
2010-01-30 09:28:56 +13:00 |
Doug Coleman
|
bb2f455747
|
Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images.
|
2010-01-22 12:59:20 -06:00 |
Slava Pestov
|
00328c85e0
|
vm: remove vm-ptr primitive
|
2010-01-20 17:06:49 +13:00 |
Slava Pestov
|
580cbe75c6
|
Make stack-checker throw proper errors for primitives that do not have static stack effects
|
2010-01-20 16:37:58 +13:00 |
Slava Pestov
|
5606825e8b
|
vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()
|
2010-01-19 20:00:33 +13:00 |
Slava Pestov
|
637a77c018
|
Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types
|
2010-01-18 20:54:00 +13:00 |
Slava Pestov
|
7f7e1e4e1d
|
Help lint fixes for iota
|
2010-01-15 17:04:14 +13:00 |
Slava Pestov
|
7155447aed
|
stack-checker: add inputs and outputs words, since 'infer (in>>|out>>) length' was coming up a lot
|
2010-01-15 08:04:14 +13:00 |
Slava Pestov
|
e4c53f67b0
|
stack-checker.errors.prettyprint: fix prettyprinting of unbalanced-branches-error
|
2010-01-15 07:51:36 +13:00 |
Slava Pestov
|
df4fb4a3ee
|
Removing integers-as-sequences
|
2010-01-15 07:15:33 +13:00 |
Slava Pestov
|
1c10196c43
|
Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side
|
2010-01-13 18:08:18 +13:00 |
Slava Pestov
|
e8892d9cde
|
stack-checker: fix unit test
|
2010-01-07 17:40:23 +13:00 |
Slava Pestov
|
235f3238f5
|
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
|
2010-01-07 17:39:22 +13:00 |
Slava Pestov
|
ba5b90e063
|
Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
|
2010-01-03 01:11:51 +13:00 |
Slava Pestov
|
0612bc6177
|
Factor source files should not be executable
|
2009-11-21 17:50:43 -06:00 |
Slava Pestov
|
1d16152057
|
stack-checker: fix error message printed when do-primitive is inferred
|
2009-11-19 19:43:41 -06:00 |
Doug Coleman
|
6f7ec206a1
|
rename millis to system-millis, micros to system-micros, add nano-count
|
2009-11-18 15:58:48 -06:00 |
Doug Coleman
|
b4206f5252
|
initial commit to nanos branch to replace micros
|
2009-11-18 04:20:05 -06:00 |
Slava Pestov
|
ea36783fb3
|
Fix bootstrap
|
2009-11-13 07:55:47 -06:00 |
Slava Pestov
|
2afd7ce244
|
Faster identity-hashcode primitive; fast path now opencoded by the compiler
|
2009-11-11 02:27:19 -06:00 |
Slava Pestov
|
064c00f78d
|
New identity-hashcode primitive
|
2009-11-10 21:18:54 -06:00 |
Slava Pestov
|
aed9dcff53
|
stack-checker: fix help lint
|
2009-11-10 19:19:59 -06:00 |
Slava Pestov
|
425e9d0dde
|
Fix some test failures
|
2009-11-10 16:48:06 -06:00 |
Slava Pestov
|
473cc7db4a
|
stack-checker: tighten some screws in error reporting
|
2009-11-09 00:17:24 -06:00 |
Slava Pestov
|
cd2e226afa
|
stack-checker: split off stack-checker.dependencies from stack-checker.state
|
2009-11-08 20:34:46 -06:00 |
Slava Pestov
|
5d79450d9d
|
Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size
|
2009-11-08 06:08:04 -06:00 |
Slava Pestov
|
1d4ec1959d
|
stack-checker.known-words: fix declared output type for dispatch-stats primitive
|
2009-11-06 04:36:46 -06:00 |
Slava Pestov
|
ba31abb301
|
Fix some test failures
|
2009-11-06 02:35:43 -06:00 |
Joe Groff
|
00ce8b6a33
|
deprimitivize tuck and put it to pasture
|
2009-11-05 22:47:05 -06:00 |
Slava Pestov
|
4061951d1c
|
vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive
|
2009-11-05 21:49:03 -06:00 |
Slava Pestov
|
47df580081
|
tools.time: overhaul
|
2009-11-05 01:07:59 -06:00 |
Slava Pestov
|
e4ad642134
|
vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)
|
2009-11-02 04:25:54 -06:00 |
Slava Pestov
|
37abac7407
|
Merge branch 'master' into new_gc
|
2009-10-30 21:04:37 -05:00 |
Joe Groff
|
32450a0575
|
add missing USING: to stack-checker tests
|
2009-10-30 20:49:09 -05:00 |
Slava Pestov
|
6f9336c29e
|
Merge branch 'master' into new_gc
|
2009-10-30 03:03:05 -05:00 |
Joe Groff
|
2ecf3fb568
|
fix load errors from bootstrapping
|
2009-10-28 12:51:03 -05:00 |
Joe Groff
|
935c0797c3
|
update existing code for [let change
|
2009-10-27 22:05:37 -05:00 |
Slava Pestov
|
d95a98eb9c
|
vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays
|
2009-10-27 03:32:28 -05:00 |
Slava Pestov
|
91cec17e52
|
vm: get GC events working, -verbosegc switch now produces more info
|
2009-10-26 23:57:26 -05:00 |
Slava Pestov
|
cf247c23a2
|
vm: room. now prints mark stack size, and total/contiguous free space
|
2009-10-25 13:18:06 -05:00 |
Joe Groff
|
372718304c
|
remove the monocle from inference docs and clarify it a bit
|
2009-10-24 20:57:49 -05:00 |
Slava Pestov
|
bf5d0de840
|
peg.ebnf: turn $unchecked-examples into $examples
|
2009-10-19 03:44:50 -05:00 |
Slava Pestov
|
107c96f642
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05:00 |
Keith Lazuka
|
405e5d015b
|
docs: change $subsection to $subsections
|
2009-10-02 12:15:48 -04:00 |
Slava Pestov
|
ab8c6e9978
|
Word hashcodes are now computed from the word's name/vocabulary, removing a source of non-determinism
|
2009-09-27 21:09:11 -05:00 |
Joe Groff
|
0354ab60ba
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-17 15:31:43 -05:00 |
Slava Pestov
|
7f1c33f363
|
stack-checker.errors: improve documentation a bit
|
2009-09-17 13:27:15 -07:00 |
Joe Groff
|
3b4330fcf6
|
get things to a point where they bootstrap again
|
2009-09-15 21:43:18 -05:00 |
Slava Pestov
|
32b95c2cdf
|
math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot
|
2009-09-12 22:20:13 -05:00 |
Slava Pestov
|
7cf4e608e5
|
alien: move code for supporting CONSTANT: foo 123 { "int" foo } C types into one place instead of the old scattershot approach
|
2009-08-27 21:49:25 -05:00 |
Slava Pestov
|
030b1b816c
|
Add inline declarations for various assorted methods
|
2009-08-17 22:32:21 -05:00 |
Doug Coleman
|
3f3d57032b
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Doug Coleman
|
379c17a284
|
Throw typed errors instead of strings for calling/executing non-callables
|
2009-08-11 22:40:29 -05:00 |
Slava Pestov
|
60f4f4c16e
|
combinators.short-circuit: speed up in non-optimized code
|
2009-07-18 03:33:45 -05:00 |
Daniel Ehrenberg
|
ee3e84a1f8
|
define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger
|
2009-07-16 00:34:50 -05:00 |
Daniel Ehrenberg
|
bb06facb01
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Daniel Ehrenberg
|
4aa3e2135a
|
Unit tests for inference behavior of call( and execute(
|
2009-07-14 01:23:21 -05:00 |
Daniel Ehrenberg
|
47500fad06
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -05:00 |
Daniel Ehrenberg
|
500c784bd7
|
Minor reorganization of stack-checker.call-effect
|
2009-07-10 01:05:03 -05:00 |
Daniel Ehrenberg
|
23b8f48267
|
stack-checker.known-words:infer-special uses a word property
|
2009-07-10 00:52:08 -05:00 |
Slava Pestov
|
0068a3d965
|
stack-checker: fix doc typo reported by OneEyed
|
2009-06-21 15:11:41 -05:00 |
Doug Coleman
|
407377fc98
|
rename peek -> last and update all usages
|
2009-05-25 16:38:33 -05:00 |
Slava Pestov
|
43a1834e0b
|
stack-checker: fix case where invalid code could infer
|
2009-05-23 15:50:35 -05:00 |
Slava Pestov
|
66a9416473
|
Update documentation for stricter vocabulary search path semantics
|
2009-05-16 00:29:21 -05:00 |
Slava Pestov
|
fb6df472a2
|
Cleaning up USING: lists for new strict semantics
|
2009-05-14 16:54:16 -05:00 |
Slava Pestov
|
65faa3fda3
|
Fix unit tests and load errors for slip removal
|
2009-05-10 17:03:41 -05:00 |
Slava Pestov
|
a366909c25
|
Removing slip usage from basis
|
2009-05-10 15:28:22 -05:00 |
Slava Pestov
|
029d93a838
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -05:00 |
Slava Pestov
|
a63ad6a7a5
|
Remove cruddy string encoding/decoding code from VM
|
2009-05-02 13:45:38 -05:00 |
Slava Pestov
|
05ecd04e2f
|
macro call sites don't need an inlined-dependency on the macro
|
2009-05-01 05:52:34 -05:00 |
Slava Pestov
|
9d1c4f39a8
|
Some gold plating
|
2009-05-01 02:03:22 -05:00 |
Slava Pestov
|
a70a2c0e31
|
Fix some test failures and add an unportable tag
|
2009-04-30 22:56:15 -05:00 |
Slava Pestov
|
e5cdb7ac2d
|
call( fast-path now supports curry and compose
|
2009-04-30 21:08:29 -05:00 |
Slava Pestov
|
a79e3eb687
|
Passing an invalid parameter to 'declare' doesn't break the compiler anymore
|
2009-04-30 20:40:47 -05:00 |
Slava Pestov
|
fc4894fbdf
|
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
|
2009-04-30 00:27:35 -05:00 |
Slava Pestov
|
5f6c074edd
|
Split up types.c/h into smaller files, remove optimized slot from F_WORD struct
|
2009-04-28 17:26:11 -05:00 |
Slava Pestov
|
e940f6fd8b
|
Add method dispatch statistics
|
2009-04-28 16:58:05 -05:00 |
Slava Pestov
|
7e84daf0f1
|
Move (execute) to kernel.private
|
2009-04-26 02:42:37 -05:00 |
Slava Pestov
|
356537593e
|
Get rid of execute-unsafe now that (execute) is more versatile
|
2009-04-25 21:50:34 -05:00 |
Slava Pestov
|
7aa65b5b5f
|
Fixing new method dispatch implementation
|
2009-04-25 19:41:27 -05:00 |
Slava Pestov
|
3dc9fdf9db
|
Fleshed out new dispatch code
|
2009-04-24 20:43:01 -05:00 |
Slava Pestov
|
8c5b0373a8
|
Working on new method dispatch system
|
2009-04-24 15:31:06 -05:00 |
Slava Pestov
|
5649cc7a0a
|
Compiler warnings are no more
|
2009-04-23 22:17:25 -05:00 |
Slava Pestov
|
c2fe2a4fea
|
Improve stack checker documentation
|
2009-04-23 03:48:32 -05:00 |
Slava Pestov
|
57e1de5181
|
stack-checker.transforms doesn't need make anymore
|
2009-04-22 21:26:55 -05:00 |
Slava Pestov
|
d3cffcbee2
|
Slightly more efficient compilation of 'new'
|
2009-04-22 21:26:22 -05:00 |
Slava Pestov
|
1dd3ed519f
|
Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression
|
2009-04-22 21:03:53 -05:00 |
Slava Pestov
|
20ca578ed1
|
stack-checker.transforms: fix tests
|
2009-04-22 04:21:15 -05:00 |
Slava Pestov
|
28b9e474dd
|
Set more no-compile word props
|
2009-04-21 23:18:19 -05:00 |
Slava Pestov
|
057f75e9a1
|
Refactor compiler.tree.builder to fix various regressions
|
2009-04-21 23:02:00 -05:00 |
Slava Pestov
|
469c9ee21d
|
Debugging stack checking
|
2009-04-21 16:09:53 -05:00 |
Slava Pestov
|
f38d2f91f6
|
Words which didn't compile cannot be run at all
|
2009-04-20 22:05:41 -05:00 |
Slava Pestov
|
05f3f9dcb9
|
Fixing unit tests for stack effect inference changes
|
2009-04-20 21:15:19 -05:00 |
Slava Pestov
|
8414693142
|
stack-checker: trust word declarations instead of recursively checking them
|
2009-04-20 18:44:45 -05:00 |
Slava Pestov
|
5165d811d5
|
Changing the stack effect of a generic word could break the compiler
|
2009-04-20 04:21:00 -05:00 |
Doug Coleman
|
7a1841f59b
|
(( -- )) eval -> eval( -- )
|
2009-04-17 15:49:21 -05:00 |
Doug Coleman
|
dba4c0d589
|
fixing compiler errors in basis
|
2009-04-17 12:46:04 -05:00 |
Slava Pestov
|
65b27354ad
|
Merge branch 'master' into smarter_error_list
|
2009-04-14 15:07:22 -05:00 |
Slava Pestov
|
e595576dc3
|
Make more words infer
|
2009-04-12 23:01:14 -05:00 |
Slava Pestov
|
c4be8bd65a
|
Refactor error code so that error types are registered; listener prints a summary of errors
|
2009-04-12 16:08:46 -05:00 |
Slava Pestov
|
0fda643ab1
|
Optimizing string>number
|
2009-04-11 20:30:51 -05:00 |