Joe Groff
|
435cd02200
|
keep a map of thread ids to vm pointers. use this to look up the correct VM to handle mach exceptions on os x
|
2009-10-02 12:03:05 -05:00 |
Joe Groff
|
f867a776d9
|
import std::tr1/boost ::unordered_map into the factor namespace instead of using #define
|
2009-10-02 11:13:27 -05:00 |
Joe Groff
|
b4ae77764c
|
don't leak startargs in start_standalone_factor_in_new_thread
|
2009-10-02 11:11:17 -05:00 |
Slava Pestov
|
96df486753
|
vm: add assertions to tls_vm()
|
2009-10-02 09:37:04 -05:00 |
Slava Pestov
|
805fea33cb
|
vm: fix register clobberage in PowerPC c_to_factor (untested)
|
2009-10-02 09:19:31 -05:00 |
Slava Pestov
|
512bf8befa
|
vm: fix register clobberage in x86 c_to_factor
|
2009-10-02 09:12:09 -05:00 |
Slava Pestov
|
d86ba27577
|
vm: fix compile error with DEBUG=1
|
2009-10-02 03:30:02 -05:00 |
Slava Pestov
|
2c136d6536
|
Merge branch 'reentrantvm' of git://github.com/phildawes/factor
|
2009-10-02 03:28:21 -05:00 |
Slava Pestov
|
913408c2a3
|
vm: fix stack alignment in primitive_inline_cache_miss
|
2009-10-02 03:25:18 -05:00 |
Phil Dawes
|
ded33eda87
|
removed some superflous newlines
|
2009-10-01 07:33:16 +01:00 |
Phil Dawes
|
70f25c71b9
|
calls dispatched as per multithreaded, but checked against singleton
|
2009-09-30 21:25:50 +01:00 |
Phil Dawes
|
65bcd86c10
|
ppc asm to pass vm pointer: inline_cache_miss, set_callstack
|
2009-09-30 19:43:36 +01:00 |
Phil Dawes
|
a73e6f20d4
|
ppc asm to pass vm pointer: overflow fns
|
2009-09-30 07:59:36 +01:00 |
Phil Dawes
|
6fa0a93498
|
ppc asm to pass vm pointer: initial bootstrap
|
2009-09-28 07:48:37 +01:00 |
Phil Dawes
|
3a88d8c49e
|
inlineimpl.hpp is toast
|
2009-09-29 19:53:10 +01:00 |
Phil Dawes
|
b6718641dc
|
Converted some callback fns to use member-fn pointers
|
2009-09-28 19:45:10 +01:00 |
Phil Dawes
|
791d654f92
|
moved local_roots and write_barrier stuff out of inlineimpls.hpp
|
2009-09-28 19:02:51 +01: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 |
Phil Dawes
|
dbc1411a6a
|
removed vm-data.hpp
|
2009-09-27 20:09:09 +01:00 |
Phil Dawes
|
9b7412b8f8
|
Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp
|
2009-09-27 19:42:18 +01:00 |
U-SLAVA-DFB8FF805\Slava
|
57b98e2c55
|
vm: fix compilation on Windows
|
2009-09-26 02:56:55 -05:00 |
Slava Pestov
|
6578bd0533
|
vm: fix windows compilation (untested)
|
2009-09-26 02:41:01 -05:00 |
Slava Pestov
|
fa598be667
|
Fix GC root safety in word-xt primitive
|
2009-09-25 21:42:21 -05:00 |
Slava Pestov
|
f846afd661
|
vm: remove safe_malloc now that everything uses constructors instead
|
2009-09-25 21:22:05 -05:00 |
Slava Pestov
|
f81c8549f4
|
Make segment, context, data_heap, zone more object-oriented, and fix crash when calling undefined symbols
|
2009-09-25 21:17:20 -05:00 |
Slava Pestov
|
c046ff4b23
|
vm: make heap data-type object-oriented
|
2009-09-25 20:32:00 -05:00 |
Slava Pestov
|
d017a53227
|
Merge branch 'vm_cleanup' of git://github.com/phildawes/factor
|
2009-09-25 19:04:19 -05:00 |
Slava Pestov
|
11d716e8f7
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-25 18:23:36 -05:00 |
Slava Pestov
|
b14c683b32
|
vm: ignore 'declare' calls in non-optimizing compiler
|
2009-09-25 18:08:21 -05:00 |
Slava Pestov
|
602776c885
|
vm: clean up os-unix.cpp
|
2009-09-25 18:08:00 -05:00 |
Phil Dawes
|
6b7717bf37
|
forwarding functions replaced with PRIMITIVE_FORWARD() macro
|
2009-09-25 20:43:01 +01:00 |
Phil Dawes
|
e26bbbe9a0
|
removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))
|
2009-09-25 20:33:38 +01:00 |
Phil Dawes
|
4552e02624
|
made inline_gc a VM_C_API function
|
2009-09-25 18:29:07 +01:00 |
Phil Dawes
|
f5c70d4ad7
|
make inline_gc regparm(3) and cleaned up %call-gc stack alignment
|
2009-09-24 21:45:56 +01:00 |
Phil Dawes
|
8173ef4710
|
fix c_to_factor stack alignment
|
2009-09-24 20:18:42 +01:00 |
Phil Dawes
|
6bb647d308
|
fix lazy_jit_compile to not abuse stack on x86.32
|
2009-09-24 19:59:37 +01:00 |
Slava Pestov
|
67a8bb7370
|
vm/cpu-x86.32.S: formatting fix
|
2009-09-24 06:25:01 -05:00 |
Slava Pestov
|
cb497f009b
|
Merge branch 'vm_cleanup' of git://github.com/phildawes/factor
|
2009-09-24 04:31:55 -05:00 |
Slava Pestov
|
576e725662
|
vm: Fix potential crash in <word> primitive if profiling is enabled
|
2009-09-24 04:31:11 -05:00 |
Phil Dawes
|
57840562f5
|
renamed myvm member variable to parent_vm
|
2009-09-24 08:16:57 +01:00 |
Phil Dawes
|
83b0769eef
|
renamed factorvm to factor_vm
|
2009-09-24 08:16:52 +01:00 |
Phil Dawes
|
3b8292db8e
|
bignum indentation and macro cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
35b2657f53
|
bignum indentation cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
e566656e46
|
removed a bunch of superflous blank lines
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
46bab62689
|
misc cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
d25fe552ab
|
removed superflous whitspace lines
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
e3ac531fdb
|
renamed vmprim_ to primitive_
|
2009-09-24 08:02:13 +01:00 |
Slava Pestov
|
9d90bdd439
|
Fix conflict
|
2009-09-20 23:18:07 -05:00 |
Slava Pestov
|
ea44ea3522
|
math.vectors.simd: add saturated arithmetic operations
|
2009-09-20 23:16:02 -05:00 |
Phil Dawes
|
d2afb4b344
|
put mach call_fault_handler in the vm
|
2009-09-16 08:22:18 +01:00 |
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 |