| Index: src/lookup.cc
|
| diff --git a/src/lookup.cc b/src/lookup.cc
|
| index f60563b19e603d0ab78af41a6fe0adc73ea8379e..be0edaa3a27b965c2d46882c8908b39c78d7c112 100644
|
| --- a/src/lookup.cc
|
| +++ b/src/lookup.cc
|
| @@ -92,10 +92,8 @@ void LookupIterator::RestartInternal(InterceptorState interceptor_state) {
|
|
|
|
|
| // static
|
| -Handle<JSReceiver> LookupIterator::GetRoot(Isolate* isolate,
|
| - Handle<Object> receiver,
|
| - uint32_t index) {
|
| - if (receiver->IsJSReceiver()) return Handle<JSReceiver>::cast(receiver);
|
| +Handle<JSReceiver> LookupIterator::GetRootForNonJSReceiver(
|
| + Isolate* isolate, Handle<Object> receiver, uint32_t index) {
|
| // Strings are the only objects with properties (only elements) directly on
|
| // the wrapper. Hence we can skip generating the wrapper for all other cases.
|
| if (index != kMaxUInt32 && receiver->IsString() &&
|
| @@ -530,8 +528,6 @@ void LookupIterator::WriteDataValue(Handle<Object> value) {
|
|
|
| bool LookupIterator::IsIntegerIndexedExotic(JSReceiver* holder) {
|
| DCHECK(exotic_index_state_ != ExoticIndexState::kNotExotic);
|
| - // Currently typed arrays are the only such objects.
|
| - if (!holder->IsJSTypedArray()) return false;
|
| if (exotic_index_state_ == ExoticIndexState::kExotic) return true;
|
| if (!InternalHolderIsReceiverOrHiddenPrototype()) {
|
| exotic_index_state_ = ExoticIndexState::kNotExotic;
|
| @@ -566,18 +562,6 @@ bool LookupIterator::HasInterceptor(Map* map) const {
|
| }
|
|
|
|
|
| -Handle<InterceptorInfo> LookupIterator::GetInterceptor() const {
|
| - DCHECK_EQ(INTERCEPTOR, state_);
|
| - return handle(GetInterceptor(JSObject::cast(*holder_)), isolate_);
|
| -}
|
| -
|
| -
|
| -InterceptorInfo* LookupIterator::GetInterceptor(JSObject* holder) const {
|
| - if (IsElement()) return holder->GetIndexedInterceptor();
|
| - return holder->GetNamedInterceptor();
|
| -}
|
| -
|
| -
|
| bool LookupIterator::SkipInterceptor(JSObject* holder) {
|
| auto info = GetInterceptor(holder);
|
| // TODO(dcarney): check for symbol/can_intercept_symbols here as well.
|
| @@ -633,7 +617,7 @@ LookupIterator::State LookupIterator::LookupInHolder(Map* const map,
|
| // Fall through.
|
| case ACCESS_CHECK:
|
| if (exotic_index_state_ != ExoticIndexState::kNotExotic &&
|
| - IsIntegerIndexedExotic(holder)) {
|
| + holder->IsJSTypedArray() && IsIntegerIndexedExotic(holder)) {
|
| return INTEGER_INDEXED_EXOTIC;
|
| }
|
| if (check_interceptor() && HasInterceptor(map) &&
|
|
|