| Index: src/runtime/runtime-debug.cc
|
| diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc
|
| index d94c75fa0e135cf11f4d9fe1cd270124eeb891d5..ab013037689c092fc9bd2a10cdb5b55e987b5e58 100644
|
| --- a/src/runtime/runtime-debug.cc
|
| +++ b/src/runtime/runtime-debug.cc
|
| @@ -702,25 +702,7 @@ RUNTIME_FUNCTION(Runtime_GetFrameDetails) {
|
| // Add the receiver (same as in function frame).
|
| Handle<Object> receiver(it.frame()->receiver(), isolate);
|
| DCHECK(!function->shared()->IsBuiltin());
|
| - if (!receiver->IsJSObject() && is_sloppy(shared->language_mode())) {
|
| - // If the receiver is not a JSObject and the function is not a builtin or
|
| - // strict-mode we have hit an optimization where a value object is not
|
| - // converted into a wrapped JS objects. To hide this optimization from the
|
| - // debugger, we wrap the receiver by creating correct wrapper object based
|
| - // on the function's native context.
|
| - // See ECMA-262 6.0, 9.2.1.2, 6 b iii.
|
| - if (receiver->IsUndefined()) {
|
| - receiver = handle(function->global_proxy());
|
| - } else {
|
| - Context* context = function->context();
|
| - Handle<Context> native_context(Context::cast(context->native_context()));
|
| - if (!Object::ToObject(isolate, receiver, native_context)
|
| - .ToHandle(&receiver)) {
|
| - // This only happens if the receiver is forcibly set in %_CallFunction.
|
| - return heap->undefined_value();
|
| - }
|
| - }
|
| - }
|
| + DCHECK_IMPLIES(is_sloppy(shared->language_mode()), receiver->IsJSReceiver());
|
| details->set(kFrameDetailsReceiverIndex, *receiver);
|
|
|
| DCHECK_EQ(details_size, details_index);
|
|
|