Phil Dawes
|
2cf2dab48e
|
fpe signals working on unix again
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
8049b441c2
|
imul clobbers arg2 on x86.64, so stashing vm ptr on the stack
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
a8d1e5187d
|
Added -DREENTRANT option to Makefile
Also renamed FACTOR_MULTITHREADED to FACTOR_REENTRANT
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
617a7cbd65
|
Added more init code to vm constructor.
Also removed dummy variables file as have fixed that problem now
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
c7b7517f36
|
small x86 asm cleanup
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
8a65f35c31
|
vm passed in primitives as arg0 for x86.64
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
480a15c2c3
|
Added vm passing to inline_cache_miss x86.32 asm
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
3343723ee3
|
Don't return functions returning void. -O3 seems to optimize them out!
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
deb7af70bb
|
asm math functions pass vm ptr to overflow function in 3rd arg (X86.32)
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
3ecff2c0eb
|
fixed bug where vm_char being treated as 1byte type
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
34ce334317
|
Added data constructor to initialize bools in factorvmdata struct
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
67ac514a3b
|
Added vm ptr to math overflow functions
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
b02944c6d5
|
moved signal handlers into vm object
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
eee1de23c8
|
removed debugging
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
e8d1612e8e
|
Split data out into separate vm-data struct
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
b07550620f
|
Dev checkpoint
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
9bf6f97e35
|
Switched on singleton flag
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
9e460f6dec
|
removed vm ptr from mach_signal and some other places
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
544bc3cd33
|
removed vm ptr from os-macosx.mm
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
e49fa4109d
|
added FACTOR_MULTITHREADED_TLS option
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
f4af39b60e
|
thread_id is a pthread_t on unix
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
b1c68d92b7
|
added threadsafe defines. Dunno if they do much
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
3a3154797c
|
fixed stupid signal handler bug
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
2e50da6beb
|
added vm-ptr primitive
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
3345922330
|
quick test vocab for mt stuff
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
ca16daa4b2
|
cleaned up code a bit, added multithreaded mode flags
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
fa6d8d239b
|
removed vm singleton usage from unix stuff
|
2009-09-16 08:20:49 +01:00 |
Phil Dawes
|
3c139593c5
|
moved the thread stuff around a bit
|
2009-09-16 08:20:49 +01:00 |
Phil Dawes
|
1456fb3c97
|
removed vm ptrs from unix code (still in signal handlers tho)
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
784b8d16ae
|
moved utility functions and fatal_error out of vm struct since doesn't need state
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
b02c602a89
|
added vm passing to some alien/boxing functions and added some vm asserts
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
5cd2fbb564
|
vm ptr passed to lazy_jit_compile on x86.64
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
334f4c3455
|
overflow functions now retrieving their vm ptr from above ds stack
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
be1b079eb5
|
Primitives now pass vm ptr on 64bit x86
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
6ddd3c654e
|
fixed up linux64 bootstrap (single threaded)
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
aa005c948f
|
win32 main starts factorvm in new thread
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
5c2a28173a
|
Start windows factor in a spawned thread (for testing)
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
9cac5e8aa9
|
added lookup_vm and removed last usage of vm from windows code
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
12ca7bdc57
|
added factorvm ptrs to the rest of alien functions.
(Left commented debug lines to remind me that these haven't been tested yet, and some are osx specific)
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
e98f168a11
|
print_native_string doesn't need singleton ptr
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
e05f91f3a8
|
cleaning up stray vm singleton usage
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
e2d246f371
|
removed most global functions from factor.cpp
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
20ef4200fb
|
removed some error vm-> functions
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
700e03a6a6
|
removed some vm-> forwarding functions
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
2f3cd4d23d
|
removed some vm-> pointers
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
005549ba43
|
vm pointer passed to nest_stacks and unnest_stacks (win32)
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
cdb6304fef
|
Dev checkpoint
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
58190c06dc
|
passing ptr in boolean boxing and save_callstack_bottom
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
0a15e20e12
|
Added basic win32 start-thread support
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
fa2dccd6d3
|
vm passed in box_alien and alien_offset (win32)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
7759b89de9
|
removed all vm-> singleton accesses from inlineimpls
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
a39bf2f8e2
|
converted box_* float functions to use vm (x86 win32)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
81106f9e20
|
converted box_* integer functions to use vm (x86 windows)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
199fba7a99
|
converted box_* integer functions to use vm (x86 windows)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
ff54a57eb3
|
added code to pass vm ptr to some unboxers
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
c5119218c5
|
moved gc_locals accessors into vm
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
65a264aa1f
|
turned errno() methods back into functions since they should already be thread safe
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
ff8f2b10ec
|
fixed up getenv compiler intrinsic to use vm struct userenv
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
3b3ed501c7
|
added padding to align userenv to an 8byte boundary
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
ef16c4be66
|
moved userenv into vm in C code (DOESNT BOOTSTRAP YET!!!)
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
a4a4439fc5
|
got debug compiles working again
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
43787e2664
|
moved stack_traces_p into the vm
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
5bb04857bf
|
moved cards_offset and decks_offset into vm struct (for x86)
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
c6d855d494
|
moved allot_markers_offset variable into vm struct
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
c010afc345
|
nursery global variable moved into vm
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
9a37b6abb6
|
moved stack_chain into vm struct
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
25bbca2f66
|
removed save_stacks global function
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
465f06ebc2
|
throw_impl now forwards the vm ptr
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
4afc16e95b
|
passing vm ptr to lazy_jit_compile mostly working
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
6a193bb0d5
|
Added %vm-invoke to pass vm ptr to vm functions (x86.32 only, otherwise uses singleton vm)
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
57011aed51
|
vm ptr passed to primitives on X86.32 (other cpus still use singleton vm ptr)
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
a5f24c8fb9
|
added VM relocation type
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
d48dffcfa0
|
moved os-windows-nt functions into the vm
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
01ecb11635
|
Dev checkpoint
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
7cebe088a1
|
moved some os-windows functions into the vm
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
aa58b54c2e
|
moved align_page into vm
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
7592a424e8
|
Dev checkpoint
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
97addbaf7a
|
got os-macosx.mm to compile
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
75a3db3bfb
|
Fixed typo from upstream
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
d3b5321b6e
|
removed some global functions from errors.cpp
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
390712b00a
|
removed some global functions from utilities.cpp
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
1c656e1bac
|
removed some global functions from inline_cache.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
6234b7957f
|
removed some global functions from dispatch.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
0de0d5f256
|
removed some global functions from quotations.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
7f70b6320c
|
removed some global functions from alien.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
551a800d2f
|
removed some global functions from callstack.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
1887a16ca3
|
removed some global functions from image.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
0397f92569
|
removed some global functions from io.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
fc5c51e2cd
|
removed some global functions from math.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
2dba15535f
|
removed global functions from words.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
10bf5ca17c
|
removed global functions from byte_arrays.cpp and tuples.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
9e2d40a228
|
removed global functions from strings.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
d21b1b2e1e
|
removed global functions from arrays.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
5a0c4d18aa
|
removed global functions from debug.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
959da30f05
|
removed global functions from code_block.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
32eace1a11
|
removed global functions from bignum.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
100c26c38f
|
removed global functions from profiler
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
afe1cf0c73
|
removed some global functions from code_heap
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
00087e6814
|
removed global functions from code_gc
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
39dc71e612
|
removed global functions from data_gc
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
b2f52ed109
|
removed non-primitive global functions from data_heap
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
7a20e1648c
|
Dev checkpoint
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
82e1ea7110
|
vm ptr passed to untag_check
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
e2993558a8
|
moved tagged template code back into tagged.hpp header
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
e08a6e21cb
|
split the moved inline stuff into separate header file
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
e4f92cdbf2
|
moved tagged.hpp templates to vm.hpp
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
75c81af691
|
moved more math.hpp inline functions to vm
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
a66cf7e609
|
removed stub function from run
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
2e81b174a7
|
removed some stub functions from contexts
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
d093ff766f
|
updated function ptr calls (iterators etc..) to take a vm parameter
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
d5da6a3d58
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
baaf71eddc
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
93c665c653
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
8fa607e9a9
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
efa974f025
|
moved global state from math into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
839491a828
|
moved global state from inline_cache into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
498b1917dc
|
moved global state from dispatch into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
c506abc6cd
|
moved global state from debug into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
396eeeba34
|
moved global state from code_heap into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
221c0ac5c8
|
moved global state from data_heap into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
3025cef1c6
|
moved global state from data_gc into vm
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
80716a1b6e
|
moved global state from contexts and run into vm
Also renamed template type from T to TYPE to prevent clash with vm::T (true)
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
ecfd9a6075
|
reordered master to untangle dependency chain a bit
|
2009-09-16 08:16:24 +01:00 |
Phil Dawes
|
fb9f9ac3d3
|
moved callstack.hpp inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
9e23e41267
|
moved math.hpp inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
a249b484c4
|
moved byte_arrays.hpp inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
209755e2de
|
moved arrays.hpp inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
2e129dfc45
|
moved generic_arrays inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
4dabd186c9
|
moved data_gc and local_roots inline functions to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
31905b68a7
|
moved write_barrier inline function impls to vm.hpp
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
a6c3c1e7d2
|
moved callstack.hpp functions to vm
|
2009-09-16 08:16:23 +01:00 |
Phil Dawes
|
ae5c0fbfb2
|
moved math.hpp functions to vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
33ecaa5010
|
moved arrays.hpp functions to vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
625380c25c
|
moved generic_array.hpp functions to vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
b1189dc4f1
|
moved write_barrier functions to vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
be3a9f7f66
|
moved data_gc templates and inline functions to vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
1b64155998
|
moved reallot_array into vm
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
e678f6a681
|
added vm member to gc_bignum
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
a2f14b5a6d
|
added vm member to gc_root and growable arrays
|
2009-09-16 08:16:22 +01:00 |
Phil Dawes
|
54b3c1ea88
|
added vm member to jit classes
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
386dafe747
|
moved local roots state to vm, shuffled includes around
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
8fea98ad7a
|
factorvm initialised globally
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
a826496a71
|
moved utilities.cpp functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
f88eaa0df3
|
moved factor.cpp functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
5980165829
|
moved inline_cache functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
c018372cd3
|
moved dispatch functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
2eca2ddeaf
|
moved quotations functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
28620619e9
|
moved alien functions to vm
|
2009-09-16 08:16:21 +01:00 |
Phil Dawes
|
1bba717b36
|
moved image functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
ee07c0b4e5
|
moved code_heap functions to vm
|
2009-09-16 08:16:20 +01:00 |