diff src/share/vm/memory/serialize.cpp @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents f95d63e2154a
children 1d1603768966
line wrap: on
line diff
--- a/src/share/vm/memory/serialize.cpp	Thu Jan 27 13:42:28 2011 -0800
+++ b/src/share/vm/memory/serialize.cpp	Thu Jan 27 16:11:27 2011 -0800
@@ -61,7 +61,7 @@
   soc->do_tag(sizeof(constantPoolCacheOopDesc));
   soc->do_tag(objArrayOopDesc::base_offset_in_bytes());
   soc->do_tag(typeArrayOopDesc::base_offset_in_bytes(T_BYTE));
-  soc->do_tag(sizeof(symbolOopDesc));
+  soc->do_tag(sizeof(Symbol));
   soc->do_tag(sizeof(klassOopDesc));
   soc->do_tag(sizeof(markOopDesc));
   soc->do_tag(sizeof(compiledICHolderOopDesc));
@@ -83,8 +83,12 @@
   // Dump/restore miscellaneous oops.
   Universe::oops_do(soc, true);
   soc->do_tag(--tag);
+  CodeCache::oops_do(soc);
+  soc->do_tag(--tag);
 
-  vmSymbols::oops_do(soc, true);               soc->do_tag(--tag);
-  CodeCache::oops_do(soc);                     soc->do_tag(--tag);
+  // Dump/restore references to commonly used names and signatures.
+  vmSymbols::serialize(soc);
+  soc->do_tag(--tag);
+
   soc->do_tag(666);
 }