Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/assembler.h

Issue 1248303002: Unify runtime-style IC functions with Runtime intrinsics (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Make mips work Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm64/macro-assembler-arm64.cc ('k') | src/assembler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 787 matching lines...) Expand 10 before | Expand all | Expand 10 after
798 int last_id_; 798 int last_id_;
799 int last_position_; 799 int last_position_;
800 DISALLOW_COPY_AND_ASSIGN(RelocIterator); 800 DISALLOW_COPY_AND_ASSIGN(RelocIterator);
801 }; 801 };
802 802
803 803
804 //------------------------------------------------------------------------------ 804 //------------------------------------------------------------------------------
805 // External function 805 // External function
806 806
807 //---------------------------------------------------------------------------- 807 //----------------------------------------------------------------------------
808 class IC_Utility;
809 class SCTableReference; 808 class SCTableReference;
810 class Debug_Address; 809 class Debug_Address;
811 810
812 811
813 // An ExternalReference represents a C++ address used in the generated 812 // An ExternalReference represents a C++ address used in the generated
814 // code. All references to C++ functions and variables must be encapsulated in 813 // code. All references to C++ functions and variables must be encapsulated in
815 // an ExternalReference instance. This is done in order to track the origin of 814 // an ExternalReference instance. This is done in order to track the origin of
816 // all external references in the code so that they can be bound to the correct 815 // all external references in the code so that they can be bound to the correct
817 // addresses when deserializing a heap. 816 // addresses when deserializing a heap.
818 class ExternalReference BASE_EMBEDDED { 817 class ExternalReference BASE_EMBEDDED {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
868 ExternalReference(Builtins::CFunctionId id, Isolate* isolate); 867 ExternalReference(Builtins::CFunctionId id, Isolate* isolate);
869 868
870 ExternalReference(ApiFunction* ptr, Type type, Isolate* isolate); 869 ExternalReference(ApiFunction* ptr, Type type, Isolate* isolate);
871 870
872 ExternalReference(Builtins::Name name, Isolate* isolate); 871 ExternalReference(Builtins::Name name, Isolate* isolate);
873 872
874 ExternalReference(Runtime::FunctionId id, Isolate* isolate); 873 ExternalReference(Runtime::FunctionId id, Isolate* isolate);
875 874
876 ExternalReference(const Runtime::Function* f, Isolate* isolate); 875 ExternalReference(const Runtime::Function* f, Isolate* isolate);
877 876
878 ExternalReference(const IC_Utility& ic_utility, Isolate* isolate);
879
880 explicit ExternalReference(StatsCounter* counter); 877 explicit ExternalReference(StatsCounter* counter);
881 878
882 ExternalReference(Isolate::AddressId id, Isolate* isolate); 879 ExternalReference(Isolate::AddressId id, Isolate* isolate);
883 880
884 explicit ExternalReference(const SCTableReference& table_ref); 881 explicit ExternalReference(const SCTableReference& table_ref);
885 882
886 // Isolate as an external reference. 883 // Isolate as an external reference.
887 static ExternalReference isolate_address(Isolate* isolate); 884 static ExternalReference isolate_address(Isolate* isolate);
888 885
889 // One-of-a-kind references. These references are not part of a general 886 // One-of-a-kind references. These references are not part of a general
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 static ExternalReference debug_after_break_target_address(Isolate* isolate); 981 static ExternalReference debug_after_break_target_address(Isolate* isolate);
985 static ExternalReference debug_restarter_frame_function_pointer_address( 982 static ExternalReference debug_restarter_frame_function_pointer_address(
986 Isolate* isolate); 983 Isolate* isolate);
987 984
988 static ExternalReference is_profiling_address(Isolate* isolate); 985 static ExternalReference is_profiling_address(Isolate* isolate);
989 static ExternalReference invoke_function_callback(Isolate* isolate); 986 static ExternalReference invoke_function_callback(Isolate* isolate);
990 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate); 987 static ExternalReference invoke_accessor_getter_callback(Isolate* isolate);
991 988
992 Address address() const { return reinterpret_cast<Address>(address_); } 989 Address address() const { return reinterpret_cast<Address>(address_); }
993 990
994 // Function Debug::Break()
995 static ExternalReference debug_break(Isolate* isolate);
996
997 // Used to check if single stepping is enabled in generated code. 991 // Used to check if single stepping is enabled in generated code.
998 static ExternalReference debug_step_in_fp_address(Isolate* isolate); 992 static ExternalReference debug_step_in_fp_address(Isolate* isolate);
999 993
1000 #ifndef V8_INTERPRETED_REGEXP 994 #ifndef V8_INTERPRETED_REGEXP
1001 // C functions called from RegExp generated code. 995 // C functions called from RegExp generated code.
1002 996
1003 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16() 997 // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16()
1004 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate); 998 static ExternalReference re_case_insensitive_compare_uc16(Isolate* isolate);
1005 999
1006 // Function RegExpMacroAssembler*::CheckStackGuardState() 1000 // Function RegExpMacroAssembler*::CheckStackGuardState()
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 }; 1265 };
1272 1266
1273 Label emitted_label_; // Records pc_offset of emitted pool 1267 Label emitted_label_; // Records pc_offset of emitted pool
1274 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; 1268 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES];
1275 }; 1269 };
1276 1270
1277 1271
1278 } } // namespace v8::internal 1272 } } // namespace v8::internal
1279 1273
1280 #endif // V8_ASSEMBLER_H_ 1274 #endif // V8_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.cc ('k') | src/assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698