diff 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
line wrap: on
line diff
--- a/src/share/vm/classfile/symbolTable.hpp	Mon May 27 12:56:34 2013 +0200
+++ b/src/share/vm/classfile/symbolTable.hpp	Mon May 27 12:58:42 2013 +0200
@@ -272,7 +272,10 @@
 
   // GC support
   //   Delete pointers to otherwise-unreachable objects.
-  static void unlink(BoolObjectClosure* cl);
+  static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f);
+  static void unlink(BoolObjectClosure* cl) {
+    unlink_or_oops_do(cl, NULL);
+  }
 
   // Invoke "f->do_oop" on the locations of all oops in the table.
   static void oops_do(OopClosure* f);