Mercurial > hg > graal-jvmci-8
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: |