Project

General

Profile

« Previous | Next » 

Revision 58f800a2

Added by tmm1 (Aman Karmani) over 10 years ago

insns.def: add opt path for Hash#[] and Hash#[]= used with str literal keys

  • insns.def (opt_aref_with): new instruction to optimize Hash#[],
    removing any allocation overhead when used with a string literal
    key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382]
  • insns.def (opt_aset_with): new instruction to optimize Hash#[]=
  • compile.c (iseq_compile_each): compiler shortcuts for new
    instructions
  • hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for
    Hash#compare_by_identity to reflect frozen string sharing
  • test/ruby/test_hash.rb (class TestHash): test for new behavior

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e