factor/vm
Slava Pestov bf05a901c4 Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI 2010-02-02 04:01:12 -06:00
..
Config.arm vm: Remove some dead code 2010-01-07 13:54:22 +13:00
Config.freebsd link against librt 2009-11-18 11:09:05 -06:00
Config.freebsd.x86.32
Config.freebsd.x86.64
Config.linux link against librt 2009-11-18 11:09:05 -06:00
Config.linux.arm
Config.linux.ppc
Config.linux.x86.32
Config.linux.x86.64
Config.macosx
Config.macosx.ppc
Config.macosx.x86.32
Config.macosx.x86.64
Config.netbsd link against librt 2009-11-18 11:09:05 -06:00
Config.netbsd.x86.32
Config.netbsd.x86.64
Config.openbsd Work around gcc bug on openbsd 2010-01-16 23:59:16 -06: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 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
Config.windows.ce
Config.windows.ce.arm
Config.windows.nt
Config.windows.nt.x86.32
Config.windows.nt.x86.64 Update Win64 support 2010-01-25 15:39:34 +13: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 Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13: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 vm: remove vm-ptr primitive 2010-01-20 17:06:49 +13:00
alien.hpp Get optimizing compiler working without global register variables in VM 2009-12-22 15:42:49 +13:00
allot.hpp Big cleanup of literal table and relocation-related code 2009-12-02 00:48:41 -06:00
arrays.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
bignum.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
bignum.hpp Big VM cleanup 2009-10-03 08:47:05 -05:00
bignumint.hpp
bitwise_hacks.hpp Update Win64 support 2010-01-25 15:39:34 +13:00
booleans.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
booleans.hpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13: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 vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
byte_arrays.hpp vm: fix GC safety issue in callers of unbox_array_size(), and change how disable-gc-events works so that it doesn't make a byte array that's too large 2009-11-11 05:21:03 -06:00
callbacks.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
callbacks.hpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
callstack.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
callstack.hpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
code_block_visitor.hpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
code_blocks.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
code_blocks.hpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
code_heap.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
code_heap.hpp Get modify-code-heap working if stack traces are stripped (but then it won't update existing code blocks), and rename code_heap::code_heap_free() to code_heap::free() 2009-12-02 05:27:48 -06:00
code_roots.hpp vm: add two missing files 2009-11-02 18:11:12 -06:00
collector.hpp vm: flush icache after GC 2009-11-24 21:36:35 -06:00
compaction.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
compaction.hpp vm: data heap compaction work in progress 2009-10-24 04:18:33 -05:00
contexts.cpp Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM 2010-01-03 01:11:51 +13:00
contexts.hpp Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM 2010-01-03 01:11:51 +13: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 PowerPC optimizing compiler backend fixes 2010-01-12 08:02:10 -06: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 Update Win64 support 2010-01-25 15:39:34 +13:00
data_heap.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13: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 Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images. 2010-01-22 12:59:20 -06:00
debug.hpp
dispatch.cpp vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler 2009-12-19 10:59:56 +13:00
dispatch.hpp tools.time: overhaul 2009-11-05 01:07:59 -06:00
entry_points.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
entry_points.hpp Update x86-32 for assembly entry point changes 2010-01-06 17:55:20 +13:00
errors.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
errors.hpp Remove unused error from VM 2009-11-05 21:52:31 -06:00
factor.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
factor.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
factor.rs
ffi_test.c Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI 2010-02-02 04:01:12 -06:00
ffi_test.h Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI 2010-02-02 04:01:12 -06: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 Big cleanup of literal table and relocation-related code 2009-12-02 00:48:41 -06:00
full_collector.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
full_collector.hpp Split literal table into literal and parameter tables, literal table is discarded after code block initialization 2009-12-02 04:28:15 -06:00
gc.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
gc.hpp Revert "Revert "vm: faster allocation in tenured space and code heap. If small free list exhausted, allocate a 1kb block and split it up instead of searching larger free lists"" 2009-11-11 19:33:50 -06:00
generic_arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
image.cpp Fix image save on Windows 2010-01-22 12:59:36 -06:00
image.hpp vm: Clean up more code duplication and rename a few methods 2009-12-02 01:17:30 -06:00
inline_cache.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
inline_cache.hpp
instruction_operands.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
instruction_operands.hpp Update Win64 support 2010-01-25 15:39:34 +13:00
io.cpp unix-system-call io-error -> unix-system-call drop 2010-01-23 09:07:35 -06:00
io.hpp Tighten up libc file io code to avoid EINTR problems 2010-01-22 12:59:14 -06:00
jit.cpp vm: big overhaul of non-optimizing compiler 2009-12-15 07:20:09 -05:00
jit.hpp vm: big overhaul of non-optimizing compiler 2009-12-15 07:20:09 -05:00
layouts.hpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
mach_signal.cpp Merge branch 'master' into new_gc 2009-10-22 05:40:57 -05:00
mach_signal.hpp
main-unix.cpp
main-windows-ce.cpp Use ParseCommandLineArgvw() on Windows again, instead of hand-rolled parser. Update Nmakefile to link in shell32.dll, where this function is defined 2010-01-18 06:12:04 -06:00
main-windows-nt.cpp Use ParseCommandLineArgvw() on Windows again, instead of hand-rolled parser. Update Nmakefile to link in shell32.dll, where this function is defined 2010-01-18 06:12:04 -06:00
mark_bits.hpp Big cleanup of literal table and relocation-related code 2009-12-02 00:48:41 -06:00
master.hpp Update Win64 support 2010-01-25 15:39:34 +13:00
math.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
math.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
nursery_collector.cpp vm: minor GC traces embedded pointers 2009-11-22 13:37:39 -06: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 vm: 'become' primitive needs to update literal references in code blocks 2010-01-27 18:42:31 +13:00
objects.hpp vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13:00
os-freebsd-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-freebsd-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-freebsd.cpp
os-freebsd.hpp
os-genunix.cpp vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13:00
os-genunix.hpp vm: fix compilation 2009-10-22 06:38:02 -04:00
os-linux-arm.cpp Removed VM_PTR macros. All builds reentrant by default 2009-10-14 19:14:57 +01: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 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.cpp vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions 2009-10-18 20:31:59 -05:00
os-linux.hpp
os-macosx-ppc.hpp vm: fix compilation 2009-10-22 06:38:02 -04:00
os-macosx-x86.32.hpp vm: fix compilation 2009-10-22 06:38:02 -04:00
os-macosx-x86.64.hpp vm: fix compilation 2009-10-22 06:38:02 -04:00
os-macosx.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-macosx.mm vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64 2010-01-06 15:47:36 +13: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 vm/os-netbsd.cpp: fix double-free error 2009-10-07 21:49:04 -05:00
os-netbsd.hpp
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-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: 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
os-unix.hpp Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images. 2010-01-22 12:59:20 -06:00
os-windows-ce.cpp rename millis to system-millis, micros to system-micros, add nano-count 2009-11-18 15:58:48 -06:00
os-windows-ce.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
os-windows-nt.32.hpp
os-windows-nt.64.hpp Update Win64 support 2010-01-25 15:39:34 +13:00
os-windows-nt.cpp Update Win64 support 2010-01-25 15:39:34 +13:00
os-windows-nt.hpp Nmakefile: build factor.dll and link in resource file 2010-01-16 22:41:17 -06:00
os-windows.cpp Use ParseCommandLineArgvw() on Windows again, instead of hand-rolled parser. Update Nmakefile to link in shell32.dll, where this function is defined 2010-01-18 06:12:04 -06:00
os-windows.hpp Fix image save on Windows 2010-01-22 12:59:36 -06:00
platform.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
primitives.cpp vm: remove vm-ptr primitive 2010-01-20 17:06:49 +13:00
primitives.hpp vm: remove vm-ptr primitive 2010-01-20 17:06:49 +13:00
profiler.cpp Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types 2010-01-18 20:54:00 +13:00
profiler.hpp
quotations.cpp vm: don't recompile lazy-jit-compile more than once 2010-01-20 02:48:31 +13:00
quotations.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13:00
run.cpp Update Win64 support 2010-01-25 15:39:34 +13: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
segments.hpp vm: allocate stacks and data heap segments without execute permissions 2009-10-16 05:16:12 -05:00
slot_visitor.hpp vm: big overhaul of non-optimizing compiler 2009-12-15 07:20:09 -05:00
strings.cpp Update Win64 support 2010-01-25 15:39:34 +13: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: mark sweep now traces code block references; rename embedded_pointer to instruction_operand 2009-11-23 19:17:12 -06: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 Fix set-callstack primitive on Windows 2010-01-07 19:31:15 +13:00
utilities.hpp vm: add VM_C_API declaration for factor_memcpy function 2010-01-07 01:40:20 -05:00
vm.cpp Merge up 2010-01-30 20:39:43 -08:00
vm.hpp Update Win64 support 2010-01-25 15:39:34 +13:00
words.cpp vm: don't recompile lazy-jit-compile more than once 2010-01-20 02:48:31 +13: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 vm: new card marking implementation supports marking partial objects 2009-10-13 21:16:04 -05:00