comparison src/share/vm/opto/bytecodeInfo.cpp @ 1565:ab102d5d923e

6939207: refactor constant pool index processing Summary: Factored cleanup of instruction decode which prepares for enhanced ldc semantics. Reviewed-by: twisti
author jrose
date Sun, 23 May 2010 01:38:26 -0700
parents 61b2245abf36
children e9ff18c4ace7
comparison
equal deleted inserted replaced
1564:61b2245abf36 1565:ab102d5d923e
338 ciBytecodeStream iter(caller_method); 338 ciBytecodeStream iter(caller_method);
339 iter.force_bci(caller_bci); 339 iter.force_bci(caller_bci);
340 Bytecodes::Code call_bc = iter.cur_bc(); 340 Bytecodes::Code call_bc = iter.cur_bc();
341 // An invokedynamic instruction does not have a klass. 341 // An invokedynamic instruction does not have a klass.
342 if (call_bc != Bytecodes::_invokedynamic) { 342 if (call_bc != Bytecodes::_invokedynamic) {
343 int index = iter.get_index_int(); 343 int index = iter.get_index_u2_cpcache();
344 if (!caller_method->is_klass_loaded(index, true)) { 344 if (!caller_method->is_klass_loaded(index, true)) {
345 return false; 345 return false;
346 } 346 }
347 // Try to do constant pool resolution if running Xcomp 347 // Try to do constant pool resolution if running Xcomp
348 if( !caller_method->check_call(index, call_bc == Bytecodes::_invokestatic) ) { 348 if( !caller_method->check_call(index, call_bc == Bytecodes::_invokestatic) ) {