Mercurial > hg > graal-compiler
comparison src/share/vm/prims/whitebox.cpp @ 12355:cefad50507d8
Merge with hs25-b53
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 11 Oct 2013 10:38:03 +0200 |
parents | 40136aa2cdb1 |
children | 9d8b29a0548c 8f07aa079343 |
comparison
equal
deleted
inserted
replaced
12058:ccb4f2af2319 | 12355:cefad50507d8 |
---|---|
31 #include "classfile/classLoaderData.hpp" | 31 #include "classfile/classLoaderData.hpp" |
32 | 32 |
33 #include "prims/whitebox.hpp" | 33 #include "prims/whitebox.hpp" |
34 #include "prims/wbtestmethods/parserTests.hpp" | 34 #include "prims/wbtestmethods/parserTests.hpp" |
35 | 35 |
36 #include "runtime/arguments.hpp" | |
36 #include "runtime/interfaceSupport.hpp" | 37 #include "runtime/interfaceSupport.hpp" |
37 #include "runtime/os.hpp" | 38 #include "runtime/os.hpp" |
38 #include "utilities/debug.hpp" | 39 #include "utilities/debug.hpp" |
39 #include "utilities/macros.hpp" | 40 #include "utilities/macros.hpp" |
40 #include "utilities/exceptions.hpp" | 41 #include "utilities/exceptions.hpp" |
92 ClassLoaderDataGraph::classes_do(&closure); | 93 ClassLoaderDataGraph::classes_do(&closure); |
93 | 94 |
94 return closure.found(); | 95 return closure.found(); |
95 WB_END | 96 WB_END |
96 | 97 |
98 WB_ENTRY(jlong, WB_GetCompressedOopsMaxHeapSize(JNIEnv* env, jobject o)) { | |
99 return (jlong)Arguments::max_heap_for_compressed_oops(); | |
100 } | |
101 WB_END | |
102 | |
97 WB_ENTRY(void, WB_PrintHeapSizes(JNIEnv* env, jobject o)) { | 103 WB_ENTRY(void, WB_PrintHeapSizes(JNIEnv* env, jobject o)) { |
98 CollectorPolicy * p = Universe::heap()->collector_policy(); | 104 CollectorPolicy * p = Universe::heap()->collector_policy(); |
99 gclog_or_tty->print_cr("Minimum heap "SIZE_FORMAT" Initial heap " | 105 gclog_or_tty->print_cr("Minimum heap "SIZE_FORMAT" Initial heap " |
100 SIZE_FORMAT" Maximum heap "SIZE_FORMAT" Min alignment "SIZE_FORMAT" Max alignment "SIZE_FORMAT, | 106 SIZE_FORMAT" Maximum heap "SIZE_FORMAT" Min alignment "SIZE_FORMAT" Max alignment "SIZE_FORMAT, |
101 p->min_heap_byte_size(), p->initial_heap_byte_size(), p->max_heap_byte_size(), | 107 p->min_heap_byte_size(), p->initial_heap_byte_size(), p->max_heap_byte_size(), |
126 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o)) | 132 WB_ENTRY(jint, WB_G1RegionSize(JNIEnv* env, jobject o)) |
127 return (jint)HeapRegion::GrainBytes; | 133 return (jint)HeapRegion::GrainBytes; |
128 WB_END | 134 WB_END |
129 #endif // INCLUDE_ALL_GCS | 135 #endif // INCLUDE_ALL_GCS |
130 | 136 |
131 #ifdef INCLUDE_NMT | 137 #if INCLUDE_NMT |
132 // Alloc memory using the test memory type so that we can use that to see if | 138 // Alloc memory using the test memory type so that we can use that to see if |
133 // NMT picks it up correctly | 139 // NMT picks it up correctly |
134 WB_ENTRY(jlong, WB_NMTMalloc(JNIEnv* env, jobject o, jlong size)) | 140 WB_ENTRY(jlong, WB_NMTMalloc(JNIEnv* env, jobject o, jlong size)) |
135 jlong addr = 0; | 141 jlong addr = 0; |
136 | 142 |
177 if (!MemTracker::is_on() || MemTracker::shutdown_in_progress()) { | 183 if (!MemTracker::is_on() || MemTracker::shutdown_in_progress()) { |
178 return false; | 184 return false; |
179 } | 185 } |
180 | 186 |
181 return MemTracker::wbtest_wait_for_data_merge(); | 187 return MemTracker::wbtest_wait_for_data_merge(); |
188 WB_END | |
189 | |
190 WB_ENTRY(jboolean, WB_NMTIsDetailSupported(JNIEnv* env)) | |
191 return MemTracker::tracking_level() == MemTracker::NMT_detail; | |
182 WB_END | 192 WB_END |
183 | 193 |
184 #endif // INCLUDE_NMT | 194 #endif // INCLUDE_NMT |
185 | 195 |
186 static jmethodID reflected_method_to_jmid(JavaThread* thread, JNIEnv* env, jobject method) { | 196 static jmethodID reflected_method_to_jmid(JavaThread* thread, JNIEnv* env, jobject method) { |
194 CodeCache::mark_all_nmethods_for_deoptimization(); | 204 CodeCache::mark_all_nmethods_for_deoptimization(); |
195 VM_Deoptimize op; | 205 VM_Deoptimize op; |
196 VMThread::execute(&op); | 206 VMThread::execute(&op); |
197 WB_END | 207 WB_END |
198 | 208 |
199 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method)) | 209 WB_ENTRY(jint, WB_DeoptimizeMethod(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
200 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 210 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
201 MutexLockerEx mu(Compile_lock); | 211 MutexLockerEx mu(Compile_lock); |
202 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 212 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
203 int result = 0; | 213 int result = 0; |
204 nmethod* code = mh->code(); | 214 nmethod* code; |
215 if (is_osr) { | |
216 int bci = InvocationEntryBci; | |
217 while ((code = mh->lookup_osr_nmethod_for(bci, CompLevel_none, false)) != NULL) { | |
218 code->mark_for_deoptimization(); | |
219 ++result; | |
220 bci = code->osr_entry_bci() + 1; | |
221 } | |
222 } else { | |
223 code = mh->code(); | |
224 } | |
205 if (code != NULL) { | 225 if (code != NULL) { |
206 code->mark_for_deoptimization(); | 226 code->mark_for_deoptimization(); |
207 ++result; | 227 ++result; |
208 } | 228 } |
209 result += CodeCache::mark_for_deoptimization(mh()); | 229 result += CodeCache::mark_for_deoptimization(mh()); |
212 VMThread::execute(&op); | 232 VMThread::execute(&op); |
213 } | 233 } |
214 return result; | 234 return result; |
215 WB_END | 235 WB_END |
216 | 236 |
217 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method)) | 237 WB_ENTRY(jboolean, WB_IsMethodCompiled(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
218 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 238 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
219 MutexLockerEx mu(Compile_lock); | 239 MutexLockerEx mu(Compile_lock); |
220 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 240 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
221 nmethod* code = mh->code(); | 241 nmethod* code = is_osr ? mh->lookup_osr_nmethod_for(InvocationEntryBci, CompLevel_none, false) : mh->code(); |
222 if (code == NULL) { | 242 if (code == NULL) { |
223 return JNI_FALSE; | 243 return JNI_FALSE; |
224 } | 244 } |
225 return (code->is_alive() && !code->is_marked_for_deoptimization()); | 245 return (code->is_alive() && !code->is_marked_for_deoptimization()); |
226 WB_END | 246 WB_END |
227 | 247 |
228 WB_ENTRY(jboolean, WB_IsMethodCompilable(JNIEnv* env, jobject o, jobject method, jint comp_level)) | 248 WB_ENTRY(jboolean, WB_IsMethodCompilable(JNIEnv* env, jobject o, jobject method, jint comp_level, jboolean is_osr)) |
229 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 249 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
230 MutexLockerEx mu(Compile_lock); | 250 MutexLockerEx mu(Compile_lock); |
231 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 251 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
232 return CompilationPolicy::can_be_compiled(mh, comp_level); | 252 if (is_osr) { |
253 return CompilationPolicy::can_be_osr_compiled(mh, comp_level); | |
254 } else { | |
255 return CompilationPolicy::can_be_compiled(mh, comp_level); | |
256 } | |
233 WB_END | 257 WB_END |
234 | 258 |
235 WB_ENTRY(jboolean, WB_IsMethodQueuedForCompilation(JNIEnv* env, jobject o, jobject method)) | 259 WB_ENTRY(jboolean, WB_IsMethodQueuedForCompilation(JNIEnv* env, jobject o, jobject method)) |
236 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 260 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
237 MutexLockerEx mu(Compile_lock); | 261 MutexLockerEx mu(Compile_lock); |
238 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 262 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
239 return mh->queued_for_compilation(); | 263 return mh->queued_for_compilation(); |
240 WB_END | 264 WB_END |
241 | 265 |
242 WB_ENTRY(jint, WB_GetMethodCompilationLevel(JNIEnv* env, jobject o, jobject method)) | 266 WB_ENTRY(jint, WB_GetMethodCompilationLevel(JNIEnv* env, jobject o, jobject method, jboolean is_osr)) |
243 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 267 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
244 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 268 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
245 nmethod* code = mh->code(); | 269 nmethod* code = is_osr ? mh->lookup_osr_nmethod_for(InvocationEntryBci, CompLevel_none, false) : mh->code(); |
246 return (code != NULL ? code->comp_level() : CompLevel_none); | 270 return (code != NULL ? code->comp_level() : CompLevel_none); |
247 WB_END | 271 WB_END |
248 | 272 |
249 | 273 WB_ENTRY(void, WB_MakeMethodNotCompilable(JNIEnv* env, jobject o, jobject method, jint comp_level, jboolean is_osr)) |
250 WB_ENTRY(void, WB_MakeMethodNotCompilable(JNIEnv* env, jobject o, jobject method, jint comp_level)) | 274 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
251 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 275 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
252 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 276 if (is_osr) { |
253 mh->set_not_compilable(comp_level, true /* report */, "WhiteBox"); | 277 mh->set_not_osr_compilable(comp_level, true /* report */, "WhiteBox"); |
278 } else { | |
279 mh->set_not_compilable(comp_level, true /* report */, "WhiteBox"); | |
280 } | |
281 WB_END | |
282 | |
283 WB_ENTRY(jint, WB_GetMethodEntryBci(JNIEnv* env, jobject o, jobject method)) | |
284 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | |
285 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | |
286 nmethod* code = mh->lookup_osr_nmethod_for(InvocationEntryBci, CompLevel_none, false); | |
287 return (code != NULL && code->is_osr_method() ? code->osr_entry_bci() : InvocationEntryBci); | |
254 WB_END | 288 WB_END |
255 | 289 |
256 WB_ENTRY(jboolean, WB_TestSetDontInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value)) | 290 WB_ENTRY(jboolean, WB_TestSetDontInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value)) |
257 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 291 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
258 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 292 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
259 bool result = mh->dont_inline(); | 293 bool result = mh->dont_inline(); |
260 mh->set_dont_inline(value == JNI_TRUE); | 294 mh->set_dont_inline(value == JNI_TRUE); |
261 return result; | 295 return result; |
262 WB_END | 296 WB_END |
263 | 297 |
264 WB_ENTRY(jint, WB_GetCompileQueuesSize(JNIEnv* env, jobject o)) | 298 WB_ENTRY(jint, WB_GetCompileQueueSize(JNIEnv* env, jobject o, jint comp_level)) |
265 return CompileBroker::queue_size(CompLevel_full_optimization) /* C2 */ + | 299 if (comp_level == CompLevel_any) { |
266 CompileBroker::queue_size(CompLevel_full_profile) /* C1 */; | 300 return CompileBroker::queue_size(CompLevel_full_optimization) /* C2 */ + |
267 WB_END | 301 CompileBroker::queue_size(CompLevel_full_profile) /* C1 */; |
268 | 302 } else { |
303 return CompileBroker::queue_size(comp_level); | |
304 } | |
305 WB_END | |
269 | 306 |
270 WB_ENTRY(jboolean, WB_TestSetForceInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value)) | 307 WB_ENTRY(jboolean, WB_TestSetForceInlineMethod(JNIEnv* env, jobject o, jobject method, jboolean value)) |
271 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 308 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
272 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 309 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
273 bool result = mh->force_inline(); | 310 bool result = mh->force_inline(); |
274 mh->set_force_inline(value == JNI_TRUE); | 311 mh->set_force_inline(value == JNI_TRUE); |
275 return result; | 312 return result; |
276 WB_END | 313 WB_END |
277 | 314 |
278 WB_ENTRY(jboolean, WB_EnqueueMethodForCompilation(JNIEnv* env, jobject o, jobject method, jint comp_level)) | 315 WB_ENTRY(jboolean, WB_EnqueueMethodForCompilation(JNIEnv* env, jobject o, jobject method, jint comp_level, jint bci)) |
279 jmethodID jmid = reflected_method_to_jmid(thread, env, method); | 316 jmethodID jmid = reflected_method_to_jmid(thread, env, method); |
280 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); | 317 methodHandle mh(THREAD, Method::checked_resolve_jmethod_id(jmid)); |
281 nmethod* nm = CompileBroker::compile_method(mh, InvocationEntryBci, comp_level, mh, mh->invocation_count(), "WhiteBox", THREAD); | 318 nmethod* nm = CompileBroker::compile_method(mh, bci, comp_level, mh, mh->invocation_count(), "WhiteBox", THREAD); |
282 MutexLockerEx mu(Compile_lock); | 319 MutexLockerEx mu(Compile_lock); |
283 return (mh->queued_for_compilation() || nm != NULL); | 320 return (mh->queued_for_compilation() || nm != NULL); |
284 WB_END | 321 WB_END |
285 | 322 |
286 WB_ENTRY(void, WB_ClearMethodState(JNIEnv* env, jobject o, jobject method)) | 323 WB_ENTRY(void, WB_ClearMethodState(JNIEnv* env, jobject o, jobject method)) |
322 int len; | 359 int len; |
323 jchar* name = java_lang_String::as_unicode_string(JNIHandles::resolve(javaString), len, CHECK_false); | 360 jchar* name = java_lang_String::as_unicode_string(JNIHandles::resolve(javaString), len, CHECK_false); |
324 return (StringTable::lookup(name, len) != NULL); | 361 return (StringTable::lookup(name, len) != NULL); |
325 WB_END | 362 WB_END |
326 | 363 |
327 | |
328 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) | 364 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) |
329 Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true); | 365 Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true); |
330 Universe::heap()->collect(GCCause::_last_ditch_collection); | 366 Universe::heap()->collect(GCCause::_last_ditch_collection); |
331 WB_END | 367 WB_END |
332 | 368 |
404 {CC"isClassAlive0", CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive }, | 440 {CC"isClassAlive0", CC"(Ljava/lang/String;)Z", (void*)&WB_IsClassAlive }, |
405 {CC"parseCommandLine", | 441 {CC"parseCommandLine", |
406 CC"(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", | 442 CC"(Ljava/lang/String;[Lsun/hotspot/parser/DiagnosticCommand;)[Ljava/lang/Object;", |
407 (void*) &WB_ParseCommandLine | 443 (void*) &WB_ParseCommandLine |
408 }, | 444 }, |
445 {CC"getCompressedOopsMaxHeapSize", CC"()J", | |
446 (void*)&WB_GetCompressedOopsMaxHeapSize}, | |
409 {CC"printHeapSizes", CC"()V", (void*)&WB_PrintHeapSizes }, | 447 {CC"printHeapSizes", CC"()V", (void*)&WB_PrintHeapSizes }, |
410 #if INCLUDE_ALL_GCS | 448 #if INCLUDE_ALL_GCS |
411 {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, | 449 {CC"g1InConcurrentMark", CC"()Z", (void*)&WB_G1InConcurrentMark}, |
412 {CC"g1IsHumongous", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, | 450 {CC"g1IsHumongous", CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous }, |
413 {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, | 451 {CC"g1NumFreeRegions", CC"()J", (void*)&WB_G1NumFreeRegions }, |
414 {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, | 452 {CC"g1RegionSize", CC"()I", (void*)&WB_G1RegionSize }, |
415 #endif // INCLUDE_ALL_GCS | 453 #endif // INCLUDE_ALL_GCS |
416 #ifdef INCLUDE_NMT | 454 #if INCLUDE_NMT |
417 {CC"NMTMalloc", CC"(J)J", (void*)&WB_NMTMalloc }, | 455 {CC"NMTMalloc", CC"(J)J", (void*)&WB_NMTMalloc }, |
418 {CC"NMTFree", CC"(J)V", (void*)&WB_NMTFree }, | 456 {CC"NMTFree", CC"(J)V", (void*)&WB_NMTFree }, |
419 {CC"NMTReserveMemory", CC"(J)J", (void*)&WB_NMTReserveMemory }, | 457 {CC"NMTReserveMemory", CC"(J)J", (void*)&WB_NMTReserveMemory }, |
420 {CC"NMTCommitMemory", CC"(JJ)V", (void*)&WB_NMTCommitMemory }, | 458 {CC"NMTCommitMemory", CC"(JJ)V", (void*)&WB_NMTCommitMemory }, |
421 {CC"NMTUncommitMemory", CC"(JJ)V", (void*)&WB_NMTUncommitMemory }, | 459 {CC"NMTUncommitMemory", CC"(JJ)V", (void*)&WB_NMTUncommitMemory }, |
422 {CC"NMTReleaseMemory", CC"(JJ)V", (void*)&WB_NMTReleaseMemory }, | 460 {CC"NMTReleaseMemory", CC"(JJ)V", (void*)&WB_NMTReleaseMemory }, |
423 {CC"NMTWaitForDataMerge", CC"()Z", (void*)&WB_NMTWaitForDataMerge}, | 461 {CC"NMTWaitForDataMerge", CC"()Z", (void*)&WB_NMTWaitForDataMerge}, |
462 {CC"NMTIsDetailSupported",CC"()Z", (void*)&WB_NMTIsDetailSupported}, | |
424 #endif // INCLUDE_NMT | 463 #endif // INCLUDE_NMT |
425 {CC"deoptimizeAll", CC"()V", (void*)&WB_DeoptimizeAll }, | 464 {CC"deoptimizeAll", CC"()V", (void*)&WB_DeoptimizeAll }, |
426 {CC"deoptimizeMethod", CC"(Ljava/lang/reflect/Executable;)I", | 465 {CC"deoptimizeMethod", CC"(Ljava/lang/reflect/Executable;Z)I", |
427 (void*)&WB_DeoptimizeMethod }, | 466 (void*)&WB_DeoptimizeMethod }, |
428 {CC"isMethodCompiled", CC"(Ljava/lang/reflect/Executable;)Z", | 467 {CC"isMethodCompiled", CC"(Ljava/lang/reflect/Executable;Z)Z", |
429 (void*)&WB_IsMethodCompiled }, | 468 (void*)&WB_IsMethodCompiled }, |
430 {CC"isMethodCompilable", CC"(Ljava/lang/reflect/Executable;I)Z", | 469 {CC"isMethodCompilable", CC"(Ljava/lang/reflect/Executable;IZ)Z", |
431 (void*)&WB_IsMethodCompilable}, | 470 (void*)&WB_IsMethodCompilable}, |
432 {CC"isMethodQueuedForCompilation", | 471 {CC"isMethodQueuedForCompilation", |
433 CC"(Ljava/lang/reflect/Executable;)Z", (void*)&WB_IsMethodQueuedForCompilation}, | 472 CC"(Ljava/lang/reflect/Executable;)Z", (void*)&WB_IsMethodQueuedForCompilation}, |
434 {CC"makeMethodNotCompilable", | 473 {CC"makeMethodNotCompilable", |
435 CC"(Ljava/lang/reflect/Executable;I)V", (void*)&WB_MakeMethodNotCompilable}, | 474 CC"(Ljava/lang/reflect/Executable;IZ)V", (void*)&WB_MakeMethodNotCompilable}, |
436 {CC"testSetDontInlineMethod", | 475 {CC"testSetDontInlineMethod", |
437 CC"(Ljava/lang/reflect/Executable;Z)Z", (void*)&WB_TestSetDontInlineMethod}, | 476 CC"(Ljava/lang/reflect/Executable;Z)Z", (void*)&WB_TestSetDontInlineMethod}, |
438 {CC"getMethodCompilationLevel", | 477 {CC"getMethodCompilationLevel", |
439 CC"(Ljava/lang/reflect/Executable;)I", (void*)&WB_GetMethodCompilationLevel}, | 478 CC"(Ljava/lang/reflect/Executable;Z)I", (void*)&WB_GetMethodCompilationLevel}, |
440 {CC"getCompileQueuesSize", | 479 {CC"getMethodEntryBci", |
441 CC"()I", (void*)&WB_GetCompileQueuesSize}, | 480 CC"(Ljava/lang/reflect/Executable;)I", (void*)&WB_GetMethodEntryBci}, |
481 {CC"getCompileQueueSize", | |
482 CC"(I)I", (void*)&WB_GetCompileQueueSize}, | |
442 {CC"testSetForceInlineMethod", | 483 {CC"testSetForceInlineMethod", |
443 CC"(Ljava/lang/reflect/Executable;Z)Z", (void*)&WB_TestSetForceInlineMethod}, | 484 CC"(Ljava/lang/reflect/Executable;Z)Z", (void*)&WB_TestSetForceInlineMethod}, |
444 {CC"enqueueMethodForCompilation", | 485 {CC"enqueueMethodForCompilation", |
445 CC"(Ljava/lang/reflect/Executable;I)Z", (void*)&WB_EnqueueMethodForCompilation}, | 486 CC"(Ljava/lang/reflect/Executable;II)Z", (void*)&WB_EnqueueMethodForCompilation}, |
446 {CC"clearMethodState", | 487 {CC"clearMethodState", |
447 CC"(Ljava/lang/reflect/Executable;)V", (void*)&WB_ClearMethodState}, | 488 CC"(Ljava/lang/reflect/Executable;)V", (void*)&WB_ClearMethodState}, |
448 {CC"isInStringTable", CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable }, | 489 {CC"isInStringTable", CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable }, |
449 {CC"fullGC", CC"()V", (void*)&WB_FullGC }, | 490 {CC"fullGC", CC"()V", (void*)&WB_FullGC }, |
450 | |
451 {CC"readReservedMemory", CC"()V", (void*)&WB_ReadReservedMemory }, | 491 {CC"readReservedMemory", CC"()V", (void*)&WB_ReadReservedMemory }, |
452 }; | 492 }; |
453 | 493 |
454 #undef CC | 494 #undef CC |
455 | 495 |