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

Side by Side Diff: src/code-stub-assembler.h

Issue 2138633002: [turbofan] Introduce CheckedInt32Div and CheckedInt32Mod operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Comments Created 4 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 | « no previous file | 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"
(...skipping 26 matching lines...) Expand all
37 // Create with JSCall linkage. 37 // Create with JSCall linkage.
38 CodeStubAssembler(Isolate* isolate, Zone* zone, int parameter_count, 38 CodeStubAssembler(Isolate* isolate, Zone* zone, int parameter_count,
39 Code::Flags flags, const char* name); 39 Code::Flags flags, const char* name);
40 40
41 enum ParameterMode { INTEGER_PARAMETERS, SMI_PARAMETERS }; 41 enum ParameterMode { INTEGER_PARAMETERS, SMI_PARAMETERS };
42 42
43 compiler::Node* BooleanMapConstant(); 43 compiler::Node* BooleanMapConstant();
44 compiler::Node* EmptyStringConstant(); 44 compiler::Node* EmptyStringConstant();
45 compiler::Node* HeapNumberMapConstant(); 45 compiler::Node* HeapNumberMapConstant();
46 compiler::Node* NoContextConstant(); 46 compiler::Node* NoContextConstant();
47 compiler::Node* MinusZeroConstant();
48 compiler::Node* NanConstant();
47 compiler::Node* NullConstant(); 49 compiler::Node* NullConstant();
48 compiler::Node* UndefinedConstant(); 50 compiler::Node* UndefinedConstant();
49 compiler::Node* TheHoleConstant(); 51 compiler::Node* TheHoleConstant();
50 compiler::Node* HashSeed(); 52 compiler::Node* HashSeed();
51 compiler::Node* StaleRegisterConstant(); 53 compiler::Node* StaleRegisterConstant();
52 54
53 // Float64 operations. 55 // Float64 operations.
54 compiler::Node* Float64Ceil(compiler::Node* x); 56 compiler::Node* Float64Ceil(compiler::Node* x);
55 compiler::Node* Float64Floor(compiler::Node* x); 57 compiler::Node* Float64Floor(compiler::Node* x);
56 compiler::Node* Float64Round(compiler::Node* x); 58 compiler::Node* Float64Round(compiler::Node* x);
(...skipping 14 matching lines...) Expand all
71 // Smi operations. 73 // Smi operations.
72 compiler::Node* SmiAdd(compiler::Node* a, compiler::Node* b); 74 compiler::Node* SmiAdd(compiler::Node* a, compiler::Node* b);
73 compiler::Node* SmiAddWithOverflow(compiler::Node* a, compiler::Node* b); 75 compiler::Node* SmiAddWithOverflow(compiler::Node* a, compiler::Node* b);
74 compiler::Node* SmiSub(compiler::Node* a, compiler::Node* b); 76 compiler::Node* SmiSub(compiler::Node* a, compiler::Node* b);
75 compiler::Node* SmiSubWithOverflow(compiler::Node* a, compiler::Node* b); 77 compiler::Node* SmiSubWithOverflow(compiler::Node* a, compiler::Node* b);
76 compiler::Node* SmiEqual(compiler::Node* a, compiler::Node* b); 78 compiler::Node* SmiEqual(compiler::Node* a, compiler::Node* b);
77 compiler::Node* SmiAboveOrEqual(compiler::Node* a, compiler::Node* b); 79 compiler::Node* SmiAboveOrEqual(compiler::Node* a, compiler::Node* b);
78 compiler::Node* SmiLessThan(compiler::Node* a, compiler::Node* b); 80 compiler::Node* SmiLessThan(compiler::Node* a, compiler::Node* b);
79 compiler::Node* SmiLessThanOrEqual(compiler::Node* a, compiler::Node* b); 81 compiler::Node* SmiLessThanOrEqual(compiler::Node* a, compiler::Node* b);
80 compiler::Node* SmiMin(compiler::Node* a, compiler::Node* b); 82 compiler::Node* SmiMin(compiler::Node* a, compiler::Node* b);
83 // Computes a % b for Smi inputs a and b; result is not necessarily a Smi.
84 compiler::Node* SmiMod(compiler::Node* a, compiler::Node* b);
81 85
82 // Allocate an object of the given size. 86 // Allocate an object of the given size.
83 compiler::Node* Allocate(compiler::Node* size, AllocationFlags flags = kNone); 87 compiler::Node* Allocate(compiler::Node* size, AllocationFlags flags = kNone);
84 compiler::Node* Allocate(int size, AllocationFlags flags = kNone); 88 compiler::Node* Allocate(int size, AllocationFlags flags = kNone);
85 compiler::Node* InnerAllocate(compiler::Node* previous, int offset); 89 compiler::Node* InnerAllocate(compiler::Node* previous, int offset);
86 compiler::Node* InnerAllocate(compiler::Node* previous, 90 compiler::Node* InnerAllocate(compiler::Node* previous,
87 compiler::Node* offset); 91 compiler::Node* offset);
88 92
89 void Assert(compiler::Node* condition); 93 void Assert(compiler::Node* condition);
90 94
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 AllocationFlags flags, 474 AllocationFlags flags,
471 compiler::Node* top_adddress, 475 compiler::Node* top_adddress,
472 compiler::Node* limit_address); 476 compiler::Node* limit_address);
473 477
474 static const int kElementLoopUnrollThreshold = 8; 478 static const int kElementLoopUnrollThreshold = 8;
475 }; 479 };
476 480
477 } // namespace internal 481 } // namespace internal
478 } // namespace v8 482 } // namespace v8
479 #endif // V8_CODE_STUB_ASSEMBLER_H_ 483 #endif // V8_CODE_STUB_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « no previous file | src/code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698