Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
stack.push(PrimitiveReference.create(check(stack.pop(), CheckPrimitive)));
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.ReifyU32,
vm => {
let stack = vm.stack;
stack.push(check(stack.peek(), CheckReference).value());
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.Dup,
(vm, { op1: register, op2: offset }) => {
let position = check(vm.fetchValue(register), CheckNumber) - offset;
vm.stack.dup(position);
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.Pop,
(vm, { op1: count }) => {
vm.stack.popN(count);
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
switch (value) {
case 0: stack.push(false); break;
case 1: stack.push(true); break;
case 2: stack.push(null); break;
case 3: stack.push(undefined); break;
}
break;
}
});
APPEND_OPCODES.add(Op.PrimitiveReference, vm => {
let stack = vm.stack;
stack.push(PrimitiveReference.create(check(stack.pop(), CheckPrimitive)));
});
APPEND_OPCODES.add(Op.Dup, (vm, { op1: register, op2: offset }) => {
let position = check(vm.fetchValue(register), CheckNumber) - offset;
vm.stack.dup(position);
});
APPEND_OPCODES.add(Op.Pop, (vm, { op1: count }) => {
vm.stack.pop(count);
});
APPEND_OPCODES.add(Op.Load, (vm, { op1: register }) => {
vm.load(register);
});
APPEND_OPCODES.add(Op.Fetch, (vm, { op1: register }) => {
vm.fetch(register);
});