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 | 4c63cb161ab62d08ceaefb029aa3fe1ca4da92be (patch) | |
tree | 728707319212fd344ab8b2723cd7c5b3f22a88a7 /vm.c | |
parent | 380cabf8224c5623af4e686240404097da01f17d (diff) | |
download | ruby-4c63cb161ab62d08ceaefb029aa3fe1ca4da92be.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 } |