Chromium Code Reviews

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: Fix test Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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...)
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 Bind(Label* label); 211 void Bind(Label* label);
207 void Goto(Label* label); 212 void Goto(Label* label);
208 void GotoIf(Node* condition, Label* true_label); 213 void GotoIf(Node* condition, Label* true_label);
209 void GotoUnless(Node* condition, Label* false_label); 214 void GotoUnless(Node* condition, Label* false_label);
210 void Branch(Node* condition, Label* true_label, Label* false_label); 215 void Branch(Node* condition, Label* true_label, Label* false_label);
211 216
212 void Switch(Node* index, Label* default_label, int32_t* case_values, 217 void Switch(Node* index, Label* default_label, int32_t* case_values,
(...skipping 181 matching lines...)
394 // Map of variables to the list of value nodes that have been added from each 399 // Map of variables to the list of value nodes that have been added from each
395 // merge path in their order of merging. 400 // merge path in their order of merging.
396 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; 401 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_;
397 }; 402 };
398 403
399 } // namespace compiler 404 } // namespace compiler
400 } // namespace internal 405 } // namespace internal
401 } // namespace v8 406 } // namespace v8
402 407
403 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ 408 #endif // V8_COMPILER_CODE_ASSEMBLER_H_
OLDNEW

Powered by Google App Engine