public final InstructionOffsetValue instructionOffsetValue() { return value.instructionOffsetValue(); }
public final InstructionOffsetValue instructionOffsetValue() { return value.instructionOffsetValue(); }
public final InstructionOffsetValue instructionOffsetValue() { return value.instructionOffsetValue(); }
/** * Loads the InstructionOffsetValue from the variable with the given index. */ public InstructionOffsetValue oload(int index) { return load(index).instructionOffsetValue(); }
/** * Pops the top InstructionOffsetValue from the stack. */ public InstructionOffsetValue opop() { return pop().instructionOffsetValue(); }
/** * Loads the InstructionOffsetValue from the variable with the given index. */ public InstructionOffsetValue oload(int index) { return load(index).instructionOffsetValue(); }
/** * Pops the top InstructionOffsetValue from the stack. */ public InstructionOffsetValue opop() { return pop().instructionOffsetValue(); }
/** * Pops the top InstructionOffsetValue from the stack. */ public InstructionOffsetValue opop() { return pop().instructionOffsetValue(); }
/** * Pops the top InstructionOffsetValue from the stack. */ public InstructionOffsetValue opop() { return pop().instructionOffsetValue(); }
/** * Loads the InstructionOffsetValue from the variable with the given index. */ public InstructionOffsetValue oload(int index) { return load(index).instructionOffsetValue(); }
/** * Loads the InstructionOffsetValue from the variable with the given index. */ public InstructionOffsetValue oload(int index) { return load(index).instructionOffsetValue(); }
public final Value generalize(Value other) { return this.generalize(other.instructionOffsetValue()); }
public final Value generalize(Value other) { return this.generalize(other.instructionOffsetValue()); }
public final Value generalize(Value other) { return this.generalize(other.instructionOffsetValue()); }
public final Value generalize(Value other) { return this.generalize(other.instructionOffsetValue()); }
public void branchConditionally(Clazz clazz, CodeAttribute codeAttribute, int offset, int branchTarget, int conditional) { // Accumulate the branch targets. traceBranchTargets = traceBranchTargets.generalize(new InstructionOffsetValue(branchTarget)).instructionOffsetValue(); wasCalled = true; }
/** * Marks the variable and the corresponding producing instructions * of the consumer at the given offset. * @param consumerOffset the offset of the consumer. * @param variableIndex the index of the variable to be marked. */ private void markVariableProducers(int consumerOffset, int variableIndex) { TracedVariables tracedVariables = partialEvaluator.getVariablesBefore(consumerOffset); // Mark the producer of the loaded value. markVariableProducers(tracedVariables.getProducerValue(variableIndex).instructionOffsetValue(), variableIndex); }
/** * Marks the producing offsets of the given traced reference value. */ private void markEscapingReferenceValues(ReferenceValue referenceValue) { TracedReferenceValue tracedReferenceValue = (TracedReferenceValue)referenceValue; InstructionOffsetValue instructionOffsetValue = tracedReferenceValue.getTraceValue().instructionOffsetValue(); int parameterCount = instructionOffsetValue.instructionOffsetCount(); for (int index = 0; index < parameterCount; index++) { if (!instructionOffsetValue.isMethodParameter(index)) { instanceEscaping[instructionOffsetValue.instructionOffset(index)] = true; } } }
/** * Marks the producing offsets of the given traced reference value. */ private void markEscapingReferenceValues(ReferenceValue referenceValue) { TracedReferenceValue tracedReferenceValue = (TracedReferenceValue)referenceValue; InstructionOffsetValue instructionOffsetValue = tracedReferenceValue.getTraceValue().instructionOffsetValue(); int parameterCount = instructionOffsetValue.instructionOffsetCount(); for (int index = 0; index < parameterCount; index++) { if (!instructionOffsetValue.isMethodParameter(index)) { instanceEscaping[instructionOffsetValue.instructionOffset(index)] = true; } } }
/** * Marks the producing offsets of the given traced reference value. */ private void markModifiedReferenceValues(ReferenceValue referenceValue) { TracedReferenceValue tracedReferenceValue = (TracedReferenceValue)referenceValue; InstructionOffsetValue instructionOffsetValue = tracedReferenceValue.getTraceValue().instructionOffsetValue(); int parameterCount = instructionOffsetValue.instructionOffsetCount(); for (int index = 0; index < parameterCount; index++) { if (!instructionOffsetValue.isMethodParameter(index)) { instanceModified[instructionOffsetValue.instructionOffset(index)] = true; } } }