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 |
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
|
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 |
Slava Pestov
|
107c96f642
|
vm: code heap compaction at runtime using compact-gc primitive
|
2009-10-16 11:39:35 -05: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 |
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
|
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 |