hotspot/src/share/vm/prims/whitebox.cpp
changeset 31962 d05e0a4d1b43
parent 31608 b5cb9a07591a
child 32619 47acec81dcca
equal deleted inserted replaced
31961:70adcff5840c 31962:d05e0a4d1b43
   524   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   524   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   525   CHECK_JNI_EXCEPTION_(env, JNI_FALSE);
   525   CHECK_JNI_EXCEPTION_(env, JNI_FALSE);
   526   MutexLockerEx mu(Compile_lock);
   526   MutexLockerEx mu(Compile_lock);
   527   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   527   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   528   return mh->queued_for_compilation();
   528   return mh->queued_for_compilation();
       
   529 WB_END
       
   530 
       
   531 WB_ENTRY(jboolean, WB_IsIntrinsicAvailable(JNIEnv* env, jobject o, jobject method, jobject compilation_context, jint compLevel))
       
   532   if (compLevel < CompLevel_none || compLevel > CompLevel_highest_tier) {
       
   533     return false; // Intrinsic is not available on a non-existent compilation level.
       
   534   }
       
   535   jmethodID method_id, compilation_context_id;
       
   536   method_id = reflected_method_to_jmid(thread, env, method);
       
   537   CHECK_JNI_EXCEPTION_(env, JNI_FALSE);
       
   538   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(method_id));
       
   539   if (compilation_context != NULL) {
       
   540     compilation_context_id = reflected_method_to_jmid(thread, env, compilation_context);
       
   541     CHECK_JNI_EXCEPTION_(env, JNI_FALSE);
       
   542     methodHandle cch(THREAD, Method::checked_resolve_jmethod_id(compilation_context_id));
       
   543     return CompileBroker::compiler(compLevel)->is_intrinsic_available(mh, cch);
       
   544   } else {
       
   545     return CompileBroker::compiler(compLevel)->is_intrinsic_available(mh, NULL);
       
   546   }
   529 WB_END
   547 WB_END
   530 
   548 
   531 WB_ENTRY(jint, WB_GetMethodCompilationLevel(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   549 WB_ENTRY(jint, WB_GetMethodCompilationLevel(JNIEnv* env, jobject o, jobject method, jboolean is_osr))
   532   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   550   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   533   CHECK_JNI_EXCEPTION_(env, CompLevel_none);
   551   CHECK_JNI_EXCEPTION_(env, CompLevel_none);
  1475   {CC"NMTChangeTrackingLevel", CC"()Z",               (void*)&WB_NMTChangeTrackingLevel},
  1493   {CC"NMTChangeTrackingLevel", CC"()Z",               (void*)&WB_NMTChangeTrackingLevel},
  1476   {CC"NMTGetHashSize",      CC"()I",                  (void*)&WB_NMTGetHashSize     },
  1494   {CC"NMTGetHashSize",      CC"()I",                  (void*)&WB_NMTGetHashSize     },
  1477 #endif // INCLUDE_NMT
  1495 #endif // INCLUDE_NMT
  1478   {CC"deoptimizeFrames",   CC"(Z)I",                  (void*)&WB_DeoptimizeFrames  },
  1496   {CC"deoptimizeFrames",   CC"(Z)I",                  (void*)&WB_DeoptimizeFrames  },
  1479   {CC"deoptimizeAll",      CC"()V",                   (void*)&WB_DeoptimizeAll     },
  1497   {CC"deoptimizeAll",      CC"()V",                   (void*)&WB_DeoptimizeAll     },
  1480   {CC"deoptimizeMethod0",   CC"(Ljava/lang/reflect/Executable;Z)I",
  1498     {CC"deoptimizeMethod0",   CC"(Ljava/lang/reflect/Executable;Z)I",
  1481                                                       (void*)&WB_DeoptimizeMethod  },
  1499                                                         (void*)&WB_DeoptimizeMethod  },
  1482   {CC"isMethodCompiled0",   CC"(Ljava/lang/reflect/Executable;Z)Z",
  1500   {CC"isMethodCompiled0",   CC"(Ljava/lang/reflect/Executable;Z)Z",
  1483                                                       (void*)&WB_IsMethodCompiled  },
  1501                                                       (void*)&WB_IsMethodCompiled  },
  1484   {CC"isMethodCompilable0", CC"(Ljava/lang/reflect/Executable;IZ)Z",
  1502   {CC"isMethodCompilable0", CC"(Ljava/lang/reflect/Executable;IZ)Z",
  1485                                                       (void*)&WB_IsMethodCompilable},
  1503                                                       (void*)&WB_IsMethodCompilable},
  1486   {CC"isMethodQueuedForCompilation0",
  1504   {CC"isMethodQueuedForCompilation0",
  1487       CC"(Ljava/lang/reflect/Executable;)Z",          (void*)&WB_IsMethodQueuedForCompilation},
  1505       CC"(Ljava/lang/reflect/Executable;)Z",          (void*)&WB_IsMethodQueuedForCompilation},
       
  1506   {CC"isIntrinsicAvailable0",
       
  1507       CC"(Ljava/lang/reflect/Executable;Ljava/lang/reflect/Executable;I)Z",
       
  1508                                                       (void*)&WB_IsIntrinsicAvailable},
  1488   {CC"makeMethodNotCompilable0",
  1509   {CC"makeMethodNotCompilable0",
  1489       CC"(Ljava/lang/reflect/Executable;IZ)V",        (void*)&WB_MakeMethodNotCompilable},
  1510       CC"(Ljava/lang/reflect/Executable;IZ)V",        (void*)&WB_MakeMethodNotCompilable},
  1490   {CC"testSetDontInlineMethod0",
  1511   {CC"testSetDontInlineMethod0",
  1491       CC"(Ljava/lang/reflect/Executable;Z)Z",         (void*)&WB_TestSetDontInlineMethod},
  1512       CC"(Ljava/lang/reflect/Executable;Z)Z",         (void*)&WB_TestSetDontInlineMethod},
  1492   {CC"getMethodCompilationLevel0",
  1513   {CC"getMethodCompilationLevel0",