564 frame.reg.slice(0,oldFrame.retAt+i); |
564 frame.reg.slice(0,oldFrame.retAt+i); |
565 } |
565 } |
566 else |
566 else |
567 return rets; |
567 return rets; |
568 break; |
568 break; |
|
569 case OP_CLOSE: |
|
570 // No-op, since we leave upvalue management to the GC |
|
571 break; |
569 case OP_SELF: |
572 case OP_SELF: |
570 var table = frame.reg[INS_B(instruction)]; |
573 var table = frame.reg[INS_B(instruction)]; |
571 frame.reg[INS_A(instruction)+1] = table; |
574 frame.reg[INS_A(instruction)+1] = table; |
572 var C = INS_C(instruction); |
575 var C = INS_C(instruction); |
573 frame.reg[INS_A(instruction)] = table.index(RK(frame, C)); |
576 frame.reg[INS_A(instruction)] = table.index(RK(frame, C)); |