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
Björn Lindqvist
a0df88f20b
VM: renaming verify_memory_protection_error to set_memory_protection_error
...
and sets the signal_fault_addr and signal_fault_pc in the function.
2016-09-22 13:12:59 +02:00
Björn Lindqvist
b2bb1f8ff4
VM: simplifying the load_image() code
2016-09-16 06:27:46 +02:00
Björn Lindqvist
ab7e077b1d
Docs: fixing docs & comments to work with new stack clearing
2016-09-12 02:11:51 +02:00
Björn Lindqvist
349f99661d
compiler.*: Remove the scrubbing part of the GC maps
...
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00
Björn Lindqvist
bc8525eb02
VM: the small return_address_index function can be implemented in the header
2016-09-10 03:18:18 +02:00
Alexander Iljin
0d57734dab
vm: replace block comments /**/ with line comments //
2016-09-09 05:47:52 +02:00
Alexander Iljin
e0acf4f328
Revert "vm: replace line comments // with block comments /**/ for consintency"
...
This reverts commit 7ee4e5dea5
.
2016-09-09 05:47:52 +02:00
Alexander Iljin
897d0d6eeb
Revert "vm: fix typo from c++ comment patch causing compile failure."
...
This reverts commit 4e48e836b9
.
2016-09-09 05:47:52 +02:00
Björn Lindqvist
0a5f1689e1
VM: init_inline_caching is not needed
2016-08-19 02:58:19 +02:00
Björn Lindqvist
b5c6658ae5
VM: removing the safepoint_state class
...
The code reads better if the safepoint_state methods and
attributes (sample_counts and safepoint_fep_p) are moved to the vm
class.
2016-08-15 15:16:41 +02:00
Björn Lindqvist
2f6f69eb5b
VM: trying to simplify record_sample and the profiling_sample constructor
2016-08-15 15:16:41 +02:00
Björn Lindqvist
76139dca56
VM: new ffi_test functions added
2016-08-05 15:30:28 +02:00
Doug Coleman
4e48e836b9
vm: fix typo from c++ comment patch causing compile failure.
2016-08-04 09:28:50 -07:00
Alexander Iljin
7ee4e5dea5
vm: replace line comments // with block comments /**/ for consintency
...
Fix #1651 .
2016-08-03 09:19:48 -07:00
Björn Lindqvist
00d15b66a6
compiler.tests.alien: tests for varargs calls
2016-08-02 23:36:02 +02:00
Alexander Iljin
56880fbacf
vm: add a comment on possible issues with QueryPerformanceCounter
2016-07-30 09:25:30 -07:00
Björn Lindqvist
c646db3ae5
VM: fixing small style issues
...
Like aligning comments and changing //-comments to /* */
2016-07-02 15:50:59 +02:00
Björn Lindqvist
801c70e9da
VM: removes the signal_handler_impl methods from factor_vm
...
Instead the code is in the functions with the same name. That way, they
don't need to exist both as functions and methods.
2016-06-29 18:27:26 +02:00
Björn Lindqvist
f99c684cc5
VM: set_border_locked is the same on windows and unix
2016-06-27 16:27:56 +02:00
Björn Lindqvist
a331ad3788
VM: factor_vm::set_callstack and set_retainstack is not needed
2016-06-27 16:08:58 +02:00
Alexander Iljin
7a94230899
VM: fix the sampler_thread handle leak
2016-06-22 11:27:26 -07:00
Björn Lindqvist
3eef76c686
VM: a little faster definition of contains_p()
2016-06-14 04:40:20 +02:00
Björn Lindqvist
6984bae7ca
VM: rename of JIT_PUSH_IMMEDIATE to JIT_PUSH_LITERAL
...
The code template pushes both immediates and references so the name was
wrong.
2016-06-07 14:54:23 +02:00
Björn Lindqvist
6b95813dbc
VM: refactor the immediate_p check out of visit_pointer()
...
This avoids reassigning to slots that are never changed. It makes the minor-gc pass 2% faster.
2016-06-07 14:42:06 +02:00
Björn Lindqvist
33d5ecefd5
VM: refactor a struct into a c++11 lambda
2016-06-07 14:04:28 +02:00
Björn Lindqvist
a58f8c76f4
VM: rename compile_inline_cache and refactor the loop body into emit_check_and_jump
2016-05-31 03:37:24 +02:00
Björn Lindqvist
dae2229957
VM: omit the type check if checking for fixnum and it's the first check
...
Previously: and ecx, 0xf ; cmp ecx, 0 ; jz <address> was generated. Now
instead: and ecx, 0xf ; jz <address> because the cmp, ecx, 0 instruction
is redundant.
2016-05-31 03:37:24 +02:00
Björn Lindqvist
59443dca01
VM: new method quotation_jit:nth
...
It's less tedious than writing array_nth(elements.untagged(), i + N) everywhere
2016-05-31 03:37:24 +02:00
Alexander Iljin
e302928510
vm: fix a typo in a comment
2016-05-30 12:11:56 -07:00
Alexander Iljin
3ea7fe616e
vm: fix warning C4800: forcing value to bool
...
The warning is issued by the Visual Studio 2015, treated as error.
2016-05-30 12:11:56 -07:00
Alexander Iljin
db9007a713
vm: give windows_stat fewer reasons to fail
...
More sharing flags mean that the file opening attempts will succeed even
if the file is already open by another process for writing or deleting.
2016-05-30 12:11:56 -07:00
Björn Lindqvist
4a471ba07c
VM: make it so compiling mega cache lookups doesn't generate stack frames ( #651 )
2016-05-30 08:23:18 +02:00
Björn Lindqvist
3b016bc254
VM: a bunch of more methods on the factor_vm class that can be made into funtions
2016-05-30 07:44:26 +02:00
Björn Lindqvist
00a64c9271
VM: name change no_non_safepoint_words_p -> stack_frame_p
...
It returns true if the quotation should be wrapped in a stack frame.
2016-05-30 07:44:20 +02:00
Björn Lindqvist
1fddf79724
VM: moving a few methods arounds
...
word_call, word_jump and emit_mega_cache_lookup are only used in quotations.cpp so they should be defined there too.
2016-05-30 03:03:10 +02:00
Björn Lindqvist
4509371f7c
VM: shorter definition of emit_check
2016-05-29 04:55:11 +02:00
Björn Lindqvist
b027285b48
VM: makes some factor_vm methods to free functions
2016-05-29 03:03:07 +02:00
Björn Lindqvist
08c2e3a32d
VM: better logic in factor_vm::set_sampling_profiler
...
It avoids the double-negation.
2016-05-19 01:25:53 +02:00
Björn Lindqvist
8ae6e8e23d
VM: safe_strdup needs to be called in vm_executable_path
2016-05-14 19:00:20 +02:00
Björn Lindqvist
335615a025
VM: more destruction needed in the destructor
...
Console needs to be closed, special objects free'd and code heap
deleted.
2016-05-14 18:21:50 +02:00
Björn Lindqvist
7342d97e6d
VM: add destructor to vm_parameters so that executable and image_path is
...
free'd
Valgrind complained that those were leaking
2016-05-14 18:21:49 +02:00
Björn Lindqvist
9555915e7b
VM: more stuff to deallocate in the destructor
2016-05-14 18:21:49 +02:00
Björn Lindqvist
e2b133e291
VM: return value of vm_executable_path() should be free'd
2016-05-14 18:21:49 +02:00
Björn Lindqvist
63791bf90e
VM: move some logic from factor_vm to the vm_parameters class
...
It's good because the factor_vm class is to fat.
2016-05-14 18:21:49 +02:00
Björn Lindqvist
83ce08487e
VM: initialize the ctx member in the construction
...
To make valgrind happy because it complains that it is uninitialized.
2016-05-14 18:21:49 +02:00
Björn Lindqvist
340ad8b8d9
VM: removes the delete_contexts method
2016-05-14 18:21:49 +02:00
Björn Lindqvist
7f8d5cbef4
VM: when starting the sampling profiler, the data needs to be cleared
2016-05-06 19:56:13 +02:00
Doug Coleman
10164b6af8
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.
...
Config.macosx: Support for shrink_to_fit() is claimed to be in 10.7 and later, but 10.7 and 10.8 both throw this huge error:
https://paste.factorcode.org/paste?id=3872
Fixes #1624 .
2016-05-05 16:48:40 -07:00
Björn Lindqvist
9824be8714
VM: The C++11 method shrink_to_fit() can be used to release memory
2016-05-05 14:22:57 +02:00
Björn Lindqvist
5826394573
VM: the (clear-samples) primitive is unused
2016-05-05 02:33:35 +02:00
Björn Lindqvist
bc9f62efde
VM: using a c++ lambda over a struct
2016-05-05 01:57:52 +02:00
Björn Lindqvist
8911ad2a16
VM: don't end the gc event in start_gc_again, fixes #659
2016-05-04 22:47:50 +02:00
Björn Lindqvist
583fb5825b
VM: removes the collector class
...
The cheneys_algorithm() method can be moved to slot_visitor (because it
kind of visists objects), and then there is no need for the collector
class.
2016-05-04 17:52:04 +02:00
Björn Lindqvist
f629a95b03
VM: moving collector methods to slot_visitor methods
...
collector::trace_cards moved to slot_visitor::visit_cards and
collector::trace_code_heap_roots moved to
slot_visitor::visit_code_heap_roots. Both those methods are pointer visitors
2016-05-04 00:32:17 +02:00
Björn Lindqvist
4cc5e90605
VM: SNPRINTF macro is not used
2016-05-02 15:01:49 +02:00
Björn Lindqvist
2035eb91fe
VM: method compute_identity_hashcode is not needed
2016-05-02 14:05:01 +02:00
Björn Lindqvist
eb8b7f02bf
VM: the start_factor method isn't needed
2016-05-01 23:36:41 +02:00
Björn Lindqvist
58ad5fb4ce
VM: all the started_<blah>() replaced with reset_timer()
2016-04-24 15:21:17 +02:00
Björn Lindqvist
82e2de5e12
VM: oops, fix compilation error i caused
2016-04-24 15:18:45 +02:00
Björn Lindqvist
c55af9b957
VM: object_size, compute_entry_point_address, code_block_owner made into
...
functions
It is to make the vm class less heavy
2016-04-24 14:45:03 +02:00
Björn Lindqvist
82658e184f
VM: make return_takes_param() a function
2016-04-24 14:19:35 +02:00
Björn Lindqvist
28b5378196
VM: merge of fixup_data & fixup_code into a new method fixup_heaps
2016-04-24 12:42:22 +02:00
Björn Lindqvist
c8d648f3f2
VM: the factor_vm::code_blocks() method isn't needed
2016-04-22 12:01:26 +02:00
Björn Lindqvist
bcc32291e8
VM: merge of free_list_allocator.hpp into free_list.hpp
...
It's better if all the free list stuff is in a single header.
2016-04-22 12:01:26 +02:00
Björn Lindqvist
a23bb8cf16
VM: nr of code blocks scanned always = points_to_<gen>.size()
2016-04-22 12:01:26 +02:00
Björn Lindqvist
70e7bad921
VM: parent and code attrs in collector struct is not used
2016-04-22 12:01:26 +02:00
Björn Lindqvist
da4812ba21
VM: refactoring which removes two not useful short methods
2016-04-04 23:32:23 +02:00
Doug Coleman
b324c30cc7
vm: Fix four compile warnings reported by gcc with -pedantic flag.
2016-03-30 15:39:42 -07:00
Björn Lindqvist
10ac4da0f6
VM: fixes to make some if-else statements read better
2016-03-31 00:37:59 +02:00
John Benediktsson
02956a25ce
vm: compact-gc was checked twice.
2016-03-28 22:28:57 -07:00
Björn Lindqvist
9a531076f0
VM: improved vm_executable_path which works for arbitrary long paths
2016-03-23 16:15:30 +01:00
Björn Lindqvist
83e1ee5084
VM: fix string copying to not use PATH_MAX here
2016-03-23 16:15:29 +01:00
Björn Lindqvist
4f33f22b56
VM: on errors, only dump the heap if it has been initialized
2016-03-23 01:56:40 +01:00
Björn Lindqvist
579875821b
VM: removes the OBJ-ERROR special object in favor of a constant
...
The special object contained the string "kernel-error" which were used
to tag VM errors. But it is simplier and removes a little complexity to
just tag them with a fixnum constant.
2016-03-22 17:52:19 +01:00
Björn Lindqvist
2f1e963587
Build: never dynlink with gui libs
2016-03-11 05:17:04 +01:00
Doug Coleman
7488e54825
math.cpp: Fix two warnings. Fixes #1549 .
2016-03-08 10:02:28 -08:00
Jon Harper
13ba081ac8
primitive_format_float, return empty string on bad locale instead of C++ exception
2016-03-08 07:55:25 -08:00
Jon Harper
19fadb6c96
prettyprinter, locale independant float printing
2016-03-08 07:55:25 -08:00
Doug Coleman
5813e8384e
command-line.startup: document more command line flags. we already have -nosignals, but it was hidden in the source code. Fix spacing for default image. Closes #1514 .
2016-03-03 17:16:39 -08:00
Doug Coleman
67eb64cf00
vm/contexts.cpp: We are only deleting half the contexts because we increment the iter twice per loop! Fixes #1534 . Thanks clang!
2016-03-01 00:19:43 -08:00
Björn Lindqvist
44b9b26baa
VM: nitpick fix of filenames in comments
2016-02-28 01:23:59 +01:00
Björn Lindqvist
2db1e7e6a5
VM: simplifies factor_vm::determine_inline_cache_type
2016-02-28 01:10:12 +01:00
Björn Lindqvist
0c9c0b2f82
VM: removes a few methods related to relocation handling
...
They are only used once, so it is simpler to "inline" them
2015-12-13 13:56:36 +01:00
Björn Lindqvist
7da72ac77c
VM: the compute_vm_address method can be removed
2015-12-13 13:56:36 +01:00
Björn Lindqvist
08766090d3
VM: more fine-grained control over which special objects to save
...
It removes a few roots that doesn't need to be saved in the image and
can save a few hundred bytes.
2015-12-13 13:56:36 +01:00
Björn Lindqvist
46bfcbf3a2
VM: the rel_type() and rel_offset() accessors in instruction_operand can be removed
2015-12-13 13:56:36 +01:00
Björn Lindqvist
1a72f731e0
VM: now special-objects is used for -1, 0, 1 and t
...
The fields in the image_header aren't read or written to but I haven't
changed the format yet.
2015-12-10 10:22:38 +01:00
Björn Lindqvist
339b1b6466
VM: put the singletons t, -1, 0 and 1 in the special objects table
...
Having them there instead of as fields in the vm struct removes a bunch
of special handling. This commit just adds them and doesn't remove the
old ones to avoid potential chicken-and-egg bootstrap problems.
2015-12-09 21:31:13 +01:00
Björn Lindqvist
d911bc45fd
VM: refactors the prepare_boot_image method
...
easier to read if the methods compile_all_words and
initialize_all_quotations which are only used once are "inlined"
2015-12-04 13:57:57 +01:00
Björn Lindqvist
867c85f1c5
VM: can't go through the accessor here because it triggers the assert
2015-11-25 18:12:55 +01:00
Björn Lindqvist
0274e889b9
VM: refactor tagged.hpp so it's not dependent on the factor_vm class
...
this way untag<byte_array>(relocation) can be used in code_blocks.hpp
2015-11-24 16:00:50 +01:00
Björn Lindqvist
22bb0cfecf
VM: fixes to use the TAG macro over tagged<object>(obj).type()
2015-11-23 02:27:22 +01:00
Björn Lindqvist
a8aaa42882
VM: refactoring to use the TAG macro directly over the tagged struct
...
eg. TAG(obj) is equivalent to tagged<object>(obj).type()
2015-11-22 23:42:54 +01:00
Björn Lindqvist
575da3e478
VM: fix so that errno is set if MoveFileEx fails, should fix #1490
2015-10-12 12:19:21 +02:00
Björn Lindqvist
7dfb352a7e
VM: replaced calls to out_of_memory() with fatal_error()
...
No need for a special out of memory function -- it's just a kind of
fatal error. Also make fatal_error() call dump_memory_layout() for
easier debugging.
2015-10-08 20:46:17 +02:00
Björn Lindqvist
cb55fcf20f
VM: prettier and more detailed output when dumping generations
2015-10-08 16:25:35 +02:00
Doug Coleman
7eec8621aa
vm: MoveFileEx returns BOOL which needs help converting to C++ bool.
2015-10-01 17:04:13 +00:00
John Benediktsson
bd04290187
vm: fix signature for safe_fopen.
2015-09-30 19:03:39 -07:00
Björn Lindqvist
85784c5265
VM: make save-image throw exception on error ( #1090 )
2015-09-30 23:31:47 +02:00
Björn Lindqvist
2536b6cd93
VM: fix move_file called from save_image
...
save_image() shouldn't throw exceptions because if the 'then_die'
argument is t it would leave factor in an inconsistent state. So
therefore move_file() should be fixed and raw_fclose() called instead of
safe_fclose().
2015-09-29 23:13:10 +02:00
Björn Lindqvist
40eb664425
VM: simplified save_image, goto works here!
2015-09-29 23:13:09 +02:00
Björn Lindqvist
ffc441ad63
VM: looks like ERROR_C_STRING is never thrown, so it can be removed
2015-09-29 23:12:56 +02:00
Björn Lindqvist
614595bd9a
VM: workhorse attribute not used
2015-09-22 08:51:03 +02:00
Björn Lindqvist
b3de115e3c
VM: remove RT_EXCEPTION_HANDLER reference
2015-09-02 21:54:47 +02:00
Björn Lindqvist
769c09def5
VM: for consistency, it is easier to put all functions in the exports file
2015-09-02 21:54:44 +02:00
Björn Lindqvist
bc7f9ee669
VM: always use undecorated names when loading ffi functions
...
For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx ).
2015-09-02 21:54:41 +02:00
Björn Lindqvist
da3de080ee
VM: callback_entry_point() and update() can be removed
2015-09-02 21:54:39 +02:00
Björn Lindqvist
de4917e6a1
VM: give the exception handling special object a real name
2015-09-02 21:54:33 +02:00
Björn Lindqvist
22887c5816
VM: get rid of the odd RT_EXCEPTION_HANDLER relocation
...
The address to the win32 relocation handler can be stored in a special
object and be accessed by jit-install-seh. Doing it that way is better
because you can remove a lot of special code related to that relocation
type.
2015-09-02 21:54:30 +02:00
Björn Lindqvist
68c0c0f53a
VM: clear commented out code
2015-09-02 21:54:27 +02:00
Björn Lindqvist
84ec2164c2
VM: nicer way of initializing those special objects that are aliens
2015-09-02 21:54:18 +02:00
Björn Lindqvist
cee0b19324
VM: the ffi-signal-handler and ffi-leaf-signal-handler primitives are unused
2015-09-02 21:54:15 +02:00
Björn Lindqvist
a9c33cbfd7
VM: better way to set signal_resumable
2015-08-26 20:23:28 +02:00
Björn Lindqvist
663e5e2a09
VM: fix jit-signal-handler-prolog/epilog to account for the home space
...
Windows 64bit abi requires callers to reserve 32 bytes of home space in
the stack frame which the callee is free to clobber. Previous versions
of VS didn't compile code to take advantage of the home space so it
worked fined. VS2015 however, is using the home space which causes
registers and flags that were supposed to be saved to be
overwritten. The fix is to put a little extra empty space at the bottom
of the stack frame.
2015-08-26 20:23:25 +02:00
Björn Lindqvist
316b16f377
VM: instead of enqueue_safepoint() just call set_safepoint_guard() directly
2015-08-26 20:23:23 +02:00
Björn Lindqvist
5a39631b4b
VM: refactoring, new function get_thread_pc() and simpler logic in exception_handler()
2015-08-26 20:23:20 +02:00
Björn Lindqvist
2a852915d2
VM: signal_fault_pc probably should be set here...
2015-08-26 20:23:17 +02:00
Björn Lindqvist
10464e7e4e
VM: LEAF_FRAME_SIZE is 16 bytes on all platforms so we can simplify it
2015-08-26 20:23:15 +02:00
Björn Lindqvist
cb0bf3b1ce
VM: merge memory_protection_error() with memory_signal_handler_impl()
2015-08-24 07:23:40 -07:00
Björn Lindqvist
39c888230a
VM: new function set_safepoint_guard to replace the functions (un)guard_safepoint
2015-08-24 07:23:40 -07:00
Björn Lindqvist
56ddb59b00
VM: new function set_memory_locked(true/false)
...
it wraps the mprotect/VirtualProtect platform differences and makes it
so you can unify some windows/unix code path forks
2015-08-24 07:23:40 -07:00
Björn Lindqvist
94eb855903
VM: make the debug output a little prettier
2015-08-24 07:23:40 -07:00
Björn Lindqvist
51daaf6be4
VM: the windows_image_path method is unused
2015-08-24 07:23:40 -07:00
Björn Lindqvist
4efef7bfd9
VM: merge the compute_dlsym_toc_address() with the
...
compute_dlsym_address() method
it makes the code slightly more cluttered but you get rid of a lot of
special casing for the ppc platform
2015-08-23 18:36:31 -07:00
Björn Lindqvist
a53d5be683
VM: make allot_alien() and ffi_dlsym() use cell instead of void*
...
this way we get rid of a bunch of superfluous casts
2015-08-23 18:36:31 -07:00
Björn Lindqvist
1045f41778
VM: gc required here because we are iterating all objects
2015-08-23 18:36:31 -07:00
Björn Lindqvist
7f545271f4
VM: new iteration method each_object_each_slot()
...
used by find_data_references() and dump_edges() instead of the functor structs
2015-08-23 18:36:31 -07:00
Björn Lindqvist
59b7a50567
VM: removing the get_datastack/retainstack/callstack primitives
...
they can all be implemented using the
datastack/retainstack/callstack-for primitives and the less primitives
the better!
2015-08-23 18:36:30 -07:00
Björn Lindqvist
883f65d0e4
VM: fix one callstack overflow problem by "unlocking" the callstacks
...
border pages
Also a new vocab compiler.tests.callstack-overflow which is supposed to
contain all tests for callstack overflow-related problems.
2015-08-14 20:19:58 -07:00
Björn Lindqvist
59762009f1
VM: simplified logic for allot_object()
2015-08-14 20:19:57 -07:00
Björn Lindqvist
1b1b275a1a
VM: simplifies the dispatch_resumable_signal() method
2015-08-14 20:19:57 -07:00
Björn Lindqvist
b8aef640f9
VM: new method set_border_locked() in segment, so that you can remove
...
the protection of the guard pages
2015-08-14 20:19:56 -07:00
Björn Lindqvist
5d7fb5da60
VM: smaller style-fixes, like removing redundant else clauses and this prefixes
2015-08-14 20:19:55 -07:00
Björn Lindqvist
e14d820138
VM: move trace_partial_objects to visit_partial_objects since it is a
...
kind of visitation function
2015-08-14 20:19:55 -07:00
Björn Lindqvist
df669298ce
VM: split dispatch_signal_handler into two methods, one for resumable
...
and one for non-resumable signals
2015-08-14 20:19:55 -07:00
Björn Lindqvist
2b1c6ca11a
VM: move the frame_predecessor() method to the code_heap class
2015-08-14 20:19:54 -07:00
Björn Lindqvist
f3c34e44d4
VM: FRAME_RETURN_ADDRESS define unused
2015-08-14 20:19:54 -07:00
Björn Lindqvist
9413f711b9
VM: the JIT_PROFILING special object is never used, so rename it to
...
JIT_UNUSED (removing it breaks boot images)
2015-08-14 20:19:53 -07:00
Björn Lindqvist
3f9fa7e39e
VM: emit_prolog/emit_epilog can be simplified because stack frame and
...
safe point is always emitted together
2015-08-14 20:19:51 -07:00
Björn Lindqvist
358fae93c9
VM: the stack_frame_p() and safepoint_p() functions appear to be
...
semantically identical, let's merge them into a
no_non_safepoint_words_p() function
2015-08-14 20:19:50 -07:00
Björn Lindqvist
510193f012
VM: an unused #define we can eliminate
2015-08-14 20:19:50 -07:00
Björn Lindqvist
81057c4108
VM: the context_object_count must be wrong, there are only 4 of them
2015-08-14 20:19:50 -07:00
Doug Coleman
9f43820076
Revert "vm: don't use implicit this. thanks to Jon Harper for the report."
...
My bad. A buggy compiler is a buggy compiler. Not a good workaround.
This reverts commit 1602e5094c
.
2015-08-14 11:15:55 -07:00
Doug Coleman
1602e5094c
vm: don't use implicit this. thanks to Jon Harper for the report.
2015-08-14 10:16:53 -07:00
Doug Coleman
dcc1e7773f
contexts.hpp: Increase callstack reserve space to 16k for Mac64. Fixes issue #1419 .
2015-08-04 12:43:24 -07:00
John Benediktsson
5c0d8c7e4f
vm: minor fixes.
2015-08-04 07:49:50 -07:00
Björn Lindqvist
22bd11c4a4
VM: fix silly compile error
2015-08-04 16:02:10 +02:00
Björn Lindqvist
6fedb79c73
VM: bump stack_reserved from 1kb to 4kb
...
The added test case fails with a doulbe fault, which appears to be
caused by a stack overflow in the code that tries to handle the stack
overflow. So bumping it to 4096 bytes should give the code enough stack
space to play with.
2015-08-04 16:02:10 +02:00
Björn Lindqvist
beb71ce49b
VM: merge full_collector.hpp into full_collector.cpp
2015-08-04 16:02:10 +02:00