APIdia Launch Partner
Top Description Fields Constructors Methods
sun.jvm.hotspot.runtime.ppc64

public Class PPC64Frame

extends Frame
Class Inheritance
Imports
java.util.*, sun.jvm.hotspot.code.*, sun.jvm.hotspot.compiler.*, sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.oops.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.types.*, sun.jvm.hotspot.utilities.*, .Observable, .Observer

Specialization of and implementation of abstract methods of the Frame class for the ppc64 family of CPUs.

Field Summary

Modifier and TypeField and Description
private static final boolean
private static int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
pack-priv Address
private Address
private static final int
Inherited from sun.jvm.hotspot.runtime.Frame:
deoptimizedpcraw_sp

Constructor Summary

AccessConstructor and Description
private
public
PPC64Frame(Address raw_sp, Address raw_fp, Address pc)

public
PPC64Frame(Address raw_sp, Address raw_fp)

public
PPC64Frame(Address raw_sp, Address raw_unextendedSp, Address raw_fp, Address pc)

Method Summary

Modifier and TypeMethod and Description
private Address
public Address
public Address
addressOfInterpreterFrameExpressionStack()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameExpressionStack.

Find receiver for an invoke when arguments are just pushed on stack (i.e., callee stack-frame is not setup)

public Address
public Address
public Address
public Address
public Address
addressOfInterpreterFrameTOSAt(int slot)

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOSAt.

Expression stack from top down

protected Address
protected Address
public Object
clone()

Implements abstract sun.jvm.hotspot.runtime.Frame.clone.

Creates and returns a copy of this object.

private void
public boolean
equals(Object arg)

Implements abstract sun.jvm.hotspot.runtime.Frame.equals.

testers -- platform dependent

public long
frameSize()

Implements abstract sun.jvm.hotspot.runtime.Frame.frameSize.

returns the frame size in stack slots

public JavaCallWrapper
public Address
public Address
public int
public int
public Address
public Address
getSenderPC()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSenderPC.

Return address

public Address
getSenderSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSenderSP.

Returns the stack pointer of the calling frame

public String
getSignalNameDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSignalNameDbg.

If this is a signal handler frame (again, on a platform with a notion of signals), get the name of the signal.

public int
getSignalNumberDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSignalNumberDbg.

If this is a signal handler frame (again, on a platform with a notion of signals), get the signal number.

public Address
public Address
getUnextendedSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getUnextendedSP.

The frame's original SP, before any extension by an interpreted callee; used for packing debug info into vframeArray objects and vframeArray lookup.

public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

protected boolean
hasSenderPD()

Implements abstract sun.jvm.hotspot.runtime.Frame.hasSenderPD.

Platform-dependent query indicating whether this frame has a sender.

private static synchronized void
public BasicObjectLock
public BasicObjectLock
public int
interpreterFrameMonitorSize()

Implements abstract sun.jvm.hotspot.runtime.Frame.interpreterFrameMonitorSize.

Note

this returns a size in BYTES in this system!

public boolean
isInterpretedFrameValid()

Implements abstract sun.jvm.hotspot.runtime.Frame.isInterpretedFrameValid.

performs sanity checks on interpreted frames.

public boolean
isSignalHandlerFrameDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.isSignalHandlerFrameDbg.

This is an addition for debugging purposes on platforms which have the notion of signals.

public Frame
sender(RegisterMap regMap, CodeBlob cb)

Implements abstract sun.jvm.hotspot.runtime.Frame.sender.

returns the sending frame

private Frame
private Frame
private Frame
private Frame
public void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from sun.jvm.hotspot.runtime.Frame:
addressOfInterpreterFrameExpressionStackSlotaddressOfInterpreterFrameLocaladdressOfStackSlotadjustForDeoptbcpToBcibcpToBcicanBeDeoptimizedcbentryFrameIsFirstgetIntAtgetInterpreterFrameCPCachegetInterpreterFrameExpressionStackSizegetInterpreterFrameMethodgetOopHandleAtgetPCgetSavedOopResultgetSavedReceiverinterpreterFramePrintOnisCompiledFrameisDeoptimizedisEntryFrameisFirstFrameisFirstJavaFrameisInterpretedFrameisJavaFrameisNativeFrameisRuntimeFramenextMonitorInInterpreterFrameoopMapRegToLocationoopsDooopsInterpretedArgumentsDopcReturnOffsetpreviousMonitorInInterpreterFrameprintprintOnprintValueprintValueOnrealSendersendersetPCshouldBeDeoptimized

Field Detail

DEBUGback to summary
private static final boolean DEBUG
ENTRY_FRAME_CALL_WRAPPER_OFFSETback to summary
private static int ENTRY_FRAME_CALL_WRAPPER_OFFSET
INTERPRETER_FRAME_BCX_OFFSETback to summary
private static final int INTERPRETER_FRAME_BCX_OFFSET
INTERPRETER_FRAME_CACHE_OFFSETback to summary
private static final int INTERPRETER_FRAME_CACHE_OFFSET
INTERPRETER_FRAME_ESP_OFFSETback to summary
private static final int INTERPRETER_FRAME_ESP_OFFSET
INTERPRETER_FRAME_LAST_SP_OFFSETback to summary
private static final int INTERPRETER_FRAME_LAST_SP_OFFSET
INTERPRETER_FRAME_LOCALS_OFFSETback to summary
private static final int INTERPRETER_FRAME_LOCALS_OFFSET
INTERPRETER_FRAME_MDX_OFFSETback to summary
private static final int INTERPRETER_FRAME_MDX_OFFSET
INTERPRETER_FRAME_METHOD_OFFSETback to summary
private static final int INTERPRETER_FRAME_METHOD_OFFSET
INTERPRETER_FRAME_MIRROR_OFFSETback to summary
private static final int INTERPRETER_FRAME_MIRROR_OFFSET
INTERPRETER_FRAME_MONITOR_BLOCK_BOTTOM_OFFSETback to summary
private static final int INTERPRETER_FRAME_MONITOR_BLOCK_BOTTOM_OFFSET
INTERPRETER_FRAME_MONITORS_OFFSETback to summary
private static final int INTERPRETER_FRAME_MONITORS_OFFSET
INTERPRETER_FRAME_SENDER_SP_OFFSETback to summary
private static final int INTERPRETER_FRAME_SENDER_SP_OFFSET
raw_fpback to summary
pack-priv Address raw_fp
raw_unextendedSPback to summary
private Address raw_unextendedSP
SENDER_SP_OFFSETback to summary
private static final int SENDER_SP_OFFSET

Constructor Detail

PPC64Frameback to summary
private PPC64Frame()
PPC64Frameback to summary
public PPC64Frame(Address raw_sp, Address raw_fp, Address pc)
PPC64Frameback to summary
public PPC64Frame(Address raw_sp, Address raw_fp)
PPC64Frameback to summary
public PPC64Frame(Address raw_sp, Address raw_unextendedSp, Address raw_fp, Address pc)

Method Detail

addressOfInterpreterFrameBCXback to summary
private Address addressOfInterpreterFrameBCX()
addressOfInterpreterFrameCPCacheback to summary
public Address addressOfInterpreterFrameCPCache()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameCPCache.

Doc from sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameCPCache.

Constant pool cache

addressOfInterpreterFrameExpressionStackback to summary
public Address addressOfInterpreterFrameExpressionStack()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameExpressionStack.

Doc from sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameExpressionStack.

Find receiver for an invoke when arguments are just pushed on stack (i.e., callee stack-frame is not setup)

addressOfInterpreterFrameLocalsback to summary
public Address addressOfInterpreterFrameLocals()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameLocals.

addressOfInterpreterFrameMDXback to summary
public Address addressOfInterpreterFrameMDX()
addressOfInterpreterFrameMethodback to summary
public Address addressOfInterpreterFrameMethod()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameMethod.

Doc from sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameMethod.

Current method

addressOfInterpreterFrameTOSback to summary
public Address addressOfInterpreterFrameTOS()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOS.

Doc from sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOS.

Top of expression stack

addressOfInterpreterFrameTOSAtback to summary
public Address addressOfInterpreterFrameTOSAt(int slot)

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfInterpreterFrameTOSAt.

Expression stack from top down

addressOfSavedOopResultback to summary
protected Address addressOfSavedOopResult()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfSavedOopResult.

addressOfSavedReceiverback to summary
protected Address addressOfSavedReceiver()

Implements abstract sun.jvm.hotspot.runtime.Frame.addressOfSavedReceiver.

cloneback to summary
public Object clone()

Implements abstract sun.jvm.hotspot.runtime.Frame.clone.

Doc from java.lang.Object.clone.

Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object. The general intent is that, for any object x, the expression:

x.clone() != x
will be true, and that the expression:
x.clone().getClass() == x.getClass()
will be true, but these are not absolute requirements. While it is typically the case that:
x.clone().equals(x)
will be true, this is not an absolute requirement.

By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().

By convention, the object returned by this method should be independent of this object (which is being cloned). To achieve this independence, it may be necessary to modify one or more fields of the object returned by super.clone before returning it. Typically, this means copying any mutable objects that comprise the internal "deep structure" of the object being cloned and replacing the references to these objects with references to the copies. If a class contains only primitive fields or references to immutable objects, then it is usually the case that no fields in the object returned by super.clone need to be modified.

dumpStackback to summary
private void dumpStack()
equalsback to summary
public boolean equals(Object arg)

Implements abstract sun.jvm.hotspot.runtime.Frame.equals.

Doc from sun.jvm.hotspot.runtime.Frame.equals.

testers -- platform dependent

frameSizeback to summary
public long frameSize()

Implements abstract sun.jvm.hotspot.runtime.Frame.frameSize.

Doc from sun.jvm.hotspot.runtime.Frame.frameSize.

returns the frame size in stack slots

getEntryFrameCallWrapperback to summary
public JavaCallWrapper getEntryFrameCallWrapper()

Implements abstract sun.jvm.hotspot.runtime.Frame.getEntryFrameCallWrapper.

getFPback to summary
public Address getFP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getFP.

getIDback to summary
public Address getID()

Implements abstract sun.jvm.hotspot.runtime.Frame.getID.

getInterpreterFrameBCIback to summary
public int getInterpreterFrameBCI()

Implements abstract sun.jvm.hotspot.runtime.Frame.getInterpreterFrameBCI.

Doc from sun.jvm.hotspot.runtime.Frame.getInterpreterFrameBCI.

Byte code index. In the underlying frame, what is actually stored is a byte code pointer (BCP), which is converted to a BCI and back by the GC when methods are moved. In this system, interior pointers are not allowed, so we must make the access to the interpreter frame's BCI atomic with respect to GC. This may mean implementation with an underlying call through native code into the VM or a magic sequence in the compiler. (FIXME)

getInterpreterFrameExpressionStackDirectionback to summary
public int getInterpreterFrameExpressionStackDirection()

Implements abstract sun.jvm.hotspot.runtime.Frame.getInterpreterFrameExpressionStackDirection.

getInterpreterFrameSenderSPback to summary
public Address getInterpreterFrameSenderSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getInterpreterFrameSenderSP.

getSenderPCback to summary
public Address getSenderPC()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSenderPC.

Doc from sun.jvm.hotspot.runtime.Frame.getSenderPC.

Return address

getSenderSPback to summary
public Address getSenderSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSenderSP.

Doc from sun.jvm.hotspot.runtime.Frame.getSenderSP.

Returns the stack pointer of the calling frame

getSignalNameDbgback to summary
public String getSignalNameDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSignalNameDbg.

Doc from sun.jvm.hotspot.runtime.Frame.getSignalNameDbg.

If this is a signal handler frame (again, on a platform with a notion of signals), get the name of the signal.

getSignalNumberDbgback to summary
public int getSignalNumberDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSignalNumberDbg.

Doc from sun.jvm.hotspot.runtime.Frame.getSignalNumberDbg.

If this is a signal handler frame (again, on a platform with a notion of signals), get the signal number.

getSPback to summary
public Address getSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getSP.

getUnextendedSPback to summary
public Address getUnextendedSP()

Implements abstract sun.jvm.hotspot.runtime.Frame.getUnextendedSP.

Doc from sun.jvm.hotspot.runtime.Frame.getUnextendedSP.

The frame's original SP, before any extension by an interpreted callee; used for packing debug info into vframeArray objects and vframeArray lookup.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
hasSenderPDback to summary
protected boolean hasSenderPD()

Implements abstract sun.jvm.hotspot.runtime.Frame.hasSenderPD.

Doc from sun.jvm.hotspot.runtime.Frame.hasSenderPD.

Platform-dependent query indicating whether this frame has a sender. Should return true if it is possible to call sender() at all on this frame. (This is currently only needed for the debugging system, if a stack trace is attempted for a Java thread which has no Java frames, i.e., the signal thread; we have to know to stop traversal at the bottom frame.)

initializeback to summary
private static synchronized void initialize(TypeDataBase db)

Hides sun.jvm.hotspot.runtime.Frame.initialize.

interpreterFrameMonitorBeginback to summary
public BasicObjectLock interpreterFrameMonitorBegin()

Implements abstract sun.jvm.hotspot.runtime.Frame.interpreterFrameMonitorBegin.

interpreterFrameMonitorEndback to summary
public BasicObjectLock interpreterFrameMonitorEnd()

Implements abstract sun.jvm.hotspot.runtime.Frame.interpreterFrameMonitorEnd.

interpreterFrameMonitorSizeback to summary
public int interpreterFrameMonitorSize()

Implements abstract sun.jvm.hotspot.runtime.Frame.interpreterFrameMonitorSize.

Doc from sun.jvm.hotspot.runtime.Frame.interpreterFrameMonitorSize.

Note

this returns a size in BYTES in this system!

isInterpretedFrameValidback to summary
public boolean isInterpretedFrameValid()

Implements abstract sun.jvm.hotspot.runtime.Frame.isInterpretedFrameValid.

Doc from sun.jvm.hotspot.runtime.Frame.isInterpretedFrameValid.

performs sanity checks on interpreted frames.

isSignalHandlerFrameDbgback to summary
public boolean isSignalHandlerFrameDbg()

Implements abstract sun.jvm.hotspot.runtime.Frame.isSignalHandlerFrameDbg.

Doc from sun.jvm.hotspot.runtime.Frame.isSignalHandlerFrameDbg.

This is an addition for debugging purposes on platforms which have the notion of signals.

senderback to summary
public Frame sender(RegisterMap regMap, CodeBlob cb)

Implements abstract sun.jvm.hotspot.runtime.Frame.sender.

Doc from sun.jvm.hotspot.runtime.Frame.sender.

returns the sending frame

senderForCompiledFrameback to summary
private Frame senderForCompiledFrame(PPC64RegisterMap map, CodeBlob cb)
senderForEntryFrameback to summary
private Frame senderForEntryFrame(PPC64RegisterMap map)
senderForInterpreterFrameback to summary
private Frame senderForInterpreterFrame(PPC64RegisterMap map)
senderForUpcallStubback to summary
private Frame senderForUpcallStub(PPC64RegisterMap map, UpcallStub stub)
setSPback to summary
public void setSP(Address newSP)

Implements abstract sun.jvm.hotspot.runtime.Frame.setSP.

Annotations
@Override
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.