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, CallFunctionFlags flags); | 82 Node* frame_state, CallFunctionFlags flags); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 BasicBlock* current_block_; | 125 BasicBlock* current_block_; |
120 | 126 |
121 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); | 127 DISALLOW_COPY_AND_ASSIGN(RawMachineAssembler); |
122 }; | 128 }; |
123 | 129 |
124 } // namespace compiler | 130 } // namespace compiler |
125 } // namespace internal | 131 } // namespace internal |
126 } // namespace v8 | 132 } // namespace v8 |
127 | 133 |
128 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 134 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |