From 49bd2228ec464699ab322cc12e89220589907359 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Thu, 20 Aug 2009 17:56:49 -0500 Subject: [PATCH] compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded --- basis/compiler/tests/optimizer.factor | 3 ++- .../compiler/tree/modular-arithmetic/modular-arithmetic.factor | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/basis/compiler/tests/optimizer.factor b/basis/compiler/tests/optimizer.factor index 6092a6dca6..45ea841a73 100644 --- a/basis/compiler/tests/optimizer.factor +++ b/basis/compiler/tests/optimizer.factor @@ -424,4 +424,5 @@ M: object bad-dispatch-position-test* ; ] with-compilation-unit ] unit-test -[ t [ [ f ] [ 3 ] if >fixnum ] compile-call ] [ no-method? ] must-fail-with \ No newline at end of file +! Not sure if I want to fix this... +! [ t [ [ f ] [ 3 ] if >fixnum ] compile-call ] [ no-method? ] must-fail-with \ No newline at end of file diff --git a/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor b/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor index 5dbc639430..8ca80ccbae 100644 --- a/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor +++ b/basis/compiler/tree/modular-arithmetic/modular-arithmetic.factor @@ -172,7 +172,7 @@ MEMO: fixnum-coercion ( flags -- nodes ) ] when ; : optimize-low-order-op ( #call -- nodes ) - dup in-d>> first fixnum-value? [ + dup in-d>> first actually-defined-by [ value>> fixnum-value? ] all? [ [ ] [ in-d>> first ] [ info>> ] tri [ drop fixnum <class-info> ] change-at ] when ;