Project

General

Profile

« Previous | Next » 

Revision 815c7e19

Added by jeremyevans (Jeremy Evans) over 1 year ago

Avoid caller-side hash allocation for f(*a, kw: 1) and f(*a, kw: 1, &block)

Previously, this used:

splatarray false duphash getlocal/getblockparamproxy # in the block passing case send ARGS_SPLAT|KW_SPLAT|KW_SPLAT_MUT 

This changes the duphash to putobject, with putobject using
a frozen version of the hash, and removing the keyword mutability:

splatarray false putobject getlocal/getblockparamproxy # in the block passing case send ARGS_SPLAT|KW_SPLAT