comparison src/share/vm/ci/bcEscapeAnalyzer.cpp @ 726:be93aad57795

6655646: dynamic languages need dynamically linked call sites Summary: invokedynamic instruction (JSR 292 RI) Reviewed-by: twisti, never
author jrose
date Tue, 21 Apr 2009 23:21:04 -0700
parents d1605aabd0a1
children bd02caa94611
comparison
equal deleted inserted replaced
725:928912ce8438 726:be93aad57795
831 } 831 }
832 break; 832 break;
833 case Bytecodes::_invokevirtual: 833 case Bytecodes::_invokevirtual:
834 case Bytecodes::_invokespecial: 834 case Bytecodes::_invokespecial:
835 case Bytecodes::_invokestatic: 835 case Bytecodes::_invokestatic:
836 case Bytecodes::_invokedynamic:
836 case Bytecodes::_invokeinterface: 837 case Bytecodes::_invokeinterface:
837 { bool will_link; 838 { bool will_link;
838 ciMethod* target = s.get_method(will_link); 839 ciMethod* target = s.get_method(will_link);
839 ciKlass* holder = s.get_declared_method_holder(); 840 ciKlass* holder = s.get_declared_method_holder();
840 invoke(state, s.cur_bc(), target, holder); 841 invoke(state, s.cur_bc(), target, holder);
845 state.spush(); 846 state.spush();
846 } else if (return_type->is_two_word()) { 847 } else if (return_type->is_two_word()) {
847 state.lpush(); 848 state.lpush();
848 } 849 }
849 } 850 }
850 break;
851 case Bytecodes::_xxxunusedxxx:
852 ShouldNotReachHere();
853 break; 851 break;
854 case Bytecodes::_new: 852 case Bytecodes::_new:
855 state.apush(allocated_obj); 853 state.apush(allocated_obj);
856 break; 854 break;
857 case Bytecodes::_newarray: 855 case Bytecodes::_newarray: