src/hotspot/share/jvmci/compilerRuntime.cpp
changeset 59056 15936b142f86
parent 58722 cba8afa5cfed
equal deleted inserted replaced
59055:57ad70bcf06c 59056:15936b142f86
   139     Bytecode_invoke bytecode(caller, bci);
   139     Bytecode_invoke bytecode(caller, bci);
   140     int index = bytecode.index();
   140     int index = bytecode.index();
   141 
   141 
   142     // Make sure it's resolved first
   142     // Make sure it's resolved first
   143     CallInfo callInfo;
   143     CallInfo callInfo;
   144     constantPoolHandle cp(holder->constants());
   144     constantPoolHandle cp(THREAD, holder->constants());
   145     ConstantPoolCacheEntry* cp_cache_entry = cp->cache()->entry_at(cp->decode_cpcache_index(index, true));
   145     ConstantPoolCacheEntry* cp_cache_entry = cp->cache()->entry_at(cp->decode_cpcache_index(index, true));
   146     Bytecodes::Code invoke_code = bytecode.invoke_code();
   146     Bytecodes::Code invoke_code = bytecode.invoke_code();
   147     if (!cp_cache_entry->is_resolved(invoke_code)) {
   147     if (!cp_cache_entry->is_resolved(invoke_code)) {
   148         LinkResolver::resolve_invoke(callInfo, Handle(), cp, index, invoke_code, CHECK);
   148         LinkResolver::resolve_invoke(callInfo, Handle(), cp, index, invoke_code, CHECK);
   149         if (bytecode.is_invokedynamic()) {
   149         if (bytecode.is_invokedynamic()) {
   155     }
   155     }
   156 
   156 
   157     Handle appendix(THREAD, cp_cache_entry->appendix_if_resolved(cp));
   157     Handle appendix(THREAD, cp_cache_entry->appendix_if_resolved(cp));
   158     Klass *appendix_klass = appendix.is_null() ? NULL : appendix->klass();
   158     Klass *appendix_klass = appendix.is_null() ? NULL : appendix->klass();
   159 
   159 
   160     methodHandle adapter_method(cp_cache_entry->f1_as_method());
   160     methodHandle adapter_method(THREAD, cp_cache_entry->f1_as_method());
   161     InstanceKlass *adapter_klass = adapter_method->method_holder();
   161     InstanceKlass *adapter_klass = adapter_method->method_holder();
   162 
   162 
   163     if (appendix_klass != NULL && appendix_klass->is_instance_klass()) {
   163     if (appendix_klass != NULL && appendix_klass->is_instance_klass()) {
   164         vmassert(InstanceKlass::cast(appendix_klass)->is_initialized(), "sanity");
   164         vmassert(InstanceKlass::cast(appendix_klass)->is_initialized(), "sanity");
   165     }
   165     }