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 |