< prev index next >

src/hotspot/share/prims/methodHandles.cpp

Print this page
rev 49275 : [mq]: JDK-8199781.patch

*** 959,969 **** } else if (rfill < rlimit) { Handle result(thread, results->obj_at(rfill++)); if (!java_lang_invoke_MemberName::is_instance(result())) return -99; // caller bug! oop saved = MethodHandles::init_field_MemberName(result, st.field_descriptor()); ! if (saved != result()) results->obj_at_put(rfill-1, saved); // show saved instance to user } else if (++overflow >= overflow_limit) { match_flags = 0; break; // got tired of looking at overflow } } --- 959,969 ---- } else if (rfill < rlimit) { Handle result(thread, results->obj_at(rfill++)); if (!java_lang_invoke_MemberName::is_instance(result())) return -99; // caller bug! oop saved = MethodHandles::init_field_MemberName(result, st.field_descriptor()); ! if (!oopDesc::equals(saved, result())) results->obj_at_put(rfill-1, saved); // show saved instance to user } else if (++overflow >= overflow_limit) { match_flags = 0; break; // got tired of looking at overflow } }
*** 1011,1021 **** Handle result(thread, results->obj_at(rfill++)); if (!java_lang_invoke_MemberName::is_instance(result())) return -99; // caller bug! CallInfo info(m, NULL, CHECK_0); oop saved = MethodHandles::init_method_MemberName(result, info); ! if (saved != result()) results->obj_at_put(rfill-1, saved); // show saved instance to user } else if (++overflow >= overflow_limit) { match_flags = 0; break; // got tired of looking at overflow } } --- 1011,1021 ---- Handle result(thread, results->obj_at(rfill++)); if (!java_lang_invoke_MemberName::is_instance(result())) return -99; // caller bug! CallInfo info(m, NULL, CHECK_0); oop saved = MethodHandles::init_method_MemberName(result, info); ! if (!oopDesc::equals(saved, result())) results->obj_at_put(rfill-1, saved); // show saved instance to user } else if (++overflow >= overflow_limit) { match_flags = 0; break; // got tired of looking at overflow } }
< prev index next >