< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/ThreadLocalAllocBuffer.java
Print this page
rev 49649 : [mq]: heap14
*** 37,47 ****
time across multiple threads. </P> */
public class ThreadLocalAllocBuffer extends VMObject {
private static AddressField startField;
private static AddressField topField;
! private static AddressField endField;
private static CIntegerField desired_sizeField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
--- 37,47 ----
time across multiple threads. </P> */
public class ThreadLocalAllocBuffer extends VMObject {
private static AddressField startField;
private static AddressField topField;
! private static AddressField fastPathEndField;
private static CIntegerField desired_sizeField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
*** 53,74 ****
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("ThreadLocalAllocBuffer");
startField = type.getAddressField("_start");
topField = type.getAddressField("_top");
! endField = type.getAddressField("_end");
desired_sizeField = type.getCIntegerField("_desired_size");
}
public ThreadLocalAllocBuffer(Address addr) {
super(addr);
}
public Address start() { return startField.getValue(addr); }
! public Address end() { return endField.getValue(addr); }
public Address top() { return topField.getValue(addr); }
! public Address hardEnd() { return end().addOffsetTo(alignmentReserve()); }
private long alignmentReserve() {
return Oop.alignObjectSize(endReserve());
}
--- 53,74 ----
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("ThreadLocalAllocBuffer");
startField = type.getAddressField("_start");
topField = type.getAddressField("_top");
! fastPathEndField = type.getAddressField("_fast_path_end");
desired_sizeField = type.getCIntegerField("_desired_size");
}
public ThreadLocalAllocBuffer(Address addr) {
super(addr);
}
public Address start() { return startField.getValue(addr); }
! public Address fastPathEnd() { return fastPathEndField.getValue(addr); }
public Address top() { return topField.getValue(addr); }
! public Address hardEnd() { return fastPathEnd().addOffsetTo(alignmentReserve()); }
private long alignmentReserve() {
return Oop.alignObjectSize(endReserve());
}
*** 107,114 ****
return (start().lessThanOrEqual(p) && top().greaterThan(p));
}
public void printOn(PrintStream tty) {
tty.println(" [" + start() + "," +
! top() + "," + end() + ",{" + hardEnd() + "})");
}
}
--- 107,114 ----
return (start().lessThanOrEqual(p) && top().greaterThan(p));
}
public void printOn(PrintStream tty) {
tty.println(" [" + start() + "," +
! top() + "," + fastPathEnd() + ",{" + hardEnd() + "})");
}
}
< prev index next >