hotspot/src/share/vm/runtime/sharedRuntime.hpp
changeset 22209 25c1e0025b51
parent 21726 3533814ab107
child 22234 da823d78ad65
equal deleted inserted replaced
22208:fb1e20bd389f 22209:25c1e0025b51
   610 
   610 
   611 #ifdef ASSERT
   611 #ifdef ASSERT
   612   // Captures code and signature used to generate this adapter when
   612   // Captures code and signature used to generate this adapter when
   613   // verifing adapter equivalence.
   613   // verifing adapter equivalence.
   614   unsigned char* _saved_code;
   614   unsigned char* _saved_code;
   615   int            _code_length;
   615   int            _saved_code_length;
   616   BasicType*     _saved_sig;
       
   617   int            _total_args_passed;
       
   618 #endif
   616 #endif
   619 
   617 
   620   void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
   618   void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
   621     _fingerprint = fingerprint;
   619     _fingerprint = fingerprint;
   622     _i2c_entry = i2c_entry;
   620     _i2c_entry = i2c_entry;
   623     _c2i_entry = c2i_entry;
   621     _c2i_entry = c2i_entry;
   624     _c2i_unverified_entry = c2i_unverified_entry;
   622     _c2i_unverified_entry = c2i_unverified_entry;
   625 #ifdef ASSERT
   623 #ifdef ASSERT
   626     _saved_code = NULL;
   624     _saved_code = NULL;
   627     _code_length = 0;
   625     _saved_code_length = 0;
   628     _saved_sig = NULL;
       
   629     _total_args_passed = 0;
       
   630 #endif
   626 #endif
   631   }
   627   }
   632 
   628 
   633   void deallocate();
   629   void deallocate();
   634 
   630 
   637 
   633 
   638  public:
   634  public:
   639   address get_i2c_entry()            const { return _i2c_entry; }
   635   address get_i2c_entry()            const { return _i2c_entry; }
   640   address get_c2i_entry()            const { return _c2i_entry; }
   636   address get_c2i_entry()            const { return _c2i_entry; }
   641   address get_c2i_unverified_entry() const { return _c2i_unverified_entry; }
   637   address get_c2i_unverified_entry() const { return _c2i_unverified_entry; }
   642 
       
   643   address base_address();
   638   address base_address();
   644   void relocate(address new_base);
   639   void relocate(address new_base);
   645 
   640 
   646   AdapterFingerPrint* fingerprint() const { return _fingerprint; }
   641   AdapterFingerPrint* fingerprint() const { return _fingerprint; }
   647 
   642 
   649     return (AdapterHandlerEntry*)BasicHashtableEntry<mtCode>::next();
   644     return (AdapterHandlerEntry*)BasicHashtableEntry<mtCode>::next();
   650   }
   645   }
   651 
   646 
   652 #ifdef ASSERT
   647 #ifdef ASSERT
   653   // Used to verify that code generated for shared adapters is equivalent
   648   // Used to verify that code generated for shared adapters is equivalent
   654   void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
   649   void save_code   (unsigned char* code, int length);
   655   bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
   650   bool compare_code(unsigned char* code, int length);
   656 #endif
   651 #endif
   657 
   652 
   658   //virtual void print_on(outputStream* st) const;  DO NOT USE
   653   //virtual void print_on(outputStream* st) const;  DO NOT USE
   659   void print_adapter_on(outputStream* st) const;
   654   void print_adapter_on(outputStream* st) const;
   660 };
   655 };