类 JSRInlinerAdapter.Instantiation
- 封闭类:
- JSRInlinerAdapter
-
嵌套类概要
从类继承的嵌套类/接口 java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
字段概要
字段修饰符和类型字段说明A map from labels from the original code to labels pointing at code specific to this instantiation, for use in remapping try/catch blocks, as well as jumps.(专用程序包) final JSRInlinerAdapter.InstantiationThe instantiation from which this one was created (or null for the instantiation of the main "subroutine").(专用程序包) final LabelNodeThe return label for this instantiation, to which all original returns will be mapped.(专用程序包) final BitSetThe original instructions that belong to the subroutine which is instantiated. -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明entrySet()boolean(专用程序包) JSRInlinerAdapter.InstantiationfindOwner(int insnIndex) Returns the "owner" of a particular instruction relative to this instantiation: the owner refers to the Instantiation which will emit the version of this instruction that we will execute.(专用程序包) LabelNodegetClonedLabel(LabelNode labelNode) Returns the clone of the given original label that is appropriate for use by a try/catch block or a variable annotation.(专用程序包) LabelNodegetClonedLabelForJumpInsn(LabelNode labelNode) Returns the clone of the given original label that is appropriate for use in a jump instruction.inthashCode()从类继承的方法 java.util.AbstractMap
clear, clone, containsKey, containsValue, isEmpty, keySet, put, putAll, remove, size, toString, values从接口继承的方法 java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
字段详细资料
-
parent
The instantiation from which this one was created (or null for the instantiation of the main "subroutine"). -
subroutineInsns
The original instructions that belong to the subroutine which is instantiated. Bit i is set iff instruction at index i belongs to this subroutine. -
clonedLabels
A map from labels from the original code to labels pointing at code specific to this instantiation, for use in remapping try/catch blocks, as well as jumps.Note that in the presence of instructions belonging to several subroutines, we map the target label of a GOTO to the label used by the oldest instantiation (parent instantiations are older than their children). This avoids code duplication during inlining in most cases.
-
returnLabel
The return label for this instantiation, to which all original returns will be mapped.
-
-
构造器详细资料
-
Instantiation
Instantiation(JSRInlinerAdapter.Instantiation parent, BitSet subroutineInsns)
-
-
方法详细资料
-
findOwner
Returns the "owner" of a particular instruction relative to this instantiation: the owner refers to the Instantiation which will emit the version of this instruction that we will execute.Typically, the return value is either
thisornull.thisindicates that this instantiation will generate the version of this instruction that we will execute, andnullindicates that this instantiation never executes the given instruction.Sometimes, however, an instruction can belong to multiple subroutines; this is called a shared instruction, and occurs when multiple subroutines branch to common points of control. In this case, the owner is the oldest instantiation which owns the instruction in question (parent instantiations are older than their children).
- 参数:
insnIndex- the index of an instruction in the original code.- 返回:
- the "owner" of a particular instruction relative to this instantiation.
-
getClonedLabelForJumpInsn
Returns the clone of the given original label that is appropriate for use in a jump instruction.- 参数:
labelNode- a label of the original code.- 返回:
- a clone of the given label for use in a jump instruction in the inlined code.
-
getClonedLabel
Returns the clone of the given original label that is appropriate for use by a try/catch block or a variable annotation.- 参数:
labelNode- a label of the original code.- 返回:
- a clone of the given label for use by a try/catch block or a variable annotation in the inlined code.
-
entrySet
-
get
-
equals
-
hashCode
public int hashCode()
-