factor/vm
Björn Lindqvist c02d913579 VM: big refactoring removing the gc_workhorse
Each collector were a slot_visitor containing a gc_workhorse containing
a policy class. This commit removes the gc_workhorse and the policies
and instead "inlines" the common code in the collector bodies. So there
is more code duplication, but the control flow doesn't "jump around" so
much so it is easier to understand. It also makes the nursery gc faster
because its collection code can be optimized better without the
workhorse/policy system.
2016-09-22 13:12:59 +02:00
..
Config.arm GNUmakefile: use PCH so compiler goes faster 2011-11-08 08:42:46 -08:00
Config.linux Build: never dynlink with gui libs 2016-03-11 05:17:04 +01:00
Config.linux.arm GNUmakefile: use PCH so compiler goes faster 2011-11-08 08:42:46 -08:00
Config.linux.ppc.32 vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488. 2012-04-05 10:26:50 -07:00
Config.linux.ppc.64 vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488. 2012-04-05 10:26:50 -07:00
Config.linux.x86.32 Build system cleanup 2007-09-22 00:41:17 -04:00
Config.linux.x86.64 GNUmakefile: Remove LIBPATH from the build system since nothing needs it. Fixes #1192. 2014-11-11 00:05:52 -08:00
Config.macosx GNUMakefile: Explicitly ask for stdlib=libc++ because clang downgrades the version silently if you use backward compatibility mode with OSX 10.5 and then shrink_to_fit() doesn't work. 2016-05-05 16:48:40 -07:00
Config.macosx.x86.32 vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488. 2012-04-05 10:26:50 -07:00
Config.macosx.x86.64 vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488. 2012-04-05 10:26:50 -07:00
Config.macosx.x86.fat Configs: CFLAGS isn't used by the GNUMakefile, change it to SITE_CFLAGS. 2013-03-23 12:10:37 -07:00
Config.unix Build: never dynlink with gui libs 2016-03-11 05:17:04 +01:00
Config.windows VM: Remove exec bit from VM source files 2013-05-11 17:04:23 -04:00
Config.windows.x86.32 GNUmakefile: use PCH so compiler goes faster 2011-11-08 08:42:46 -08:00
Config.windows.x86.64 GNUmakefile: use PCH so compiler goes faster 2011-11-08 08:42:46 -08:00
Config.x86.32 vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488. 2012-04-05 10:26:50 -07:00
Config.x86.64 vm: Typo for SITE_CFLAGS. Fixes #491. 2012-04-10 16:28:04 -07:00
Config.x86.fat GNUmakefile: use PCH so compiler goes faster 2011-11-08 08:42:46 -08:00
aging_collector.cpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
aging_space.hpp VM: smaller style-fixes, like removing redundant else clauses and this prefixes 2015-08-14 20:19:55 -07:00
alien.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
allot.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
arrays.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
arrays.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
assert.hpp VM: Fixup cast formatting after clang-format 2013-05-13 14:59:24 -04:00
atomic-cl-32.hpp VM: Fixup cast formatting after clang-format 2013-05-13 14:59:24 -04:00
atomic-cl-64.hpp VM: Fixup cast formatting after clang-format 2013-05-13 14:59:24 -04:00
atomic-gcc.hpp VM: Refactor atomic-* to Factor style 2013-05-12 13:24:40 -04:00
atomic.hpp VM: Refactor atomic.hpp to Factor style 2013-05-12 13:24:41 -04:00
bignum.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
bignum.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
bignumint.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
bitwise_hacks.hpp Revert "vm: replace line comments // with block comments /**/ for consintency" 2016-09-09 05:47:52 +02:00
booleans.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
bump_allocator.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
byte_arrays.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
byte_arrays.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
callbacks.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
callbacks.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
callstack.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
callstack.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
code_blocks.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
code_blocks.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
code_heap.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
code_heap.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
code_roots.hpp VM: Remove redundant #ifdef FACTOR_DEBUGs 2013-05-12 23:44:32 -04:00
compaction.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
contexts.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
contexts.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
cpu-arm.hpp VM: FRAME_RETURN_ADDRESS define unused 2015-08-14 20:19:54 -07:00
cpu-ppc.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02: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: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
cpu-x86.64.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
cpu-x86.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
cpu-x86.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
data_heap.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
data_heap.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
data_heap_checker.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
data_roots.hpp VM: FACTOR_ASSERT so that data_root never wraps a null pointer, cause if it does, random crashes can happen 2014-11-17 17:27:36 -08:00
debug.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
debug.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
dispatch.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
dispatch.hpp VM: Refactor dispatch to Factor style 2013-05-12 13:24:43 -04:00
entry_points.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
errors.cpp VM: renaming verify_memory_protection_error to set_memory_protection_error 2016-09-22 13:12:59 +02:00
errors.hpp Revert "vm: replace line comments // with block comments /**/ for consintency" 2016-09-09 05:47:52 +02:00
factor.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
factor.hpp Revert "vm: replace line comments // with block comments /**/ for consintency" 2016-09-09 05:47:52 +02: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 compiler.tests.alien: tests for varargs calls 2016-08-02 23:36:02 +02:00
ffi_test.def VM: new ffi_test functions added 2016-08-05 15:30:28 +02:00
ffi_test.h compiler.tests.alien: tests for varargs calls 2016-08-02 23:36:02 +02:00
fixup.hpp VM: simplified fixup_gc_workhorse::fixup_data by mering lots of functions only used once 2015-01-15 09:29:14 +00:00
float_bits.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
free_list.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
free_list.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
full_collector.cpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
gc.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
gc.hpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
gc_info.hpp compiler.*: Remove the scrubbing part of the GC maps 2016-09-11 20:34:44 +02:00
generic_arrays.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
image.cpp VM: simplifying the load_image() code 2016-09-16 06:27:46 +02:00
image.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
inline_cache.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
inline_cache.hpp VM: change the definition of entry_point in word and quotation from void* to cell 2015-01-15 09:29:13 +00:00
instruction_operands.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
instruction_operands.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
io.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
io.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
jit.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
jit.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
layouts.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
mach_signal.cpp VM: renaming verify_memory_protection_error to set_memory_protection_error 2016-09-22 13:12:59 +02:00
mach_signal.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
main-unix.cpp VM: Refactor main-* to Factor style 2013-05-12 13:24:45 -04:00
main-windows.cpp VM: attempt to cancel blocking system calls when ctrl-c is pressed 2014-05-10 18:13:04 -07:00
mark_bits.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
master.hpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
math.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
math.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
mvm-none.cpp VM: Refactor mvm* to Factor style 2013-05-12 13:24:46 -04:00
mvm-unix.cpp VM: Refactor mvm* to Factor style 2013-05-12 13:24:46 -04:00
mvm-windows.cpp VM: attempt to cancel blocking system calls when ctrl-c is pressed 2014-05-10 18:13:04 -07:00
mvm.cpp Revert "vm: replace line comments // with block comments /**/ for consintency" 2016-09-09 05:47:52 +02:00
mvm.hpp VM: Refactor mvm* to Factor style 2013-05-12 13:24:46 -04:00
nursery_collector.cpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
object_start_map.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
object_start_map.hpp VM: cleanup of some infrequently used functions that can be replaced with direct code 2015-02-28 14:14:30 -08:00
objects.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
objects.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-genunix.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-genunix.hpp vm: Add threadsafe_sterror to the vm. 2014-07-04 03:00:08 -07:00
os-linux-arm.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-linux-arm.hpp VM: an unused #define we can eliminate 2015-08-14 20:19:50 -07:00
os-linux-ppc.32.hpp VM: FRAME_RETURN_ADDRESS define unused 2015-08-14 20:19:54 -07:00
os-linux-ppc.64.hpp VM: FRAME_RETURN_ADDRESS define unused 2015-08-14 20:19:54 -07:00
os-linux-x86.32.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-linux-x86.64.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-linux.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-linux.hpp VM: Refactor os-* to Factor style 2013-05-12 13:24:46 -04:00
os-macosx-x86.32.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-macosx-x86.64.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-macosx.hpp VM: an unused #define we can eliminate 2015-08-14 20:19:50 -07:00
os-macosx.mm vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-unix.cpp VM: renaming verify_memory_protection_error to set_memory_protection_error 2016-09-22 13:12:59 +02:00
os-unix.hpp VM: SNPRINTF macro is not used 2016-05-02 15:01:49 +02:00
os-windows-x86.32.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-windows-x86.64.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-windows.32.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-windows.64.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
os-windows.cpp VM: renaming verify_memory_protection_error to set_memory_protection_error 2016-09-22 13:12:59 +02:00
os-windows.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
platform.hpp platform.hpp: Indent so I can see wtf is going on with the preprocessor control flow. 2015-06-05 10:53:02 -07:00
primitives.cpp VM: Refactor primitives.cpp/hpp to Factor style 2013-05-12 13:24:46 -04:00
primitives.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
quotations.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
quotations.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
run.cpp VM: a bunch of methods on factor_vm that can be converted into free 2015-08-04 16:02:09 +02:00
run.hpp VM: Refactor run.cpp/hpp to Factor style 2013-05-12 13:24:47 -04:00
safepoints.cpp VM: removing the safepoint_state class 2016-08-15 15:16:41 +02:00
safeseh.asm VM: Remove exec bit from VM source files 2013-05-11 17:04:23 -04:00
sampling_profiler.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
sampling_profiler.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
segments.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
slot_visitor.hpp Docs: fixing docs & comments to work with new stack clearing 2016-09-12 02:11:51 +02:00
strings.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
tagged.hpp VM: refactor tagged.hpp so it's not dependent on the factor_vm class 2015-11-24 16:00:50 +01:00
tenured_space.hpp VM: smaller style-fixes, like removing redundant else clauses and this prefixes 2015-08-14 20:19:55 -07:00
to_tenured_collector.cpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
to_tenured_collector.hpp VM: big refactoring removing the gc_workhorse 2016-09-22 13:12:59 +02:00
tuples.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
utilities.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
utilities.hpp Revert "vm: replace line comments // with block comments /**/ for consintency" 2016-09-09 05:47:52 +02:00
vm.cpp VM: removing the safepoint_state class 2016-08-15 15:16:41 +02:00
vm.hpp VM: renaming verify_memory_protection_error to set_memory_protection_error 2016-09-22 13:12:59 +02:00
words.cpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00
write_barrier.hpp vm: replace block comments /**/ with line comments // 2016-09-09 05:47:52 +02:00