Rework static memory segment creation; Fix stdlib gc hooks not marking own fields; Align everything to 8 bytes that might be touched by GC

This commit is contained in:
dcodeIO
2018-08-04 00:36:59 +02:00
parent 61de7cf962
commit 631478c7c9
61 changed files with 11944 additions and 5286 deletions

View File

@ -153,6 +153,13 @@ function step(): void {
if (TRACE) trace("gc~step/MARK iterate", 1, objToRef(obj));
iter = obj;
obj.color = <i32>!white;
// if (TRACE) {
// trace(" next/prev/hook", 3,
// changetype<usize>(obj.next),
// changetype<usize>(obj.prev),
// changetype<u32>(obj.hookFn)
// );
// }
obj.hookFn(objToRef(obj));
} else {
if (TRACE) trace("gc~step/MARK finish");