Implement OP_LE (no metamethod yet)

Fri, 19 Nov 2010 21:06:50 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 19 Nov 2010 21:06:50 +0000
changeset 90
40edbc05fbb9
parent 89
a9cef9e01154
child 91
298efa276aff

Implement OP_LE (no metamethod yet)

lvm.js file | annotate | diff | comparison | revisions
--- 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);
 			}

mercurial