Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
APPEND_OPCODES.add(Op.PushFrame, vm => {
vm.pushFrame();
check(vm.stack.peek(), CheckNumber);
check(vm.stack.peek(1), CheckNumber);
});
APPEND_OPCODES.add(Op.PopFrame, vm => {
vm.popFrame();
});
APPEND_OPCODES.add(Op.Enter, (vm, { op1: args }) => {
vm.enter(args);
});
APPEND_OPCODES.add(Op.Exit, vm => {
vm.exit();
});
APPEND_OPCODES.add(Op.PushSymbolTable, (vm, { op1: _table }) => {
let stack = vm.stack;
stack.push(vm.constants.getSymbolTable(_table));
});
APPEND_OPCODES.add(Op.CompileBlock, vm => {
let stack = vm.stack;
let block = stack.pop | 0>();
stack.push(block ? block.compile() : null);
check(vm.stack.peek(), CheckOption(CheckNumber));
});
let names = vm[CONSTANTS].getArray(_names);
vm.bindDynamicScope(names);
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.Enter,
(vm, { op1: args }) => {
vm.enter(args);
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.Exit,
vm => {
vm.exit();
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(
Op.PushSymbolTable,
(vm, { op1: _table }) => {
let stack = vm.stack;
stack.push(vm[CONSTANTS].getSerializable(_table));
},
OpcodeKind.Mut
);
APPEND_OPCODES.add(