diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-17 12:47:31 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-17 12:47:31 +0000 |
commit | 3c7c983300670b29e6c7feb3b8c23421c53af01b (patch) | |
tree | 728707319212fd344ab8b2723cd7c5b3f22a88a7 /vm.c | |
parent | 4ca0483a2879d6db9174d26f62ea98de33058650 (diff) | |
download | ruby-3c7c983300670b29e6c7feb3b8c23421c53af01b.tar.gz |
* compile.c (NODE_CALL): add optimization shortcut for Array#max/min.
Now `[x, y].max` is optimized so that a temporal array object is not
created in some condition.
* insns.def (opt_newarray_max, opt_newarray_min): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1475,6 +1475,8 @@ vm_init_redefined_flag(void) OP(Succ, SUCC), (C(Fixnum), C(String), C(Time)); OP(EqTilde, MATCH), (C(Regexp), C(String)); OP(Freeze, FREEZE), (C(String)); + OP(Max, MAX), (C(Array)); + OP(Min, MIN), (C(Array)); #undef C #undef OP } |