factor/vm
Doug Coleman f791c8c5d2 Squashed commit of the following:
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500

    Fix bootstrap, move privileges to windows.privileges

commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500

    Hopefully fix bootstrap

commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500

    Remove wince from factor codebase

commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500

    Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
..
Config.arm vm: Remove some dead code 2010-01-07 13:54:22 +13:00
Config.freebsd vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Config.freebsd.x86.32
Config.freebsd.x86.64
Config.linux vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Config.linux.arm
Config.linux.ppc
Config.linux.x86.32
Config.linux.x86.64
Config.macosx vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Config.macosx.ppc
Config.macosx.x86.32
Config.macosx.x86.64
Config.netbsd vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Config.netbsd.x86.32
Config.netbsd.x86.64
Config.openbsd vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
Config.openbsd.x86.32
Config.openbsd.x86.64
Config.ppc Starting to update PowerPC backend for recent VM changes (untested) 2010-01-08 19:46:27 +13:00
Config.solaris link against librt 2009-11-18 11:09:05 -06:00
Config.solaris.x86.32
Config.solaris.x86.64
Config.unix
Config.windows Squashed commit of the following: 2010-09-19 19:13:25 -05:00
Config.windows.x86.32 Squashed commit of the following: 2010-09-19 19:13:25 -05:00
Config.windows.x86.64 Squashed commit of the following: 2010-09-19 19:13:25 -05:00
Config.x86.32 Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S 2010-01-07 17:39:22 +13:00
Config.x86.64 vm: rework platform.hpp so that it is no longer necessary to pass -DFACTOR_64 and -DWINDOWS when compiling VM 2010-01-13 23:06:45 +13:00
aging_collector.cpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
aging_collector.hpp vm: make some more ctors explicit just for kicks 2009-10-24 23:02:58 -05:00
aging_space.hpp vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC 2009-11-05 19:03:51 -06:00
alien.cpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
alien.hpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
allot.hpp Big cleanup of literal table and relocation-related code 2009-12-02 00:48:41 -06:00
arrays.cpp Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils 2010-02-03 23:11:32 +13:00
arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
bignum.cpp quiet some data conversions warnings raised by msvc 2010-05-05 22:22:13 -07:00
bignum.hpp
bignumint.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
bitwise_hacks.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
booleans.cpp More FFI cleanups 2010-05-05 01:13:45 -04:00
booleans.hpp More FFI cleanups 2010-05-05 01:13:45 -04:00
bump_allocator.hpp vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC 2009-11-05 19:03:51 -06:00
byte_arrays.cpp compiler.cfg: nuke ##allot-byte-array instruction 2010-07-16 19:57:45 -04:00
byte_arrays.hpp compiler.cfg: nuke ##allot-byte-array instruction 2010-07-16 19:57:45 -04:00
callbacks.cpp vm: fix callback heap code on 64-bit Windows 2010-04-04 17:46:36 -04:00
callbacks.hpp vm: fix callback heap code on 64-bit Windows 2010-04-04 17:46:36 -04:00
callstack.cpp vm: a stack underflow inside a primitive could leave a data root in an uninitialized state; if allocating the thrown underflow error triggered a GC, the GC would visit a garbage pointer 2010-09-17 19:46:57 -07:00
callstack.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
code_block_visitor.hpp vm: have to be extra careful when messing with return addresses 2010-06-13 18:12:57 -04:00
code_blocks.cpp compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
code_blocks.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
code_heap.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
code_heap.hpp vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07:00
code_roots.hpp vm: add two missing files 2009-11-02 18:11:12 -06:00
collector.hpp Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction 2010-06-14 19:39:46 -04:00
compaction.cpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
compaction.hpp vm: data heap compaction work in progress 2009-10-24 04:18:33 -05:00
contexts.cpp vm: don't keep more than 10 unused contexts around to prevent address space wastage on low-budget operating systems like OpenBSD 2010-09-17 20:52:27 -07:00
contexts.hpp Fix start-context-and-delete sub-primitive (reported by Sascha Matzke) 2010-08-02 20:28:23 -04:00
copying_collector.hpp vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
cpu-arm.hpp vm: Remove some dead code 2010-01-07 13:54:22 +13:00
cpu-ppc.S Starting to update PowerPC backend for recent VM changes (untested) 2010-01-08 19:46:27 +13:00
cpu-ppc.hpp cpu.ppc: updating non-optimizing compiler backend for green threads (untested) 2010-03-31 15:19:14 -04:00
cpu-x86.32.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
cpu-x86.64.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
cpu-x86.hpp Get green threads working on Windows 2010-04-03 20:24:33 -04:00
data_heap.cpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
data_heap.hpp vm: grow the heap if a full collection doesn't reclaim enough space 2009-12-05 19:03:53 -05:00
data_heap_checker.cpp Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13:00
data_roots.hpp vm: faster data_root and <array> primitive 2009-11-06 05:30:37 -06:00
debug.cpp vm: fep g command prints addresses in h hex for readability 2010-09-09 20:36:50 -07:00
debug.hpp
dispatch.cpp vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this 2010-04-12 14:22:41 -07:00
dispatch.hpp tools.time: overhaul 2009-11-05 01:07:59 -06:00
entry_points.cpp vm: fix crash when doing GC with profiling enabled 2010-09-03 21:54:40 -05:00
entry_points.hpp Fix three problems discovered by running math.floats.env tests in a loop: 2010-09-02 22:57:14 -05:00
errors.cpp vm: a stack underflow inside a primitive could leave a data root in an uninitialized state; if allocating the thrown underflow error triggered a GC, the GC would visit a garbage pointer 2010-09-17 19:46:57 -07:00
errors.hpp vm: report callstack overflow 2010-03-27 07:45:11 -04:00
factor.cpp vm: increase default code heap size 2010-09-04 12:05:23 -07:00
factor.hpp vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
factor.rs vm: change id of windows app icon resource to more standard "APPICON" 2010-02-15 11:26:56 -08:00
ffi_test.c vm: fix compiler warnings raised by CL 2010-04-12 18:12:55 -05:00
ffi_test.h add tests for struct returns from fastcall 2010-04-01 23:52:56 -07:00
fixup.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
float_bits.hpp
free_list.cpp Big cleanup of literal table and relocation-related code 2009-12-02 00:48:41 -06:00
free_list.hpp vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile. 2010-01-17 03:43:22 +13:00
free_list_allocator.hpp vm: improved fingering technique 2010-06-16 19:08:58 -04:00
full_collector.cpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
full_collector.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
gc.cpp vm: don't need to save/restore FPU state when doing GC anymore, since we don't call nano_count() unless GC events are being recorded. If you want to record GC events with FP traps on, you're out of luck 2010-09-04 16:16:22 -05:00
gc.hpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
gc_info.cpp vm: fix compile warnings on Windows and add /WX to Nmakefile to report warnings as errors so that mason can catch these in the future 2010-06-17 01:48:39 -04:00
gc_info.hpp vm: fix compile warnings on Windows and add /WX to Nmakefile to report warnings as errors so that mason can catch these in the future 2010-06-17 01:48:39 -04:00
generic_arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
image.cpp vm: fix RT_HERE fixup on image load 2010-06-11 21:54:47 -04:00
image.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
inline_cache.cpp vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this 2010-04-12 14:22:41 -07:00
inline_cache.hpp
instruction_operands.cpp compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
instruction_operands.hpp compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
io.cpp vm: C I/O streams became unusable after a single EOF (reported by John Benediktsson) 2010-08-22 20:56:29 -07:00
io.hpp Refactor error handling in io.cpp. Update image.cpp and header files for changes. 2010-02-04 23:53:54 -06:00
jit.cpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
jit.hpp vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this 2010-04-12 14:22:41 -07:00
layouts.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
mach_signal.cpp vm: Remove signal_callstack_top nonsense 2010-09-02 22:57:17 -05:00
mach_signal.hpp vm: hard tabs, indent width 8 2010-08-02 20:50:34 -04:00
main-unix.cpp
main-windows.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
mark_bits.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
master.hpp vm: don't keep more than 10 unused contexts around to prevent address space wastage on low-budget operating systems like OpenBSD 2010-09-17 20:52:27 -07:00
math.cpp compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
math.hpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
mvm-none.cpp vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
mvm-unix.cpp vm: fix typos 2010-03-29 02:27:45 -04:00
mvm-windows.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
mvm.cpp vm: fix typos 2010-03-29 02:27:45 -04:00
mvm.hpp vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD 2010-03-29 02:23:21 -04:00
nursery_collector.cpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
nursery_collector.hpp vm: make some more ctors explicit just for kicks 2009-10-24 23:02:58 -05:00
nursery_space.hpp vm: make some more ctors explicit just for kicks 2009-10-24 23:02:58 -05:00
object_start_map.cpp vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile. 2010-01-17 03:43:22 +13:00
object_start_map.hpp vm: faster sweep algorithm 2009-11-01 20:24:25 -06:00
objects.cpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
objects.hpp Fix three problems discovered by running math.floats.env tests in a loop: 2010-09-02 22:57:14 -05:00
os-freebsd-x86.32.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
os-freebsd-x86.64.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
os-freebsd.cpp
os-freebsd.hpp vm: fix compilation on various Unices 2010-03-27 09:44:20 -04:00
os-genunix.cpp vm: speed up nano-count primitive on Mac OS X 2010-04-11 20:26:11 -07:00
os-genunix.hpp vm: don't try loading Factor VM DLL anymore 2010-04-02 00:03:26 -04:00
os-linux-arm.cpp vm: clean up TLS usage 2010-03-27 03:44:40 -04:00
os-linux-arm.hpp 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
os-linux-ppc.hpp 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
os-linux-x86.32.hpp 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
os-linux-x86.64.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
os-linux.cpp vm: fix compile error on Linux if inotify is not available (reported by Alec Barryman) 2010-07-31 18:33:53 -04:00
os-linux.hpp vm: fix compilation on various Unices 2010-03-27 09:44:20 -04:00
os-macosx-ppc.hpp vm: hard tabs, indent width 8 2010-08-02 20:50:34 -04:00
os-macosx-x86.32.hpp vm: hard tabs, indent width 8 2010-08-02 20:50:34 -04:00
os-macosx-x86.64.hpp vm: hard tabs, indent width 8 2010-08-02 20:50:34 -04:00
os-macosx.hpp vm: don't try loading Factor VM DLL anymore 2010-04-02 00:03:26 -04:00
os-macosx.mm vm: remove some mixed use of stdio/iostream. when monotonic timer decreases, log old and new values 2010-08-01 16:14:20 -07:00
os-netbsd-x86.32.hpp 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
os-netbsd-x86.64.hpp 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
os-netbsd.cpp
os-netbsd.hpp vm: fix compilation on various Unices 2010-03-27 09:44:20 -04:00
os-openbsd-x86.32.hpp 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
os-openbsd-x86.64.hpp 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
os-openbsd.cpp
os-openbsd.hpp vm: fix OpenBSD compilation 2010-03-28 12:53:01 -04:00
os-solaris-x86.32.hpp 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
os-solaris-x86.64.hpp 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
os-solaris.cpp
os-unix.cpp vm/os-unix.cpp: set pipe file descriptors to close on exec 2010-09-15 22:20:24 -07:00
os-unix.hpp Change how SIGPIPE is ignored, and add a unit test to io.launcher.unix to ensure that this ignoredness is not inherited by child processes 2010-09-02 22:11:45 -07:00
os-windows-x86.32.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
os-windows-x86.64.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
os-windows.32.hpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
os-windows.64.hpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
os-windows.cpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
os-windows.hpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
platform.hpp Squashed commit of the following: 2010-09-19 19:13:25 -05:00
primitives.cpp Using a higher-order C macro to clean up duplication in declaring/defining VM primitives 2010-03-19 14:05:14 -04:00
primitives.hpp compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
profiler.cpp vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units 2010-02-03 23:11:28 +13:00
profiler.hpp
quotations.cpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
quotations.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
run.cpp vm: hard tabs, indent width 8 2010-08-02 20:50:34 -04:00
run.hpp vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC 2009-11-05 19:03:51 -06:00
safeseh.asm vm/safeseh.asm: make exception_handler proto declaration explicitly "proto c" so linking works properly with VS 2010 (reported by Doug Coleman) 2010-06-24 13:19:02 -07:00
segments.hpp vm: signal handling cleanup 2010-03-27 07:33:28 -04:00
slot_visitor.hpp vm: fix another compile warning on 32-bit Windows 2010-06-17 01:04:03 -05:00
strings.cpp strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
strings.hpp vm: use iostreams instead of printf for debug messages, clean up a few things 2009-10-21 20:12:57 -05:00
tagged.hpp New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
tenured_space.hpp vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand 2009-11-23 19:17:12 -06:00
to_tenured_collector.cpp vm: don't call nano_count() from the GC at all, unless GC event recording is on 2010-09-04 13:21:45 -07:00
to_tenured_collector.hpp vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand 2009-11-23 19:17:12 -06:00
tuples.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
tuples.hpp vm: move binary_payload_start() method from factor_vm to object class 2009-10-24 04:27:45 -05:00
utilities.cpp vm: remove some mixed use of stdio/iostream. when monotonic timer decreases, log old and new values 2010-08-01 16:14:20 -07:00
utilities.hpp strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
vm.cpp vm: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04:00
vm.hpp vm: don't keep more than 10 unused contexts around to prevent address space wastage on low-budget operating systems like OpenBSD 2010-09-17 20:52:27 -07:00
words.cpp compiler.cfg: open-code parameter boxing and unboxing for certain C types 2010-07-19 10:25:13 -04:00
words.hpp vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits 2009-10-20 09:37:24 -05:00
write_barrier.hpp