OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 void BranchIfFloat64IsNaN(compiler::Node* value, Label* if_true, | 117 void BranchIfFloat64IsNaN(compiler::Node* value, Label* if_true, |
118 Label* if_false) { | 118 Label* if_false) { |
119 BranchIfFloat64Equal(value, value, if_false, if_true); | 119 BranchIfFloat64Equal(value, value, if_false, if_true); |
120 } | 120 } |
121 | 121 |
122 // Branches to {if_true} if ToBoolean applied to {value} yields true, | 122 // Branches to {if_true} if ToBoolean applied to {value} yields true, |
123 // otherwise goes to {if_false}. | 123 // otherwise goes to {if_false}. |
124 void BranchIfToBooleanIsTrue(compiler::Node* value, Label* if_true, | 124 void BranchIfToBooleanIsTrue(compiler::Node* value, Label* if_true, |
125 Label* if_false); | 125 Label* if_false); |
126 | 126 |
127 void BranchIfSimd128Equal(compiler::Node* lhs, compiler::Node* lhs_map, | |
128 compiler::Node* rhs, compiler::Node* rhs_map, | |
129 Label* if_equal, Label* if_notequal); | |
130 void BranchIfSimd128Equal(compiler::Node* lhs, compiler::Node* rhs, | |
131 Label* if_equal, Label* if_notequal) { | |
132 BranchIfSimd128Equal(lhs, LoadMap(lhs), rhs, LoadMap(rhs), if_equal, | |
133 if_notequal); | |
134 } | |
135 | |
136 void BranchIfSameValueZero(compiler::Node* a, compiler::Node* b, | |
137 compiler::Node* context, Label* if_true, | |
138 Label* if_false); | |
139 | |
140 void BranchIfFastJSArray(compiler::Node* object, compiler::Node* context, | |
141 Label* if_true, Label* if_false); | |
142 | |
143 // Load value from current frame by given offset in bytes. | 127 // Load value from current frame by given offset in bytes. |
144 compiler::Node* LoadFromFrame(int offset, | 128 compiler::Node* LoadFromFrame(int offset, |
145 MachineType rep = MachineType::AnyTagged()); | 129 MachineType rep = MachineType::AnyTagged()); |
146 // Load value from current parent frame by given offset in bytes. | 130 // Load value from current parent frame by given offset in bytes. |
147 compiler::Node* LoadFromParentFrame( | 131 compiler::Node* LoadFromParentFrame( |
148 int offset, MachineType rep = MachineType::AnyTagged()); | 132 int offset, MachineType rep = MachineType::AnyTagged()); |
149 | 133 |
150 // Load an object pointer from a buffer that isn't in the heap. | 134 // Load an object pointer from a buffer that isn't in the heap. |
151 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, | 135 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, |
152 MachineType rep = MachineType::AnyTagged()); | 136 MachineType rep = MachineType::AnyTagged()); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
522 AllocationFlags flags, | 506 AllocationFlags flags, |
523 compiler::Node* top_adddress, | 507 compiler::Node* top_adddress, |
524 compiler::Node* limit_address); | 508 compiler::Node* limit_address); |
525 | 509 |
526 static const int kElementLoopUnrollThreshold = 8; | 510 static const int kElementLoopUnrollThreshold = 8; |
527 }; | 511 }; |
528 | 512 |
529 } // namespace internal | 513 } // namespace internal |
530 } // namespace v8 | 514 } // namespace v8 |
531 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 515 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |