Fwd: [PATCH] ReferenceProcessor::verify() fail with VerifyBeforeGC && !UseTLAB

Neo Jia neojia at gmail.com
Sun May 20 20:57:22 PDT 2007


hi,

I sent the original mail to "openjdk.dev.java.net" mailling list so
just re-send it again.

Thanks,
Neo

---------- Forwarded message ----------
From: Neo Jia <neojia at gmail.com>
Date: May 9, 2007 5:22 PM
Subject: [PATCH] ReferenceProcessor::verify() fail with VerifyBeforeGC
&& !UseTLAB
To: hotspot-runtime-dev at openjdk.dev.java.net


hi,

The ReferenceProcessor::verify() will fail because it is called before
its initalization while turning on VerifyBeforeGC && !UseTLAB on
universe2_init() function.

Thanks,
Neo

Index: runtime/init.cpp
===================================================================
--- runtime/init.cpp    (revision 86)
+++ runtime/init.cpp    (working copy)
@@ -53,6 +53,7 @@
 void templateTable_init();
 void InterfaceSupport_init();
 void universe2_init();  // dependent on codeCache_init and stubRoutines_init
+void universe2_verify();  // Move out verification from universe2
 void referenceProcessor_init();
 void jni_handles_init();
 void vmStructs_init();
@@ -110,6 +111,7 @@
   SharedRuntime::generate_stubs();
   universe2_init();  // dependent on codeCache_init and stubRoutines_init
   referenceProcessor_init();
+  universe2_verify();
   jni_handles_init();
   vmStructs_init();

Index: memory/universe.cpp
===================================================================
--- memory/universe.cpp (revision 86)
+++ memory/universe.cpp (working copy)
@@ -724,6 +724,9 @@
 void universe2_init() {
   EXCEPTION_MARK;
   Universe::genesis(CATCH);
+}
+
+void universe2_verify() {
   // Although we'd like to verify here that the state of the heap
   // is good, we can't because the main thread has not yet added
   // itself to the threads list (so, using current interfaces
Index: memory/universe.hpp
===================================================================
--- memory/universe.hpp (revision 86)
+++ memory/universe.hpp (working copy)
@@ -106,6 +106,7 @@

   friend jint  universe_init();
   friend void  universe2_init();
+  friend void  universe2_verify();
   friend bool  universe_post_init();

 #ifdef JVMPI_SUPPORT


--
I would remember that if researchers were not ambitious
probably today we haven't the technology we are using!



-- 
I would remember that if researchers were not ambitious
probably today we haven't the technology we are using!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reference_processor_verify.patch
Type: application/octet-stream
Size: 1549 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20070520/fe900a7a/attachment.obj 


More information about the hotspot-runtime-dev mailing list