Phil Dawes
|
6f0d25a8b3
|
ppc asm to pass vm pointer: initial bootstrap
|
2009-09-28 07:48:37 +01:00 |
Phil Dawes
|
a514f79d3c
|
inlineimpl.hpp is toast
|
2009-09-29 19:53:10 +01:00 |
Phil Dawes
|
0ca2b9b3b2
|
Converted some callback fns to use member-fn pointers
|
2009-09-28 19:45:10 +01:00 |
Phil Dawes
|
49df5b1078
|
moved local_roots and write_barrier stuff out of inlineimpls.hpp
|
2009-09-28 19:02:51 +01:00 |
Slava Pestov
|
3024810dfa
|
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
|
132628985c
|
removed vm-data.hpp
|
2009-09-27 20:09:09 +01:00 |
Phil Dawes
|
63266524d7
|
Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp
|
2009-09-27 19:42:18 +01:00 |
U-SLAVA-DFB8FF805\Slava
|
5a50ec204b
|
vm: fix compilation on Windows
|
2009-09-26 02:56:55 -05:00 |
Slava Pestov
|
3c38656fd2
|
vm: fix windows compilation (untested)
|
2009-09-26 02:41:01 -05:00 |
Slava Pestov
|
09e8bac216
|
Fix GC root safety in word-xt primitive
|
2009-09-25 21:42:21 -05:00 |
Slava Pestov
|
1a6a106d28
|
vm: remove safe_malloc now that everything uses constructors instead
|
2009-09-25 21:22:05 -05:00 |
Slava Pestov
|
3d196110b7
|
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
|
5195fdaeaa
|
vm: make heap data-type object-oriented
|
2009-09-25 20:32:00 -05:00 |
Slava Pestov
|
1174d60026
|
Merge branch 'vm_cleanup' of git://github.com/phildawes/factor
|
2009-09-25 19:04:19 -05:00 |
Slava Pestov
|
0f411c530b
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-25 18:23:36 -05:00 |
Slava Pestov
|
0a60f18e28
|
vm: ignore 'declare' calls in non-optimizing compiler
|
2009-09-25 18:08:21 -05:00 |
Slava Pestov
|
efbd24e95f
|
vm: clean up os-unix.cpp
|
2009-09-25 18:08:00 -05:00 |
Phil Dawes
|
c495640cc5
|
forwarding functions replaced with PRIMITIVE_FORWARD() macro
|
2009-09-25 20:43:01 +01:00 |
Phil Dawes
|
e6048ed076
|
removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))
|
2009-09-25 20:33:38 +01:00 |
Phil Dawes
|
aa71248937
|
made inline_gc a VM_C_API function
|
2009-09-25 18:29:07 +01:00 |
Phil Dawes
|
8b005f5b1d
|
make inline_gc regparm(3) and cleaned up %call-gc stack alignment
|
2009-09-24 21:45:56 +01:00 |
Phil Dawes
|
eb2a376a06
|
fix c_to_factor stack alignment
|
2009-09-24 20:18:42 +01:00 |
Phil Dawes
|
0583e849af
|
fix lazy_jit_compile to not abuse stack on x86.32
|
2009-09-24 19:59:37 +01:00 |
Slava Pestov
|
939b175afa
|
vm/cpu-x86.32.S: formatting fix
|
2009-09-24 06:25:01 -05:00 |
Slava Pestov
|
2ea0b9da1d
|
Merge branch 'vm_cleanup' of git://github.com/phildawes/factor
|
2009-09-24 04:31:55 -05:00 |
Slava Pestov
|
b5773dc1da
|
vm: Fix potential crash in <word> primitive if profiling is enabled
|
2009-09-24 04:31:11 -05:00 |
Phil Dawes
|
4adcdccd16
|
renamed myvm member variable to parent_vm
|
2009-09-24 08:16:57 +01:00 |
Phil Dawes
|
1c5329cc2e
|
renamed factorvm to factor_vm
|
2009-09-24 08:16:52 +01:00 |
Phil Dawes
|
0022f5c45f
|
bignum indentation and macro cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
1c2292d36a
|
bignum indentation cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
2cfb1b6f02
|
removed a bunch of superflous blank lines
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
134a359353
|
misc cleanup
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
911471c411
|
removed superflous whitspace lines
|
2009-09-24 08:02:14 +01:00 |
Phil Dawes
|
3da9b64c73
|
renamed vmprim_ to primitive_
|
2009-09-24 08:02:13 +01:00 |
Slava Pestov
|
e04fba6bc7
|
Fix conflict
|
2009-09-20 23:18:07 -05:00 |
Slava Pestov
|
66871995c9
|
math.vectors.simd: add saturated arithmetic operations
|
2009-09-20 23:16:02 -05:00 |
Phil Dawes
|
8662e9e9e4
|
put mach call_fault_handler in the vm
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
82f0c90719
|
fpe signals working on unix again
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
fa929d9cd8
|
imul clobbers arg2 on x86.64, so stashing vm ptr on the stack
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
3db680547a
|
Added -DREENTRANT option to Makefile
Also renamed FACTOR_MULTITHREADED to FACTOR_REENTRANT
|
2009-09-16 08:22:18 +01:00 |
Phil Dawes
|
f7584cd826
|
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
|
30b8b98446
|
small x86 asm cleanup
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
a73886942a
|
vm passed in primitives as arg0 for x86.64
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
dd1cf25093
|
Added vm passing to inline_cache_miss x86.32 asm
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
644adc42b6
|
Don't return functions returning void. -O3 seems to optimize them out!
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
57ffdae57f
|
asm math functions pass vm ptr to overflow function in 3rd arg (X86.32)
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
04693fe0c6
|
fixed bug where vm_char being treated as 1byte type
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
897288123b
|
Added data constructor to initialize bools in factorvmdata struct
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
12412303a5
|
Added vm ptr to math overflow functions
|
2009-09-16 08:22:17 +01:00 |
Phil Dawes
|
442f6ef3f1
|
moved signal handlers into vm object
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
57aff71466
|
removed debugging
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
c1212b1326
|
Split data out into separate vm-data struct
|
2009-09-16 08:22:16 +01:00 |
Phil Dawes
|
a89a0826ee
|
Dev checkpoint
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
277186ea62
|
Switched on singleton flag
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
f955e36a56
|
removed vm ptr from mach_signal and some other places
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
ea02bfe078
|
removed vm ptr from os-macosx.mm
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
1f4abd57b8
|
added FACTOR_MULTITHREADED_TLS option
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
a8f233c055
|
thread_id is a pthread_t on unix
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
d76af35ecf
|
added threadsafe defines. Dunno if they do much
|
2009-09-16 08:20:51 +01:00 |
Phil Dawes
|
bd9ae0bc93
|
fixed stupid signal handler bug
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
c623658aa2
|
added vm-ptr primitive
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
898f5be1e0
|
quick test vocab for mt stuff
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
05d17492ed
|
cleaned up code a bit, added multithreaded mode flags
|
2009-09-16 08:20:50 +01:00 |
Phil Dawes
|
9b013faed4
|
removed vm singleton usage from unix stuff
|
2009-09-16 08:20:49 +01:00 |
Phil Dawes
|
1e93c766a1
|
moved the thread stuff around a bit
|
2009-09-16 08:20:49 +01:00 |
Phil Dawes
|
f371bbbc2d
|
removed vm ptrs from unix code (still in signal handlers tho)
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
f60b1e1dd0
|
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
|
26586c24f0
|
added vm passing to some alien/boxing functions and added some vm asserts
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
d7e2f770c0
|
vm ptr passed to lazy_jit_compile on x86.64
|
2009-09-16 08:20:10 +01:00 |
Phil Dawes
|
90119f3dd7
|
overflow functions now retrieving their vm ptr from above ds stack
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
44d2d8672e
|
Primitives now pass vm ptr on 64bit x86
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
939426dcf5
|
fixed up linux64 bootstrap (single threaded)
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
ad517cb39b
|
win32 main starts factorvm in new thread
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
8008545b8e
|
Start windows factor in a spawned thread (for testing)
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
41345583a5
|
added lookup_vm and removed last usage of vm from windows code
|
2009-09-16 08:20:09 +01:00 |
Phil Dawes
|
c6d83111e8
|
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
|
c12eccb581
|
print_native_string doesn't need singleton ptr
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
b84c10e33c
|
cleaning up stray vm singleton usage
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
28665b5287
|
removed most global functions from factor.cpp
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
38eb7a23f1
|
removed some error vm-> functions
|
2009-09-16 08:17:27 +01:00 |
Phil Dawes
|
bbdcabae9c
|
removed some vm-> forwarding functions
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
fcfd971108
|
removed some vm-> pointers
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
6e5ddc0c33
|
vm pointer passed to nest_stacks and unnest_stacks (win32)
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
b629429086
|
Dev checkpoint
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
a6e1e39e23
|
passing ptr in boolean boxing and save_callstack_bottom
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
915c765ecb
|
Added basic win32 start-thread support
|
2009-09-16 08:17:26 +01:00 |
Phil Dawes
|
ce44511071
|
vm passed in box_alien and alien_offset (win32)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
4d6294693d
|
removed all vm-> singleton accesses from inlineimpls
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
49e3efddfb
|
converted box_* float functions to use vm (x86 win32)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
1f642ab303
|
converted box_* integer functions to use vm (x86 windows)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
e50ab40c78
|
converted box_* integer functions to use vm (x86 windows)
|
2009-09-16 08:16:33 +01:00 |
Phil Dawes
|
780415b159
|
added code to pass vm ptr to some unboxers
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
cefc0f7e08
|
moved gc_locals accessors into vm
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
c0eefe9ed3
|
turned errno() methods back into functions since they should already be thread safe
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
2a1a4ccf27
|
fixed up getenv compiler intrinsic to use vm struct userenv
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
4d98fe0157
|
added padding to align userenv to an 8byte boundary
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
48d385e5d9
|
moved userenv into vm in C code (DOESNT BOOTSTRAP YET!!!)
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
d4f602c9e7
|
got debug compiles working again
|
2009-09-16 08:16:32 +01:00 |
Phil Dawes
|
7de311c0da
|
moved stack_traces_p into the vm
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
cb3df86491
|
moved cards_offset and decks_offset into vm struct (for x86)
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
74e99cb6fb
|
moved allot_markers_offset variable into vm struct
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
fd72e140d2
|
nursery global variable moved into vm
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
f9f1031dd8
|
moved stack_chain into vm struct
|
2009-09-16 08:16:31 +01:00 |
Phil Dawes
|
2c58deb8e5
|
removed save_stacks global function
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
53aa98902e
|
throw_impl now forwards the vm ptr
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
60d0300876
|
passing vm ptr to lazy_jit_compile mostly working
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
1fda8af73b
|
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
|
df37e010d4
|
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
|
b70e60eaea
|
added VM relocation type
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
c290eb67ab
|
moved os-windows-nt functions into the vm
|
2009-09-16 08:16:30 +01:00 |
Phil Dawes
|
9ec000c570
|
Dev checkpoint
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
1431ae806f
|
moved some os-windows functions into the vm
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
3fef06d21d
|
moved align_page into vm
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
fa34bc858c
|
Dev checkpoint
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
145c90c7f4
|
got os-macosx.mm to compile
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
5f7e6801b0
|
Fixed typo from upstream
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
11bde92057
|
removed some global functions from errors.cpp
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
27a50886d7
|
removed some global functions from utilities.cpp
|
2009-09-16 08:16:29 +01:00 |
Phil Dawes
|
23a5207e90
|
removed some global functions from inline_cache.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
6727a19ba8
|
removed some global functions from dispatch.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
3ea6e4c0bc
|
removed some global functions from quotations.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
16db3255e7
|
removed some global functions from alien.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
0e49c2848c
|
removed some global functions from callstack.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
4bdb4853ca
|
removed some global functions from image.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
ff3b226908
|
removed some global functions from io.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
c4b2468cb2
|
removed some global functions from math.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
7dc4bcb9b2
|
removed global functions from words.cpp
|
2009-09-16 08:16:28 +01:00 |
Phil Dawes
|
b1783f2db4
|
removed global functions from byte_arrays.cpp and tuples.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
af1431e364
|
removed global functions from strings.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
f6fcb6d1ec
|
removed global functions from arrays.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
f436d4ccff
|
removed global functions from debug.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
abee922604
|
removed global functions from code_block.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
caef18de95
|
removed global functions from bignum.cpp
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
01ae514146
|
removed global functions from profiler
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
4f273e2020
|
removed some global functions from code_heap
|
2009-09-16 08:16:27 +01:00 |
Phil Dawes
|
31a03eab11
|
removed global functions from code_gc
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
04094f3b64
|
removed global functions from data_gc
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
e65a574a47
|
removed non-primitive global functions from data_heap
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
fc9558d954
|
Dev checkpoint
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
537402274e
|
vm ptr passed to untag_check
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
967bfa63f4
|
moved tagged template code back into tagged.hpp header
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
9e4b483993
|
split the moved inline stuff into separate header file
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
5600f969b4
|
moved tagged.hpp templates to vm.hpp
|
2009-09-16 08:16:26 +01:00 |
Phil Dawes
|
1c02e9eda0
|
moved more math.hpp inline functions to vm
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
737e69de08
|
removed stub function from run
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
c045a2f9d5
|
removed some stub functions from contexts
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
e80c9f90d6
|
updated function ptr calls (iterators etc..) to take a vm parameter
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
03ecc58bbf
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
d2fd7bd3e1
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |
Phil Dawes
|
23deff22fe
|
Dev checkpoint
|
2009-09-16 08:16:25 +01:00 |