| Index: src/isolate.cc
|
| ===================================================================
|
| --- src/isolate.cc (revision 9808)
|
| +++ src/isolate.cc (working copy)
|
| @@ -98,6 +98,7 @@
|
| failed_access_check_callback_ = NULL;
|
| save_context_ = NULL;
|
| catcher_ = NULL;
|
| + top_lookup_result_ = NULL;
|
|
|
| // These members are re-initialized later after deserialization
|
| // is complete.
|
| @@ -480,6 +481,9 @@
|
| for (StackFrameIterator it(this, thread); !it.done(); it.Advance()) {
|
| it.frame()->Iterate(v);
|
| }
|
| +
|
| + // Iterate pointers in live lookup results.
|
| + thread->top_lookup_result_->Iterate(v);
|
| }
|
|
|
|
|
| @@ -1068,6 +1072,16 @@
|
| message_obj = MessageHandler::MakeMessageObject("uncaught_exception",
|
| location, HandleVector<Object>(&exception_handle, 1), stack_trace,
|
| stack_trace_object);
|
| + } else if (location != NULL && !location->script().is_null()) {
|
| + // We are bootstrapping and caught an error where the location is set
|
| + // and we have a script for the location.
|
| + // In this case we could have an extension (or an internal error
|
| + // somewhere) and we print out the line number at which the error occured
|
| + // to the console for easier debugging.
|
| + int line_number = GetScriptLineNumberSafe(location->script(),
|
| + location->start_pos());
|
| + OS::PrintError("Extension or internal compilation error at line %d.\n",
|
| + line_number);
|
| }
|
| }
|
|
|
|
|