OLD | NEW |
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 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 // Protected helpers which delegate to RawMachineAssembler. | 355 // Protected helpers which delegate to RawMachineAssembler. |
356 Graph* graph() const; | 356 Graph* graph() const; |
357 | 357 |
358 Node* SmiShiftBitsConstant(); | 358 Node* SmiShiftBitsConstant(); |
359 | 359 |
360 // Enables subclasses to perform operations before and after a call. | 360 // Enables subclasses to perform operations before and after a call. |
361 virtual void CallPrologue(); | 361 virtual void CallPrologue(); |
362 virtual void CallEpilogue(); | 362 virtual void CallEpilogue(); |
363 | 363 |
364 private: | 364 private: |
365 friend class CodeAssemblerTester; | |
366 | |
367 CodeAssembler(Isolate* isolate, Zone* zone, CallDescriptor* call_descriptor, | 365 CodeAssembler(Isolate* isolate, Zone* zone, CallDescriptor* call_descriptor, |
368 Code::Flags flags, const char* name); | 366 Code::Flags flags, const char* name); |
369 | 367 |
370 Node* CallN(CallDescriptor* descriptor, Node* code_target, Node** args); | 368 Node* CallN(CallDescriptor* descriptor, Node* code_target, Node** args); |
371 Node* TailCallN(CallDescriptor* descriptor, Node* code_target, Node** args); | 369 Node* TailCallN(CallDescriptor* descriptor, Node* code_target, Node** args); |
372 | 370 |
373 base::SmartPointer<RawMachineAssembler> raw_assembler_; | 371 base::SmartPointer<RawMachineAssembler> raw_assembler_; |
374 Code::Flags flags_; | 372 Code::Flags flags_; |
375 const char* name_; | 373 const char* name_; |
376 bool code_generated_; | 374 bool code_generated_; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 // Map of variables to the list of value nodes that have been added from each | 411 // Map of variables to the list of value nodes that have been added from each |
414 // merge path in their order of merging. | 412 // merge path in their order of merging. |
415 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; | 413 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; |
416 }; | 414 }; |
417 | 415 |
418 } // namespace compiler | 416 } // namespace compiler |
419 } // namespace internal | 417 } // namespace internal |
420 } // namespace v8 | 418 } // namespace v8 |
421 | 419 |
422 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ | 420 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ |
OLD | NEW |