hotspot/src/share/vm/runtime/sharedRuntime.hpp
changeset 21726 3533814ab107
parent 17872 2c49e72dcf08
child 22858 f4a6f0eba875
child 22209 25c1e0025b51
equal deleted inserted replaced
21725:94356d38c769 21726:3533814ab107
    54                                      bool is_optimized, TRAPS);
    54                                      bool is_optimized, TRAPS);
    55 
    55 
    56   // Shared stub locations
    56   // Shared stub locations
    57 
    57 
    58   static RuntimeStub*        _wrong_method_blob;
    58   static RuntimeStub*        _wrong_method_blob;
       
    59   static RuntimeStub*        _wrong_method_abstract_blob;
    59   static RuntimeStub*        _ic_miss_blob;
    60   static RuntimeStub*        _ic_miss_blob;
    60   static RuntimeStub*        _resolve_opt_virtual_call_blob;
    61   static RuntimeStub*        _resolve_opt_virtual_call_blob;
    61   static RuntimeStub*        _resolve_virtual_call_blob;
    62   static RuntimeStub*        _resolve_virtual_call_blob;
    62   static RuntimeStub*        _resolve_static_call_blob;
    63   static RuntimeStub*        _resolve_static_call_blob;
    63 
    64 
   204   static address get_handle_wrong_method_stub() {
   205   static address get_handle_wrong_method_stub() {
   205     assert(_wrong_method_blob!= NULL, "oops");
   206     assert(_wrong_method_blob!= NULL, "oops");
   206     return _wrong_method_blob->entry_point();
   207     return _wrong_method_blob->entry_point();
   207   }
   208   }
   208 
   209 
       
   210   static address get_handle_wrong_method_abstract_stub() {
       
   211     assert(_wrong_method_abstract_blob!= NULL, "oops");
       
   212     return _wrong_method_abstract_blob->entry_point();
       
   213   }
       
   214 
   209 #ifdef COMPILER2
   215 #ifdef COMPILER2
   210   static void generate_uncommon_trap_blob(void);
   216   static void generate_uncommon_trap_blob(void);
   211   static UncommonTrapBlob* uncommon_trap_blob()                  { return _uncommon_trap_blob; }
   217   static UncommonTrapBlob* uncommon_trap_blob()                  { return _uncommon_trap_blob; }
   212 #endif // COMPILER2
   218 #endif // COMPILER2
   213 
   219 
   479                                jint length, JavaThread* thread);
   485                                jint length, JavaThread* thread);
   480 
   486 
   481   // handle ic miss with caller being compiled code
   487   // handle ic miss with caller being compiled code
   482   // wrong method handling (inline cache misses, zombie methods)
   488   // wrong method handling (inline cache misses, zombie methods)
   483   static address handle_wrong_method(JavaThread* thread);
   489   static address handle_wrong_method(JavaThread* thread);
       
   490   static address handle_wrong_method_abstract(JavaThread* thread);
   484   static address handle_wrong_method_ic_miss(JavaThread* thread);
   491   static address handle_wrong_method_ic_miss(JavaThread* thread);
   485 
   492 
   486 #ifndef PRODUCT
   493 #ifndef PRODUCT
   487 
   494 
   488   // Collect and print inline cache miss statistics
   495   // Collect and print inline cache miss statistics