< 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 >