OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_RAW_MACHINE_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
7 | 7 |
8 #include "src/compiler/common-operator.h" | 8 #include "src/compiler/common-operator.h" |
9 #include "src/compiler/graph-builder.h" | 9 #include "src/compiler/graph-builder.h" |
10 #include "src/compiler/linkage.h" | 10 #include "src/compiler/linkage.h" |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 return Load(rep, PointerConstant(address), Int32Constant(offset)); | 451 return Load(rep, PointerConstant(address), Int32Constant(offset)); |
452 } | 452 } |
453 void StoreToPointer(void* address, MachineType rep, Node* node) { | 453 void StoreToPointer(void* address, MachineType rep, Node* node) { |
454 Store(rep, PointerConstant(address), node); | 454 Store(rep, PointerConstant(address), node); |
455 } | 455 } |
456 Node* StringConstant(const char* string) { | 456 Node* StringConstant(const char* string) { |
457 return HeapConstant(isolate()->factory()->InternalizeUtf8String(string)); | 457 return HeapConstant(isolate()->factory()->InternalizeUtf8String(string)); |
458 } | 458 } |
459 | 459 |
460 // Control flow. | 460 // Control flow. |
461 Label* Exit(); | |
462 void Goto(Label* label); | 461 void Goto(Label* label); |
463 void Branch(Node* condition, Label* true_val, Label* false_val); | 462 void Branch(Node* condition, Label* true_val, Label* false_val); |
464 void Switch(Node* index, Label* default_label, int32_t* case_values, | 463 void Switch(Node* index, Label* default_label, int32_t* case_values, |
465 Label** case_labels, size_t case_count); | 464 Label** case_labels, size_t case_count); |
466 // Call through CallFunctionStub with lazy deopt and frame-state. | 465 // Call through CallFunctionStub with lazy deopt and frame-state. |
467 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, | 466 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, |
468 Node* frame_state, CallFunctionFlags flags); | 467 Node* frame_state, CallFunctionFlags flags); |
469 // Call to a JS function with zero parameters. | 468 // Call to a JS function with zero parameters. |
470 Node* CallJS0(Node* function, Node* receiver, Node* context, | 469 Node* CallJS0(Node* function, Node* receiver, Node* context, |
471 Node* frame_state); | 470 Node* frame_state); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 BasicBlock* Use(Label* label); | 504 BasicBlock* Use(Label* label); |
506 BasicBlock* EnsureBlock(Label* label); | 505 BasicBlock* EnsureBlock(Label* label); |
507 BasicBlock* CurrentBlock(); | 506 BasicBlock* CurrentBlock(); |
508 | 507 |
509 Schedule* schedule_; | 508 Schedule* schedule_; |
510 MachineOperatorBuilder machine_; | 509 MachineOperatorBuilder machine_; |
511 CommonOperatorBuilder common_; | 510 CommonOperatorBuilder common_; |
512 const MachineSignature* machine_sig_; | 511 const MachineSignature* machine_sig_; |
513 CallDescriptor* call_descriptor_; | 512 CallDescriptor* call_descriptor_; |
514 Node** parameters_; | 513 Node** parameters_; |
515 Label exit_label_; | |
516 BasicBlock* current_block_; | 514 BasicBlock* current_block_; |
517 | 515 |
518 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); | 516 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); |
519 }; | 517 }; |
520 | 518 |
521 } // namespace compiler | 519 } // namespace compiler |
522 } // namespace internal | 520 } // namespace internal |
523 } // namespace v8 | 521 } // namespace v8 |
524 | 522 |
525 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 523 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |