# HG changeset patch # User Matthew Wild # Date 1290200810 0 # Node ID 40edbc05fbb9259b9a810ce773752ad8a6667cb9 # Parent a9cef9e01154da7b4dc75d66e4c18736a4708180 Implement OP_LE (no metamethod yet) diff -r a9cef9e01154 -r 40edbc05fbb9 lvm.js --- a/lvm.js Fri Nov 19 20:52:08 2010 +0000 +++ b/lvm.js Fri Nov 19 21:06:50 2010 +0000 @@ -16,6 +16,7 @@ var OP_JMP = 22; var OP_EQ = 23; var OP_LT = 24; +var OP_LE = 25; var OP_TEST = 26; var OP_TESTSET = 27; var OP_CALL = 28; @@ -591,6 +592,13 @@ if(RB.value < RC.value != (A!=0)) frame.pc++; break; + case OP_LE: + var A = INS_A(instruction); + var RB = RK(frame, INS_B(instruction)); + var RC = RK(frame, INS_C(instruction)); + if(RB.value <= RC.value != (A!=0)) + frame.pc++; + break; default: throw "Unhandled opcode: "+INS_OPCODE(instruction); }