Project

General

Profile

« Previous | Next » 

Revision 69cee6fe

Added by NARUSE, Yui about 1 year ago

merge revision(s) 771a2f039b9a059a73e8f111d1d46590fa697f63: [Backport #20213] (#10297)

Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

    For zsuper calls with a keyword splat but no actual keywords, the
    keyword splat is passed directly, so it cannot be mutable, because
    if the callee accepts a keyword splat, changes to the keyword splat
    by the callee would be reflected in the caller.

    While here, simplify the logic when the method supports
    literal keywords.  I don't think it is possible for
    a method with has_kw param flags to not have keywords, so add an
    assertion for that, and set VM_CALL_KW_SPLAT_MUT in a single place.