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

Side by Side Diff: src/compiler/opcodes.h

Issue 981243002: [turbofan] Introduce JSStackCheck operator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Addressed comments. Created 5 years, 9 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/compiler/js-operator.cc ('k') | src/compiler/operator-properties.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_COMPILER_OPCODES_H_ 5 #ifndef V8_COMPILER_OPCODES_H_
6 #define V8_COMPILER_OPCODES_H_ 6 #define V8_COMPILER_OPCODES_H_
7 7
8 // Opcodes for control operators. 8 // Opcodes for control operators.
9 #define INNER_CONTROL_OP_LIST(V) \ 9 #define INNER_CONTROL_OP_LIST(V) \
10 V(Dead) \ 10 V(Dead) \
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 V(JSCreateWithContext) \ 124 V(JSCreateWithContext) \
125 V(JSCreateBlockContext) \ 125 V(JSCreateBlockContext) \
126 V(JSCreateModuleContext) \ 126 V(JSCreateModuleContext) \
127 V(JSCreateScriptContext) 127 V(JSCreateScriptContext)
128 128
129 #define JS_OTHER_OP_LIST(V) \ 129 #define JS_OTHER_OP_LIST(V) \
130 V(JSCallConstruct) \ 130 V(JSCallConstruct) \
131 V(JSCallFunction) \ 131 V(JSCallFunction) \
132 V(JSCallRuntime) \ 132 V(JSCallRuntime) \
133 V(JSYield) \ 133 V(JSYield) \
134 V(JSDebugger) 134 V(JSDebugger) \
135 V(JSStackCheck)
135 136
136 #define JS_OP_LIST(V) \ 137 #define JS_OP_LIST(V) \
137 JS_SIMPLE_BINOP_LIST(V) \ 138 JS_SIMPLE_BINOP_LIST(V) \
138 JS_SIMPLE_UNOP_LIST(V) \ 139 JS_SIMPLE_UNOP_LIST(V) \
139 JS_OBJECT_OP_LIST(V) \ 140 JS_OBJECT_OP_LIST(V) \
140 JS_CONTEXT_OP_LIST(V) \ 141 JS_CONTEXT_OP_LIST(V) \
141 JS_OTHER_OP_LIST(V) 142 JS_OTHER_OP_LIST(V)
142 143
143 // Opcodes for VirtuaMachine-level operators. 144 // Opcodes for VirtuaMachine-level operators.
144 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \ 145 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 return kDead <= value && value <= kAlways; 298 return kDead <= value && value <= kAlways;
298 } 299 }
299 300
300 // Returns true if opcode for control operator. 301 // Returns true if opcode for control operator.
301 static bool IsControlOpcode(Value value) { 302 static bool IsControlOpcode(Value value) {
302 return kDead <= value && value <= kEnd; 303 return kDead <= value && value <= kEnd;
303 } 304 }
304 305
305 // Returns true if opcode for JavaScript operator. 306 // Returns true if opcode for JavaScript operator.
306 static bool IsJsOpcode(Value value) { 307 static bool IsJsOpcode(Value value) {
307 return kJSEqual <= value && value <= kJSDebugger; 308 return kJSEqual <= value && value <= kJSStackCheck;
308 } 309 }
309 310
310 // Returns true if opcode for constant operator. 311 // Returns true if opcode for constant operator.
311 static bool IsConstantOpcode(Value value) { 312 static bool IsConstantOpcode(Value value) {
312 return kInt32Constant <= value && value <= kHeapConstant; 313 return kInt32Constant <= value && value <= kHeapConstant;
313 } 314 }
314 315
315 static bool IsPhiOpcode(Value value) { 316 static bool IsPhiOpcode(Value value) {
316 return value == kPhi || value == kEffectPhi; 317 return value == kPhi || value == kEffectPhi;
317 } 318 }
318 319
319 static bool IsMergeOpcode(Value value) { 320 static bool IsMergeOpcode(Value value) {
320 return value == kMerge || value == kLoop; 321 return value == kMerge || value == kLoop;
321 } 322 }
322 323
323 // Returns true if opcode for comparison operator. 324 // Returns true if opcode for comparison operator.
324 static bool IsComparisonOpcode(Value value) { 325 static bool IsComparisonOpcode(Value value) {
325 return (kJSEqual <= value && value <= kJSGreaterThanOrEqual) || 326 return (kJSEqual <= value && value <= kJSGreaterThanOrEqual) ||
326 (kNumberEqual <= value && value <= kStringLessThanOrEqual) || 327 (kNumberEqual <= value && value <= kStringLessThanOrEqual) ||
327 (kWord32Equal <= value && value <= kFloat64LessThanOrEqual); 328 (kWord32Equal <= value && value <= kFloat64LessThanOrEqual);
328 } 329 }
329 }; 330 };
330 331
331 } // namespace compiler 332 } // namespace compiler
332 } // namespace internal 333 } // namespace internal
333 } // namespace v8 334 } // namespace v8
334 335
335 #endif // V8_COMPILER_OPCODES_H_ 336 #endif // V8_COMPILER_OPCODES_H_
OLDNEW
« no previous file with comments | « src/compiler/js-operator.cc ('k') | src/compiler/operator-properties.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698