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

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

Issue 1989363004: [turbofan] Add FixedArray peephole optimizations to CodeStubAssembler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Final review feedback Created 4 years, 7 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/code-stubs.cc ('k') | src/compiler/code-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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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_CODE_ASSEMBLER_H_ 5 #ifndef V8_COMPILER_CODE_ASSEMBLER_H_
6 #define V8_COMPILER_CODE_ASSEMBLER_H_ 6 #define V8_COMPILER_CODE_ASSEMBLER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 // Clients of this interface shouldn't depend on lots of compiler internals. 10 // Clients of this interface shouldn't depend on lots of compiler internals.
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 kPretenured = 1 << 1 183 kPretenured = 1 << 1
184 }; 184 };
185 185
186 typedef base::Flags<AllocationFlag> AllocationFlags; 186 typedef base::Flags<AllocationFlag> AllocationFlags;
187 187
188 // =========================================================================== 188 // ===========================================================================
189 // Base Assembler 189 // Base Assembler
190 // =========================================================================== 190 // ===========================================================================
191 191
192 // Constants. 192 // Constants.
193 Node* Int32Constant(int value); 193 Node* Int32Constant(int32_t value);
194 Node* Int64Constant(int64_t value);
194 Node* IntPtrConstant(intptr_t value); 195 Node* IntPtrConstant(intptr_t value);
195 Node* NumberConstant(double value); 196 Node* NumberConstant(double value);
196 Node* SmiConstant(Smi* value); 197 Node* SmiConstant(Smi* value);
197 Node* HeapConstant(Handle<HeapObject> object); 198 Node* HeapConstant(Handle<HeapObject> object);
198 Node* BooleanConstant(bool value); 199 Node* BooleanConstant(bool value);
199 Node* ExternalConstant(ExternalReference address); 200 Node* ExternalConstant(ExternalReference address);
200 Node* Float64Constant(double value); 201 Node* Float64Constant(double value);
201 Node* NaNConstant(); 202 Node* NaNConstant();
202 203
204 bool ToInt32Constant(Node* node, int32_t& out_value);
205 bool ToInt64Constant(Node* node, int64_t& out_value);
206 bool ToIntPtrConstant(Node* node, intptr_t& out_value);
207
203 Node* Parameter(int value); 208 Node* Parameter(int value);
204 void Return(Node* value); 209 void Return(Node* value);
205 210
206 void DebugBreak(); 211 void DebugBreak();
207 212
208 void Bind(Label* label); 213 void Bind(Label* label);
209 void Goto(Label* label); 214 void Goto(Label* label);
210 void GotoIf(Node* condition, Label* true_label); 215 void GotoIf(Node* condition, Label* true_label);
211 void GotoUnless(Node* condition, Label* false_label); 216 void GotoUnless(Node* condition, Label* false_label);
212 void Branch(Node* condition, Label* true_label, Label* false_label); 217 void Branch(Node* condition, Label* true_label, Label* false_label);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
396 // Map of variables to the list of value nodes that have been added from each 401 // Map of variables to the list of value nodes that have been added from each
397 // merge path in their order of merging. 402 // merge path in their order of merging.
398 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; 403 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_;
399 }; 404 };
400 405
401 } // namespace compiler 406 } // namespace compiler
402 } // namespace internal 407 } // namespace internal
403 } // namespace v8 408 } // namespace v8
404 409
405 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ 410 #endif // V8_COMPILER_CODE_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/code-stubs.cc ('k') | src/compiler/code-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698