agent/src/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMap.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/agent/src/share/classes/sun/jvm/hotspot/compiler/OopMap.java Thu Apr 30 16:11:26 2015
--- new/agent/src/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMap.java Thu Apr 30 16:11:26 2015
*** 29,101 ****
--- 29,67 ----
import sun.jvm.hotspot.code.*;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.types.*;
! public class ImmutableOopMap extends VMObject {
! private static CIntegerField pcOffsetField;
! private static CIntegerField omvCountField;
private static CIntegerField omvDataSizeField;
private static AddressField omvDataField;
private static AddressField compressedWriteStreamField;
// This is actually a field inside class CompressedStream
private static AddressField compressedStreamBufferField;
! private static CIntegerField countField;
! private static long classSize;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
}
});
}
private static void initialize(TypeDataBase db) {
! Type type = db.lookupType("ImmutableOopMap");
! pcOffsetField = type.getCIntegerField("_pc_offset");
omvCountField = type.getCIntegerField("_omv_count");
omvDataSizeField = type.getCIntegerField("_omv_data_size");
omvDataField = type.getAddressField("_omv_data");
compressedWriteStreamField = type.getAddressField("_write_stream");
type = db.lookupType("CompressedStream");
compressedStreamBufferField = type.getAddressField("_buffer");
+ countField = type.getCIntegerField("_count");
! classSize = type.getSize();
}
! public ImmutableOopMap(Address addr) {
super(addr);
}
public long getOffset() {
return pcOffsetField.getValue(addr);
}
//--------------------------------------------------------------------------------
// Internals only below this point
//
// Accessors -- package private for now
Address getOMVData() {
return omvDataField.getValue(addr);
+ long getCount() {
+ return countField.getValue(addr);
}
! long getOMVDataSize() {
! return omvDataSizeField.getValue(addr);
}
long getOMVCount() {
return omvCountField.getValue(addr);
}
CompressedWriteStream getWriteStream() {
Address wsAddr = compressedWriteStreamField.getValue(addr);
if (wsAddr == null) {
return null;
}
Address bufferAddr = compressedStreamBufferField.getValue(wsAddr);
if (bufferAddr == null) {
return null;
}
return new CompressedWriteStream(bufferAddr);
! public Address getData() {
! return addr.addOffsetTo(classSize);
}
}
agent/src/share/classes/sun/jvm/hotspot/compiler/ImmutableOopMap.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File