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/code-stub-assembler.h

Issue 2552883012: [interpreter][stubs] Fixing issues found by machine graph verifier. (Closed)
Patch Set: Addressing nits Created 4 years 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/builtins/builtins-regexp.cc ('k') | src/code-stub-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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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_CODE_STUB_ASSEMBLER_H_ 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_
6 #define V8_CODE_STUB_ASSEMBLER_H_ 6 #define V8_CODE_STUB_ASSEMBLER_H_
7 7
8 #include <functional> 8 #include <functional>
9 9
10 #include "src/compiler/code-assembler.h" 10 #include "src/compiler/code-assembler.h"
11 #include "src/globals.h" 11 #include "src/globals.h"
12 #include "src/objects.h" 12 #include "src/objects.h"
13 13
14 namespace v8 { 14 namespace v8 {
15 namespace internal { 15 namespace internal {
16 16
17 class CallInterfaceDescriptor; 17 class CallInterfaceDescriptor;
18 class CodeStubArguments; 18 class CodeStubArguments;
19 class StatsCounter; 19 class StatsCounter;
20 class StubCache; 20 class StubCache;
21 21
22 enum class PrimitiveType { kBoolean, kNumber, kString, kSymbol }; 22 enum class PrimitiveType { kBoolean, kNumber, kString, kSymbol };
23 23
24 #define HEAP_CONSTANT_LIST(V) \ 24 #define HEAP_CONSTANT_LIST(V) \
25 V(AccessorInfoMap, AccessorInfoMap) \ 25 V(AccessorInfoMap, AccessorInfoMap) \
26 V(AllocationSiteMap, AllocationSiteMap) \
26 V(BooleanMap, BooleanMap) \ 27 V(BooleanMap, BooleanMap) \
27 V(CodeMap, CodeMap) \ 28 V(CodeMap, CodeMap) \
28 V(empty_string, EmptyString) \ 29 V(empty_string, EmptyString) \
29 V(EmptyFixedArray, EmptyFixedArray) \ 30 V(EmptyFixedArray, EmptyFixedArray) \
30 V(FalseValue, False) \ 31 V(FalseValue, False) \
31 V(FixedArrayMap, FixedArrayMap) \ 32 V(FixedArrayMap, FixedArrayMap) \
32 V(FixedCOWArrayMap, FixedCOWArrayMap) \ 33 V(FixedCOWArrayMap, FixedCOWArrayMap) \
33 V(FixedDoubleArrayMap, FixedDoubleArrayMap) \ 34 V(FixedDoubleArrayMap, FixedDoubleArrayMap) \
34 V(FunctionTemplateInfoMap, FunctionTemplateInfoMap) \ 35 V(FunctionTemplateInfoMap, FunctionTemplateInfoMap) \
35 V(HeapNumberMap, HeapNumberMap) \ 36 V(HeapNumberMap, HeapNumberMap) \
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 Node* SelectBooleanConstant(Node* condition); 205 Node* SelectBooleanConstant(Node* condition);
205 Node* SelectTaggedConstant(Node* condition, Node* true_value, 206 Node* SelectTaggedConstant(Node* condition, Node* true_value,
206 Node* false_value); 207 Node* false_value);
207 208
208 Node* TruncateWordToWord32(Node* value); 209 Node* TruncateWordToWord32(Node* value);
209 210
210 // Check a value for smi-ness 211 // Check a value for smi-ness
211 Node* TaggedIsSmi(Node* a); 212 Node* TaggedIsSmi(Node* a);
212 Node* TaggedIsNotSmi(Node* a); 213 Node* TaggedIsNotSmi(Node* a);
213 // Check that the value is a non-negative smi. 214 // Check that the value is a non-negative smi.
214 Node* WordIsPositiveSmi(Node* a); 215 Node* TaggedIsPositiveSmi(Node* a);
215 // Check that a word has a word-aligned address. 216 // Check that a word has a word-aligned address.
216 Node* WordIsWordAligned(Node* word); 217 Node* WordIsWordAligned(Node* word);
217 Node* WordIsPowerOfTwo(Node* value); 218 Node* WordIsPowerOfTwo(Node* value);
218 219
219 void BranchIfSmiEqual(Node* a, Node* b, Label* if_true, Label* if_false) { 220 void BranchIfSmiEqual(Node* a, Node* b, Label* if_true, Label* if_false) {
220 Branch(SmiEqual(a, b), if_true, if_false); 221 Branch(SmiEqual(a, b), if_true, if_false);
221 } 222 }
222 223
223 void BranchIfSmiLessThan(Node* a, Node* b, Label* if_true, Label* if_false) { 224 void BranchIfSmiLessThan(Node* a, Node* b, Label* if_true, Label* if_false) {
224 Branch(SmiLessThan(a, b), if_true, if_false); 225 Branch(SmiLessThan(a, b), if_true, if_false);
(...skipping 929 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 } 1155 }
1155 #else 1156 #else
1156 #define CSA_SLOW_ASSERT(csa, x) ((void)0) 1157 #define CSA_SLOW_ASSERT(csa, x) ((void)0)
1157 #endif 1158 #endif
1158 1159
1159 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); 1160 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags);
1160 1161
1161 } // namespace internal 1162 } // namespace internal
1162 } // namespace v8 1163 } // namespace v8
1163 #endif // V8_CODE_STUB_ASSEMBLER_H_ 1164 #endif // V8_CODE_STUB_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/builtins/builtins-regexp.cc ('k') | src/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698