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

Side by Side Diff: src/runtime/runtime.h

Issue 1292283005: Prototype CL for faster DOM accessors. Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: #ifdef + feedback Created 5 years, 2 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_RUNTIME_RUNTIME_H_ 5 #ifndef V8_RUNTIME_RUNTIME_H_
6 #define V8_RUNTIME_RUNTIME_H_ 6 #define V8_RUNTIME_RUNTIME_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/objects.h" 9 #include "src/objects.h"
10 #include "src/unicode.h" 10 #include "src/unicode.h"
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 1020
1021 #define FOR_EACH_INTRINSIC_URI(F) \ 1021 #define FOR_EACH_INTRINSIC_URI(F) \
1022 F(URIEscape, 1, 1) \ 1022 F(URIEscape, 1, 1) \
1023 F(URIUnescape, 1, 1) 1023 F(URIUnescape, 1, 1)
1024 1024
1025 1025
1026 #define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \ 1026 #define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \
1027 F(LoadLookupSlot, 2, 2) \ 1027 F(LoadLookupSlot, 2, 2) \
1028 F(LoadLookupSlotNoReferenceError, 2, 2) 1028 F(LoadLookupSlotNoReferenceError, 2, 2)
1029 1029
1030 #ifdef V8_JS_ACCESSORS
1031 #define FOR_EACH_INTRINSIC_DIRECT_PTR_ACCESS(F) \
1032 F(PtrGetFromInternalField, 2, 1) \
1033 F(PtrLoadOffset, 2, 1) \
1034 F(PtrLoadOffsetInt, 2, 1) \
1035 F(PtrLoadOffsetObj, 1, 1) \
1036 F(PtrIsNull, 1, 1)
1037 #else
1038 #define FOR_EACH_INTRINSIC_DIRECT_PTR_ACCESS(F)
1039 #endif // V8_JS_ACCESSORS
1040
1030 1041
1031 // Most intrinsics are implemented in the runtime/ directory, but ICs are 1042 // Most intrinsics are implemented in the runtime/ directory, but ICs are
1032 // implemented in ic.cc for now. 1043 // implemented in ic.cc for now.
1033 #define FOR_EACH_INTRINSIC_IC(F) \ 1044 #define FOR_EACH_INTRINSIC_IC(F) \
1034 F(LoadIC_Miss, 3, 1) \ 1045 F(LoadIC_Miss, 3, 1) \
1035 F(KeyedLoadIC_Miss, 3, 1) \ 1046 F(KeyedLoadIC_Miss, 3, 1) \
1036 F(CallIC_Miss, 3, 1) \ 1047 F(CallIC_Miss, 3, 1) \
1037 F(StoreIC_Miss, 3, 1) \ 1048 F(StoreIC_Miss, 3, 1) \
1038 F(StoreIC_Slow, 3, 1) \ 1049 F(StoreIC_Slow, 3, 1) \
1039 F(KeyedStoreIC_Miss, 3, 1) \ 1050 F(KeyedStoreIC_Miss, 3, 1) \
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1080 FOR_EACH_INTRINSIC_OBSERVE(F) \ 1091 FOR_EACH_INTRINSIC_OBSERVE(F) \
1081 FOR_EACH_INTRINSIC_OPERATORS(F) \ 1092 FOR_EACH_INTRINSIC_OPERATORS(F) \
1082 FOR_EACH_INTRINSIC_PROXY(F) \ 1093 FOR_EACH_INTRINSIC_PROXY(F) \
1083 FOR_EACH_INTRINSIC_REGEXP(F) \ 1094 FOR_EACH_INTRINSIC_REGEXP(F) \
1084 FOR_EACH_INTRINSIC_SCOPES(F) \ 1095 FOR_EACH_INTRINSIC_SCOPES(F) \
1085 FOR_EACH_INTRINSIC_SIMD(F) \ 1096 FOR_EACH_INTRINSIC_SIMD(F) \
1086 FOR_EACH_INTRINSIC_STRINGS(F) \ 1097 FOR_EACH_INTRINSIC_STRINGS(F) \
1087 FOR_EACH_INTRINSIC_SYMBOL(F) \ 1098 FOR_EACH_INTRINSIC_SYMBOL(F) \
1088 FOR_EACH_INTRINSIC_TEST(F) \ 1099 FOR_EACH_INTRINSIC_TEST(F) \
1089 FOR_EACH_INTRINSIC_TYPEDARRAY(F) \ 1100 FOR_EACH_INTRINSIC_TYPEDARRAY(F) \
1090 FOR_EACH_INTRINSIC_URI(F) 1101 FOR_EACH_INTRINSIC_URI(F) \
1102 FOR_EACH_INTRINSIC_DIRECT_PTR_ACCESS(F)
1091 1103
1092 // FOR_EACH_INTRINSIC defines the list of all intrinsics, coming in 2 flavors, 1104 // FOR_EACH_INTRINSIC defines the list of all intrinsics, coming in 2 flavors,
1093 // either returning an object or a pair. 1105 // either returning an object or a pair.
1094 #define FOR_EACH_INTRINSIC(F) \ 1106 #define FOR_EACH_INTRINSIC(F) \
1095 FOR_EACH_INTRINSIC_RETURN_PAIR(F) \ 1107 FOR_EACH_INTRINSIC_RETURN_PAIR(F) \
1096 FOR_EACH_INTRINSIC_RETURN_OBJECT(F) 1108 FOR_EACH_INTRINSIC_RETURN_OBJECT(F)
1097 1109
1098 1110
1099 #define F(name, nargs, ressize) \ 1111 #define F(name, nargs, ressize) \
1100 Object* Runtime_##name(int args_length, Object** args_object, \ 1112 Object* Runtime_##name(int args_length, Object** args_object, \
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
1234 1246
1235 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; 1247 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {};
1236 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; 1248 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {};
1237 STATIC_ASSERT(LANGUAGE_END == 3); 1249 STATIC_ASSERT(LANGUAGE_END == 3);
1238 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; 1250 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {};
1239 1251
1240 } // namespace internal 1252 } // namespace internal
1241 } // namespace v8 1253 } // namespace v8
1242 1254
1243 #endif // V8_RUNTIME_RUNTIME_H_ 1255 #endif // V8_RUNTIME_RUNTIME_H_
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/runtime/runtime-ptr.cc » ('j') | src/runtime/runtime-ptr.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698