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

Mikael Gerdin mikael.gerdin at oracle.com
Thu Jan 30 09:22:31 UTC 2014


Thomas,

On Wednesday 29 January 2014 17.09.51 Thomas Schatzl wrote:

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.

The change looks good now. /Mikael

I will file a bug for 8u20 and 9. Thanks, Thomas



More information about the hotspot-gc-dev mailing list