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/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 CallDescriptor* call_descriptor() const { | 57 CallDescriptor* call_descriptor() const { |
58 return call_descriptor_builder_->BuildCallDescriptor(zone()); | 58 return call_descriptor_builder_->BuildCallDescriptor(zone()); |
59 } | 59 } |
60 int parameter_count() const { | 60 int parameter_count() const { |
61 return call_descriptor_builder_->parameter_count(); | 61 return call_descriptor_builder_->parameter_count(); |
62 } | 62 } |
63 const MachineType* parameter_types() const { | 63 const MachineType* parameter_types() const { |
64 return call_descriptor_builder_->parameter_types(); | 64 return call_descriptor_builder_->parameter_types(); |
65 } | 65 } |
66 | 66 |
| 67 Node* UndefinedConstant() { |
| 68 PrintableUnique<Object> unique = PrintableUnique<Object>::CreateImmovable( |
| 69 zone(), isolate()->factory()->undefined_value()); |
| 70 return NewNode(common()->HeapConstant(unique)); |
| 71 } |
| 72 |
67 // Parameters. | 73 // Parameters. |
68 Node* Parameter(int index); | 74 Node* Parameter(int index); |
69 | 75 |
70 // Control flow. | 76 // Control flow. |
71 Label* Exit(); | 77 Label* Exit(); |
72 void Goto(Label* label); | 78 void Goto(Label* label); |
73 void Branch(Node* condition, Label* true_val, Label* false_val); | 79 void Branch(Node* condition, Label* true_val, Label* false_val); |
74 // Call through CallFunctionStub with lazy deopt and frame-state. | 80 // Call through CallFunctionStub with lazy deopt and frame-state. |
75 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, | 81 Node* CallFunctionStub0(Node* function, Node* receiver, Node* context, |
76 Node* frame_state, Label* continuation, | 82 Node* frame_state, Label* continuation, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 BasicBlock* current_block_; | 127 BasicBlock* current_block_; |
122 | 128 |
123 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); | 129 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); |
124 }; | 130 }; |
125 | 131 |
126 } // namespace compiler | 132 } // namespace compiler |
127 } // namespace internal | 133 } // namespace internal |
128 } // namespace v8 | 134 } // namespace v8 |
129 | 135 |
130 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 136 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |