public class FrameMapBuilderImpl extends FrameMapBuilderTool
| Constructor and Description |
|---|
FrameMapBuilderImpl(FrameMap frameMap,
CodeCacheProvider codeCache,
RegisterConfig registerConfig) |
| Modifier and Type | Method and Description |
|---|---|
VirtualStackSlot |
allocateSpillSlot(<any> kind)
Reserves a spill slot in the frame of the method being compiled.
|
VirtualStackSlot |
allocateStackMemory(int sizeInBytes,
int alignmentInBytes)
Reserves a contiguous and aligned range of memory in the frame of the method being compiled.
|
FrameMap |
buildFrameMap(LIRGenerationResult res)
Creates a FrameMap based on the information collected by this
FrameMapBuilder.
|
void |
callsMethod(CallingConvention cc)
Informs the frame map that the compiled code calls a particular method, which may need stack
space for outgoing arguments.
|
CodeCacheProvider |
getCodeCache() |
FrameMap |
getFrameMap() |
int |
getNumberOfStackSlots()
Returns the number of
VirtualStackSlots created by this FrameMapBuilder. |
RegisterConfig |
getRegisterConfig() |
List<VirtualStackSlot> |
getStackSlots() |
public FrameMapBuilderImpl(FrameMap frameMap, CodeCacheProvider codeCache, RegisterConfig registerConfig)
public VirtualStackSlot allocateSpillSlot(<any> kind)
FrameMapBuilderallocateSpillSlot in class FrameMapBuilderkind - The kind of the spill slot to be reserved.public VirtualStackSlot allocateStackMemory(int sizeInBytes, int alignmentInBytes)
FrameMapBuilderallocateStackMemory in class FrameMapBuildersizeInBytes - the number of bytes to reserve. Must be > 0.alignmentInBytes - the required alignment of the memory. Must be > 0, a power of 2, and
not exceed the OS stack frame alignment.public RegisterConfig getRegisterConfig()
getRegisterConfig in class FrameMapBuilderpublic CodeCacheProvider getCodeCache()
getCodeCache in class FrameMapBuilderpublic FrameMap getFrameMap()
getFrameMap in class FrameMapBuilderToolpublic int getNumberOfStackSlots()
FrameMapBuilderToolVirtualStackSlots created by this FrameMapBuilder. Can
be used as an upper bound for an array indexed by VirtualStackSlot.getId().getNumberOfStackSlots in class FrameMapBuilderToolpublic void callsMethod(CallingConvention cc)
FrameMapBuildercallsMethod in class FrameMapBuildercc - The calling convention for the called method.public FrameMap buildFrameMap(LIRGenerationResult res)
FrameMapBuilderbuildFrameMap in class FrameMapBuilderpublic List<VirtualStackSlot> getStackSlots()
getStackSlots in class FrameMapBuilderTool