Mercurial > hg > truffle
comparison src/share/vm/classfile/symbolTable.hpp @ 10363:8dbc025ff709
8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge
Summary: Combine the calls to StringTable::unlink and StringTable::oops_do in Parallel Scavenge.
Reviewed-by: pliden, coleenp
author | stefank |
---|---|
date | Mon, 27 May 2013 12:58:42 +0200 |
parents | ede380e13960 |
children | 01522ca68fc7 |
comparison
equal
deleted
inserted
replaced
10362:95c00927be11 | 10363:8dbc025ff709 |
---|---|
270 _the_table = new StringTable(); | 270 _the_table = new StringTable(); |
271 } | 271 } |
272 | 272 |
273 // GC support | 273 // GC support |
274 // Delete pointers to otherwise-unreachable objects. | 274 // Delete pointers to otherwise-unreachable objects. |
275 static void unlink(BoolObjectClosure* cl); | 275 static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f); |
276 static void unlink(BoolObjectClosure* cl) { | |
277 unlink_or_oops_do(cl, NULL); | |
278 } | |
276 | 279 |
277 // Invoke "f->do_oop" on the locations of all oops in the table. | 280 // Invoke "f->do_oop" on the locations of all oops in the table. |
278 static void oops_do(OopClosure* f); | 281 static void oops_do(OopClosure* f); |
279 | 282 |
280 // Hashing algorithm, used as the hash value used by the | 283 // Hashing algorithm, used as the hash value used by the |