306 methodHandle mh(thread, method);
307 type = Bytecode_invoke_at(mh, bci)->result_type(thread);
308 // since the cache entry might not be initialized:
309 // (NOT needed for the old calling convension)
310 if (!is_top_frame) {
311 int index = Bytes::get_native_u2(bcp+1);
312 method->constants()->cache()->entry_at(index)->set_parameter_size(callee_parameters);
313 }
314 break;
315 }
316
317 case Bytecodes::_invokedynamic: {
318 Thread *thread = Thread::current();
319 ResourceMark rm(thread);
320 methodHandle mh(thread, method);
321 type = Bytecode_invoke_at(mh, bci)->result_type(thread);
322 // since the cache entry might not be initialized:
323 // (NOT needed for the old calling convension)
324 if (!is_top_frame) {
325 int index = Bytes::get_native_u4(bcp+1);
326 method->constants()->cache()->entry_at(index)->set_parameter_size(callee_parameters);
327 }
328 break;
329 }
330
331 case Bytecodes::_ldc :
332 type = constant_pool_type( method, *(bcp+1) );
333 break;
334
335 case Bytecodes::_ldc_w : // fall through
336 case Bytecodes::_ldc2_w:
337 type = constant_pool_type( method, Bytes::get_Java_u2(bcp+1) );
338 break;
339
340 default:
341 type = Bytecodes::result_type(code);
342 break;
343 }
344
345 // return entry point for computed continuation state & bytecode length
346 return
|
306 methodHandle mh(thread, method);
307 type = Bytecode_invoke_at(mh, bci)->result_type(thread);
308 // since the cache entry might not be initialized:
309 // (NOT needed for the old calling convension)
310 if (!is_top_frame) {
311 int index = Bytes::get_native_u2(bcp+1);
312 method->constants()->cache()->entry_at(index)->set_parameter_size(callee_parameters);
313 }
314 break;
315 }
316
317 case Bytecodes::_invokedynamic: {
318 Thread *thread = Thread::current();
319 ResourceMark rm(thread);
320 methodHandle mh(thread, method);
321 type = Bytecode_invoke_at(mh, bci)->result_type(thread);
322 // since the cache entry might not be initialized:
323 // (NOT needed for the old calling convension)
324 if (!is_top_frame) {
325 int index = Bytes::get_native_u4(bcp+1);
326 method->constants()->cache()->secondary_entry_at(index)->set_parameter_size(callee_parameters);
327 }
328 break;
329 }
330
331 case Bytecodes::_ldc :
332 type = constant_pool_type( method, *(bcp+1) );
333 break;
334
335 case Bytecodes::_ldc_w : // fall through
336 case Bytecodes::_ldc2_w:
337 type = constant_pool_type( method, Bytes::get_Java_u2(bcp+1) );
338 break;
339
340 default:
341 type = Bytecodes::result_type(code);
342 break;
343 }
344
345 // return entry point for computed continuation state & bytecode length
346 return
|