487 break; |
487 break; |
488 case OP_VARARG: |
488 case OP_VARARG: |
489 var A = INS_A(instruction); |
489 var A = INS_A(instruction); |
490 var prevframe = this.callstack[this.callstack.length-2]; |
490 var prevframe = this.callstack[this.callstack.length-2]; |
491 var base = frame.retAt+frame.f.numParameters; |
491 var base = frame.retAt+frame.f.numParameters; |
492 var available = prevframe.reg.length - base; |
492 var available = (prevframe.reg.length - base) - 1; |
493 var wanted = INS_B(instruction)-1; |
493 var wanted = INS_B(instruction)-1; |
494 if(wanted < 0) |
494 if(wanted < 0) |
495 wanted = available; |
495 wanted = available; |
496 for(var i = 0; i<wanted; i++) |
496 for(var i = 0; i<wanted; i++) |
497 { |
497 { |