// Do not occur since the from object has fast properties.
case HANDLER:
case INTERCEPTOR:
- case NONEXISTENT:
// No element in instance descriptors have proxy or interceptor type.
UNREACHABLE();
break;
case HANDLER: // only in lookup results, not in descriptors
case INTERCEPTOR: // only in lookup results, not in descriptors
break;
- case NONEXISTENT:
- UNREACHABLE();
- break;
}
}
} else {
}
case CONSTANT:
break;
- case NONEXISTENT:
case HANDLER:
UNREACHABLE();
break;
property_kind_ = ACCESSOR;
break;
case v8::internal::HANDLER:
- case v8::internal::NONEXISTENT:
case v8::internal::INTERCEPTOR:
UNREACHABLE();
}
state_(NOT_FOUND),
property_kind_(DATA),
property_encoding_(DESCRIPTOR),
- property_details_(NONE, NONEXISTENT, Representation::None()),
+ property_details_(NONE, NORMAL, Representation::None()),
isolate_(name->GetIsolate()),
name_(name),
maybe_receiver_(receiver),
state_(NOT_FOUND),
property_kind_(DATA),
property_encoding_(DESCRIPTOR),
- property_details_(NONE, NONEXISTENT, Representation::None()),
+ property_details_(NONE, NORMAL, Representation::None()),
isolate_(name->GetIsolate()),
name_(name),
holder_map_(holder->map()),
PropertyType.Callbacks = 3;
PropertyType.Handler = 4;
PropertyType.Interceptor = 5;
-PropertyType.Nonexistent = 6;
// Different attributes for a property.
case NORMAL: // only in slow mode
case HANDLER: // only in lookup results, not in descriptors
case INTERCEPTOR: // only in lookup results, not in descriptors
- // There are no transitions in the descriptor array.
- case NONEXISTENT:
UNREACHABLE();
break;
}
case NORMAL:
case HANDLER:
case INTERCEPTOR:
- case NONEXISTENT:
UNREACHABLE();
break;
}
case NORMAL:
case HANDLER:
case INTERCEPTOR:
- case NONEXISTENT:
UNREACHABLE();
break;
}
case NORMAL:
case HANDLER:
case INTERCEPTOR:
- case NONEXISTENT:
UNREACHABLE();
}
}
break;
case HANDLER:
case NORMAL:
- case NONEXISTENT:
UNREACHABLE();
break;
}
case NORMAL:
case INTERCEPTOR:
case HANDLER:
- case NONEXISTENT:
break;
}
// A copy of this is in mirror-debugger.js.
enum PropertyType {
// Only in slow mode.
- NORMAL = 0,
+ NORMAL = 0,
// Only in fast mode.
- FIELD = 1,
- CONSTANT = 2,
- CALLBACKS = 3,
+ FIELD = 1,
+ CONSTANT = 2,
+ CALLBACKS = 3,
// Only in lookup results, not in descriptors.
- HANDLER = 4,
- INTERCEPTOR = 5,
- // Only used as a marker in LookupResult.
- NONEXISTENT = 6
+ HANDLER = 4,
+ INTERCEPTOR = 5
};
return os << " -type = lookup proxy\n";
case INTERCEPTOR:
return os << " -type = lookup interceptor\n";
- case NONEXISTENT:
- UNREACHABLE();
- break;
}
return os;
}
holder_(NULL),
transition_(NULL),
cacheable_(true),
- details_(NONE, NONEXISTENT, Representation::None()) {
+ details_(NONE, NORMAL, Representation::None()) {
isolate->set_top_lookup_result(this);
}
case HANDLER:
case INTERCEPTOR:
return true;
- case NONEXISTENT:
- UNREACHABLE();
}
UNREACHABLE();
return true;
void NotFound() {
lookup_type_ = NOT_FOUND;
- details_ = PropertyDetails(NONE, NONEXISTENT, Representation::None());
+ details_ = PropertyDetails(NONE, NORMAL, Representation::None());
holder_ = NULL;
transition_ = NULL;
}
Representation representation() const {
DCHECK(IsFound());
- DCHECK(details_.type() != NONEXISTENT);
return details_.representation();
}
PropertyAttributes GetAttributes() const {
DCHECK(IsFound());
- DCHECK(details_.type() != NONEXISTENT);
return details_.attributes();
}
bool IsReadOnly() const {
DCHECK(IsFound());
- DCHECK(details_.type() != NONEXISTENT);
return details_.IsReadOnly();
}