diff src/share/vm/graal/graalCompilerToVM.cpp @ 13769:af344056124f

Only use mature method datas
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Wed, 22 Jan 2014 11:10:09 -0800
parents c3370b2e1cbc
children 284aea4028ca
line wrap: on
line diff
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Wed Jan 22 10:54:38 2014 -0800
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Wed Jan 22 11:10:09 2014 -0800
@@ -827,6 +827,11 @@
 C2V_END
 
 
+C2V_VMENTRY(jboolean, isMature, (JNIEnv *env, jobject, jlong metaspace_method_data))
+  MethodData* mdo = asMethodData(metaspace_method_data);
+  return mdo != NULL && mdo->is_mature();
+C2V_END
+
 #define CC (char*)  /*cast a literal from (const char*)*/
 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &(c2v_ ## f))
 
@@ -846,6 +851,7 @@
 #define HS_INSTALLED_CODE     "Lcom/oracle/graal/hotspot/meta/HotSpotInstalledCode;"
 #define METASPACE_KLASS       "J"
 #define METASPACE_METHOD      "J"
+#define METASPACE_METHOD_DATA "J"
 #define METASPACE_CONSTANT_POOL "J"
 
 JNINativeMethod CompilerToVM_methods[] = {
@@ -889,6 +895,7 @@
   {CC"readUnsafeKlassPointer",        CC"("OBJECT")J",                                                  FN_PTR(readUnsafeKlassPointer)},
   {CC"collectCounters",               CC"()[J",                                                         FN_PTR(collectCounters)},
   {CC"allocateCompileId",             CC"("HS_RESOLVED_METHOD"I)I",                                     FN_PTR(allocateCompileId)},
+  {CC"isMature",                      CC"("METASPACE_METHOD_DATA")Z",                                   FN_PTR(isMature)},
 };
 
 int CompilerToVM_methods_count() {