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/field-type.h" | 10 #include "src/field-type.h" |
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 Handle<JSObject> holder = GetHolder<JSObject>(); | 586 Handle<JSObject> holder = GetHolder<JSObject>(); |
587 FieldIndex field_index = FieldIndex::ForDescriptor(holder->map(), number_); | 587 FieldIndex field_index = FieldIndex::ForDescriptor(holder->map(), number_); |
588 return JSObject::FastPropertyAt(holder, property_details_.representation(), | 588 return JSObject::FastPropertyAt(holder, property_details_.representation(), |
589 field_index); | 589 field_index); |
590 } else { | 590 } else { |
591 result = holder_->map()->instance_descriptors()->GetValue(number_); | 591 result = holder_->map()->instance_descriptors()->GetValue(number_); |
592 } | 592 } |
593 return handle(result, isolate_); | 593 return handle(result, isolate_); |
594 } | 594 } |
595 | 595 |
| 596 int LookupIterator::GetFieldDescriptorIndex() const { |
| 597 DCHECK(has_property_); |
| 598 DCHECK(holder_->HasFastProperties()); |
| 599 DCHECK_EQ(v8::internal::DATA, property_details_.type()); |
| 600 return descriptor_number(); |
| 601 } |
596 | 602 |
597 int LookupIterator::GetAccessorIndex() const { | 603 int LookupIterator::GetAccessorIndex() const { |
598 DCHECK(has_property_); | 604 DCHECK(has_property_); |
599 DCHECK(holder_->HasFastProperties()); | 605 DCHECK(holder_->HasFastProperties()); |
600 DCHECK_EQ(v8::internal::ACCESSOR_CONSTANT, property_details_.type()); | 606 DCHECK_EQ(v8::internal::ACCESSOR_CONSTANT, property_details_.type()); |
601 return descriptor_number(); | 607 return descriptor_number(); |
602 } | 608 } |
603 | 609 |
604 | 610 |
605 int LookupIterator::GetConstantIndex() const { | 611 int LookupIterator::GetConstantIndex() const { |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 : access_check_info->named_interceptor(); | 836 : access_check_info->named_interceptor(); |
831 if (interceptor) { | 837 if (interceptor) { |
832 return handle(InterceptorInfo::cast(interceptor), isolate_); | 838 return handle(InterceptorInfo::cast(interceptor), isolate_); |
833 } | 839 } |
834 } | 840 } |
835 return Handle<InterceptorInfo>(); | 841 return Handle<InterceptorInfo>(); |
836 } | 842 } |
837 | 843 |
838 } // namespace internal | 844 } // namespace internal |
839 } // namespace v8 | 845 } // namespace v8 |
OLD | NEW |