stack.push(valueFactory.createReferenceValueNull()); break; case InstructionConstants.OP_BIPUSH: case InstructionConstants.OP_SIPUSH: stack.push(valueFactory.createIntegerValue(simpleInstruction.constant)); break; stack.push(valueFactory.createLongValue(simpleInstruction.constant)); break; case InstructionConstants.OP_FCONST_1: case InstructionConstants.OP_FCONST_2: stack.push(valueFactory.createFloatValue((float)simpleInstruction.constant)); break; stack.push(valueFactory.createDoubleValue((double)simpleInstruction.constant)); break; case InstructionConstants.OP_CALOAD: case InstructionConstants.OP_SALOAD: stack.ipop(); stack.apop(); stack.push(valueFactory.createIntegerValue()); break; stack.ipop(); stack.apop(); stack.push(valueFactory.createLongValue());
case InstructionConstants.OP_ILOAD_2: case InstructionConstants.OP_ILOAD_3: stack.push(variables.iload(variableIndex)); break; case InstructionConstants.OP_LLOAD_2: case InstructionConstants.OP_LLOAD_3: stack.push(variables.lload(variableIndex)); break; case InstructionConstants.OP_FLOAD_2: case InstructionConstants.OP_FLOAD_3: stack.push(variables.fload(variableIndex)); break; case InstructionConstants.OP_DLOAD_2: case InstructionConstants.OP_DLOAD_3: stack.push(variables.dload(variableIndex)); break; case InstructionConstants.OP_ALOAD_2: case InstructionConstants.OP_ALOAD_3: stack.push(variables.aload(variableIndex)); break; case InstructionConstants.OP_ISTORE_2: case InstructionConstants.OP_ISTORE_3: variables.store(variableIndex, stack.ipop()); break;
stack.ipop().equal(valueFactory.createIntegerValue(0))); break; stack.ipop().notEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().lessThan(valueFactory.createIntegerValue(0))); break; stack.ipop().greaterThanOrEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().greaterThan(valueFactory.createIntegerValue(0))); break; stack.ipop().lessThanOrEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().equal(stack.ipop())); break; stack.ipop().notEqual(stack.ipop())); break; stack.ipop().greaterThan(stack.ipop())); break; stack.ipop().lessThanOrEqual(stack.ipop())); break;
public void visitFieldrefConstant(Clazz clazz, FieldrefConstant fieldrefConstant) { // Pop the field value, if applicable. if (!isLoad) { setFieldValue(clazz, fieldrefConstant, stack.pop()); } // Pop the reference value, if applicable. if (!isStatic) { setFieldClassValue(clazz, fieldrefConstant, stack.apop()); } // Push the field value, if applicable. if (isLoad) { String type = fieldrefConstant.getType(clazz); stack.push(getFieldValue(clazz, fieldrefConstant, type)); } }
public void dup2_x1() { super.dup2_x1(); producerStack.pop(); producerStack.pop(); producerStack.pop(); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); actualProducerStack.dup2_x1(); }
public void dup2_x2() { super.dup2_x2(); producerStack.pop(); producerStack.pop(); producerStack.pop(); producerStack.pop(); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); producerStack.push(producerValue); actualProducerStack.dup2_x2(); }
public void dup() { super.dup(); producerPop(); producerPush(); producerPush(); }
public void dup_x1() { super.dup_x1(); producerPop(); producerPop(); producerPush(); producerPush(); producerPush(); }
public void dup2() { super.dup2(); producerPop(); producerPop(); producerPush(); producerPush(); producerPush(); producerPush(); }
public void dup2_x1() { super.dup2_x1(); producerPop(); producerPop(); producerPop(); producerPush(); producerPush(); producerPush(); producerPush(); producerPush(); }
public void dup2_x2() { super.dup2_x2(); producerPop(); producerPop(); producerPop(); producerPop(); producerPush(); producerPush(); producerPush(); producerPush(); producerPush(); producerPush(); }
stack.push(valueFactory.createReferenceValueNull()); break; case InstructionConstants.OP_BIPUSH: case InstructionConstants.OP_SIPUSH: stack.push(valueFactory.createIntegerValue(simpleInstruction.constant)); break; stack.push(valueFactory.createLongValue(simpleInstruction.constant)); break; case InstructionConstants.OP_FCONST_1: case InstructionConstants.OP_FCONST_2: stack.push(valueFactory.createFloatValue((float)simpleInstruction.constant)); break; stack.push(valueFactory.createDoubleValue((double)simpleInstruction.constant)); break; IntegerValue arrayIndex = stack.ipop(); ReferenceValue arrayReference = stack.apop(); stack.push(arrayReference.integerArrayLoad(arrayIndex, valueFactory)); break; IntegerValue arrayIndex = stack.ipop(); ReferenceValue arrayReference = stack.apop(); stack.push(arrayReference.longArrayLoad(arrayIndex, valueFactory)); break;
case InstructionConstants.OP_ILOAD_2: case InstructionConstants.OP_ILOAD_3: stack.push(variables.iload(variableIndex)); break; case InstructionConstants.OP_LLOAD_2: case InstructionConstants.OP_LLOAD_3: stack.push(variables.lload(variableIndex)); break; case InstructionConstants.OP_FLOAD_2: case InstructionConstants.OP_FLOAD_3: stack.push(variables.fload(variableIndex)); break; case InstructionConstants.OP_DLOAD_2: case InstructionConstants.OP_DLOAD_3: stack.push(variables.dload(variableIndex)); break; case InstructionConstants.OP_ALOAD_2: case InstructionConstants.OP_ALOAD_3: stack.push(variables.aload(variableIndex)); break; case InstructionConstants.OP_ISTORE_2: case InstructionConstants.OP_ISTORE_3: variables.store(variableIndex, stack.ipop()); break;
stack.ipop().equal(valueFactory.createIntegerValue(0))); break; stack.ipop().notEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().lessThan(valueFactory.createIntegerValue(0))); break; stack.ipop().greaterThanOrEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().greaterThan(valueFactory.createIntegerValue(0))); break; stack.ipop().lessThanOrEqual(valueFactory.createIntegerValue(0))); break; stack.ipop().equal(stack.ipop())); break; stack.ipop().notEqual(stack.ipop())); break; stack.ipop().greaterThan(stack.ipop())); break; stack.ipop().lessThanOrEqual(stack.ipop())); break;