factor/vm
Slava Pestov ff0e084f94 vm: dllexport exception_handler for great justice 2010-04-05 15:48:09 -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 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 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.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: signal handling cleanup 2010-03-27 07:33:28 -04: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 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 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
bignumint.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
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 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 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
callstack.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
code_block_visitor.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04:00
code_blocks.cpp vm: fix compile error 2010-04-04 13:53:17 -05: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 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
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: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04: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 vm: pre-allocate context alien 2010-04-02 00:02:21 -04:00
contexts.hpp vm: re-organize context structure 2010-04-02 15:42:29 -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 vm: actually use context callstacks when running code 2010-03-26 22:44:43 -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: actually use context callstacks when running code 2010-03-26 22:44:43 -04: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 threads: use context-switching primitives 2010-03-29 20:40:17 -04:00
errors.hpp vm: report callstack overflow 2010-03-27 07:45:11 -04:00
factor.cpp vm: larger default callstack on PowerPC 2010-04-02 14:09:58 -04: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 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 vm: fix ffi_test.h 2010-02-02 05:15:42 -05: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 Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06: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: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
gc.hpp vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
generic_arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
image.cpp Refactor error handling in io.cpp. Update image.cpp and header files for changes. 2010-02-04 23:53:54 -06:00
image.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04: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 Get green threads working on Windows 2010-04-03 20:24:33 -04:00
io.cpp vm: signal handling cleanup 2010-03-27 07:33:28 -04: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 vm: big overhaul of non-optimizing compiler 2009-12-15 07:20:09 -05:00
jit.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06: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 vm: signal handling cleanup 2010-03-27 07:33:28 -04: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 vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
math.cpp vm: signal handling cleanup 2010-03-27 07:33:28 -04:00
math.hpp vm: remove VM_ASM_API 2009-12-24 01:37:24 +13: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-nt.cpp vm: fix typos 2010-03-29 02:27:45 -04: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: 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 Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct 2010-03-18 22:06:00 +13:00
objects.hpp threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread 2010-03-30 21:47:48 -04: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: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04: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: 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 vm: fix compilation on various Unices 2010-03-27 09:44:20 -04:00
os-macosx-ppc.hpp vm: signal handling cleanup 2010-03-27 07:33:28 -04:00
os-macosx-x86.32.hpp vm: signal handling cleanup 2010-03-27 07:33:28 -04:00
os-macosx-x86.64.hpp vm: signal handling cleanup 2010-03-27 07:33:28 -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: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04: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: don't try loading Factor VM DLL anymore 2010-04-02 00:03:26 -04:00
os-unix.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
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 vm: dllexport exception_handler for great justice 2010-04-05 15:48:09 -05:00
os-windows-nt.hpp vm: dllexport exception_handler for great justice 2010-04-05 15:48:09 -05:00
os-windows.cpp vm: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04:00
os-windows.hpp vm: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04:00
platform.hpp vm: dllexport exception_handler for great justice 2010-04-05 15:48:09 -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 vm: pre-allocate context alien 2010-04-02 00:02:21 -04: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 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
safeseh.asm Safe SEH is better than abstinence 2010-04-05 15:02:32 -05:00
segments.hpp vm: signal handling cleanup 2010-03-27 07:33:28 -04:00
slot_visitor.hpp vm: actually use context callstacks when running code 2010-03-26 22:44:43 -04: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 vm: use sigaltstack to handle callstack overflow properly 2010-03-28 11:37:28 -04:00
vm.hpp Get green threads working on Windows 2010-04-03 20:24:33 -04: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