316 |
316 |
317 |
317 |
318 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) |
318 WB_ENTRY(void, WB_FullGC(JNIEnv* env, jobject o)) |
319 Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true); |
319 Universe::heap()->collector_policy()->set_should_clear_all_soft_refs(true); |
320 Universe::heap()->collect(GCCause::_last_ditch_collection); |
320 Universe::heap()->collect(GCCause::_last_ditch_collection); |
|
321 WB_END |
|
322 |
|
323 |
|
324 WB_ENTRY(jlong, WB_ReserveMemory(JNIEnv* env, jobject o, jlong size)) |
|
325 return (jlong)os::reserve_memory(size, NULL, 0); |
321 WB_END |
326 WB_END |
322 |
327 |
323 //Some convenience methods to deal with objects from java |
328 //Some convenience methods to deal with objects from java |
324 int WhiteBox::offset_for_field(const char* field_name, oop object, |
329 int WhiteBox::offset_for_field(const char* field_name, oop object, |
325 Symbol* signature_symbol) { |
330 Symbol* signature_symbol) { |
419 CC"(Ljava/lang/reflect/Executable;I)Z", (void*)&WB_EnqueueMethodForCompilation}, |
424 CC"(Ljava/lang/reflect/Executable;I)Z", (void*)&WB_EnqueueMethodForCompilation}, |
420 {CC"clearMethodState", |
425 {CC"clearMethodState", |
421 CC"(Ljava/lang/reflect/Executable;)V", (void*)&WB_ClearMethodState}, |
426 CC"(Ljava/lang/reflect/Executable;)V", (void*)&WB_ClearMethodState}, |
422 {CC"isInStringTable", CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable }, |
427 {CC"isInStringTable", CC"(Ljava/lang/String;)Z", (void*)&WB_IsInStringTable }, |
423 {CC"fullGC", CC"()V", (void*)&WB_FullGC }, |
428 {CC"fullGC", CC"()V", (void*)&WB_FullGC }, |
|
429 |
|
430 {CC"reserveMemory", CC"(J)J", (void*)&WB_ReserveMemory }, |
424 }; |
431 }; |
425 |
432 |
426 #undef CC |
433 #undef CC |
427 |
434 |
428 JVM_ENTRY(void, JVM_RegisterWhiteBoxMethods(JNIEnv* env, jclass wbclass)) |
435 JVM_ENTRY(void, JVM_RegisterWhiteBoxMethods(JNIEnv* env, jclass wbclass)) |