diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | insns.def | 2 | ||||
| -rw-r--r-- | test/ruby/test_optimization.rb | 1 | ||||
| -rw-r--r-- | version.h | 6 |
4 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Sun Dec 22 00:07:09 2013 Marc-Andre Lafortune <ruby-core@marc-andre.ca> + + * insns.def: Fix optimization bug of Float#/ [Bug #9238] + Sat Dec 21 23:13:55 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval_jump.c (rb_exec_end_proc): unlink and free procs data before @@ -1491,7 +1491,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 @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.0.0" -#define RUBY_RELEASE_DATE "2013-12-21" -#define RUBY_PATCHLEVEL 369 +#define RUBY_RELEASE_DATE "2013-12-22" +#define RUBY_PATCHLEVEL 370 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 12 -#define RUBY_RELEASE_DAY 21 +#define RUBY_RELEASE_DAY 22 #include "ruby/version.h" |
