Slava Pestov
d22d5466fc
vm: move factor_vm::untagged_object_size() to object::size()
2009-10-20 13:13:39 -05:00
Slava Pestov
d85d84697a
Change data heap alignment to 16 bytes
2009-10-20 12:45:00 -05:00
Slava Pestov
50f9bf67a7
vm: fix crash when converting a callstack to an array
2009-10-20 12:19:02 -05:00
Slava Pestov
acdcb181e0
vm: working on making heap more generic
2009-10-20 10:22:06 -05:00
Slava Pestov
838a44e901
vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits
2009-10-20 09:37:24 -05:00
Doug Coleman
278a6955c5
Merge branch 'master' into startup
2009-10-20 00:31:45 -04:00
Doug Coleman
110b310c54
the exit primitive is now called (exit) and exit calls shutdown hooks.
...
add a stop_factor function to the vm to allow calling the shutdown quotation
2009-10-20 00:28:18 -04:00
Slava Pestov
d585aa861c
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-19 21:44:56 -05:00
Slava Pestov
cafa838588
Merge branch 'master' of git://factorcode.org/git/factor into new_gc
2009-10-19 21:44:36 -05:00
Slava Pestov
21d29b3961
vm: change code heap alignment to 16 bytes instead of 32 to reduce image size
2009-10-19 06:10:39 -05:00
Slava Pestov
4ddd63d83e
vm: move compaction algorithm to mark_bits.hpp since it doesn't rely on properties of heaps per se
2009-10-19 03:05:20 -05:00
Slava Pestov
ac25b8ebbb
vm: new mark_bits data structure replaces hashtable when compacting code heap
2009-10-19 02:21:11 -05:00
Slava Pestov
8ef0d411ac
vm: cleanup
2009-10-19 00:16:32 -05:00
Slava Pestov
464aac14cf
vm: working on new compaction implementation
2009-10-19 00:07:43 -05:00
Slava Pestov
a81f757a62
vm: fix conflict in image.cpp
2009-10-18 20:54:13 -05:00
Slava Pestov
2e65366c6b
vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions
2009-10-18 20:31:59 -05:00
Slava Pestov
236588208b
vm: rename F to false_object, and rename T to true_object
2009-10-18 20:26:21 -05:00
Slava Pestov
2b63029da8
vm: fix GC safety issue in non-optimizing compiler
2009-10-18 18:57:41 -05:00
Slava Pestov
69f9c80b5b
vm: code heap: move mark bits to a separate bitmap
2009-10-16 14:41:40 -05:00
Slava Pestov
2917063a1a
vm: fix typo
2009-10-16 12:25:21 -05:00
Slava Pestov
a955a12aa7
vm: fix compile errors on some gcc versions
2009-10-16 12:13:43 -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
c04412219b
vm: allocate stacks and data heap segments without execute permissions
2009-10-16 05:16:12 -05:00
Slava Pestov
85b746e7b5
vm: simpler and more efficient code heap compaction; restructure a few things to get ready for runtime code heap compaction
2009-10-16 04:33:35 -05:00
Slava Pestov
349cb41a29
Merge branch 'reentrantvm' of git://github.com/phildawes/factor
2009-10-16 03:52:35 -05:00
Slava Pestov
0a3d08bc52
vm: make the code nice and pretty
2009-10-16 02:55:02 -05:00
Slava Pestov
70dcecf61a
vm: don't flush instruction cache twice per code block on a major GC on PowerPC
2009-10-15 22:31:41 -05:00
Slava Pestov
f212549a5f
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-15 22:12:00 -05:00
Slava Pestov
8a7547ef1b
vm: remove some dead code
2009-10-15 22:06:43 -05:00
Doug Coleman
4c2cdb18b5
fix compiler warning
2009-10-15 21:42:01 -05:00
Doug Coleman
0bb6327688
fix compiler warnings in vm
2009-10-15 21:37:53 -05:00
Slava Pestov
45eb68fa38
vm: during tenuring stage of aging collection, if tenured space fills up, it would attempt a to_tenured collection. this will succeed if all roots were tenured. however, this is unsound, because there's now an untraced segment of tenured space. fix: if tenuring fails, go on to do a full collection instead
2009-10-15 05:51:11 -05:00
Slava Pestov
93ed6e6892
vm: fix compile error
2009-10-14 19:55:02 -05:00
Slava Pestov
38d120f92e
vm: rt-vm relocation now supports accessing a field directly
2009-10-14 19:24:23 -05:00
Phil Dawes
7fef05fd76
Removed VM_PTR macros. All builds reentrant by default
2009-10-14 19:14:57 +01:00
Slava Pestov
ae90ebe3be
vm: faster write barrier for non-optimized code
2009-10-14 06:13:51 -05:00
Slava Pestov
1796688acd
vm: during an aging collection, promote objects referenced from tenured directly to tenured
2009-10-14 06:03:52 -05:00
Slava Pestov
236efe4881
vm: debugging new card marking
2009-10-14 04:59:28 -05:00
Slava Pestov
1ce39963fd
Working on adding support for the new write barrier to optimized code
2009-10-14 02:06:01 -05:00
Slava Pestov
d689be57a5
vm: new card marking implementation supports marking partial objects
2009-10-13 21:16:04 -05:00
Slava Pestov
d17c63efa5
vm: rename
2009-10-09 23:37:35 -05:00
Slava Pestov
0bf31e42e6
vm: refactoring card logic a bit
2009-10-09 11:16:18 -05:00
Slava Pestov
1fc48b8894
vm: remove old_data_heap from gc_state
2009-10-09 09:47:54 -05:00
Slava Pestov
639a64c2df
vm: fix integer overflow
2009-10-09 05:55:32 -05:00
Slava Pestov
ab9b462411
vm: build fix
2009-10-09 05:12:28 -05:00
Slava Pestov
978647dc39
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-09 03:21:31 -05:00
Slava Pestov
95722adebc
vm: misc cleanups
2009-10-09 03:20:50 -05:00
Slava Pestov
a4ea6ad339
vm: record bytes/objects copied again
2009-10-09 03:20:06 -05:00
Slava Pestov
07deeb407c
vm: fix formatting
2009-10-09 02:57:04 -05:00
Slava Pestov
f6d4551da5
vm: remove unrolled card scan loop since it appears to be a performance loss
2009-10-09 02:05:31 -05:00
Slava Pestov
d34c7854cd
vm: simplify card marking logic, and unmark more cards during aging collections by checking if they actually contained young pointers or not
2009-10-09 01:37:45 -05:00
Slava Pestov
6e4b4d5830
Fix problem if last card is marked
2009-10-08 23:58:20 -05:00
Slava Pestov
cb2673a6f5
vm: cleanup
2009-10-08 23:39:54 -05:00
Slava Pestov
21f55ab1a3
vm: more efficient code heap remembered set
2009-10-08 23:10:32 -05:00
Slava Pestov
43a21deb05
vm: rename data_gc.cpp to gc.cpp
2009-10-08 02:11:29 -05:00
Slava Pestov
dbf0dd4a2d
vm: split off parts of data_gc into sub-files and clean up logic
2009-10-08 02:10:28 -05:00
Slava Pestov
db29d60e8e
vm: add code block marking to full_collector.cpp
2009-10-08 00:23:29 -05:00
Slava Pestov
1f8495a62f
vm/os-netbsd.cpp: fix double-free error
2009-10-07 21:49:04 -05:00
Slava Pestov
6939759f46
vm: working on new object-oriented garbage collector
2009-10-07 15:48:09 -05:00
Slava Pestov
23e133e383
vm: make a new old_space type to encapsulate a few things, split up generations array somewhat
2009-10-07 14:05:09 -05:00
Slava Pestov
651a7fb6fa
vm: replace generations array with individual instance variables referencing zone objects
2009-10-07 11:59:59 -05:00
Slava Pestov
3914b0264b
vm: rename a few things
2009-10-07 08:40:28 -05:00
Slava Pestov
5c774d8c84
vm: more code cleanups
2009-10-07 08:33:54 -05:00
Slava Pestov
1f76a64e91
vm: more refactoring
2009-10-06 20:45:47 -05:00
Slava Pestov
6789a40fc6
vm: refactor forwarding pointer logic
2009-10-06 19:15:54 -05:00
Slava Pestov
93d49428fb
vm: simplify some code
2009-10-06 08:55:42 -05:00
Slava Pestov
2311891910
vm: faster zone::contains_p()
2009-10-06 06:47:56 -05:00
Slava Pestov
8fcd6a3789
vm: simplify logic
2009-10-06 06:36:43 -05:00
Slava Pestov
697e2342d0
vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool
2009-10-06 06:25:07 -05:00
Slava Pestov
16c3251072
vm: free up a cell in compiled code block headers
2009-10-06 05:52:45 -05:00
Slava Pestov
2ca0044dd0
vm: tweak
2009-10-06 04:57:44 -05:00
Slava Pestov
ed1ee19ce1
vm: add a remembered set for code blocks which may reference young literals. Improves loading time
2009-10-06 04:36:34 -05:00
Slava Pestov
b50d3f3fb0
vm: number of generations is not configurable anymore, split up begin_gc() and end_gc() into collect_{nursery,aging,aging_again,tenured}()
2009-10-06 02:39:12 -05:00
Slava Pestov
d10e27149c
vm: cleanup
2009-10-06 01:42:17 -05:00
Slava Pestov
e2fcec6a99
Merge branch 'master' into new_gc
2009-10-06 01:31:50 -05:00
Slava Pestov
884ac79423
vm: minor tweaks which reduce image size by ~300kb
2009-10-06 01:31:39 -05:00
Slava Pestov
47c735d81d
vm: more GC refactoring
2009-10-06 00:13:54 -05:00
Slava Pestov
bae2240f62
vm: refactoring garbage collector
2009-10-05 22:16:08 -05:00
Slava Pestov
36c1fcdbe8
Merge branch 'for-slava' of git://git.rfc1149.net/factor
2009-10-05 18:29:31 -05:00
Slava Pestov
b4e36608da
compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb
2009-10-05 05:27:49 -05:00
Slava Pestov
718cb8b579
vm: fix VM constructor
2009-10-05 04:31:35 -05:00
Slava Pestov
95655c26b4
vm: remove debug message
2009-10-05 03:28:36 -05:00
Slava Pestov
6c047127ee
Change C++ exception usage back into a longjmp() due to GCC bugs
2009-10-05 03:27:28 -05:00
Doug Coleman
77860bc95d
let's work with cygwin here..._ftelli64 -> ftello64 on cygwin. fine i guess
2009-10-04 06:10:57 -05:00
Doug Coleman
00efd780c9
Merge branch 'master' of git://factorcode.org/git/factor
2009-10-03 18:27:38 -05:00
Doug Coleman
11d55131de
add ftell primitive
2009-10-03 18:20:35 -05:00
Samuel Tardieu
2bbad8d837
Remove two small memory leaks on Linux
2009-10-03 18:18:07 +02:00
Slava Pestov
24ba367ca0
vm.hpp: fix typo
2009-10-03 09:47:06 -05:00
Slava Pestov
c4ef640f4d
Big VM cleanup
...
- Move forward declarations of 'struct factor_vm' to one place
- Rename template parameters from T and TYPE to descriptive names. New convention: CamelCase for template parameters
- Change some higher-order functions taking function pointers into templates, and define classes overriding operator(). There's a bit of new boilerplate here but its more consistent than the old mish-mash approaches
- Put GC state into a gc_state struct
- Use exceptions instead of longjmp for non-local control transfer in GC
- In code GC, instead of interleaving code block tracing with copying, add code blocks which need to be revisited to an std::set stored in the gc_state
2009-10-03 08:47:05 -05:00
Slava Pestov
cfc8b06ac0
vm: cleanup in os-genunix.cpp
2009-10-02 20:36:19 -05:00
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
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
Slava Pestov
efde9b8d10
callstack>array was keeping an uninitialized array around across potential GCs; add more assertions
2009-05-17 18:18:07 -05:00
Slava Pestov
1e6227fe68
os-linux.cpp: inotify wrappers should be VM_C_API
2009-05-13 03:49:51 -05:00
Slava Pestov
9ef162e2ef
More VM cleanups
2009-05-13 01:08:16 -05:00
Slava Pestov
69cb3dee5e
Fix FEP if there are too many words in the image, clean up some VM code
2009-05-13 00:58:54 -05:00
Slava Pestov
3987468ff3
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-12 16:23:26 -05:00
Slava Pestov
e0f4b18709
Link VM with OpenSSL on NetBSD otherwise it can't find some symbols
2009-05-12 16:23:09 -05:00
Slava Pestov
6e08e29a3a
Remove compiled slot from quotations since its not needed
2009-05-12 03:09:15 -05:00
Slava Pestov
aa3aa715be
Slightly more space-efficient dispatch table representation
2009-05-09 20:24:32 -05:00
Slava Pestov
04a70da513
Fix compile error in cpu-ppc.hpp
2009-05-08 17:41:22 -05:00
Slava Pestov
367724f41e
Fix Windows compile error
2009-05-08 15:23:44 -05:00
Slava Pestov
ace084b633
Need to include unistd.h
2009-05-08 15:15:10 -05:00
Slava Pestov
3bf8134476
VM cleanup: replace some #defines with constants and inline functions
2009-05-08 15:05:55 -05:00
Slava Pestov
5c4bb80bc3
Update PowerPC %jump and %dispatch-label, and add PIC-related functions to cpu-ppc.hpp
2009-05-07 19:47:38 -05:00
Slava Pestov
3591f6c684
Count megamorphic cache hits
2009-05-07 14:26:08 -05:00
Slava Pestov
d7b40d72a0
Code cleanups
2009-05-07 12:33:31 -05:00
Slava Pestov
318552ba60
Fix tail call PICs on x86-64
2009-05-06 22:44:30 -05:00
Slava Pestov
4915e1ced7
Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs
2009-05-06 22:04:01 -05:00
Slava Pestov
12a34d81f7
JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends
2009-05-06 20:04:49 -05:00
Slava Pestov
581d017b46
Working on inline caching for tail call sites
2009-05-06 19:22:22 -05:00
Slava Pestov
49409b4d8c
Working on PowerPC backend
2009-05-06 15:39:03 -05:00
Slava Pestov
867ff51b83
Remove some unused constants and update an obsolete comment
2009-05-06 14:57:17 -05:00
Slava Pestov
a961e17ef1
Add new RC_ABSOLUTE_PPC_2 relocation type
2009-05-05 20:56:23 -05:00
Slava Pestov
58d0e17936
Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu
2009-05-05 18:37:40 -05:00
Slava Pestov
be207afe9a
Fix VM compile error
2009-05-05 16:19:13 -05:00
Slava Pestov
8d5d1b8bb5
Fix VM code to export the right symbols on Windows
2009-05-05 15:55:41 -05:00
Slava Pestov
3295c54bff
Remove debug messages from VM
2009-05-05 14:27:22 -05:00
Slava Pestov
56597b65f4
VM now compiles with GCC 3.4 on Windows
2009-05-05 14:17:02 -05:00
unknown
cc9ac345fa
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-05 13:03:43 -05:00
unknown
6e26c7b554
Fixing compile errors on Windows
2009-05-05 13:03:24 -05:00
Slava Pestov
53db9d737a
Change (void) to ()
2009-05-05 11:33:35 -05:00
Slava Pestov
786b9096e2
Store forwarding table off to the side instead of in the code block; saves one cell per code block
2009-05-05 11:07:20 -05:00
Slava Pestov
12de56c41e
Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image)
2009-05-05 10:29:22 -05:00
Slava Pestov
029d93a838
Make walker work better with call( and breakpoints which are nested inside combinators
2009-05-05 09:12:32 -05:00
Slava Pestov
0682c3da39
Some VM fixes
2009-05-04 15:11:31 -05:00
sheeple
dbc245729c
use eg++ on openbsd
2009-05-04 11:48:46 -05:00
Slava Pestov
fb5b48c71a
Fix some test failures
2009-05-04 09:44:26 -05:00
Slava Pestov
fb9086d191
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-04 08:31:56 -05:00
Slava Pestov
f812f70473
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-04 09:08:46 -04:00
Slava Pestov
7a80307b52
Fix problem caused by different behavior of GCC 4.0 -vs- 4.3
2009-05-04 09:08:33 -04:00
Samuel Tardieu
f3a9234422
Make the primitives array const
2009-05-04 14:45:15 +02:00