| 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 |