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* a, compiler::Node* a_map, |
| 128 compiler::Node* b, compiler::Node* b_map, |
| 129 Label* if_true, Label* if_false); |
| 130 void BranchIfSimd128Equal(compiler::Node* a, compiler::Node* b, |
| 131 Label* if_true, Label* if_false) { |
| 132 BranchIfSimd128Equal(a, LoadMap(a), b, LoadMap(b), if_true, if_false); |
| 133 } |
| 134 |
| 135 void BranchIfSameValueZero(compiler::Node* a, compiler::Node* b, |
| 136 compiler::Node* context, Label* if_true, |
| 137 Label* if_false); |
| 138 |
| 139 void BranchIfFastJSArray(compiler::Node* object, compiler::Node* context, |
| 140 Label* if_true, Label* if_false); |
| 141 |
127 // Load value from current frame by given offset in bytes. | 142 // Load value from current frame by given offset in bytes. |
128 compiler::Node* LoadFromFrame(int offset, | 143 compiler::Node* LoadFromFrame(int offset, |
129 MachineType rep = MachineType::AnyTagged()); | 144 MachineType rep = MachineType::AnyTagged()); |
130 // Load value from current parent frame by given offset in bytes. | 145 // Load value from current parent frame by given offset in bytes. |
131 compiler::Node* LoadFromParentFrame( | 146 compiler::Node* LoadFromParentFrame( |
132 int offset, MachineType rep = MachineType::AnyTagged()); | 147 int offset, MachineType rep = MachineType::AnyTagged()); |
133 | 148 |
134 // Load an object pointer from a buffer that isn't in the heap. | 149 // Load an object pointer from a buffer that isn't in the heap. |
135 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, | 150 compiler::Node* LoadBufferObject(compiler::Node* buffer, int offset, |
136 MachineType rep = MachineType::AnyTagged()); | 151 MachineType rep = MachineType::AnyTagged()); |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 AllocationFlags flags, | 509 AllocationFlags flags, |
495 compiler::Node* top_adddress, | 510 compiler::Node* top_adddress, |
496 compiler::Node* limit_address); | 511 compiler::Node* limit_address); |
497 | 512 |
498 static const int kElementLoopUnrollThreshold = 8; | 513 static const int kElementLoopUnrollThreshold = 8; |
499 }; | 514 }; |
500 | 515 |
501 } // namespace internal | 516 } // namespace internal |
502 } // namespace v8 | 517 } // namespace v8 |
503 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 518 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |