Lines Matching refs:offset
96 public boolean isInstruction(int offset) in isInstruction() argument
98 return (instructionMarks[offset] & INSTRUCTION) != 0; in isInstruction()
106 public boolean isTarget(int offset) in isTarget() argument
108 return offset == 0 || in isTarget()
109 (instructionMarks[offset] & (BRANCH_TARGET | in isTarget()
120 public boolean isBranchOrigin(int offset) in isBranchOrigin() argument
122 return (instructionMarks[offset] & BRANCH_ORIGIN) != 0; in isBranchOrigin()
130 public boolean isBranchTarget(int offset) in isBranchTarget() argument
132 return (instructionMarks[offset] & BRANCH_TARGET) != 0; in isBranchTarget()
141 public boolean isAfterBranch(int offset) in isAfterBranch() argument
143 return (instructionMarks[offset] & AFTER_BRANCH) != 0; in isAfterBranch()
151 public boolean isExceptionStart(int offset) in isExceptionStart() argument
153 return (instructionMarks[offset] & EXCEPTION_START) != 0; in isExceptionStart()
161 public boolean isExceptionEnd(int offset) in isExceptionEnd() argument
163 return (instructionMarks[offset] & EXCEPTION_END) != 0; in isExceptionEnd()
171 public boolean isExceptionHandler(int offset) in isExceptionHandler() argument
173 return (instructionMarks[offset] & EXCEPTION_HANDLER) != 0; in isExceptionHandler()
181 public boolean isSubroutineInvocation(int offset) in isSubroutineInvocation() argument
183 return (instructionMarks[offset] & SUBROUTINE_INVOCATION) != 0; in isSubroutineInvocation()
191 public boolean isSubroutineStart(int offset) in isSubroutineStart() argument
193 return subroutineStarts[offset] == offset; in isSubroutineStart()
201 public boolean isSubroutine(int offset) in isSubroutine() argument
203 return subroutineStarts[offset] >= 0; in isSubroutine()
211 public boolean isSubroutineReturning(int offset) in isSubroutineReturning() argument
213 return (instructionMarks[offset] & SUBROUTINE_RETURNING) != 0; in isSubroutineReturning()
221 public int subroutineStart(int offset) in subroutineStart() argument
223 return subroutineStarts[offset]; in subroutineStart()
231 public int subroutineEnd(int offset) in subroutineEnd() argument
233 return subroutineEnds[offset]; in subroutineEnd()
241 public boolean isNew(int offset) in isNew() argument
243 return initializationOffsets[offset] != NONE; in isNew()
252 public int initializationOffset(int offset) in initializationOffset() argument
254 return initializationOffsets[offset]; in initializationOffset()
284 public boolean isInitializer(int offset) in isInitializer() argument
286 return creationOffsets[offset] != NONE; in isInitializer()
297 public int creationOffset(int offset) in creationOffset() argument
299 return creationOffsets[offset]; in creationOffset()
380 for (int offset = 0; offset < codeLength; offset++) in visitCodeAttribute()
382 if (isInstruction(offset)) in visitCodeAttribute()
384 int subroutineStart = subroutineStarts[offset]; in visitCodeAttribute()
387 isSubroutineReturning(offset)) in visitCodeAttribute()
394 subroutineEnds[previousSubroutineStart] = offset; in visitCodeAttribute()
409 for (int offset = 0; offset < codeLength; offset++) in visitCodeAttribute()
411 if (isSubroutine(offset)) in visitCodeAttribute()
413 int subroutineStart = subroutineStarts[offset]; in visitCodeAttribute()
417 instructionMarks[offset] |= SUBROUTINE_RETURNING; in visitCodeAttribute()
420 subroutineEnds[offset] = subroutineEnds[subroutineStart]; in visitCodeAttribute()
455 …Instruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SimpleInstruction… in visitSimpleInstruction() argument
458 instructionMarks[offset] |= INSTRUCTION; in visitSimpleInstruction()
461 checkSubroutine(offset); in visitSimpleInstruction()
472 markBranchOrigin(offset); in visitSimpleInstruction()
475 markAfterBranchOrigin(offset + simpleInstruction.length(offset)); in visitSimpleInstruction()
480 …Instruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, ConstantInstructi… in visitConstantInstruction() argument
483 instructionMarks[offset] |= INSTRUCTION; in visitConstantInstruction()
486 checkSubroutine(offset); in visitConstantInstruction()
492 recentCreationOffsets[recentCreationOffsetIndex++] = offset; in visitConstantInstruction()
509 creationOffsets[offset] = recentCreationOffset; in visitConstantInstruction()
511 initializationOffsets[recentCreationOffset] = offset; in visitConstantInstruction()
520 superInitializationOffset = offset; in visitConstantInstruction()
527 …Instruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, VariableInstructi… in visitVariableInstruction() argument
530 instructionMarks[offset] |= INSTRUCTION; in visitVariableInstruction()
533 checkSubroutine(offset); in visitVariableInstruction()
541 markBranchOrigin(offset); in visitVariableInstruction()
544 instructionMarks[offset] |= SUBROUTINE_RETURNING; in visitVariableInstruction()
547 markAfterBranchOrigin(offset + variableInstruction.length(offset)); in visitVariableInstruction()
552 …Instruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, BranchInstruction… in visitBranchInstruction() argument
555 int targetOffset = offset + branchOffset; in visitBranchInstruction()
558 markBranchOrigin(offset); in visitBranchInstruction()
561 checkSubroutine(offset); in visitBranchInstruction()
564 markBranchTarget(offset, branchOffset); in visitBranchInstruction()
574 instructionMarks[offset] |= SUBROUTINE_INVOCATION; in visitBranchInstruction()
577 markBranchSubroutineStart(offset, branchOffset, targetOffset); in visitBranchInstruction()
582 markBranchSubroutineStart(offset, branchOffset, currentSubroutineStart); in visitBranchInstruction()
589 markAfterBranchOrigin(offset + branchInstruction.length(offset)); in visitBranchInstruction()
594 …Instruction(Clazz clazz, Method method, CodeAttribute codeAttribute, int offset, SwitchInstruction… in visitAnySwitchInstruction() argument
597 markBranchOrigin(offset); in visitAnySwitchInstruction()
600 checkSubroutine(offset); in visitAnySwitchInstruction()
603 markBranch(offset, switchInstruction.defaultOffset); in visitAnySwitchInstruction()
606 markBranches(offset, switchInstruction.jumpOffsets); in visitAnySwitchInstruction()
609 markAfterBranchOrigin(offset + switchInstruction.length(offset)); in visitAnySwitchInstruction()
656 private void markBranches(int offset, int[] jumpOffsets) in markBranches() argument
660 markBranch(offset, jumpOffsets[index]); in markBranches()
668 private void markBranch(int offset, int jumpOffset) in markBranch() argument
670 markBranchTarget(offset, jumpOffset); in markBranch()
674 markBranchSubroutineStart(offset, jumpOffset, currentSubroutineStart); in markBranch()
681 private void markBranchOrigin(int offset) in markBranchOrigin() argument
683 instructionMarks[offset] |= INSTRUCTION | BRANCH_ORIGIN; in markBranchOrigin()
690 private void markBranchTarget(int offset, int jumpOffset) in markBranchTarget() argument
692 int targetOffset = offset + jumpOffset; in markBranchTarget()
701 private void markBranchSubroutineStart(int offset, in markBranchSubroutineStart() argument
705 int targetOffset = offset + jumpOffset; in markBranchSubroutineStart()
745 private void checkSubroutine(int offset) in checkSubroutine() argument
748 if (subroutineStarts[offset] != UNKNOWN) in checkSubroutine()
751 currentSubroutineStart = subroutineStarts[offset]; in checkSubroutine()
758 subroutineStarts[offset] = currentSubroutineStart; in checkSubroutine()