hotspot/src/share/vm/prims/whitebox.cpp
changeset 17015 92390f57e8b1
parent 16694 2984a2329d6b
child 17018 6ba29eb83bba
equal deleted inserted replaced
17014:11c1a00efeb4 17015:92390f57e8b1
   235   nmethod* code = mh->code();
   235   nmethod* code = mh->code();
   236   return (code != NULL ? code->comp_level() : CompLevel_none);
   236   return (code != NULL ? code->comp_level() : CompLevel_none);
   237 WB_END
   237 WB_END
   238 
   238 
   239 
   239 
   240 WB_ENTRY(void, WB_MakeMethodNotCompilable(JNIEnv* env, jobject o, jobject method))
   240 WB_ENTRY(void, WB_MakeMethodNotCompilable(JNIEnv* env, jobject o, jobject method, jint comp_level))
   241   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   241   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   242   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   242   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   243   mh->set_not_compilable();
   243   mh->set_not_compilable(comp_level, true /* report */, "WhiteBox");
   244 WB_END
   244 WB_END
   245 
   245 
   246 WB_ENTRY(jboolean, WB_TestSetDontInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value))
   246 WB_ENTRY(jboolean, WB_TestSetDontInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value))
   247   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   247   jmethodID jmid = reflected_method_to_jmid(thread, env, method);
   248   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   248   methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid));
   396   {CC"NMTUncommitMemory",   CC"(JJ)V",                (void*)&WB_NMTUncommitMemory  },
   396   {CC"NMTUncommitMemory",   CC"(JJ)V",                (void*)&WB_NMTUncommitMemory  },
   397   {CC"NMTReleaseMemory",    CC"(JJ)V",                (void*)&WB_NMTReleaseMemory   },
   397   {CC"NMTReleaseMemory",    CC"(JJ)V",                (void*)&WB_NMTReleaseMemory   },
   398   {CC"NMTWaitForDataMerge", CC"()Z",                  (void*)&WB_NMTWaitForDataMerge},
   398   {CC"NMTWaitForDataMerge", CC"()Z",                  (void*)&WB_NMTWaitForDataMerge},
   399 #endif // INCLUDE_NMT
   399 #endif // INCLUDE_NMT
   400   {CC"deoptimizeAll",      CC"()V",                   (void*)&WB_DeoptimizeAll     },
   400   {CC"deoptimizeAll",      CC"()V",                   (void*)&WB_DeoptimizeAll     },
   401   {CC"deoptimizeMethod",   CC"(Ljava/lang/reflect/Method;)I",
   401   {CC"deoptimizeMethod",   CC"(Ljava/lang/reflect/Executable;)I",
   402                                                       (void*)&WB_DeoptimizeMethod  },
   402                                                       (void*)&WB_DeoptimizeMethod  },
   403   {CC"isMethodCompiled",   CC"(Ljava/lang/reflect/Method;)Z",
   403   {CC"isMethodCompiled",   CC"(Ljava/lang/reflect/Executable;)Z",
   404                                                       (void*)&WB_IsMethodCompiled  },
   404                                                       (void*)&WB_IsMethodCompiled  },
   405   {CC"isMethodCompilable", CC"(Ljava/lang/reflect/Method;I)Z",
   405   {CC"isMethodCompilable", CC"(Ljava/lang/reflect/Executable;I)Z",
   406                                                       (void*)&WB_IsMethodCompilable},
   406                                                       (void*)&WB_IsMethodCompilable},
   407   {CC"isMethodQueuedForCompilation",
   407   {CC"isMethodQueuedForCompilation",
   408       CC"(Ljava/lang/reflect/Method;)Z",              (void*)&WB_IsMethodQueuedForCompilation},
   408       CC"(Ljava/lang/reflect/Executable;)Z",          (void*)&WB_IsMethodQueuedForCompilation},
   409   {CC"makeMethodNotCompilable",
   409   {CC"makeMethodNotCompilable",
   410       CC"(Ljava/lang/reflect/Method;)V",              (void*)&WB_MakeMethodNotCompilable},
   410       CC"(Ljava/lang/reflect/Executable;I)V",         (void*)&WB_MakeMethodNotCompilable},
   411   {CC"testSetDontInlineMethod",
   411   {CC"testSetDontInlineMethod",
   412       CC"(Ljava/lang/reflect/Method;Z)Z",             (void*)&WB_TestSetDontInlineMethod},
   412       CC"(Ljava/lang/reflect/Executable;Z)Z",         (void*)&WB_TestSetDontInlineMethod},
   413   {CC"getMethodCompilationLevel",
   413   {CC"getMethodCompilationLevel",
   414       CC"(Ljava/lang/reflect/Method;)I",              (void*)&WB_GetMethodCompilationLevel},
   414       CC"(Ljava/lang/reflect/Executable;)I",          (void*)&WB_GetMethodCompilationLevel},
   415   {CC"getCompileQueuesSize",
   415   {CC"getCompileQueuesSize",
   416       CC"()I",                                        (void*)&WB_GetCompileQueuesSize},
   416       CC"()I",                                        (void*)&WB_GetCompileQueuesSize},
   417   {CC"testSetForceInlineMethod",
   417   {CC"testSetForceInlineMethod",
   418       CC"(Ljava/lang/reflect/Method;Z)Z",             (void*)&WB_TestSetForceInlineMethod},
   418       CC"(Ljava/lang/reflect/Executable;Z)Z",         (void*)&WB_TestSetForceInlineMethod},
   419   {CC"enqueueMethodForCompilation",
   419   {CC"enqueueMethodForCompilation",
   420       CC"(Ljava/lang/reflect/Method;I)Z",             (void*)&WB_EnqueueMethodForCompilation},
   420       CC"(Ljava/lang/reflect/Executable;I)Z",         (void*)&WB_EnqueueMethodForCompilation},
   421   {CC"clearMethodState",
   421   {CC"clearMethodState",
   422       CC"(Ljava/lang/reflect/Method;)V",              (void*)&WB_ClearMethodState},
   422       CC"(Ljava/lang/reflect/Executable;)V",          (void*)&WB_ClearMethodState},
   423   {CC"isInStringTable",   CC"(Ljava/lang/String;)Z",  (void*)&WB_IsInStringTable  },
   423   {CC"isInStringTable",   CC"(Ljava/lang/String;)Z",  (void*)&WB_IsInStringTable  },
   424   {CC"fullGC",   CC"()V",                             (void*)&WB_FullGC },
   424   {CC"fullGC",   CC"()V",                             (void*)&WB_FullGC },
   425 };
   425 };
   426 
   426 
   427 #undef CC
   427 #undef CC