Commit Graph

32 Commits (release)

Author SHA1 Message Date
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 f147bd4404 VM: uppercasing gc_op 2016-10-19 09:09:32 +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 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 58ad5fb4ce VM: all the started_<blah>() replaced with reset_timer() 2016-04-24 15:21:17 +02:00
Björn Lindqvist 4a96e6163b VM: new primitive (callback-room) for querying the VM about memory usage
The word works exactly like (code-room) except it looks at the memory
usage in the callback heap instead of the code heap.
2014-09-29 07:30:21 -07:00
Erik Charlebois 88d7c10d03 VM: Replace u8-64, s8-64, cell, fixnum with stdint.h equivalents 2013-05-13 00:28:25 -04:00
Erik Charlebois 7b1b1eef23 VM: Remove unnecessary _ suffix in constructors 2013-05-12 23:20:43 -04:00
Erik Charlebois 26ff071205 VM: Remove unnecessary explicit keywords 2013-05-12 21:48:38 -04:00
Erik Charlebois 34d04b9306 VM: Refactor gc* to Factor style 2013-05-12 13:24:44 -04:00
Erik Charlebois ca2ea548be VM: Remove exec bit from VM source files 2013-05-11 17:04:23 -04:00
Slava Pestov 2498a4d881 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
Slava Pestov 806e54630a GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Slava Pestov 95ff5ffe51 New GC checks work in progress 2010-05-03 17:34:16 -04:00
Slava Pestov b740a1fe5d vm: use C++ exceptions instead of longjmp(), to make Windows crash more 2010-04-02 14:10:55 -04:00
Doug Coleman d22eb40360 Fix spaces that crept into vm/ cpp files 2010-02-06 01:06:26 -06:00
Slava Pestov 4162ee2127 vm: faster allocation in tenured space and code heap. If small free list exhausted, allocate a 1kb block and split it up instead of searching larger free lists 2009-11-10 20:19:29 -06:00
Slava Pestov 11075828e5 vm: faster data_root and <array> primitive 2009-11-06 05:30:37 -06:00
Slava Pestov e2107166ff vm: restructure data_roots so that its a sequence of handle/len pairs rather than just handles, use it in inline_gc() and all_instances() so that we don't run out of heap while building the object array 2009-11-06 00:54:28 -06:00
Slava Pestov 6c2c87758a vm: rename gc_root to data_root, add code_root to fix a problem where code blocks would move underneath the PIC compiler if PIC compiler allocated enough 2009-11-02 18:10:34 -06:00
Slava Pestov e28580dd0f vm: faster sweep algorithm 2009-11-01 20:24:25 -06:00
Slava Pestov a1aac42786 vm: clean up gc events, remove -verbosegc switch, fix compaction bug 2009-10-27 21:31:28 -05:00
Slava Pestov 91cec17e52 vm: get GC events working, -verbosegc switch now produces more info 2009-10-26 23:57:26 -05:00
Slava Pestov a60bf14673 vm: add gc_event 2009-10-26 22:12:44 -05:00
Slava Pestov e793a72060 vm: remove crummy old GC stats, split off free list code, clean up various other things 2009-10-26 22:08:35 -05:00
Slava Pestov c30df42e48 vm: make compaction its own gc_op 2009-10-25 14:02:14 -05:00
Slava Pestov 2e65366c6b vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions 2009-10-18 20:31:59 -05:00
Slava Pestov 45eb68fa38 vm: during tenuring stage of aging collection, if tenured space fills up, it would attempt a to_tenured collection. this will succeed if all roots were tenured. however, this is unsound, because there's now an untraced segment of tenured space. fix: if tenuring fails, go on to do a full collection instead 2009-10-15 05:51:11 -05:00
Slava Pestov 1fc48b8894 vm: remove old_data_heap from gc_state 2009-10-09 09:47:54 -05:00
Slava Pestov cb2673a6f5 vm: cleanup 2009-10-08 23:39:54 -05:00
Slava Pestov 43a21deb05 vm: rename data_gc.cpp to gc.cpp 2009-10-08 02:11:29 -05:00