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

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

Issue 1456423003: [runtime] Introduce a proper %NewArray runtime entry. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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/mips64/code-stubs-mips64.cc ('k') | src/runtime/runtime-array.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 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 12 matching lines...) Expand all
23 // * IDs are Runtime::k##name and Runtime::kInline##name, respectively. 23 // * IDs are Runtime::k##name and Runtime::kInline##name, respectively.
24 // 24 //
25 // * All intrinsics have a C++ implementation Runtime_##name. 25 // * All intrinsics have a C++ implementation Runtime_##name.
26 // 26 //
27 // * Each compiler has an explicit list of intrisics it supports, falling back 27 // * Each compiler has an explicit list of intrisics it supports, falling back
28 // to a simple runtime call if necessary. 28 // to a simple runtime call if necessary.
29 29
30 30
31 // Entries have the form F(name, number of arguments, number of values): 31 // Entries have the form F(name, number of arguments, number of values):
32 32
33 #define FOR_EACH_INTRINSIC_ARRAY(F) \ 33 #define FOR_EACH_INTRINSIC_ARRAY(F) \
34 F(FinishArrayPrototypeSetup, 1, 1) \ 34 F(FinishArrayPrototypeSetup, 1, 1) \
35 F(SpecialArrayFunctions, 0, 1) \ 35 F(SpecialArrayFunctions, 0, 1) \
36 F(TransitionElementsKind, 2, 1) \ 36 F(TransitionElementsKind, 2, 1) \
37 F(PushIfAbsent, 2, 1) \ 37 F(PushIfAbsent, 2, 1) \
38 F(RemoveArrayHoles, 2, 1) \ 38 F(RemoveArrayHoles, 2, 1) \
39 F(MoveArrayContents, 2, 1) \ 39 F(MoveArrayContents, 2, 1) \
40 F(EstimateNumberOfElements, 1, 1) \ 40 F(EstimateNumberOfElements, 1, 1) \
41 F(GetArrayKeys, 2, 1) \ 41 F(GetArrayKeys, 2, 1) \
42 F(ArrayConstructor, -1, 1) \ 42 F(ArrayConstructor, -1, 1) \
43 F(ArrayConstructorWithSubclassing, -1, 1) \ 43 F(NewArray, -1 /* >= 3 */, 1) \
44 F(InternalArrayConstructor, -1, 1) \ 44 F(InternalArrayConstructor, -1, 1) \
45 F(NormalizeElements, 1, 1) \ 45 F(NormalizeElements, 1, 1) \
46 F(GrowArrayElements, 2, 1) \ 46 F(GrowArrayElements, 2, 1) \
47 F(HasComplexElements, 1, 1) \ 47 F(HasComplexElements, 1, 1) \
48 F(IsArray, 1, 1) \ 48 F(IsArray, 1, 1) \
49 F(HasCachedArrayIndex, 1, 1) \ 49 F(HasCachedArrayIndex, 1, 1) \
50 F(GetCachedArrayIndex, 1, 1) \ 50 F(GetCachedArrayIndex, 1, 1) \
51 F(FixedArrayGet, 2, 1) \ 51 F(FixedArrayGet, 2, 1) \
52 F(FixedArraySet, 3, 1) \ 52 F(FixedArraySet, 3, 1) \
53 F(FastOneByteArrayJoin, 2, 1) 53 F(FastOneByteArrayJoin, 2, 1)
54 54
55 55
56 #define FOR_EACH_INTRINSIC_ATOMICS(F) \ 56 #define FOR_EACH_INTRINSIC_ATOMICS(F) \
57 F(AtomicsCompareExchange, 4, 1) \ 57 F(AtomicsCompareExchange, 4, 1) \
58 F(AtomicsLoad, 2, 1) \ 58 F(AtomicsLoad, 2, 1) \
59 F(AtomicsStore, 3, 1) \ 59 F(AtomicsStore, 3, 1) \
60 F(AtomicsAdd, 3, 1) \ 60 F(AtomicsAdd, 3, 1) \
61 F(AtomicsSub, 3, 1) \ 61 F(AtomicsSub, 3, 1) \
62 F(AtomicsAnd, 3, 1) \ 62 F(AtomicsAnd, 3, 1) \
(...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after
1261 1261
1262 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; 1262 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {};
1263 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; 1263 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {};
1264 STATIC_ASSERT(LANGUAGE_END == 3); 1264 STATIC_ASSERT(LANGUAGE_END == 3);
1265 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; 1265 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {};
1266 1266
1267 } // namespace internal 1267 } // namespace internal
1268 } // namespace v8 1268 } // namespace v8
1269 1269
1270 #endif // V8_RUNTIME_RUNTIME_H_ 1270 #endif // V8_RUNTIME_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/runtime/runtime-array.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698