@@ -530,7 +530,9 @@ Therefore a heuristics is used here:
530530 _SPAN
531531 )
532532 =>
533- #setTupleArgs(2, getValue(LOCALS, TUPLE)) ~> #execBlock(FIRST)
533+ #setLocalValue(place(local(1), .ProjectionElems), #incrementRef(getValue(LOCALS, CLOSURE)))
534+ ~> #setTupleArgs(2, getValue(LOCALS, TUPLE))
535+ ~> #execBlock(FIRST)
534536 // arguments are tuple components, stored as _2 .. _n
535537 ...
536538 </k>
@@ -562,7 +564,9 @@ Therefore a heuristics is used here:
562564 _SPAN
563565 )
564566 =>
565- #setTupleArgs(2, getValue(LOCALS, TUPLE)) ~> #execBlock(FIRST)
567+ #setLocalValue(place(local(1), .ProjectionElems), #incrementRef(getValue(LOCALS, CLOSURE)))
568+ ~> #setTupleArgs(2, getValue(LOCALS, TUPLE))
569+ ~> #execBlock(FIRST)
566570 // arguments are tuple components, stored as _2 .. _n
567571 ...
568572 </k>
@@ -579,7 +583,7 @@ Therefore a heuristics is used here:
579583 andBool 0 <=Int TUPLE andBool TUPLE <Int size(LOCALS)
580584 andBool isTypedValue(LOCALS[TUPLE])
581585 andBool isTupleType(lookupTy(tyOfLocal({LOCALS[TUPLE]}:>TypedLocal)))
582- andBool isTypedLocal (LOCALS[CLOSURE])
586+ andBool isTypedValue (LOCALS[CLOSURE])
583587 // or the closure ref type pointee is missing from the type table
584588 andBool isRefType(lookupTy(tyOfLocal({LOCALS[CLOSURE]}:>TypedLocal)))
585589 andBool isTy(pointeeTy(lookupTy(tyOfLocal({LOCALS[CLOSURE]}:>TypedLocal))))
0 commit comments