diff options
author | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-08 01:52:28 +0000 |
---|---|---|
committer | tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-12-08 01:52:28 +0000 |
commit | 779ae78995977305aa5aec9cb5b562dcf54c22e7 (patch) | |
tree | 03cb95144e04846d686d4fc01a6a8a000b9d807d /parse.y | |
parent | 98a74d4dd5fa9cd45121e8ebfc2f787d316e924f (diff) |
hash.c: revert r43870 and add alternative parser patch for literal keys
* hash.c (hash_aset_str): revert r43870 due to performance issue
[Bug #9188] [ruby-core:58730]
* parse.y (assoc): convert literal string hash keys to fstrings
* test/ruby/test_hash.rb (class TestHash): expand test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4912,6 +4912,10 @@ assocs : assoc assoc : arg_value tASSOC arg_value { /*%%%*/ + if (nd_type($1) == NODE_STR) { + nd_set_type($1, NODE_LIT); + $1->nd_lit = rb_fstring($1->nd_lit); + } $$ = list_append(NEW_LIST($1), $3); /*% $$ = dispatch2(assoc_new, $1, $3); |