Chromium Code Reviews| 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/lookup.h" | 5 #include "src/lookup.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/elements.h" | 9 #include "src/elements.h" |
| 10 #include "src/isolate-inl.h" | 10 #include "src/isolate-inl.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 73 state_ = LookupInHolder(map, holder); | 73 state_ = LookupInHolder(map, holder); |
| 74 } while (!IsFound()); | 74 } while (!IsFound()); |
| 75 | 75 |
| 76 if (holder != *holder_) { | 76 if (holder != *holder_) { |
| 77 holder_ = handle(holder, isolate_); | 77 holder_ = handle(holder, isolate_); |
| 78 holder_map_ = handle(map, isolate_); | 78 holder_map_ = handle(map, isolate_); |
| 79 } | 79 } |
| 80 } | 80 } |
| 81 | 81 |
| 82 | 82 |
| 83 void LookupIterator::RestartLookupForNonMaskingInterceptors() { | 83 void LookupIterator::RestartInternal(InterceptorState interceptor_state) { |
| 84 interceptor_state_ = InterceptorState::kProcessNonMasking; | |
| 85 state_ = NOT_FOUND; | 84 state_ = NOT_FOUND; |
| 85 interceptor_state_ = interceptor_state; | |
| 86 property_details_ = PropertyDetails::Empty(); | 86 property_details_ = PropertyDetails::Empty(); |
| 87 number_ = DescriptorArray::kNotFound; | |
| 88 holder_ = initial_holder_; | 87 holder_ = initial_holder_; |
| 89 holder_map_ = handle(holder_->map(), isolate_); | 88 holder_map_ = handle(holder_->map(), isolate_); |
| 89 number_ = DescriptorArray::kNotFound; | |
|
Jakob Kummerow
2015/10/22 15:33:25
Reordered to match the initialization order in the
| |
| 90 Next(); | 90 Next(); |
| 91 } | 91 } |
| 92 | 92 |
| 93 | 93 |
| 94 // static | 94 // static |
| 95 Handle<JSReceiver> LookupIterator::GetRoot(Isolate* isolate, | 95 Handle<JSReceiver> LookupIterator::GetRoot(Isolate* isolate, |
| 96 Handle<Object> receiver, | 96 Handle<Object> receiver, |
| 97 uint32_t index) { | 97 uint32_t index) { |
| 98 if (receiver->IsJSReceiver()) return Handle<JSReceiver>::cast(receiver); | 98 if (receiver->IsJSReceiver()) return Handle<JSReceiver>::cast(receiver); |
| 99 // Strings are the only objects with properties (only elements) directly on | 99 // Strings are the only objects with properties (only elements) directly on |
| (...skipping 615 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 715 // Fall through. | 715 // Fall through. |
| 716 default: | 716 default: |
| 717 return NOT_FOUND; | 717 return NOT_FOUND; |
| 718 } | 718 } |
| 719 UNREACHABLE(); | 719 UNREACHABLE(); |
| 720 return state_; | 720 return state_; |
| 721 } | 721 } |
| 722 | 722 |
| 723 } // namespace internal | 723 } // namespace internal |
| 724 } // namespace v8 | 724 } // namespace v8 |
| OLD | NEW |