| 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_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ | 5 #ifndef V8_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ |
| 6 #define V8_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ | 6 #define V8_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ |
| 7 | 7 |
| 8 #include "src/code-stub-assembler.h" | 8 #include "src/code-stub-assembler.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 void HandleStoreICSmiHandlerCase(Node* handler_word, Node* holder, | 153 void HandleStoreICSmiHandlerCase(Node* handler_word, Node* holder, |
| 154 Node* value, Node* transition, Label* miss); | 154 Node* value, Node* transition, Label* miss); |
| 155 // If |transition| is nullptr then the normal field store is generated or | 155 // If |transition| is nullptr then the normal field store is generated or |
| 156 // transitioning store otherwise. | 156 // transitioning store otherwise. |
| 157 void HandleStoreFieldAndReturn(Node* handler_word, Node* holder, | 157 void HandleStoreFieldAndReturn(Node* handler_word, Node* holder, |
| 158 Representation representation, Node* value, | 158 Representation representation, Node* value, |
| 159 Node* transition, Label* miss); | 159 Node* transition, Label* miss); |
| 160 | 160 |
| 161 // Low-level helpers. | 161 // Low-level helpers. |
| 162 | 162 |
| 163 Node* PrepareValueForWrite(Node* value, Representation representation, |
| 164 Label* bailout); |
| 165 |
| 166 // Extends properties backing store by JSObject::kFieldsAdded elements. |
| 167 void ExtendPropertiesBackingStore(Node* object); |
| 168 |
| 169 void StoreNamedField(Node* object, Node* offset, bool is_inobject, |
| 170 Representation representation, Node* value, |
| 171 bool transition_to_field); |
| 172 |
| 163 void EmitFastElementsBoundsCheck(Node* object, Node* elements, | 173 void EmitFastElementsBoundsCheck(Node* object, Node* elements, |
| 164 Node* intptr_index, | 174 Node* intptr_index, |
| 165 Node* is_jsarray_condition, Label* miss); | 175 Node* is_jsarray_condition, Label* miss); |
| 166 void EmitElementLoad(Node* object, Node* elements, Node* elements_kind, | 176 void EmitElementLoad(Node* object, Node* elements, Node* elements_kind, |
| 167 Node* key, Node* is_jsarray_condition, Label* if_hole, | 177 Node* key, Node* is_jsarray_condition, Label* if_hole, |
| 168 Label* rebox_double, Variable* var_double_value, | 178 Label* rebox_double, Variable* var_double_value, |
| 169 Label* unimplemented_elements_kind, Label* out_of_bounds, | 179 Label* unimplemented_elements_kind, Label* out_of_bounds, |
| 170 Label* miss); | 180 Label* miss); |
| 171 void CheckPrototype(Node* prototype_cell, Node* name, Label* miss); | 181 void CheckPrototype(Node* prototype_cell, Node* name, Label* miss); |
| 172 void NameDictionaryNegativeLookup(Node* object, Node* name, Label* miss); | 182 void NameDictionaryNegativeLookup(Node* object, Node* name, Label* miss); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 183 void TryProbeStubCacheTable(StubCache* stub_cache, StubCacheTable table_id, | 193 void TryProbeStubCacheTable(StubCache* stub_cache, StubCacheTable table_id, |
| 184 Node* entry_offset, Node* name, Node* map, | 194 Node* entry_offset, Node* name, Node* map, |
| 185 Label* if_handler, Variable* var_handler, | 195 Label* if_handler, Variable* var_handler, |
| 186 Label* if_miss); | 196 Label* if_miss); |
| 187 }; | 197 }; |
| 188 | 198 |
| 189 } // namespace internal | 199 } // namespace internal |
| 190 } // namespace v8 | 200 } // namespace v8 |
| 191 | 201 |
| 192 #endif // V8_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ | 202 #endif // V8_SRC_IC_ACCESSOR_ASSEMBLER_IMPL_H_ |
| OLD | NEW |