Doug Coleman
1a7db84ec1
stack-checker: Rename literal -> literal-tuple.
2013-03-23 16:12:03 -07:00
John Benediktsson
288d4a7a5d
stack-checker: adding 4dup and 4drop.
2012-10-22 12:27:15 -07:00
Doug Coleman
066a1103ab
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
117d57ad92
issue #358 : Rename all of the words depends-on-* to add-depends-on*
2012-06-21 08:35:45 -07:00
John Benediktsson
629677b772
vm: adding bignum_gcd primitive.
2012-04-05 09:17:35 -07:00
Doug Coleman
664239e1ba
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
14dbf929ee
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
8b20a70d96
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
82bdb6a65a
stack-checker.known-words: add ffi-signal-handlers
2011-11-03 15:20:42 -07:00
Doug Coleman
a6cbdaf48b
Add stack effects for the sampling profiler
2011-11-02 17:26:13 -07:00
Joe Groff
9c02c17cb8
move counting profiler to tools.profiler.counting
2011-11-02 13:23:09 -07:00
Joe Groff
4ab6d18cbd
tools.profiler: rename to tools.counting-profiler
2011-11-02 13:23:06 -07:00
Slava Pestov
2b49393a56
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
John Benediktsson
f2741b34a4
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
3bd23a9840
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
John Benediktsson
da21f5ca61
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
e75e2b1f14
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
Slava Pestov
b25f21f70c
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
1ed2bc6231
32 and 64 bit Linux PPC support
2011-05-23 23:36:14 -04:00
Slava Pestov
b0b5f3ac97
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
e0e09234cf
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
f3dfae04ba
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
801197a58d
classes.algebra: make it work better to fix bug reported by Sascha Matzke
2010-07-29 19:57:23 -04:00
Slava Pestov
1409cd79fb
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
bbfb952741
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
Doug Coleman
8174abe287
remove system-micros word from factor src tree
2010-06-22 01:49:11 -05:00
Slava Pestov
fd84bb98bc
strings: move string-nth primitive out of the VM and into the library
2010-05-03 17:34:12 -04:00
Doug Coleman
c78628fbe9
Add callstack-bounds primitive to vm/ for use with javascriptcore library
2010-04-19 20:08:15 -05:00
Slava Pestov
775dbefdbc
math.parser: expose a format-float primitive for use by formatting vocabulary
2010-04-13 21:21:28 -07:00
Slava Pestov
47f86898d7
vm: pre-allocate context alien
2010-04-02 00:02:21 -04:00
Slava Pestov
6ad12e7345
locals: remove some dead code
2010-03-30 21:56:51 -04:00
Slava Pestov
de0c2801d2
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
cea2bf4189
threads: use context-switching primitives
2010-03-29 20:40:17 -04:00
Slava Pestov
a04d53c3da
set-context and start-context primitives can now pass parameters around
2010-03-27 08:13:57 -04:00
Slava Pestov
5e2acf86e8
stack-checker.known-words: fix load error
2010-03-27 03:35:01 -04:00
Slava Pestov
f8134b18cd
Implement start-context and set-context primitives
2010-03-27 02:56:11 -04:00
Slava Pestov
adeb6fb68f
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Slava Pestov
af573bd022
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
Joe Groff
8751e464ef
clear away some rebar
2010-03-07 18:11:44 -08:00
Joe Groff
e2ee197e46
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
42ed9bb11f
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
a5291e4702
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
Slava Pestov
c1e7a3ffc2
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
Slava Pestov
18ed2d8c69
vm: nuke unused (string>float) primitive
2010-02-08 08:16:56 +13:00
Slava Pestov
310399995e
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
d19709c188
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
13f920babb
Add some utility words to stack-checker.dependencies in preparation for a refactoring
2010-01-30 09:28:59 +13:00
Doug Coleman
9502f6f091
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
952a0784a7
vm: remove vm-ptr primitive
2010-01-20 17:06:49 +13:00
Slava Pestov
184d286d29
Make stack-checker throw proper errors for primitives that do not have static stack effects
2010-01-20 16:37:58 +13:00