equal
deleted
inserted
replaced
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 } |