| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index 16696e2c98a1c49bde521d55c068a57a96ba9428..c0a5da77bcb3ca88f95a8b399db51aa296951d95 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -432,6 +432,17 @@ class StackTraceHelper {
|
| bool encountered_strict_function_;
|
| };
|
|
|
| +namespace {
|
| +
|
| +// TODO(jgruber): Fix all cases in which frames give us a hole value (e.g. the
|
| +// receiver in RegExp constructor frames.
|
| +Handle<Object> TheHoleToUndefined(Isolate* isolate, Handle<Object> in) {
|
| + return (in->IsTheHole(isolate))
|
| + ? Handle<Object>::cast(isolate->factory()->undefined_value())
|
| + : in;
|
| +}
|
| +}
|
| +
|
| Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object,
|
| FrameSkipMode mode,
|
| Handle<Object> caller) {
|
| @@ -491,7 +502,7 @@ Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object,
|
| Handle<Smi> offset(Smi::FromInt(frames[i].code_offset()), this);
|
|
|
| elements = MaybeGrow(this, elements, cursor, cursor + 4);
|
| - elements->set(cursor++, *recv);
|
| + elements->set(cursor++, *TheHoleToUndefined(this, recv));
|
| elements->set(cursor++, *fun);
|
| elements->set(cursor++, *abstract_code);
|
| elements->set(cursor++, *offset);
|
| @@ -966,7 +977,8 @@ Object* Isolate::StackOverflow() {
|
| MessageTemplate::TemplateString(MessageTemplate::kStackOverflow));
|
| Handle<Object> exception;
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| - this, exception, ConstructError(this, fun, fun, msg, SKIP_NONE, true));
|
| + this, exception,
|
| + ErrorUtils::Construct(this, fun, fun, msg, SKIP_NONE, true));
|
|
|
| Throw(*exception, nullptr);
|
|
|
| @@ -1923,6 +1935,7 @@ Isolate::Isolate(bool enable_serializer)
|
| deoptimizer_data_(NULL),
|
| deoptimizer_lazy_throw_(false),
|
| materialized_object_store_(NULL),
|
| + formatting_stack_trace_(false),
|
| capture_stack_trace_for_uncaught_exceptions_(false),
|
| stack_trace_for_uncaught_exceptions_frame_limit_(0),
|
| stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview),
|
|
|