Commit Graph

1884 Commits (317a832a8699716f1edeccb6d0e2066a17b621ab)

Author SHA1 Message Date
Björn Lindqvist abf497938b Revert "VM: cast to fixnum looks suspicious"
This reverts commit 5027830b05.
2016-11-16 05:23:54 +01:00
Björn Lindqvist 5027830b05 VM: cast to fixnum looks suspicious 2016-11-15 05:58:11 +01:00
Björn Lindqvist 5f869f8181 VM: the else clause is not necessary 2016-11-15 05:57:40 +01:00
Björn Lindqvist 69acbbbefd VM: next_block_after can be removed 2016-11-15 03:49:46 +01:00
Björn Lindqvist 94b274490c Revert "VM: undo a8aaa42882 ()"
This reverts commit e50ef532ca.
2016-11-12 00:19:52 +01:00
Björn Lindqvist e50ef532ca VM: undo a8aaa42882 () 2016-11-11 17:36:04 +01:00
Björn Lindqvist 0b6ffdc77e Revert "VM: undoing 0274e889b9 ()"
This reverts commit a4802aba68.
2016-11-09 02:07:56 +01:00
Björn Lindqvist a4802aba68 VM: undoing 0274e889b9 () 2016-11-08 13:37:52 +01:00
Björn Lindqvist 2308ca06e0 Revert "VM: undoing 22bb0cfecf ()"
This reverts commit e9c72baf2e.
2016-11-07 23:43:50 +01:00
Björn Lindqvist e9c72baf2e VM: undoing 22bb0cfecf () 2016-11-07 14:18:10 +01:00
John Benediktsson 4fee8bd2cb vm: change where we set safepoints_fep to false to allow old Ctrl-C behavior. 2016-11-01 19:21:47 -07:00
Alexander Iljin 0245a93bee VM: add enable-ctrl-break and disable-ctrl-break primitives
These are for the Listener to wrap around user-supplied quotations. Nesting
is not supported at the moment.
2016-11-01 16:53:00 -07:00
Alexander Iljin 526a995d64 VM: implement a ctrl-break handler thread () 2016-11-01 16:53:00 -07:00
Björn Lindqvist e9cd20604c VM: factor_vm::compile_inline_cache() can be removed 2016-10-31 16:16:42 +01:00
Björn Lindqvist ffab2bb7e0 VM: code_block::optimized_p() method isn't needed 2016-10-31 14:18:39 +01:00
John Benediktsson 55fdf79afd vm: fix missing CAPS enum. 2016-10-26 19:52:18 -07:00
Björn Lindqvist f070a47ec0 VM: add marking as a timed gc phase
I think that makes sense because most time when doing a full gc is spent
marking.
2016-10-20 07:46:21 +02:00
Björn Lindqvist 752c895d23 VM: refactor gc_event so that the phase times are stored in an array
So that you don't need a new method for each gc phase to time.
2016-10-20 00:34:18 +02:00
Björn Lindqvist 51408b66cb VM: the jit class doesn't need to store the code block type 2016-10-19 09:28:59 +02:00
Björn Lindqvist 453eca66c4 VM: changing case of code_block_type 2016-10-19 09:14:58 +02:00
Björn Lindqvist f147bd4404 VM: uppercasing gc_op 2016-10-19 09:09:32 +02:00
Björn Lindqvist df171b0485 VM: changing case of enums values bignum_comparison and generation
It is consistent if all enum values have all uppercase names.
2016-10-19 08:57:33 +02:00
Björn Lindqvist 4f6381587c VM: removing update_code_roots_for_sweep() 2016-10-19 08:12:40 +02:00
Björn Lindqvist 7d9bad465c VM: refactoring allot_code_block() to work like allot_large_object()
To make it possible to eventually grow the code heap
2016-10-17 08:03:48 +02:00
Björn Lindqvist 026b626203 VM: move allot_code_block() to the allot.hpp file 2016-10-17 08:03:48 +02:00
Björn Lindqvist 3911f7b88c VM: init_data_heap() isn't needed 2016-10-14 13:52:44 +02:00
Björn Lindqvist 67bb9a7c71 VM: checking addresses differ before memmoving
It appears to speed up compaction a bit in cases where only a few
objects need to move.
2016-10-14 13:52:44 +02:00
Björn Lindqvist aace892527 VM: rename of collect_growing_heap_op and collect_growing_heap()
The idea is to "make room" for collect_growing_code_heap_op and
collect_growing_code_heap() to enable code heap growth.
2016-10-13 02:13:09 +02:00
Björn Lindqvist 55e6ccb708 VM: remove the reversing from sampling profiler callstack collection 2016-10-13 01:34:55 +02:00
Björn Lindqvist 46105b62f6 VM: change callstack>array primitive so it doesn't reverse anymore
This fixes one part of the  bug.
2016-10-13 01:34:55 +02:00
Björn Lindqvist 98db13fe9d VM: merge of clone_object() and primitive_clone() 2016-10-13 01:34:55 +02:00
Björn Lindqvist bbd71ae975 math.parser: (format-float) doesn't need to zero-terminate returned byte-array 2016-10-09 00:47:37 +02:00
Björn Lindqvist ac44f3069a VM: indent comment and change error message 2016-10-08 07:13:08 +02:00
Björn Lindqvist ae9818db87 VM: simpler code for find_object_containing_card 2016-10-08 07:11:47 +02:00
Björn Lindqvist 8cacf7bf8d VM: simpler code for reallot_array 2016-10-08 07:10:26 +02:00
Björn Lindqvist c2f4fdb172 VM: merge of the free_list and free_list_allocator classes
Seem simpler to have all the free list stuff in one class rather than
split it over two classes.
2016-10-08 07:04:28 +02:00
Björn Lindqvist f0eec26f3c VM: reorg and more comments 2016-10-08 07:04:28 +02:00
Björn Lindqvist 78d9065db0 VM: UAP_SET_TOC_POINTER appears to be a noop on all platforms 2016-09-29 07:14:30 +02:00
Björn Lindqvist 9eab4b5652 VM: make visit_instruction_operands() skip over uninitialized blocks
It will crash otherwise when compacting the code heap.
2016-09-29 06:35:35 +02:00
Björn Lindqvist 603f5f9bbf VM: better? comment for uninitialized_blocks 2016-09-28 20:38:52 +02:00
Björn Lindqvist 91843ef22d VM: removing end_gc() 2016-09-28 05:22:32 +02:00
Björn Lindqvist 8899914697 VM: better start_gc_again() code 2016-09-28 05:20:12 +02:00
Björn Lindqvist c6faf98c86 VM: return the loop, it is needed for best performance 2016-09-26 05:16:33 +02:00
Björn Lindqvist a6df4168af bootstrap.layouts: sync note in comments 2016-09-25 20:10:16 +02:00
Björn Lindqvist d71bd83f57 VM: removing the 1-arg overload of iterate() (better to be explicit about the fixup) 2016-09-22 17:03:38 +02:00
Björn Lindqvist 764a604467 VM: moving initialize_code_blocks() into primitive_modify_code_heap() 2016-09-22 15:16:07 +02:00
Björn Lindqvist f8b94c2679 VM: allot_large_object fits better in the allot.hpp file 2016-09-22 13:13:55 +02:00
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