| 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 1122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1133 // Instanceof helpers. | 1133 // Instanceof helpers. |
| 1134 // ES6 section 7.3.19 OrdinaryHasInstance (C, O) | 1134 // ES6 section 7.3.19 OrdinaryHasInstance (C, O) |
| 1135 Node* OrdinaryHasInstance(Node* context, Node* callable, Node* object); | 1135 Node* OrdinaryHasInstance(Node* context, Node* callable, Node* object); |
| 1136 | 1136 |
| 1137 // Load type feedback vector from the stub caller's frame. | 1137 // Load type feedback vector from the stub caller's frame. |
| 1138 Node* LoadFeedbackVectorForStub(); | 1138 Node* LoadFeedbackVectorForStub(); |
| 1139 | 1139 |
| 1140 // Update the type feedback vector. | 1140 // Update the type feedback vector. |
| 1141 void UpdateFeedback(Node* feedback, Node* feedback_vector, Node* slot_id); | 1141 void UpdateFeedback(Node* feedback, Node* feedback_vector, Node* slot_id); |
| 1142 | 1142 |
| 1143 // Check if a property name might require protector invalidation when it is |
| 1144 // used for a property store or deletion. |
| 1145 void CheckForAssociatedProtector(Node* name, Label* if_protector); |
| 1146 |
| 1143 Node* LoadReceiverMap(Node* receiver); | 1147 Node* LoadReceiverMap(Node* receiver); |
| 1144 | 1148 |
| 1145 // Emits keyed sloppy arguments load. Returns either the loaded value. | 1149 // Emits keyed sloppy arguments load. Returns either the loaded value. |
| 1146 Node* LoadKeyedSloppyArguments(Node* receiver, Node* key, Label* bailout) { | 1150 Node* LoadKeyedSloppyArguments(Node* receiver, Node* key, Label* bailout) { |
| 1147 return EmitKeyedSloppyArguments(receiver, key, nullptr, bailout); | 1151 return EmitKeyedSloppyArguments(receiver, key, nullptr, bailout); |
| 1148 } | 1152 } |
| 1149 | 1153 |
| 1150 // Emits keyed sloppy arguments store. | 1154 // Emits keyed sloppy arguments store. |
| 1151 void StoreKeyedSloppyArguments(Node* receiver, Node* key, Node* value, | 1155 void StoreKeyedSloppyArguments(Node* receiver, Node* key, Node* value, |
| 1152 Label* bailout) { | 1156 Label* bailout) { |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1519 } | 1523 } |
| 1520 #else | 1524 #else |
| 1521 #define CSA_SLOW_ASSERT(csa, x) ((void)0) | 1525 #define CSA_SLOW_ASSERT(csa, x) ((void)0) |
| 1522 #endif | 1526 #endif |
| 1523 | 1527 |
| 1524 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 1528 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
| 1525 | 1529 |
| 1526 } // namespace internal | 1530 } // namespace internal |
| 1527 } // namespace v8 | 1531 } // namespace v8 |
| 1528 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 1532 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
| OLD | NEW |