Doug Coleman
106e4d100e
stack-checker: Add alien-assembly to the do-not-compile list. Remove a duplicate word from the do-not-call list. Reorder a bit.
2012-10-22 09:47:35 -07:00
Doug Coleman
3582a6c624
kernel: Add 4dup, 4drop, and 4cleave.
2012-10-22 09:47:34 -07:00
John Benediktsson
4e72d80256
Using "same?" in more places.
2012-07-21 10:22:44 -07:00
Doug Coleman
d979478bc4
stack-checker: meta-d was a word and symbol, now meta-d word and (meta-d) symbol
...
issuse #358
2012-07-20 12:30:14 -07:00
Doug Coleman
1c3deddf61
issue #358 : Rename all of the words depends-on-* to add-depends-on*
2012-06-21 08:35:45 -07:00
John Benediktsson
8c1165cac1
cleanup some lint warnings.
2012-04-18 17:46:01 -07:00
John Benediktsson
22c26ff3f5
vm: adding bignum_gcd primitive.
2012-04-05 09:17:35 -07:00
Doug Coleman
c1a49e69c8
combinators.smart: Implement reduce-outputs using compose, fix some stack effects, add using
2011-11-28 20:55:10 -08:00
Doug Coleman
2b87eaa1b5
generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose.
2011-11-27 20:25:22 -08:00
Doug Coleman
cab0369fec
classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods.
2011-11-22 15:12:20 -08:00
Doug Coleman
067f9830ef
classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches.
2011-11-22 01:56:13 -08:00
Joe Groff
c8fd36bbdb
kill tools.profiler.counting and ui.tools.profiler
...
Load tools.profiler.sampling from bootstrap/tools instead.
2011-11-10 12:33:10 -08:00
Joe Groff
7619ff785b
stack-checker.known-words: add ffi-signal-handlers
2011-11-03 15:20:42 -07:00
Doug Coleman
03a5293ed1
Add stack effects for the sampling profiler
2011-11-02 17:26:13 -07:00
Joe Groff
eac90675c0
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -07:00
Joe Groff
33919b2919
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00
Slava Pestov
c1b7de8339
stack-checker.known-words: add effects for signal-handler and leaf-signal-handler primitives, even though they can't be called directly
2011-10-29 17:15:35 -07:00
Doug Coleman
ff69e2f240
Rename c-type to lookup-c-type. Fixes #230 .
2011-10-24 14:37:24 -07:00
John Benediktsson
b237df3a3b
Remove unused stack effects from DEFER: declarations.
2011-10-18 14:42:17 -07:00
John Benediktsson
80e1c8e3f2
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
2011-10-18 13:19:39 -07:00
Joe Groff
5a072c57a6
bootstrap, io.streams.c: use new fread primitive
...
Change the fread primitive to fread-unsafe, matching the new primitive in the VM, and update the implementation of c-reader to implement stream-read-unsafe and stream-read in terms of fread-unsafe
2011-10-17 21:22:58 -07:00
Joe Groff
f39f97840a
stack-checker: update tests
...
[ bi ] infer now hits the row polymorphism checker before it hits the unknown-macro-input checker because of the effect on keep. Change the test to more directly test that call fails with an unknown input.
2011-10-14 15:35:29 -07:00
John Benediktsson
afc07c0e05
io.binary: make le> and be> faster (20% and 75%, respectively).
...
Removed primitive byte-array>bignum and digit_stream_to_bignum from vm/.
2011-10-11 21:13:30 -07:00
Doug Coleman
181f11faa8
Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229 .
2011-10-03 15:49:49 -07:00
Doug Coleman
8504b17aad
Rename spread>quot to deep-spread>quot, and spread>quot-shallow to shallow-spread>quot.
2011-10-02 20:25:39 -07:00
Doug Coleman
001ac7fbcd
Extraneous top-level stack-effect
2011-09-25 19:32:34 -07:00
Joe Groff
e293966618
stack-checker.row-polymorphism: check stack effects correctly when a one-sided polymorphic declared effect is matched to a shallow subtype, for example, ( x -- ..a ) to ( -- ); fixes #88
2011-09-09 18:13:17 -07:00
Slava Pestov
ed9cf9e4fd
Move some primitives from memory and memory.private to tools.memory.private, add data-heap and code-heap words that wrap the struct for you
2011-09-05 16:47:29 -07:00
Erik Charlebois
64252dbdbc
32 and 64 bit Linux PPC support
2011-05-23 23:36:14 -04:00
Slava Pestov
c36d73e242
Change do-callback to register the current thread with the callback, instead of busy waiting for the current callback to become the right one before returning. Fixes 100% CPU usage issue with system-alert. Thanks to Blei and ex-rzr for doing preliminary analysis of the issue
2011-04-12 21:48:54 -04:00
Keita Haga
073eda332a
In several documentation, remove whitespace before or after the colon or period
2011-02-10 01:51:13 +09:00
Keita Haga
c04fbe892d
stack-checker: add a sample output in the last example of inference-recursive-combinators article
2011-01-23 22:48:41 +09:00
Slava Pestov
f27080498d
Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float
2010-11-24 22:41:15 -08:00
Slava Pestov
3323284db4
stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug
2010-09-05 21:27:39 -07:00
Slava Pestov
d2cf2d8f92
Rename get-fpu-state entry point to fpu-state, and fix stack-checker unit tests
2010-09-04 12:58:59 -07:00
Slava Pestov
1985705413
compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths
2010-08-13 23:59:19 -07:00
Slava Pestov
723d780703
stack-checker.alien: generate a declaration for input parameter types
2010-07-30 15:50:05 -04:00
Slava Pestov
fd1aad71bd
combinators: make the behavior of 'case' consistent between the optimized and unoptimized forms
2010-07-30 14:21:30 -04:00
Slava Pestov
0f4c5d2bff
classes.algebra: make it work better to fix bug reported by Sascha Matzke
2010-07-29 19:57:23 -04:00
Slava Pestov
168dd1f825
FFI rewrite part 7: compile callback bodies with the optimizing compiler
2010-07-28 00:49:26 -04:00
Slava Pestov
e2ceb11337
stack-checker: calling 'boa' on a non-tuple would compile as a no-op rather than an error (reported by Joe Groff); clean up some other error reporting code too
2010-07-17 15:57:44 -04:00
Slava Pestov
ae2c2909af
Revert guarded method inlining
...
This reverts commit 44a835e3fc
, reversing
changes made to d45926bda0
.
2010-06-24 12:35:21 -04:00
Slava Pestov
e07ce4d220
stack-checker.dependencies: Oops
2010-06-24 05:27:01 -04:00
Slava Pestov
97eb276c48
stack-checker.dependencies: fix error thrown if depends-on-single-method parameters are no longer valid
2010-06-24 04:28:40 -04:00
Daniel Ehrenberg
7599841221
Merge branch 'master' of git://factorcode.org/git/factor into propagation
2010-06-23 12:17:24 -04:00
Slava Pestov
1014b62ee7
stack-checker.row-polymorphism: minor cleanup
2010-06-22 22:35:55 -04:00
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