equal
deleted
inserted
replaced
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 }; |