hotspot/src/share/vm/runtime/sharedRuntime.hpp
changeset 4755 eee57ea6d910
parent 4735 3d4e4ec0df67
child 5046 27e801a857cb
equal deleted inserted replaced
4754:8aef16f24e16 4755:eee57ea6d910
   538   AdapterFingerPrint* _fingerprint;
   538   AdapterFingerPrint* _fingerprint;
   539   address _i2c_entry;
   539   address _i2c_entry;
   540   address _c2i_entry;
   540   address _c2i_entry;
   541   address _c2i_unverified_entry;
   541   address _c2i_unverified_entry;
   542 
   542 
       
   543 #ifdef ASSERT
       
   544   // Captures code and signature used to generate this adapter when
       
   545   // verifing adapter equivalence.
       
   546   unsigned char* _saved_code;
       
   547   int            _code_length;
       
   548   BasicType*     _saved_sig;
       
   549   int            _total_args_passed;
       
   550 #endif
       
   551 
   543   void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
   552   void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
   544     _fingerprint = fingerprint;
   553     _fingerprint = fingerprint;
   545     _i2c_entry = i2c_entry;
   554     _i2c_entry = i2c_entry;
   546     _c2i_entry = c2i_entry;
   555     _c2i_entry = c2i_entry;
   547     _c2i_unverified_entry = c2i_unverified_entry;
   556     _c2i_unverified_entry = c2i_unverified_entry;
       
   557 #ifdef ASSERT
       
   558     _saved_code = NULL;
       
   559     _code_length = 0;
       
   560     _saved_sig = NULL;
       
   561     _total_args_passed = 0;
       
   562 #endif
   548   }
   563   }
       
   564 
       
   565   void deallocate();
   549 
   566 
   550   // should never be used
   567   // should never be used
   551   AdapterHandlerEntry();
   568   AdapterHandlerEntry();
   552 
   569 
   553  public:
   570  public:
   563   AdapterFingerPrint* fingerprint()  { return _fingerprint; }
   580   AdapterFingerPrint* fingerprint()  { return _fingerprint; }
   564 
   581 
   565   AdapterHandlerEntry* next() {
   582   AdapterHandlerEntry* next() {
   566     return (AdapterHandlerEntry*)BasicHashtableEntry::next();
   583     return (AdapterHandlerEntry*)BasicHashtableEntry::next();
   567   }
   584   }
       
   585 
       
   586 #ifdef ASSERT
       
   587   // Used to verify that code generated for shared adapters is equivalent
       
   588   void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
       
   589   bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
       
   590 #endif
   568 
   591 
   569 #ifndef PRODUCT
   592 #ifndef PRODUCT
   570   void print();
   593   void print();
   571 #endif /* PRODUCT */
   594 #endif /* PRODUCT */
   572 };
   595 };