APIdia Launch Partner
Top Fields Constructors Methods
sun.jvm.hotspot.debugger.linux

public Class LinuxAddress

extends Object
implements Address
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.debugger.Address
Known Direct Subclasses
sun.jvm.hotspot.debugger.linux.LinuxOopHandle
Imports
sun.jvm.hotspot.debugger.*

Field Summary

Modifier and TypeField and Description
protected long
protected LinuxDebugger

Constructor Summary

AccessConstructor and Description
public
LinuxAddress(LinuxDebugger debugger, long addr)

Method Summary

Modifier and TypeMethod and Description
public Address
addOffsetTo(long offset)

Implements sun.jvm.hotspot.debugger.Address.addOffsetTo.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle, because interior object pointers are not allowed.

public OopHandle
addOffsetToAsOopHandle(long offset)

Implements sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle.

This method had to be added in order to support heap iteration in the debugging system, and is effectively the dangerous operation of allowing interior object pointers.

public Address
andWithMask(long mask)

Implements sun.jvm.hotspot.debugger.Address.andWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle.

public long
private static void
check(boolean arg, String failMessage)

public boolean
equals(Object arg)

Overrides java.lang.Object.equals.

Implements sun.jvm.hotspot.debugger.Address.equals.

This is stated explicitly here because it is important for implementations to understand that equals() and hashCode() must absolutely, positively work properly -- i.e., two Address objects representing the same address are both equal (via equals()) and have the same hash code.

public Address
getAddressAt(long offset)

Implements sun.jvm.hotspot.debugger.Address.getAddressAt.

This returns null if the address at the given offset is NULL.

public long
getCIntegerAt(long offset, long numBytes, boolean isUnsigned)

Implements sun.jvm.hotspot.debugger.Address.getCIntegerAt.

public Address
public Address
getCompOopAddressAt(long offset)

Implements sun.jvm.hotspot.debugger.Address.getCompOopAddressAt.

Returns the decoded address at the given offset

public OopHandle
public boolean
public byte
public char
public double
public float
public int
public long
public short
public OopHandle
getOopHandleAt(long offset)

Implements sun.jvm.hotspot.debugger.Address.getOopHandleAt.

This returns null if the address at the given offset is NULL.

public boolean
greaterThan(Address a)

Implements sun.jvm.hotspot.debugger.Address.greaterThan.

Performs unsigned comparison "this > arg".

public boolean
greaterThanOrEqual(Address a)

Implements sun.jvm.hotspot.debugger.Address.greaterThanOrEqual.

Performs unsigned comparison "this >= arg".

public int
hashCode()

Overrides java.lang.Object.hashCode.

Implements sun.jvm.hotspot.debugger.Address.hashCode.

This is stated explicitly here because it is important for implementations to understand that equals() and hashCode() must absolutely, positively work properly -- i.e., two Address objects representing the same address are both equal (via equals()) and have the same hash code.

public boolean
lessThan(Address a)

Implements sun.jvm.hotspot.debugger.Address.lessThan.

Performs unsigned comparison "this < arg".

public boolean
lessThanOrEqual(Address a)

Implements sun.jvm.hotspot.debugger.Address.lessThanOrEqual.

Performs unsigned comparison "this <= arg".

public static void
main(String[] args)

public long
minus(Address arg)

Implements sun.jvm.hotspot.debugger.Address.minus.

(FIXME: any signed/unsigned issues?

public Address
orWithMask(long mask)

Implements sun.jvm.hotspot.debugger.Address.orWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle.

public void
setAddressAt(long offset, Address value)

Implements sun.jvm.hotspot.debugger.Address.setAddressAt.

Sets an Address at the specified location.

public void
setCIntegerAt(long offset, long numBytes, long value)

Implements sun.jvm.hotspot.debugger.Address.setCIntegerAt.

Sets a C integer numBytes in size at the specified offset.

public void
setJBooleanAt(long offset, boolean value)

Implements sun.jvm.hotspot.debugger.Address.setJBooleanAt.

public void
setJByteAt(long offset, byte value)

Implements sun.jvm.hotspot.debugger.Address.setJByteAt.

public void
setJCharAt(long offset, char value)

Implements sun.jvm.hotspot.debugger.Address.setJCharAt.

public void
setJDoubleAt(long offset, double value)

Implements sun.jvm.hotspot.debugger.Address.setJDoubleAt.

public void
setJFloatAt(long offset, float value)

Implements sun.jvm.hotspot.debugger.Address.setJFloatAt.

public void
setJIntAt(long offset, int value)

Implements sun.jvm.hotspot.debugger.Address.setJIntAt.

public void
setJLongAt(long offset, long value)

Implements sun.jvm.hotspot.debugger.Address.setJLongAt.

public void
setJShortAt(long offset, short value)

Implements sun.jvm.hotspot.debugger.Address.setJShortAt.

public void
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

public Address
xorWithMask(long mask)

Implements sun.jvm.hotspot.debugger.Address.xorWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

addrback to summary
protected long addr
debuggerback to summary
protected LinuxDebugger debugger

Constructor Detail

LinuxAddressback to summary
public LinuxAddress(LinuxDebugger debugger, long addr)

Method Detail

addOffsetToback to summary
public Address addOffsetTo(long offset) throws UnsupportedOperationException

Implements sun.jvm.hotspot.debugger.Address.addOffsetTo.

Doc from sun.jvm.hotspot.debugger.Address.addOffsetTo.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle, because interior object pointers are not allowed. Negative offsets are allowed and handle the subtraction case.

addOffsetToAsOopHandleback to summary
public OopHandle addOffsetToAsOopHandle(long offset) throws UnsupportedOperationException

Implements sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle.

Doc from sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle.

This method had to be added in order to support heap iteration in the debugging system, and is effectively the dangerous operation of allowing interior object pointers. For this reason it was kept as a separate API and its use is forbidden in the non-debugging (i.e., reflective system) case. It is strongly recommended that this not be called by clients: it is currently wrapped up in the Space's iteration mechanism.

andWithMaskback to summary
public Address andWithMask(long mask) throws UnsupportedOperationException

Implements sun.jvm.hotspot.debugger.Address.andWithMask.

Doc from sun.jvm.hotspot.debugger.Address.andWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle. Performs a logical "and" operation of the bits of the address and the mask (least significant bits of the Address and the mask are aligned) and returns the result as an Address. Returns null if the result was zero.

asLongValueback to summary
public long asLongValue()

Implements sun.jvm.hotspot.debugger.Address.asLongValue.

checkback to summary
private static void check(boolean arg, String failMessage)
equalsback to summary
public boolean equals(Object arg)

Overrides java.lang.Object.equals.

Implements sun.jvm.hotspot.debugger.Address.equals.

Doc from sun.jvm.hotspot.debugger.Address.equals.

This is stated explicitly here because it is important for implementations to understand that equals() and hashCode() must absolutely, positively work properly -- i.e., two Address objects representing the same address are both equal (via equals()) and have the same hash code.

getAddressAtback to summary
public Address getAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getAddressAt.

Doc from sun.jvm.hotspot.debugger.Address.getAddressAt.

This returns null if the address at the given offset is NULL.

getCIntegerAtback to summary
public long getCIntegerAt(long offset, long numBytes, boolean isUnsigned) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getCIntegerAt.

getCompKlassAddressAtback to summary
public Address getCompKlassAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getCompKlassAddressAt.

getCompOopAddressAtback to summary
public Address getCompOopAddressAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getCompOopAddressAt.

Doc from sun.jvm.hotspot.debugger.Address.getCompOopAddressAt.

Returns the decoded address at the given offset

getCompOopHandleAtback to summary
public OopHandle getCompOopHandleAt(long offset) throws UnalignedAddressException, UnmappedAddressException, NotInHeapException

Implements sun.jvm.hotspot.debugger.Address.getCompOopHandleAt.

getJBooleanAtback to summary
public boolean getJBooleanAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJBooleanAt.

getJByteAtback to summary
public byte getJByteAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJByteAt.

getJCharAtback to summary
public char getJCharAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJCharAt.

getJDoubleAtback to summary
public double getJDoubleAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJDoubleAt.

getJFloatAtback to summary
public float getJFloatAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJFloatAt.

getJIntAtback to summary
public int getJIntAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJIntAt.

getJLongAtback to summary
public long getJLongAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJLongAt.

getJShortAtback to summary
public short getJShortAt(long offset) throws UnalignedAddressException, UnmappedAddressException

Implements sun.jvm.hotspot.debugger.Address.getJShortAt.

getOopHandleAtback to summary
public OopHandle getOopHandleAt(long offset) throws UnalignedAddressException, UnmappedAddressException, NotInHeapException

Implements sun.jvm.hotspot.debugger.Address.getOopHandleAt.

Doc from sun.jvm.hotspot.debugger.Address.getOopHandleAt.

This returns null if the address at the given offset is NULL.

greaterThanback to summary
public boolean greaterThan(Address a)

Implements sun.jvm.hotspot.debugger.Address.greaterThan.

Doc from sun.jvm.hotspot.debugger.Address.greaterThan.

Performs unsigned comparison "this > arg". (FIXME: should this work for OopHandles?)

greaterThanOrEqualback to summary
public boolean greaterThanOrEqual(Address a)

Implements sun.jvm.hotspot.debugger.Address.greaterThanOrEqual.

Doc from sun.jvm.hotspot.debugger.Address.greaterThanOrEqual.

Performs unsigned comparison "this >= arg". (FIXME: should this work for OopHandles?)

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Implements sun.jvm.hotspot.debugger.Address.hashCode.

Doc from sun.jvm.hotspot.debugger.Address.hashCode.

This is stated explicitly here because it is important for implementations to understand that equals() and hashCode() must absolutely, positively work properly -- i.e., two Address objects representing the same address are both equal (via equals()) and have the same hash code.

lessThanback to summary
public boolean lessThan(Address a)

Implements sun.jvm.hotspot.debugger.Address.lessThan.

Doc from sun.jvm.hotspot.debugger.Address.lessThan.

Performs unsigned comparison "this < arg". (FIXME: should this work for OopHandles?)

lessThanOrEqualback to summary
public boolean lessThanOrEqual(Address a)

Implements sun.jvm.hotspot.debugger.Address.lessThanOrEqual.

Doc from sun.jvm.hotspot.debugger.Address.lessThanOrEqual.

Performs unsigned comparison "this <= arg". (FIXME: should this work for OopHandles?)

mainback to summary
public static void main(String[] args)
minusback to summary
public long minus(Address arg)

Implements sun.jvm.hotspot.debugger.Address.minus.

(FIXME: any signed/unsigned issues? Should this work for OopHandles?)

orWithMaskback to summary
public Address orWithMask(long mask) throws UnsupportedOperationException

Implements sun.jvm.hotspot.debugger.Address.orWithMask.

Doc from sun.jvm.hotspot.debugger.Address.orWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle. Performs a logical "or" operation of the bits of the address and the mask (least significant bits of the Address and the mask are aligned) and returns the result as an Address. Returns null if the result was zero.

setAddressAtback to summary
public void setAddressAt(long offset, Address value)

Implements sun.jvm.hotspot.debugger.Address.setAddressAt.

Doc from sun.jvm.hotspot.debugger.Address.setAddressAt.

Sets an Address at the specified location.

setCIntegerAtback to summary
public void setCIntegerAt(long offset, long numBytes, long value)

Implements sun.jvm.hotspot.debugger.Address.setCIntegerAt.

Doc from sun.jvm.hotspot.debugger.Address.setCIntegerAt.

Sets a C integer numBytes in size at the specified offset. Note that there is no "unsigned" flag for the accessor since the value will not be sign-extended; the number of bytes are simply copied from the value into the target address space.

setJBooleanAtback to summary
public void setJBooleanAt(long offset, boolean value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJBooleanAt.

setJByteAtback to summary
public void setJByteAt(long offset, byte value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJByteAt.

setJCharAtback to summary
public void setJCharAt(long offset, char value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJCharAt.

setJDoubleAtback to summary
public void setJDoubleAt(long offset, double value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJDoubleAt.

setJFloatAtback to summary
public void setJFloatAt(long offset, float value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJFloatAt.

setJIntAtback to summary
public void setJIntAt(long offset, int value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJIntAt.

setJLongAtback to summary
public void setJLongAt(long offset, long value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJLongAt.

setJShortAtback to summary
public void setJShortAt(long offset, short value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setJShortAt.

setOopHandleAtback to summary
public void setOopHandleAt(long offset, OopHandle value) throws UnmappedAddressException, UnalignedAddressException

Implements sun.jvm.hotspot.debugger.Address.setOopHandleAt.

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.

xorWithMaskback to summary
public Address xorWithMask(long mask) throws UnsupportedOperationException

Implements sun.jvm.hotspot.debugger.Address.xorWithMask.

Doc from sun.jvm.hotspot.debugger.Address.xorWithMask.

This throws an UnsupportedOperationException if this address happens to actually be an OopHandle. Performs a logical "exclusive or" operation of the bits of the address and the mask (least significant bits of the Address and the mask are aligned) and returns the result as an Address. Returns null if the result was zero.