src/share/vm/runtime/sharedRuntime.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6834177 Sdiff src/share/vm/runtime

src/share/vm/runtime/sharedRuntime.hpp

Print this page




 543     _i2c_entry(i2c_entry),
 544     _c2i_entry(c2i_entry),
 545     _c2i_unverified_entry(c2i_unverified_entry) {
 546   }
 547 
 548   address get_i2c_entry()            { return _i2c_entry; }
 549   address get_c2i_entry()            { return _c2i_entry; }
 550   address get_c2i_unverified_entry() { return _c2i_unverified_entry; }
 551 
 552   void relocate(address new_base);
 553 #ifndef PRODUCT
 554   void print();
 555 #endif /* PRODUCT */
 556 };
 557 
 558 class AdapterHandlerLibrary: public AllStatic {
 559  private:
 560   static u_char                   _buffer[];  // the temporary code buffer
 561   static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection
 562   static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers

 563   enum {
 564     AbstractMethodHandler = 1 // special handler for abstract methods
 565   };
 566   static void initialize();
 567   static int get_create_adapter_index(methodHandle method);
 568   static address get_i2c_entry( int index ) {
 569     return get_entry(index)->get_i2c_entry();
 570   }
 571   static address get_c2i_entry( int index ) {
 572     return get_entry(index)->get_c2i_entry();
 573   }
 574   static address get_c2i_unverified_entry( int index ) {
 575     return get_entry(index)->get_c2i_unverified_entry();
 576   }
 577 
 578  public:
 579   static AdapterHandlerEntry* get_entry( int index ) { return _handlers->at(index); }
 580   static nmethod* create_native_wrapper(methodHandle method);
 581   static AdapterHandlerEntry* get_adapter(methodHandle method)  {
 582     return get_entry(get_create_adapter_index(method));


 543     _i2c_entry(i2c_entry),
 544     _c2i_entry(c2i_entry),
 545     _c2i_unverified_entry(c2i_unverified_entry) {
 546   }
 547 
 548   address get_i2c_entry()            { return _i2c_entry; }
 549   address get_c2i_entry()            { return _c2i_entry; }
 550   address get_c2i_unverified_entry() { return _c2i_unverified_entry; }
 551 
 552   void relocate(address new_base);
 553 #ifndef PRODUCT
 554   void print();
 555 #endif /* PRODUCT */
 556 };
 557 
 558 class AdapterHandlerLibrary: public AllStatic {
 559  private:
 560   static u_char                   _buffer[];  // the temporary code buffer
 561   static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection
 562   static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
 563   static BufferBlob* _buffer_blob; // the temporary code buffer in CodeCache
 564   enum {
 565     AbstractMethodHandler = 1 // special handler for abstract methods
 566   };
 567   static void initialize();
 568   static int get_create_adapter_index(methodHandle method);
 569   static address get_i2c_entry( int index ) {
 570     return get_entry(index)->get_i2c_entry();
 571   }
 572   static address get_c2i_entry( int index ) {
 573     return get_entry(index)->get_c2i_entry();
 574   }
 575   static address get_c2i_unverified_entry( int index ) {
 576     return get_entry(index)->get_c2i_unverified_entry();
 577   }
 578 
 579  public:
 580   static AdapterHandlerEntry* get_entry( int index ) { return _handlers->at(index); }
 581   static nmethod* create_native_wrapper(methodHandle method);
 582   static AdapterHandlerEntry* get_adapter(methodHandle method)  {
 583     return get_entry(get_create_adapter_index(method));
src/share/vm/runtime/sharedRuntime.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File