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

public Class StubQueue

extends VMObject
Class Inheritance
Imports
sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.types.*, sun.jvm.hotspot.utilities.*, .Observable, .Observer

A port of the VM's StubQueue. Note that the VM implicitly knows the type of the objects contained in each StubQueue because it passes in an instance of a StubInterface to the StubQueue's constructor; the goal in the VM was to save space in the generated code. In the SA APIs the pattern has been to use the VirtualConstructor mechanism to instantiate wrapper objects of the appropriate type for objects down in the VM; see, for example, the CodeCache, which identifies NMethods, RuntimeStubs, etc.

In this port we eliminate the StubInterface in favor of passing in the class corresponding to the type of Stub which this StubQueue contains.

Field Summary

Modifier and TypeField and Description
private static CIntegerField
private static CIntegerField
private static CIntegerField
private static CIntegerField
private static AddressField
private Class<?>
Inherited from sun.jvm.hotspot.runtime.VMObject:
addr

Constructor Summary

AccessConstructor and Description
public
StubQueue(Address addr, Class<T> stubType)

Method Summary

Modifier and TypeMethod and Description
private void
checkIndex(long i)

public boolean
private long
public Stub
private long
public Stub
public int
public Stub
private long
private long
private Stub
getStubAt(long offset)

private Address
public Stub
private long
private static synchronized void
public boolean
Inherited from sun.jvm.hotspot.runtime.VMObject:
equalsgetAddresshashCodetoString

Field Detail

bufferLimitFieldback to summary
private static CIntegerField bufferLimitField
numberOfStubsFieldback to summary
private static CIntegerField numberOfStubsField
queueBeginFieldback to summary
private static CIntegerField queueBeginField
queueEndFieldback to summary
private static CIntegerField queueEndField
stubBufferFieldback to summary
private static AddressField stubBufferField
stubTypeback to summary
private Class<?> stubType

Constructor Detail

StubQueueback to summary
public StubQueue(Address addr, Class<T> stubType)

Method Detail

checkIndexback to summary
private void checkIndex(long i)
containsback to summary
public boolean contains(Address pc)
getBufferLimitback to summary
private long getBufferLimit()
getFirstback to summary
public Stub getFirst()
getIndexOfback to summary
private long getIndexOf(Stub s)
getNextback to summary
public Stub getNext(Stub s)
getNumberOfStubsback to summary
public int getNumberOfStubs()
getPrevback to summary
public Stub getPrev(Stub s)
getQueueBeginback to summary
private long getQueueBegin()
getQueueEndback to summary
private long getQueueEnd()
getStubAtback to summary
private Stub getStubAt(long offset)
getStubBufferback to summary
private Address getStubBuffer()
getStubContainingback to summary
public Stub getStubContaining(Address pc)
getStubSizeback to summary
private long getStubSize(Stub s)
initializeback to summary
private static synchronized void initialize(TypeDataBase db)
stubContainsback to summary
public boolean stubContains(Stub s, Address pc)