diff --git a/basis/compiler/cfg/stack-frame/stack-frame-tests.factor b/basis/compiler/cfg/stack-frame/stack-frame-tests.factor index edad20182d..763334304a 100644 --- a/basis/compiler/cfg/stack-frame/stack-frame-tests.factor +++ b/basis/compiler/cfg/stack-frame/stack-frame-tests.factor @@ -15,5 +15,8 @@ IN: compiler.cfg.stack-frame.tests { spill-area-size 16 } } finalize-stack-frame [ spill-area-base>> ] - [ stack-frame set 37 spill-offset ] bi + [ + f f swap >>stack-frame cfg set + 37 spill-offset + ] bi ] unit-test diff --git a/basis/compiler/cfg/stack-frame/stack-frame.factor b/basis/compiler/cfg/stack-frame/stack-frame.factor index 8901bb054f..da407b153b 100644 --- a/basis/compiler/cfg/stack-frame/stack-frame.factor +++ b/basis/compiler/cfg/stack-frame/stack-frame.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2009, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel math namespaces ; +USING: accessors compiler.cfg kernel math namespaces ; IN: compiler.cfg.stack-frame TUPLE: stack-frame @@ -15,10 +15,10 @@ TUPLE: stack-frame { spill-area-base integer } ; : local-allot-offset ( n -- offset ) - stack-frame get allot-area-base>> + ; + cfg get stack-frame>> allot-area-base>> + ; : spill-offset ( n -- offset ) - stack-frame get spill-area-base>> + ; + cfg get stack-frame>> spill-area-base>> + ; : (stack-frame-size) ( stack-frame -- n ) [ spill-area-base>> ] [ spill-area-size>> ] bi + ; diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 11175ec366..e3f339adfb 100755 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -112,8 +112,7 @@ M: ##no-tco generate-insn drop ; M: ##prologue generate-insn drop - cfg get stack-frame>> - [ [ stack-frame set ] [ total-size>> %prologue ] bi ] when* ; + cfg get stack-frame>> [ total-size>> %prologue ] when* ; M: ##epilogue generate-insn drop