diff src/share/vm/code/codeCache.hpp @ 10031:ebb32c4589f3

Force GC to process graal_installed_code references during marking (GRAAL-257)
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Tue, 11 Jun 2013 19:59:52 +0200
parents 3c786355ffb4
children 4a7dc38ae96b
line wrap: on
line diff
--- a/src/share/vm/code/codeCache.hpp	Tue Jun 11 18:13:55 2013 +0200
+++ b/src/share/vm/code/codeCache.hpp	Tue Jun 11 19:59:52 2013 +0200
@@ -81,7 +81,12 @@
   static void blobs_do(CodeBlobClosure* f);         // iterates over all CodeBlobs
   static void nmethods_do(void f(nmethod* nm));     // iterates over all nmethods
   static void alive_nmethods_do(void f(nmethod* nm)); // iterates over all alive nmethods
-
+#ifdef GRAAL
+  //Special method iterating and adding to the mark stack all HotSpotNMethods which are weakly referenced by nmethods.
+  //This has to be done since the HotSpotNMethods are only referenced from within the nmethods and the GC
+  //believes they are dead since they are not marked.
+  static void alive_nmethods_do_graal_methods(OopClosure* closure);
+#endif
   // Lookup
   static CodeBlob* find_blob(void* start);
   static nmethod*  find_nmethod(void* start);