lvm.js

changeset 118
05d10aebb9f5
parent 117
8f1045a7f1d6
child 119
ad42e6dd7cbd
equal deleted inserted replaced
117:8f1045a7f1d6 118:05d10aebb9f5
32 var OP_RETURN = 30; 32 var OP_RETURN = 30;
33 var OP_FORLOOP = 31; 33 var OP_FORLOOP = 31;
34 var OP_FORPREP = 32; 34 var OP_FORPREP = 32;
35 var OP_TFORLOOP = 33; 35 var OP_TFORLOOP = 33;
36 var OP_SETLIST = 34; 36 var OP_SETLIST = 34;
37 //var OP_CLOSE = 35; 37 var OP_CLOSE = 35;
38 var OP_CLOSURE = 36; 38 var OP_CLOSURE = 36;
39 //var OP_VARARG = 37; 39 //var OP_VARARG = 37;
40 40
41 var debugMode = false; 41 var debugMode = false;
42 42
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));

mercurial