factor/vm
Slava Pestov c2558e6a66 vm: fix longlong accessors 2010-05-11 23:24:48 -04: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 vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07:00
Config.windows.nt.x86.64 vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07: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: fix longlong accessors 2010-05-11 23:24:48 -04:00
alien.hpp compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first 2010-05-10 01:38:34 -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 Big VM cleanup 2009-10-03 08:47:05 -05:00
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 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 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 Add callstack-bounds primitive to vm/ for use with javascriptcore library 2010-04-19 20:08:15 -05: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 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 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 vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07: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 vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
compaction.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
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 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -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 strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04: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 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 quiet some data conversions warnings raised by msvc 2010-05-05 22:22:13 -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
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 silence more msvc warnings 2010-05-05 22:32:45 -07:00
gc.hpp New GC checks work in progress 2010-05-03 17:34:16 -04:00
generic_arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
image.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
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 silence more msvc warnings 2010-05-05 22:32:45 -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 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
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 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
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 FFI rewrite part 4: parameter and return value unboxing redesign 2010-05-11 19:11:44 -04:00
math.hpp vm: fix compile error 2010-05-11 19:29:50 -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-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: 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: 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: speed up nano-count primitive on Mac OS X 2010-04-11 20:26:11 -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 vm/os-netbsd.cpp: fix double-free error 2009-10-07 21:49:04 -05:00
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-x86.32.cpp vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07:00
os-windows-nt-x86.64.cpp vm: implement frame-based SEH for 64-bit Windows 2010-04-08 10:32:14 -07: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: speed up nano-count primitive on Windows 2010-04-11 22:27:49 -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: fix longlong accessors 2010-05-11 23:24:48 -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 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
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: 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 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 compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first 2010-05-10 01:38:34 -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