| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_LOOKUP_H_ | 5 #ifndef V8_LOOKUP_H_ |
| 6 #define V8_LOOKUP_H_ | 6 #define V8_LOOKUP_H_ |
| 7 | 7 |
| 8 #include "src/factory.h" | 8 #include "src/factory.h" |
| 9 #include "src/isolate.h" | 9 #include "src/isolate.h" |
| 10 #include "src/objects.h" | 10 #include "src/objects.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 bool HasAccess() const; | 200 bool HasAccess() const; |
| 201 | 201 |
| 202 /* PROPERTY */ | 202 /* PROPERTY */ |
| 203 void PrepareForDataProperty(Handle<Object> value); | 203 void PrepareForDataProperty(Handle<Object> value); |
| 204 void PrepareTransitionToDataProperty(Handle<Object> value, | 204 void PrepareTransitionToDataProperty(Handle<Object> value, |
| 205 PropertyAttributes attributes, | 205 PropertyAttributes attributes, |
| 206 Object::StoreFromKeyed store_mode); | 206 Object::StoreFromKeyed store_mode); |
| 207 bool IsCacheableTransition() { | 207 bool IsCacheableTransition() { |
| 208 if (state_ != TRANSITION) return false; | 208 if (state_ != TRANSITION) return false; |
| 209 return transition_->IsPropertyCell() || | 209 return transition_->IsPropertyCell() || |
| 210 transition_map()->GetBackPointer()->IsMap(); | 210 (!transition_map()->is_dictionary_map() && |
| 211 transition_map()->GetBackPointer()->IsMap()); |
| 211 } | 212 } |
| 212 void ApplyTransitionToDataProperty(); | 213 void ApplyTransitionToDataProperty(); |
| 213 void ReconfigureDataProperty(Handle<Object> value, | 214 void ReconfigureDataProperty(Handle<Object> value, |
| 214 PropertyAttributes attributes); | 215 PropertyAttributes attributes); |
| 215 void TransitionToAccessorProperty(AccessorComponent component, | 216 void TransitionToAccessorProperty(AccessorComponent component, |
| 216 Handle<Object> accessor, | 217 Handle<Object> accessor, |
| 217 PropertyAttributes attributes); | 218 PropertyAttributes attributes); |
| 218 PropertyDetails property_details() const { | 219 PropertyDetails property_details() const { |
| 219 DCHECK(has_property_); | 220 DCHECK(has_property_); |
| 220 return property_details_; | 221 return property_details_; |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 Handle<JSReceiver> holder_; | 305 Handle<JSReceiver> holder_; |
| 305 Handle<Map> holder_map_; | 306 Handle<Map> holder_map_; |
| 306 const Handle<JSReceiver> initial_holder_; | 307 const Handle<JSReceiver> initial_holder_; |
| 307 uint32_t number_; | 308 uint32_t number_; |
| 308 }; | 309 }; |
| 309 | 310 |
| 310 | 311 |
| 311 } } // namespace v8::internal | 312 } } // namespace v8::internal |
| 312 | 313 |
| 313 #endif // V8_LOOKUP_H_ | 314 #endif // V8_LOOKUP_H_ |
| OLD | NEW |