src/share/vm/prims/methodHandles.cpp

changeset 3239
12d38ffcba2a
parent 3137
e6b1331a51d2
child 3255
44ce519bc3d1
equal deleted inserted replaced
3238:b20d64f83668 3239:12d38ffcba2a
3077 return res; 3077 return res;
3078 } 3078 }
3079 JVM_END 3079 JVM_END
3080 3080
3081 JVM_ENTRY(void, MHN_setCallSiteTargetNormal(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) { 3081 JVM_ENTRY(void, MHN_setCallSiteTargetNormal(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) {
3082 oop call_site = JNIHandles::resolve_non_null(call_site_jh); 3082 Handle call_site(THREAD, JNIHandles::resolve_non_null(call_site_jh));
3083 oop target = JNIHandles::resolve(target_jh); 3083 Handle target (THREAD, JNIHandles::resolve(target_jh));
3084 { 3084 {
3085 // Walk all nmethods depending on this call site. 3085 // Walk all nmethods depending on this call site.
3086 MutexLocker mu(Compile_lock, thread); 3086 MutexLocker mu(Compile_lock, thread);
3087 Universe::flush_dependents_on(call_site, target); 3087 Universe::flush_dependents_on(call_site, target);
3088 } 3088 }
3089 java_lang_invoke_CallSite::set_target(call_site, target); 3089 java_lang_invoke_CallSite::set_target(call_site(), target());
3090 } 3090 }
3091 JVM_END 3091 JVM_END
3092 3092
3093 JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) { 3093 JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobject call_site_jh, jobject target_jh)) {
3094 oop call_site = JNIHandles::resolve_non_null(call_site_jh); 3094 Handle call_site(THREAD, JNIHandles::resolve_non_null(call_site_jh));
3095 oop target = JNIHandles::resolve(target_jh); 3095 Handle target (THREAD, JNIHandles::resolve(target_jh));
3096 { 3096 {
3097 // Walk all nmethods depending on this call site. 3097 // Walk all nmethods depending on this call site.
3098 MutexLocker mu(Compile_lock, thread); 3098 MutexLocker mu(Compile_lock, thread);
3099 Universe::flush_dependents_on(call_site, target); 3099 Universe::flush_dependents_on(call_site, target);
3100 } 3100 }
3101 java_lang_invoke_CallSite::set_target_volatile(call_site, target); 3101 java_lang_invoke_CallSite::set_target_volatile(call_site(), target());
3102 } 3102 }
3103 JVM_END 3103 JVM_END
3104 3104
3105 methodOop MethodHandles::resolve_raise_exception_method(TRAPS) { 3105 methodOop MethodHandles::resolve_raise_exception_method(TRAPS) {
3106 if (_raise_exception_method != NULL) { 3106 if (_raise_exception_method != NULL) {

mercurial