| Index: src/property-descriptor.cc
|
| diff --git a/src/property-descriptor.cc b/src/property-descriptor.cc
|
| index 442d056a1c081a6ca22b78ccbfcd5ef8dc056dbc..2ecf75a74e593f37587ffb337d81bbe4e8b3dd68 100644
|
| --- a/src/property-descriptor.cc
|
| +++ b/src/property-descriptor.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "src/property-descriptor.h"
|
|
|
| +#include "src/bootstrapper.h"
|
| #include "src/factory.h"
|
| #include "src/isolate-inl.h"
|
| #include "src/lookup.h"
|
| @@ -43,6 +44,9 @@ bool ToPropertyDescriptorFastPath(Isolate* isolate, Handle<Object> obj,
|
| if (map->instance_type() != JS_OBJECT_TYPE) return false;
|
| if (map->is_access_check_needed()) return false;
|
| if (map->prototype() != *isolate->initial_object_prototype()) return false;
|
| + // During bootstrapping, the object_function_prototype_map hasn't been
|
| + // set up yet.
|
| + if (isolate->bootstrapper()->IsActive()) return false;
|
| if (JSObject::cast(map->prototype())->map() !=
|
| isolate->native_context()->object_function_prototype_map()) {
|
| return false;
|
| @@ -210,7 +214,11 @@ bool PropertyDescriptor::ToPropertyDescriptor(Isolate* isolate,
|
| }
|
| } else {
|
| DCHECK(obj->IsJSProxy());
|
| - UNIMPLEMENTED();
|
| + // Having an UNIMPLEMENTED() here would upset ClusterFuzz, because
|
| + // --harmony-proxies makes it possible to reach this branch.
|
| + isolate->Throw(
|
| + *isolate->factory()->NewTypeError(MessageTemplate::kUnsupported));
|
| + return false;
|
| }
|
| // 23. Return desc.
|
| return true;
|
|
|