Class BytecodeAnnotationBuilder
java.lang.Object
org.adoptopenjdk.jitwatch.compilation.AbstractCompilationVisitable
org.adoptopenjdk.jitwatch.model.bytecode.BytecodeAnnotationBuilder
- All Implemented Interfaces:
ICompilationVisitable
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate EnumSet<BCAnnotationType> private BytecodeAnnotationsprivate IMetaMemberprivate static final com.chrisnewland.freelogj.Loggerprivate IReadOnlyJITDataModelprivate PackageManagerprivate booleanprivate booleanFields inherited from class AbstractCompilationVisitable
ignoreTags -
Constructor Summary
ConstructorsConstructorDescriptionBytecodeAnnotationBuilder(boolean verifyBytecodeInstructions) BytecodeAnnotationBuilder(boolean verifyBytecodeInstructions, boolean processAnnotationsForInlinedMethods) -
Method Summary
Modifier and TypeMethodDescriptionprivate StringbuildBranchAnnotation(Map<String, String> tagAttrs) buildBytecodeAnnotations(IMetaMember member, int compilationIndex, IReadOnlyJITDataModel model) buildBytecodeAnnotations(IMetaMember member, int compilationIndex, IReadOnlyJITDataModel model, EnumSet<BCAnnotationType> allowedAnnotations) private StringbuildElidedLockAnnotation(boolean isInlined) private StringbuildEliminatedAllocationAnnotation(String typeOrKlassName, boolean isInlined) private voidbuildEliminationTagAnnotations(int jdkMajorVersion, Compilation compilation) private StringbuildInlineAnnotation(IParseDictionary parseDictionary, Map<String, String> methodAttrs, Map<String, String> callAttrs, String reason, boolean inlined) private voidbuildParseTagAnnotations(int jdkMajorVersion, Compilation compilation) private voidbuildParseTagAnnotations(Tag parseTag, BytecodeAnnotations annotations, IParseDictionary parseDictionary) private IMetaMemberfindMemberForInlinedMethod(Tag tagJVMS, IParseDictionary parseDictionary) private BytecodeInstructiongetInstructionAtIndex(int index) private booleanisLateInline(Tag parseTag) private voidputAnnotation(IMetaMember member, int bci, LineAnnotation annotation) booleanbooleanbooleanprivate booleanprivate voidstoreElidedLock(IMetaMember member, int bciValue, String kind, BCIOpcodeMap bciOpcodeMap) private voidstoreEliminatedAllocation(IMetaMember member, int bciValue, String typeOrKlassName, BCIOpcodeMap bciOpcodeMap) voidvisitTag(Tag tag, IParseDictionary parseDictionary) private voidvisitTagEliminateAllocation(Tag tagEliminateAllocation, IParseDictionary parseDictionary) private voidvisitTagEliminateLock(Tag tagEliminateLock, IParseDictionary parseDictionary) private voidvisitTagParse(Tag tagParse, IParseDictionary parseDictionary) private voidvisitTagUncommonTrap(Tag tag) Methods inherited from class AbstractCompilationVisitable
handleOther
-
Field Details
-
logger
private static final com.chrisnewland.freelogj.Logger logger -
currentMember
-
model
-
bcAnnotations
-
verifyBytecodeInstructions
private boolean verifyBytecodeInstructions -
processAnnotationsForInlinedMethods
private boolean processAnnotationsForInlinedMethods -
allowedAnnotations
-
packageManager
-
unhandledTags
-
-
Constructor Details
-
BytecodeAnnotationBuilder
public BytecodeAnnotationBuilder(boolean verifyBytecodeInstructions) -
BytecodeAnnotationBuilder
public BytecodeAnnotationBuilder(boolean verifyBytecodeInstructions, boolean processAnnotationsForInlinedMethods)
-
-
Method Details
-
buildBytecodeAnnotations
public BytecodeAnnotations buildBytecodeAnnotations(IMetaMember member, int compilationIndex, IReadOnlyJITDataModel model) throws AnnotationException - Throws:
AnnotationException
-
buildBytecodeAnnotations
public BytecodeAnnotations buildBytecodeAnnotations(IMetaMember member, int compilationIndex, IReadOnlyJITDataModel model, EnumSet<BCAnnotationType> allowedAnnotations) throws AnnotationException - Throws:
AnnotationException
-
buildParseTagAnnotations
private void buildParseTagAnnotations(int jdkMajorVersion, Compilation compilation) throws LogParseException - Throws:
LogParseException
-
buildEliminationTagAnnotations
private void buildEliminationTagAnnotations(int jdkMajorVersion, Compilation compilation) throws LogParseException - Throws:
LogParseException
-
visitTag
- Throws:
LogParseException
-
visitTagParse
- Throws:
LogParseException
-
isLateInline
-
visitTagEliminateAllocation
private void visitTagEliminateAllocation(Tag tagEliminateAllocation, IParseDictionary parseDictionary) -
storeEliminatedAllocation
private void storeEliminatedAllocation(IMetaMember member, int bciValue, String typeOrKlassName, BCIOpcodeMap bciOpcodeMap) -
findMemberForInlinedMethod
-
putAnnotation
-
visitTagEliminateLock
-
storeElidedLock
private void storeElidedLock(IMetaMember member, int bciValue, String kind, BCIOpcodeMap bciOpcodeMap) -
buildElidedLockAnnotation
-
visitTagUncommonTrap
-
buildParseTagAnnotations
private void buildParseTagAnnotations(Tag parseTag, BytecodeAnnotations annotations, IParseDictionary parseDictionary) throws AnnotationException - Throws:
AnnotationException
-
buildInlineAnnotation
-
buildEliminatedAllocationAnnotation
-
buildBranchAnnotation
-
sanityCheckInline
-
sanityCheckIntrinsic
-
sanityCheckInvoke
-
sanityCheckBranch
-
getInstructionAtIndex
-
getUnhandledTags
-