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 |
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
|
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
|
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
|
0f4c5d2bff
|
classes.algebra: make it work better to fix bug reported by Sascha Matzke
|
2010-07-29 19:57:23 -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
|
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 |
Doug Coleman
|
0edadff45f
|
remove system-micros word from factor src tree
|
2010-06-22 01:49:11 -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 |
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
|
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
|
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 |
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
|
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
|
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 |
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 |
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
|
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
|
c058343167
|
Add some utility words to stack-checker.dependencies in preparation for a refactoring
|
2010-01-30 09:28:59 +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
|
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
|
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 |
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
|
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
|
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
|
1d4ec1959d
|
stack-checker.known-words: fix declared output type for dispatch-stats primitive
|
2009-11-06 04:36:46 -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 |