@Override public boolean execute(LocalDataArea lda, AVM2ConstantPool constants, AVM2Instruction ins) { int locRegIndex = ins.getParamAsLong(constants, 0).intValue(); Object obj = lda.localRegisters.get(locRegIndex); if (obj != NotCompileTime.INSTANCE) { lda.localRegisters.put(locRegIndex, EcmaScript.toInt32(obj) - 1); } return true; }
@Override public boolean execute(LocalDataArea lda, AVM2ConstantPool constants, AVM2Instruction ins) { int argCount = ins.getParamAsLong(constants, 0).intValue(); /* List<Object> passArguments = new ArrayList<Object>(); for (int i = argCount - 1; i >= 0; i--) { passArguments.set(i, lda.operandStack.pop()); }*/ for (int i = 0; i < argCount; i++) { lda.operandStack.pop(); } Object receiver = lda.operandStack.pop(); Object function = lda.operandStack.pop(); // push(result) lda.operandStack.push(NotCompileTime.INSTANCE); // lda.executionException = "Call to unknown function"; return true; }