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 |