From af4e6084d09824ffa2c036d017369607adcc014e Mon Sep 17 00:00:00 2001 From: marcandre Date: Tue, 10 Dec 2013 18:18:31 +0000 Subject: * insns.def: Fix optimization bug of Float#/ [Bug #9238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ insns.def | 2 +- test/ruby/test_optimization.rb | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2cd5cf182b..6236a7766b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Dec 11 03:18:08 2013 Marc-Andre Lafortune + + * insns.def: Fix optimization bug of Float#/ [Bug #9238] + Tue Dec 10 23:58:30 2013 Nobuyoshi Nakada * ext/date/date_strptime.c (date__strptime_internal): unset diff --git a/insns.def b/insns.def index a636f555e4..ad4bba6912 100644 --- a/insns.def +++ b/insns.def @@ -1511,7 +1511,7 @@ opt_div val = LONG2NUM(div); } else if (FLONUM_2_P(recv, obj) && - BASIC_OP_UNREDEFINED_P(BOP_MULT, FLOAT_REDEFINED_OP_FLAG)) { + BASIC_OP_UNREDEFINED_P(BOP_DIV, FLOAT_REDEFINED_OP_FLAG)) { val = DBL2NUM(RFLOAT_VALUE(recv) / RFLOAT_VALUE(obj)); } else if (!SPECIAL_CONST_P(recv) && !SPECIAL_CONST_P(obj)) { diff --git a/test/ruby/test_optimization.rb b/test/ruby/test_optimization.rb index a3b4aedcdc..fe25cdf1c9 100644 --- a/test/ruby/test_optimization.rb +++ b/test/ruby/test_optimization.rb @@ -67,6 +67,7 @@ class TestRubyOptimization < Test::Unit::TestCase def test_fixnum_div assert_equal 3, 15 / 5 + assert_equal 6.66, redefine_method('Float', '/') { 4.2 / 6.66 }, "bug 9238" end def test_fixnum_mod -- cgit v1.2.3