diff options
author | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-07 23:56:57 +0000 |
---|---|---|
committer | normal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-07 23:56:57 +0000 |
commit | f2e6c9fbc32f46df484720373571844819e2b638 (patch) | |
tree | dde3df024ecab3b972b8cd058dee64d0b292df6f /insns.def | |
parent | 7714d8861fd3ca75e331d4aeba22890a6279ea38 (diff) | |
download | ruby-f2e6c9fbc32f46df484720373571844819e2b638.tar.gz |
insns.def (opt_case_dispatch): check Float#=== redefinition
The missing check for Float#=== redefinition was noticed while
working on enhancing optimized case dispatch for nil/true/false
in [ruby-core:71818] https://bugs.ruby-lang.org/issues/11769
So no, I don't normally redefine core classes like this :P
* insns.def (opt_case_dispatch): check Float#=== redefinition
* test/ruby/test_optimization.rb (test_opt_case_dispatch): new
[ruby-core:71920] [Bug #11784]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1271,6 +1271,7 @@ opt_case_dispatch if (BASIC_OP_UNREDEFINED_P(BOP_EQQ, SYMBOL_REDEFINED_OP_FLAG | FIXNUM_REDEFINED_OP_FLAG | + FLOAT_REDEFINED_OP_FLAG | BIGNUM_REDEFINED_OP_FLAG | STRING_REDEFINED_OP_FLAG)) { st_data_t val; |