| 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 #include "src/v8.h" | 5 #include "src/v8.h" | 
| 6 | 6 | 
| 7 #include "src/bootstrapper.h" | 7 #include "src/bootstrapper.h" | 
| 8 #include "src/deoptimizer.h" | 8 #include "src/deoptimizer.h" | 
| 9 #include "src/lookup.h" | 9 #include "src/lookup.h" | 
| 10 #include "src/lookup-inl.h" | 10 #include "src/lookup-inl.h" | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 135   } | 135   } | 
| 136 | 136 | 
| 137   ReloadPropertyInformation(); | 137   ReloadPropertyInformation(); | 
| 138 } | 138 } | 
| 139 | 139 | 
| 140 | 140 | 
| 141 void LookupIterator::PrepareTransitionToDataProperty( | 141 void LookupIterator::PrepareTransitionToDataProperty( | 
| 142     Handle<Object> value, PropertyAttributes attributes, | 142     Handle<Object> value, PropertyAttributes attributes, | 
| 143     Object::StoreFromKeyed store_mode) { | 143     Object::StoreFromKeyed store_mode) { | 
| 144   if (state_ == TRANSITION) return; | 144   if (state_ == TRANSITION) return; | 
| 145   DCHECK(state_ != LookupIterator::ACCESSOR || | 145   DCHECK_NE(LookupIterator::ACCESSOR, state_); | 
| 146          (GetAccessors()->IsAccessorInfo() && |  | 
| 147           AccessorInfo::cast(*GetAccessors())->is_special_data_property())); |  | 
| 148   DCHECK_NE(LookupIterator::INTEGER_INDEXED_EXOTIC, state_); | 146   DCHECK_NE(LookupIterator::INTEGER_INDEXED_EXOTIC, state_); | 
| 149   DCHECK(state_ == NOT_FOUND || !HolderIsReceiverOrHiddenPrototype()); | 147   DCHECK(state_ == NOT_FOUND || !HolderIsReceiverOrHiddenPrototype()); | 
| 150   // Can only be called when the receiver is a JSObject. JSProxy has to be | 148   // Can only be called when the receiver is a JSObject. JSProxy has to be | 
| 151   // handled via a trap. Adding properties to primitive values is not | 149   // handled via a trap. Adding properties to primitive values is not | 
| 152   // observable. | 150   // observable. | 
| 153   Handle<JSObject> receiver = GetStoreTarget(); | 151   Handle<JSObject> receiver = GetStoreTarget(); | 
| 154 | 152 | 
| 155   if (!isolate()->IsInternallyUsedPropertyName(name()) && | 153   if (!isolate()->IsInternallyUsedPropertyName(name()) && | 
| 156       !receiver->map()->is_extensible()) { | 154       !receiver->map()->is_extensible()) { | 
| 157     return; | 155     return; | 
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 390       // Fall through. | 388       // Fall through. | 
| 391       case InterceptorState::kSkipNonMasking: | 389       case InterceptorState::kSkipNonMasking: | 
| 392         return true; | 390         return true; | 
| 393       case InterceptorState::kProcessNonMasking: | 391       case InterceptorState::kProcessNonMasking: | 
| 394         return false; | 392         return false; | 
| 395     } | 393     } | 
| 396   } | 394   } | 
| 397   return interceptor_state_ == InterceptorState::kProcessNonMasking; | 395   return interceptor_state_ == InterceptorState::kProcessNonMasking; | 
| 398 } | 396 } | 
| 399 } }  // namespace v8::internal | 397 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|