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 |
127 // Load value from current frame by given offset in bytes. | 143 // Load value from current frame by given offset in bytes. |
128 compiler::Node* LoadFromFrame(int offset, | 144 compiler::Node* LoadFromFrame(int offset, |
129 MachineType rep = MachineType::AnyTagged()); | 145 MachineType rep = MachineType::AnyTagged()); |
130 // Load value from current parent frame by given offset in bytes. | 146 // Load value from current parent frame by given offset in bytes. |
131 compiler::Node* LoadFromParentFrame( | 147 compiler::Node* LoadFromParentFrame( |
132 int offset, MachineType rep = MachineType::AnyTagged()); | 148 int offset, MachineType rep = MachineType::AnyTagged()); |
133 | 149 |
134 // Load an object pointer from a buffer that isn't in the heap. | 150 // Load an object pointer from a buffer that isn't in the heap. |
135 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, | 151 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, |
136 MachineType rep = MachineType::AnyTagged()); | 152 MachineType rep = MachineType::AnyTagged()); |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 AllocationFlags flags, | 522 AllocationFlags flags, |
507 compiler::Node* top_adddress, | 523 compiler::Node* top_adddress, |
508 compiler::Node* limit_address); | 524 compiler::Node* limit_address); |
509 | 525 |
510 static const int kElementLoopUnrollThreshold = 8; | 526 static const int kElementLoopUnrollThreshold = 8; |
511 }; | 527 }; |
512 | 528 |
513 } // namespace internal | 529 } // namespace internal |
514 } // namespace v8 | 530 } // namespace v8 |
515 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 531 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |