From f253e7494231c667eb6c1e3dcada9cd481b55702 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 3 Nov 2008 01:18:54 -0600 Subject: [PATCH] Inline subprimitives in optimizing compiler --- basis/compiler/cfg/stack-frame/stack-frame.factor | 2 +- basis/compiler/codegen/codegen.factor | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/basis/compiler/cfg/stack-frame/stack-frame.factor b/basis/compiler/cfg/stack-frame/stack-frame.factor index aa8506a01f..8d79a85b8f 100644 --- a/basis/compiler/cfg/stack-frame/stack-frame.factor +++ b/basis/compiler/cfg/stack-frame/stack-frame.factor @@ -22,7 +22,7 @@ M: ##stack-frame compute-stack-frame* stack-frame>> stack-frame [ max-stack-frame ] change ; M: ##call compute-stack-frame* - drop frame-required? on ; + word>> sub-primitive>> [ frame-required? on ] unless ; M: _gc compute-stack-frame* drop frame-required? on ; diff --git a/basis/compiler/codegen/codegen.factor b/basis/compiler/codegen/codegen.factor index 18e923bbc2..53329f4d50 100644 --- a/basis/compiler/codegen/codegen.factor +++ b/basis/compiler/codegen/codegen.factor @@ -82,7 +82,9 @@ M: ##inc-d generate-insn n>> %inc-d ; M: ##inc-r generate-insn n>> %inc-r ; -M: ##call generate-insn word>> [ add-call ] [ %call ] bi ; +M: ##call generate-insn + word>> dup sub-primitive>> + [ first % ] [ [ add-call ] [ %call ] bi ] ?if ; M: ##jump generate-insn word>> [ add-call ] [ %jump-label ] bi ;