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 |
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 |
Phil Dawes
|
0097e76a82
|
moved code_block functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
fdabc9a5d8
|
moved code_gc functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
062c56f94b
|
moved io functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
10e5dc9b3c
|
moved math functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
552b9ecd81
|
Dev checkpoint
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
4f4c53c822
|
moved words functions to vm
|
2009-09-16 08:16:20 +01:00 |
Phil Dawes
|
dbbc9bb2b1
|
added tuples fns to vm
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
fa46b90197
|
added byte_arrays fns to vm
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
25d0bb756f
|
added boolean fns to vm
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
0f2a89cfbd
|
moved strings fns to vm
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
72098c5f6a
|
moved arrays fns into vm
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
13e0ae6d97
|
moved debug functions into vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
64c2d81306
|
moved data_gc fns over to vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
9f6f7adaba
|
moved data_heap fns to vm struct
|
2009-09-16 08:16:19 +01:00 |
Phil Dawes
|
1a87f3bb5f
|
moved bignum functions to vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
a6fc19f4b0
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
149af514e6
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
8426e2f877
|
Dev checkpoint
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
10901e7c37
|
moved errors.cpp functions to vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
aa01f6b748
|
moved profiling fns into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
110f925245
|
move functions from run.cpp into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
88084a66ac
|
moved contexts functions into vm
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
adf2529451
|
added vm singleton
|
2009-09-16 08:16:18 +01:00 |
Phil Dawes
|
d8ea82d8e8
|
added stub PRIMITIVE_GETVM macro
|
2009-09-16 08:16:17 +01:00 |
Phil Dawes
|
caefc7aff9
|
Empty vm struct
|
2009-09-16 08:16:17 +01:00 |
Slava Pestov
|
3551294fd4
|
vm: update Config.netbsd for NetBSD 5.0
|
2009-09-15 00:22:19 -05:00 |
Joe Groff
|
77f0fbf497
|
missed a few PPC status bits that needed clearing
|
2009-09-14 15:17:36 -05:00 |
Joe Groff
|
89ce13d4d4
|
linux 32 typo
|
2009-09-14 13:21:46 -05:00 |
Joe Groff
|
32be55fa68
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-14 12:30:24 -05:00 |
Joe Groff
|
b77d9d2960
|
more secret sauce to tease mxcsr out of linux-x86.32 ucontext
|
2009-09-14 12:30:10 -05:00 |
Joe Groff
|
c1bc5f22e4
|
use secret sauce to clear MXCSR in win32 context, and handle secret STATUS_FLOAT_MULTIPLE_* SEH codes raised by SSE traps
|
2009-09-14 12:02:02 -05:00 |
Joe Groff
|
578c977a7e
|
more freebsd compilation fixes
|
2009-09-14 09:56:38 -05:00 |
Joe Groff
|
6ae07e8a08
|
fix compilation on linux 32
|
2009-09-14 09:48:32 -05:00 |
Slava Pestov
|
448b89f585
|
vm: More indentation fixes
|
2009-09-14 03:14:48 -05:00 |
Slava Pestov
|
83c992173e
|
vm: fix indentation in Joe's changes
|
2009-09-14 03:09:03 -05:00 |
Joe Groff
|
198874aea8
|
fix compilation on freebsd
|
2009-09-14 00:00:01 -05:00 |
Joe Groff
|
fb43ae2daf
|
save the FP status out of the signal context and use it as part of the fp trap factor exception. clear the FP status before continuing after an exception
|
2009-09-13 23:39:12 -05:00 |
Joe Groff
|
38ec77f9bd
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-13 14:42:28 -05:00 |
Joe Groff
|
b469dc29fa
|
save vector registers, save control register, and enable denormals before calling factor in powerpc c_to_factor()
|
2009-09-13 13:18:24 -05:00 |
Slava Pestov
|
d14f227905
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-13 00:09:09 -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 |
Joe Groff
|
53e23de104
|
set altivec denormal flag when with-denormal-mode is used
|
2009-09-12 20:39:41 -05:00 |
Slava Pestov
|
9ccf5811b3
|
vm: fix fp_trap_error() so that it can work properly in signal handlers
|
2009-09-12 18:15:16 -05:00 |
Slava Pestov
|
a456f79f9c
|
cpu-x86: clear the x87 stack when rewinding; fixes math.floats.env failures on Linux
|
2009-09-12 16:59:30 -04:00 |
Slava Pestov
|
13464d9403
|
Fix debug build
|
2009-09-11 20:33:38 -05:00 |
Joe Groff
|
6fa4a6a23b
|
handle floating-point exceptions on windows
|
2009-09-10 16:10:25 -05:00 |
Joe Groff
|
c2cd1714fa
|
fix set_x87_env assembly code for x86.32
|
2009-09-08 23:15:49 -05:00 |
Joe Groff
|
93f5209213
|
fix ppc assembler syntax
|
2009-09-08 21:01:33 -05:00 |
Joe Groff
|
2ad9459b85
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-09-08 15:37:32 -05:00 |
Joe Groff
|
0ec342a1c5
|
factor out x86 and ppc backends for math.floats.env; update both x87 and SSE state on x86
|
2009-09-08 15:36:53 -05:00 |
Slava Pestov
|
81c4670619
|
VM: use an std::vector instead of a fixed-size buffer for GC roots
|
2009-09-08 14:21:09 -05:00 |
Slava Pestov
|
109cde9bd6
|
vm/cpu-x86.S: don't detect SSSE3, SSE4.1 or SSE4.2 yet
|
2009-09-08 14:06:19 -05:00 |
Joe Groff
|
7ba71a524e
|
Send FP trap signals to Factor as a different vm-error type
|
2009-09-06 08:44:25 -05:00 |
Joe Groff
|
36ec53a968
|
math.floats.env vocab with words to control the floating-point environment
add some functions to the VM to grab and set the fpu control register
|
2009-09-05 19:48:13 -05:00 |
Slava Pestov
|
906a0d212a
|
Detect SSE version and enable the correct set of SIMD intrinsics
|
2009-09-03 03:28:38 -05:00 |
Joe Groff
|
07ab5f006d
|
on OS X, rather than define _XOPEN_SOURCE, use the non-deprecated sys/ucontext.h header instead
|
2009-08-26 16:44:25 -05:00 |
Joe Groff
|
2a56ba0d2d
|
add -D_XOPEN_SOURCE flag to suppress ucontext deprecation errors on snow leopard. add -m32 flag when compiling 32-bit because snow leopard gcc defaults to x86_64
|
2009-08-26 16:29:55 -05:00 |
Philipp Brüschweiler
|
230061783a
|
misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644
|
2009-08-10 21:33:07 +02:00 |
Slava Pestov
|
46688f960d
|
image.cpp: don't try to make code heap bigger than p->code_size since on PPC this will cause crashes if the image has a code heap of exactly 32Mb
|
2009-07-31 23:23:29 -05:00 |
Slava Pestov
|
91e5c05f40
|
debug.cpp: fep now prints return addresses in call stack dump
|
2009-07-29 19:28:58 -05:00 |
Slava Pestov
|
3fb4fc1bde
|
Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases
|
2009-07-16 23:50:48 -05:00 |
Slava Pestov
|
baff251d1e
|
alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
|
2009-07-09 06:51:31 -05:00 |
Slava Pestov
|
2d231f066a
|
GC checks now save and restore registers
|
2009-06-02 18:23:47 -05:00 |
Slava Pestov
|
9e987e8642
|
Merge branch 'master' into global_optimization
|
2009-06-01 03:12:32 -05:00 |
Slava Pestov
|
b389dcf441
|
Redo compiler.codegen.fixup and get %dispatch to work
|
2009-06-01 02:32:36 -05:00 |
Slava Pestov
|
fc152ef210
|
Various improvements aimed at getting local optimization regressions fixed:
- Rename _gc to ##gc
- Absolute labels are now supported
- Generate _dispatch-label
|
2009-05-31 23:28:08 -05:00 |
Slava Pestov
|
faaccceac6
|
Fix rdtsc on Windows
|
2009-05-31 15:16:40 -05:00 |
Slava Pestov
|
617e57fc75
|
cpu.x86.features: add RDTSC support. This is a new vocabulary with words: sse2? instruction-counter count-instructions
|
2009-05-31 15:02:14 -05:00 |
Slava Pestov
|
6b2192bde0
|
Fix compile error on GCC 4.x
|
2009-05-20 20:01:21 -04:00 |
Slava Pestov
|
610b276c86
|
callstack>array primitive was not GC safe
|
2009-05-20 18:52:21 -05:00 |