RFR (M): (7u60): Backport of 8027476: Improve performance of Stringtable unlink, 8027455: Improve symbol table scan times during gc pauses (original) (raw)

Thomas Schatzl thomas.schatzl at oracle.com
Wed Jan 29 16:09:51 UTC 2014


Hi Mikael,

On Tue, 2014-01-28 at 15:00 +0100, Mikael Gerdin wrote:

Thomas,

On Tuesday 28 January 2014 11.57.33 Thomas Schatzl wrote: > Hi, > > I got the link for the new webrev wrong, taking two from the original > > These differences are contained in symbolTable.?pp, the rest is > > verbatim backport iirc. > > > > New webrev: > > http://cr.openjdk.java.net/~tschatzl/8027476/webrev > > Correct webrev is at: > > http://cr.openjdk.java.net/~tschatzl/8027476.7u60/webrev symbolTable.cpp: 103 Symbol* s = entry->literal(); 104 memorytotal += s->objectsize(); << should be (*memorytotal) +=_ _105 (*processed)++;_ _g1ColletedHeap.cpp:_ _5237 guarantee(StringTable::parallelclaimedindex() >= initialstringtablesize, 5238 errmsg("claim value "INT32FORMAT" after unlink less than initial string table size "INT32FORMAT, 5239 StringTable::parallelclaimedindex(), initialstringtablesize)); 5240 guarantee(!processstrings || SymbolTable::parallelclaimedindex() >= initialsymboltablesize, 5241 errmsg("claim value "INT32FORMAT" after unlink less than initial symbol table size "INT32FORMAT, 5242 SymbolTable::parallelclaimedindex(), initialsymboltablesize)); 5243 You've removed the !processstrings from the guarantee compared to 9. Also, I noticed that the 9 versions has !processstrings in both guarantees although I think the second one should be !processsymbols.

All fixed in the new webrev at http://cr.openjdk.java.net/~tschatzl/8027476.7u60/webrev.1/

Thanks a lot.

I will file a bug for 8u20 and 9.

Thanks, Thomas



More information about the hotspot-gc-dev mailing list