diff --git a/basis/cpu/x86/x86.factor b/basis/cpu/x86/x86.factor index d4a3be49b6..aa802c76fc 100644 --- a/basis/cpu/x86/x86.factor +++ b/basis/cpu/x86/x86.factor @@ -45,7 +45,7 @@ HOOK: extra-stack-space cpu ( stack-frame -- n ) : param@ ( n -- op ) reserved-stack-space + stack@ ; : gc-root-offsets ( seq -- seq' ) - [ n>> spill-offset special-offset ] map f like ; + [ n>> spill-offset special-offset cell + ] map f like ; : decr-stack-reg ( n -- ) dup 0 = [ drop ] [ stack-reg swap SUB ] if ; diff --git a/vm/gc.cpp b/vm/gc.cpp index 257a2a556c..ed36aff563 100755 --- a/vm/gc.cpp +++ b/vm/gc.cpp @@ -217,7 +217,7 @@ void factor_vm::primitive_compact_gc() void factor_vm::inline_gc(cell gc_roots_) { - cell stack_pointer = (cell)ctx->callstack_top + sizeof(cell); + cell stack_pointer = (cell)ctx->callstack_top; if(to_boolean(gc_roots_)) {