зеркало из https://github.com/github/ruby.git
fbaa5db44a
On a hash miss we need to call default if it is redefined in order to return the default value to be used. Previously we checked this with rb_method_basic_definition_p, which avoids the method call but requires a method lookup. This commit replaces the previous check with BASIC_OP_UNREDEFINED_P and a new BOP_DEFAULT. We still need to fall back to rb_method_basic_definition_p when called on a subclasss of hash. | |compare-ruby|built-ruby| |:---------------|-----------:|---------:| |hash_aref_miss | 2.692| 3.531| | | -| 1.31x| Co-authored-by: Daniel Colson <danieljamescolson@gmail.com> Co-authored-by: "Ian C. Anderson" <ian@iancanderson.com> Co-authored-by: Jack McCracken <me@jackmc.xyz> |
||
---|---|---|
.. | ||
gmake.mk | ||
id.def | ||
keywords | ||
known_errors.def | ||
lex.c.src | ||
opt_insn_unif.def | ||
opt_operand.def | ||
separated_version.mk | ||
universal.mk |