Commit Graph

1083 Commits (ffafafd951ada6137e3bd66ad7b0286fb2755cc7)

Author SHA1 Message Date
Slava Pestov 6597e0ea3a vm/mark_bits.hpp: fix incorrect constructor argument order 2009-10-22 23:41:02 -05:00
Slava Pestov 3394309659 Merge branch 'master' into new_gc 2009-10-22 05:40:57 -05:00
Slava Pestov 3d5c3935ad vm: fix compilation 2009-10-22 06:38:02 -04:00
Slava Pestov f24942e063 vm: clean up signal handling and add EXC_BAD_INSTRUCTION Mach exception handler for OS X, since signal handlers cannot change the stack pointer 2009-10-22 05:22:59 -05:00
Joe Groff 432d4f79e9 give better error message for windows exceptions, and don't lop off the top end of the exception code when the vm throws the error 2009-10-21 23:37:51 -05:00
Slava Pestov 606a805d7d vm: debugging mark and sweep 2009-10-21 23:24:35 -05:00
Slava Pestov 40351d40be vm: use iostreams instead of printf for debug messages, clean up a few things 2009-10-21 20:12:57 -05:00
Slava Pestov af855b7fa9 vm: debugging mark-sweep 2009-10-21 19:41:54 -05:00
Slava Pestov 814f6371d6 vm: mark sweep gc for tenured space work in progress 2009-10-20 22:20:49 -05:00
Slava Pestov f0816d72f1 vm: split off free_list_allocator from heap class, rename zone to bump_allocator 2009-10-20 15:26:11 -05:00
Slava Pestov a9dbbd1efb vm: simplify code heap by eliminating HeapLayout template parameter 2009-10-20 14:01:46 -05:00
Slava Pestov e482940dca vm: object start recording in cards is now independent of allocation strategy 2009-10-20 13:47:04 -05:00
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