| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 651 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 DISALLOW_COPY_AND_ASSIGN(RelocIterator); | 662 DISALLOW_COPY_AND_ASSIGN(RelocIterator); |
| 663 }; | 663 }; |
| 664 | 664 |
| 665 | 665 |
| 666 //------------------------------------------------------------------------------ | 666 //------------------------------------------------------------------------------ |
| 667 // External function | 667 // External function |
| 668 | 668 |
| 669 //---------------------------------------------------------------------------- | 669 //---------------------------------------------------------------------------- |
| 670 class IC_Utility; | 670 class IC_Utility; |
| 671 class SCTableReference; | 671 class SCTableReference; |
| 672 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 673 class Debug_Address; | 672 class Debug_Address; |
| 674 #endif | |
| 675 | 673 |
| 676 | 674 |
| 677 // An ExternalReference represents a C++ address used in the generated | 675 // An ExternalReference represents a C++ address used in the generated |
| 678 // code. All references to C++ functions and variables must be encapsulated in | 676 // code. All references to C++ functions and variables must be encapsulated in |
| 679 // an ExternalReference instance. This is done in order to track the origin of | 677 // an ExternalReference instance. This is done in order to track the origin of |
| 680 // all external references in the code so that they can be bound to the correct | 678 // all external references in the code so that they can be bound to the correct |
| 681 // addresses when deserializing a heap. | 679 // addresses when deserializing a heap. |
| 682 class ExternalReference BASE_EMBEDDED { | 680 class ExternalReference BASE_EMBEDDED { |
| 683 public: | 681 public: |
| 684 // Used in the simulator to support different native api calls. | 682 // Used in the simulator to support different native api calls. |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 734 ExternalReference(ApiFunction* ptr, Type type, Isolate* isolate); | 732 ExternalReference(ApiFunction* ptr, Type type, Isolate* isolate); |
| 735 | 733 |
| 736 ExternalReference(Builtins::Name name, Isolate* isolate); | 734 ExternalReference(Builtins::Name name, Isolate* isolate); |
| 737 | 735 |
| 738 ExternalReference(Runtime::FunctionId id, Isolate* isolate); | 736 ExternalReference(Runtime::FunctionId id, Isolate* isolate); |
| 739 | 737 |
| 740 ExternalReference(const Runtime::Function* f, Isolate* isolate); | 738 ExternalReference(const Runtime::Function* f, Isolate* isolate); |
| 741 | 739 |
| 742 ExternalReference(const IC_Utility& ic_utility, Isolate* isolate); | 740 ExternalReference(const IC_Utility& ic_utility, Isolate* isolate); |
| 743 | 741 |
| 744 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 745 ExternalReference(const Debug_Address& debug_address, Isolate* isolate); | 742 ExternalReference(const Debug_Address& debug_address, Isolate* isolate); |
| 746 #endif | |
| 747 | 743 |
| 748 explicit ExternalReference(StatsCounter* counter); | 744 explicit ExternalReference(StatsCounter* counter); |
| 749 | 745 |
| 750 ExternalReference(Isolate::AddressId id, Isolate* isolate); | 746 ExternalReference(Isolate::AddressId id, Isolate* isolate); |
| 751 | 747 |
| 752 explicit ExternalReference(const SCTableReference& table_ref); | 748 explicit ExternalReference(const SCTableReference& table_ref); |
| 753 | 749 |
| 754 // Isolate as an external reference. | 750 // Isolate as an external reference. |
| 755 static ExternalReference isolate_address(Isolate* isolate); | 751 static ExternalReference isolate_address(Isolate* isolate); |
| 756 | 752 |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 859 static ExternalReference math_exp_log_table(); | 855 static ExternalReference math_exp_log_table(); |
| 860 | 856 |
| 861 static ExternalReference page_flags(Page* page); | 857 static ExternalReference page_flags(Page* page); |
| 862 | 858 |
| 863 static ExternalReference ForDeoptEntry(Address entry); | 859 static ExternalReference ForDeoptEntry(Address entry); |
| 864 | 860 |
| 865 static ExternalReference cpu_features(); | 861 static ExternalReference cpu_features(); |
| 866 | 862 |
| 867 Address address() const { return reinterpret_cast<Address>(address_); } | 863 Address address() const { return reinterpret_cast<Address>(address_); } |
| 868 | 864 |
| 869 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 870 // Function Debug::Break() | 865 // Function Debug::Break() |
| 871 static ExternalReference debug_break(Isolate* isolate); | 866 static ExternalReference debug_break(Isolate* isolate); |
| 872 | 867 |
| 873 // Used to check if single stepping is enabled in generated code. | 868 // Used to check if single stepping is enabled in generated code. |
| 874 static ExternalReference debug_step_in_fp_address(Isolate* isolate); | 869 static ExternalReference debug_step_in_fp_address(Isolate* isolate); |
| 875 #endif | |
| 876 | 870 |
| 877 #ifndef V8_INTERPRETED_REGEXP | 871 #ifndef V8_INTERPRETED_REGEXP |
| 878 // C functions called from RegExp generated code. | 872 // C functions called from RegExp generated code. |
| 879 | 873 |
| 880 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() | 874 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() |
| 881 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); | 875 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); |
| 882 | 876 |
| 883 // Function RegExpMacroAssembler*::CheckStackGuardState() | 877 // Function RegExpMacroAssembler*::CheckStackGuardState() |
| 884 static ExternalReference re_check_stack_guard_state(Isolate* isolate); | 878 static ExternalReference re_check_stack_guard_state(Isolate* isolate); |
| 885 | 879 |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 | 1090 |
| 1097 private: | 1091 private: |
| 1098 int32_t multiplier_; | 1092 int32_t multiplier_; |
| 1099 int32_t shift_; | 1093 int32_t shift_; |
| 1100 }; | 1094 }; |
| 1101 | 1095 |
| 1102 | 1096 |
| 1103 } } // namespace v8::internal | 1097 } } // namespace v8::internal |
| 1104 | 1098 |
| 1105 #endif // V8_ASSEMBLER_H_ | 1099 #endif // V8_ASSEMBLER_H_ |
| OLD | NEW |