factor/vm
John Benediktsson 4653df21cb vm: remove math::bignum_producer. 2011-10-11 21:24:38 -07:00
..
Config.arm vm: Remove some dead code 2010-01-07 13:54:22 +13:00
Config.freebsd 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.freebsd.x86.32
Config.freebsd.x86.64
Config.linux 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.linux.arm
Config.linux.ppc.32 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.linux.ppc.64 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.linux.x86.32
Config.linux.x86.64
Config.macosx Remove unnecessary -std=gnu99 2011-06-23 01:17:24 -04:00
Config.macosx.ppc 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.macosx.x86.32
Config.macosx.x86.64
Config.netbsd 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.netbsd.x86.32
Config.netbsd.x86.64
Config.openbsd 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.openbsd.x86.32
Config.openbsd.x86.64
Config.solaris 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Config.solaris.x86.32
Config.solaris.x86.64
Config.unix On Unix, link VM with GTK libraries instead of loading them dynamically 2011-02-27 20:01:54 -06:00
Config.windows vm: fix Config.windows 2010-10-02 23:50:48 -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 Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily 2011-09-05 16:28:00 -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 Tease out symbol name and library in undefined_symbol() handler, for friendlier errors when calling an unresolved C function name. Fixes #93 2011-09-12 00:56:24 -07: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 io.binary: make le> and be> faster (20% and 75%, respectively). 2011-10-11 21:13:30 -07:00
bignum.hpp io.binary: make le> and be> faster (20% and 75%, respectively). 2011-10-11 21:13:30 -07:00
bignumint.hpp Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
bitwise_hacks.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -07:00
callbacks.hpp vm: fix callback heap code on 64-bit Windows 2010-04-04 17:46:36 -04:00
callstack.cpp callstack.cpp: fix fat-fingered typo from undefined-symbol change 2011-09-12 23:15:09 -07:00
callstack.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 Add RT_INLINE_CACHE_MISS relocation type to avoid frequent dlsym lookups when compiling PICs. Fixes #123 2011-10-03 00:26:21 -07:00
code_blocks.hpp Tease out symbol name and library in undefined_symbol() handler, for friendlier errors when calling an unresolved C function name. Fixes #93 2011-09-12 00:56:24 -07: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: fix high_fragmentation_p assertion 2011-09-05 23:30:28 -07:00
compaction.hpp vm: data heap compaction work in progress 2009-10-24 04:18:33 -05:00
contexts.cpp vm: fix compiler warning 2010-09-27 20:37:37 -07:00
contexts.hpp Fix infinite loop and empty-dlist error when an error is thrown from a callback running in a thread other than the initial thread. This addresses part of issue #92 2011-10-02 21:59:09 -07: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.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
cpu-ppc.linux.S 32 and 64 bit Linux PPC support 2011-05-23 23:36: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 Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily 2011-09-05 16:28:00 -07:00
data_heap.hpp Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily 2011-09-05 16:28:00 -07: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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04: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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 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 Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily 2011-09-05 16:28:00 -07:00
full_collector.hpp GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
gc.cpp vm: fix high_fragmentation_p assertion 2011-09-05 23:30:28 -07: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 64-bit regression 2010-10-09 15:14:14 -07:00
gc_info.hpp vm: fix 64-bit regression 2010-10-09 15:14:14 -07:00
generic_arrays.hpp vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
image.cpp Tease out symbol name and library in undefined_symbol() handler, for friendlier errors when calling an unresolved C function name. Fixes #93 2011-09-12 00:56:24 -07: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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
instruction_operands.hpp Add RT_INLINE_CACHE_MISS relocation type to avoid frequent dlsym lookups when compiling PICs. Fixes #123 2011-10-03 00:26:21 -07: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 Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -07:00
jit.hpp Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
math.cpp vm: remove math::bignum_producer. 2011-10-11 21:24:38 -07:00
math.hpp Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float 2010-11-24 22:41:15 -08: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 Change do-callback to register the current thread with the callback, instead of busy waiting for the current callback to become the right one before returning. Fixes 100% CPU usage issue with system-alert. Thanks to Blei and ex-rzr for doing preliminary analysis of the issue 2011-04-12 21:48:54 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-linux-ppc.32.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-linux-ppc.64.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-linux-x86.32.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-linux-x86.64.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-linux.cpp Remove inotify system call wrappers. Hopefully everyone is using a recent glibc now. Fixes #86 2011-09-08 22:03:56 -07:00
os-linux.hpp Remove inotify system call wrappers. Hopefully everyone is using a recent glibc now. Fixes #86 2011-09-08 22:03:56 -07: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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-solaris-x86.32.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-solaris-x86.64.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-solaris.cpp
os-unix.cpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04: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 Remove Windows CE from core/ basis/ and build-support/ 2011-09-18 23:19:06 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
os-windows.hpp Remove Windows CE from core/ basis/ and build-support/ 2011-09-18 23:19:06 -05:00
platform.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04: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 io.binary: make le> and be> faster (20% and 75%, respectively). 2011-10-11 21:13:30 -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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -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 64-bit regression 2010-10-09 15:14:14 -07: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 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
utilities.hpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
vm.cpp 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
vm.hpp vm: remove math::bignum_producer. 2011-10-11 21:24:38 -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