comparison src/share/vm/runtime/sharedRuntime.hpp @ 17795:a9becfeecd1b

Merge
author kvn
date Wed, 22 Jan 2014 17:42:23 -0800
parents 1174c8abbdb6 7b9127b17b7a
children cf9f24de0b93
comparison
equal deleted inserted replaced
17794:3514ee402842 17795:a9becfeecd1b
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
628 628
629 #ifdef ASSERT 629 #ifdef ASSERT
630 // Captures code and signature used to generate this adapter when 630 // Captures code and signature used to generate this adapter when
631 // verifing adapter equivalence. 631 // verifing adapter equivalence.
632 unsigned char* _saved_code; 632 unsigned char* _saved_code;
633 int _code_length; 633 int _saved_code_length;
634 BasicType* _saved_sig;
635 int _total_args_passed;
636 #endif 634 #endif
637 635
638 void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) { 636 void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
639 _fingerprint = fingerprint; 637 _fingerprint = fingerprint;
640 _i2c_entry = i2c_entry; 638 _i2c_entry = i2c_entry;
641 _c2i_entry = c2i_entry; 639 _c2i_entry = c2i_entry;
642 _c2i_unverified_entry = c2i_unverified_entry; 640 _c2i_unverified_entry = c2i_unverified_entry;
643 #ifdef ASSERT 641 #ifdef ASSERT
644 _saved_code = NULL; 642 _saved_code = NULL;
645 _code_length = 0; 643 _saved_code_length = 0;
646 _saved_sig = NULL;
647 _total_args_passed = 0;
648 #endif 644 #endif
649 } 645 }
650 646
651 void deallocate(); 647 void deallocate();
652 648
655 651
656 public: 652 public:
657 address get_i2c_entry() const { return _i2c_entry; } 653 address get_i2c_entry() const { return _i2c_entry; }
658 address get_c2i_entry() const { return _c2i_entry; } 654 address get_c2i_entry() const { return _c2i_entry; }
659 address get_c2i_unverified_entry() const { return _c2i_unverified_entry; } 655 address get_c2i_unverified_entry() const { return _c2i_unverified_entry; }
660
661 address base_address(); 656 address base_address();
662 void relocate(address new_base); 657 void relocate(address new_base);
663 658
664 AdapterFingerPrint* fingerprint() const { return _fingerprint; } 659 AdapterFingerPrint* fingerprint() const { return _fingerprint; }
665 660
667 return (AdapterHandlerEntry*)BasicHashtableEntry<mtCode>::next(); 662 return (AdapterHandlerEntry*)BasicHashtableEntry<mtCode>::next();
668 } 663 }
669 664
670 #ifdef ASSERT 665 #ifdef ASSERT
671 // Used to verify that code generated for shared adapters is equivalent 666 // Used to verify that code generated for shared adapters is equivalent
672 void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt); 667 void save_code (unsigned char* code, int length);
673 bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt); 668 bool compare_code(unsigned char* code, int length);
674 #endif 669 #endif
675 670
676 //virtual void print_on(outputStream* st) const; DO NOT USE 671 //virtual void print_on(outputStream* st) const; DO NOT USE
677 void print_adapter_on(outputStream* st) const; 672 void print_adapter_on(outputStream* st) const;
678 }; 673 };
687 682
688 public: 683 public:
689 684
690 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint, 685 static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
691 address i2c_entry, address c2i_entry, address c2i_unverified_entry); 686 address i2c_entry, address c2i_entry, address c2i_unverified_entry);
692 static nmethod* create_native_wrapper(methodHandle method, int compile_id); 687 static void create_native_wrapper(methodHandle method);
693 static AdapterHandlerEntry* get_adapter(methodHandle method); 688 static AdapterHandlerEntry* get_adapter(methodHandle method);
694 689
695 #ifdef HAVE_DTRACE_H 690 #ifdef HAVE_DTRACE_H
696 static nmethod* create_dtrace_nmethod (methodHandle method); 691 static nmethod* create_dtrace_nmethod (methodHandle method);
697 #endif // HAVE_DTRACE_H 692 #endif // HAVE_DTRACE_H