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

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

Issue 2539093002: [runtime] Port simple String.prototype.indexOf cases to TF Builtin (Closed)
Patch Set: merging with master 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/code-stub-assembler.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 #include <memory> 9 #include <memory>
10 10
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 V(ChangeUint32ToFloat64) \ 155 V(ChangeUint32ToFloat64) \
156 V(ChangeUint32ToUint64) \ 156 V(ChangeUint32ToUint64) \
157 V(RoundFloat64ToInt32) \ 157 V(RoundFloat64ToInt32) \
158 V(RoundInt32ToFloat32) \ 158 V(RoundInt32ToFloat32) \
159 V(Float64SilenceNaN) \ 159 V(Float64SilenceNaN) \
160 V(Float64RoundDown) \ 160 V(Float64RoundDown) \
161 V(Float64RoundUp) \ 161 V(Float64RoundUp) \
162 V(Float64RoundTiesEven) \ 162 V(Float64RoundTiesEven) \
163 V(Float64RoundTruncate) \ 163 V(Float64RoundTruncate) \
164 V(Word32Clz) \ 164 V(Word32Clz) \
165 V(Word32Not) \
165 V(Word32BinaryNot) 166 V(Word32BinaryNot)
166 167
167 // A "public" interface used by components outside of compiler directory to 168 // A "public" interface used by components outside of compiler directory to
168 // create code objects with TurboFan's backend. This class is mostly a thin shim 169 // create code objects with TurboFan's backend. This class is mostly a thin shim
169 // around the RawMachineAssembler, and its primary job is to ensure that the 170 // around the RawMachineAssembler, and its primary job is to ensure that the
170 // innards of the RawMachineAssembler and other compiler implementation details 171 // innards of the RawMachineAssembler and other compiler implementation details
171 // don't leak outside of the the compiler directory.. 172 // don't leak outside of the the compiler directory..
172 // 173 //
173 // V8 components that need to generate low-level code using this interface 174 // V8 components that need to generate low-level code using this interface
174 // should include this header--and this header only--from the compiler directory 175 // should include this header--and this header only--from the compiler directory
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 Node* receiver, Node* arg1, Node* arg2, size_t result_size = 1); 429 Node* receiver, Node* arg1, Node* arg2, size_t result_size = 1);
429 Node* CallJS(Callable const& callable, Node* context, Node* function, 430 Node* CallJS(Callable const& callable, Node* context, Node* function,
430 Node* receiver, Node* arg1, Node* arg2, Node* arg3, 431 Node* receiver, Node* arg1, Node* arg2, Node* arg3,
431 size_t result_size = 1); 432 size_t result_size = 1);
432 433
433 // Call to a C function with two arguments. 434 // Call to a C function with two arguments.
434 Node* CallCFunction2(MachineType return_type, MachineType arg0_type, 435 Node* CallCFunction2(MachineType return_type, MachineType arg0_type,
435 MachineType arg1_type, Node* function, Node* arg0, 436 MachineType arg1_type, Node* function, Node* arg0,
436 Node* arg1); 437 Node* arg1);
437 438
439 // Call to a C function with three arguments.
440 Node* CallCFunction3(MachineType return_type, MachineType arg0_type,
441 MachineType arg1_type, MachineType arg2_type,
442 Node* function, Node* arg0, Node* arg1, Node* arg2);
443
438 // Exception handling support. 444 // Exception handling support.
439 void GotoIfException(Node* node, Label* if_exception, 445 void GotoIfException(Node* node, Label* if_exception,
440 Variable* exception_var = nullptr); 446 Variable* exception_var = nullptr);
441 447
442 // Helpers which delegate to RawMachineAssembler. 448 // Helpers which delegate to RawMachineAssembler.
443 Factory* factory() const; 449 Factory* factory() const;
444 Isolate* isolate() const; 450 Isolate* isolate() const;
445 Zone* zone() const; 451 Zone* zone() const;
446 452
447 CodeAssemblerState* state() { return state_; } 453 CodeAssemblerState* state() { return state_; }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 ZoneSet<CodeAssemblerVariable::Impl*> variables_; 565 ZoneSet<CodeAssemblerVariable::Impl*> variables_;
560 566
561 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); 567 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState);
562 }; 568 };
563 569
564 } // namespace compiler 570 } // namespace compiler
565 } // namespace internal 571 } // namespace internal
566 } // namespace v8 572 } // namespace v8
567 573
568 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ 574 #endif // V8_COMPILER_CODE_ASSEMBLER_H_
OLDNEW
« no previous file with comments | « src/code-stub-assembler.cc ('k') | src/compiler/code-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698