From 3da560130a5045bd1fe466442b75cdb631f0ff03 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 30 Jun 2009 21:08:08 -0500 Subject: [PATCH] compiler.cfg.tco: fix tail call optimization for ##fixnum-mul --- basis/compiler/cfg/tco/tco.factor | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/basis/compiler/cfg/tco/tco.factor b/basis/compiler/cfg/tco/tco.factor index 9b223ad980..fedf4f627e 100644 --- a/basis/compiler/cfg/tco/tco.factor +++ b/basis/compiler/cfg/tco/tco.factor @@ -4,6 +4,7 @@ USING: accessors combinators.short-circuit kernel math namespaces sequences fry combinators compiler.cfg compiler.cfg.rpo +compiler.cfg.hats compiler.cfg.instructions ; IN: compiler.cfg.tco @@ -59,7 +60,7 @@ GENERIC: convert-fixnum-tail-call* ( src1 src2 insn -- insn' ) M: ##fixnum-add convert-fixnum-tail-call* drop \ ##fixnum-add-tail new-insn ; M: ##fixnum-sub convert-fixnum-tail-call* drop \ ##fixnum-sub-tail new-insn ; -M: ##fixnum-mul convert-fixnum-tail-call* drop \ ##fixnum-mul-tail new-insn ; +M: ##fixnum-mul convert-fixnum-tail-call* drop i i \ ##fixnum-mul-tail new-insn ; : convert-fixnum-tail-call ( bb -- ) [