diff options
Diffstat (limited to 'insns.def')
-rw-r--r-- | insns.def | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -492,16 +492,12 @@ newhash (...) (VALUE val) // inc += 1 - num; { - rb_num_t i; - RUBY_DTRACE_CREATE_HOOK(HASH, num); val = rb_hash_new(); - for (i = num; i > 0; i -= 2) { - const VALUE v = TOPN(i - 2); - const VALUE k = TOPN(i - 1); - rb_hash_aset(val, k, v); + if (num) { + rb_hash_bulk_insert(num, STACK_ADDR_FROM_TOP(num), val); } POPN(num); } |