Mercurial > hg > graal-jvmci-8
comparison src/share/vm/jvmci/jvmciCompilerToVM.cpp @ 23741:6542cd8da2da
include VarHandle in signature polymorphic method test (JDK-8164214)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 23 Aug 2016 22:58:50 +0200 |
parents | 724fbad94ee3 |
children | a67f4d28935f |
comparison
equal
deleted
inserted
replaced
23740:724fbad94ee3 | 23741:6542cd8da2da |
---|---|
1245 cp_cache_entry->set_dynamic_call(cp, callInfo); | 1245 cp_cache_entry->set_dynamic_call(cp, callInfo); |
1246 C2V_END | 1246 C2V_END |
1247 | 1247 |
1248 C2V_VMENTRY(void, resolveInvokeHandleInPool, (JNIEnv*, jobject, jobject jvmci_constant_pool, jint index)) | 1248 C2V_VMENTRY(void, resolveInvokeHandleInPool, (JNIEnv*, jobject, jobject jvmci_constant_pool, jint index)) |
1249 constantPoolHandle cp = CompilerToVM::asConstantPool(jvmci_constant_pool); | 1249 constantPoolHandle cp = CompilerToVM::asConstantPool(jvmci_constant_pool); |
1250 CallInfo callInfo; | 1250 KlassHandle holder = cp->klass_ref_at(index, CHECK); |
1251 LinkResolver::resolve_invokehandle(callInfo, cp, index, CHECK); | 1251 Symbol* name = cp->name_ref_at(index); |
1252 ConstantPoolCacheEntry* cp_cache_entry = cp_cache_entry = cp->cache()->entry_at(cp->decode_cpcache_index(index)); | 1252 if (MethodHandles::is_signature_polymorphic_name(holder(), name)) { |
1253 cp_cache_entry->set_method_handle(cp, callInfo); | 1253 CallInfo callInfo; |
1254 LinkResolver::resolve_invokehandle(callInfo, cp, index, CHECK); | |
1255 ConstantPoolCacheEntry* cp_cache_entry = cp_cache_entry = cp->cache()->entry_at(cp->decode_cpcache_index(index)); | |
1256 cp_cache_entry->set_method_handle(cp, callInfo); | |
1257 } | |
1258 C2V_END | |
1259 | |
1260 C2V_VMENTRY(jobject, getSignaturePolymorphicHolders, (JNIEnv*, jobject)) | |
1261 objArrayHandle holders = oopFactory::new_objArray(SystemDictionary::String_klass(), 2, CHECK_NULL); | |
1262 Handle mh = java_lang_String::create_from_str("Ljava/lang/invoke/MethodHandle;", CHECK_NULL); | |
1263 Handle vh = java_lang_String::create_from_str("Ljava/lang/invoke/VarHandle;", CHECK_NULL); | |
1264 holders->obj_at_put(0, mh()); | |
1265 holders->obj_at_put(1, vh()); | |
1266 return JNIHandles::make_local(THREAD, holders()); | |
1254 C2V_END | 1267 C2V_END |
1255 | 1268 |
1256 C2V_VMENTRY(jboolean, shouldDebugNonSafepoints, (JNIEnv*, jobject)) | 1269 C2V_VMENTRY(jboolean, shouldDebugNonSafepoints, (JNIEnv*, jobject)) |
1257 //see compute_recording_non_safepoints in debugInfroRec.cpp | 1270 //see compute_recording_non_safepoints in debugInfroRec.cpp |
1258 if (JvmtiExport::should_post_compiled_method_load() && FLAG_IS_DEFAULT(DebugNonSafepoints)) { | 1271 if (JvmtiExport::should_post_compiled_method_load() && FLAG_IS_DEFAULT(DebugNonSafepoints)) { |