| Index: src/parser.cc | 
| diff --git a/src/parser.cc b/src/parser.cc | 
| index a4735520366b9f91e98dcc592fc6929fd7de72a7..f16473c8ae6798b9bc29e6f14a3f36bb5b6b879a 100644 | 
| --- a/src/parser.cc | 
| +++ b/src/parser.cc | 
| @@ -4256,7 +4256,26 @@ void Parser::ThrowPendingError() { | 
| pending_error_is_reference_error_ | 
| ? factory->NewReferenceError(pending_error_message_, array) | 
| : factory->NewSyntaxError(pending_error_message_, array); | 
| -    if (maybe_error.ToHandle(&error)) isolate()->Throw(*error, &location); | 
| + | 
| +    if (maybe_error.ToHandle(&error)) { | 
| +      Handle<JSObject> jserror = Handle<JSObject>::cast(error); | 
| + | 
| +      Handle<Name> key_start_pos = factory->error_start_pos_symbol(); | 
| +      JSObject::SetProperty( | 
| +          jserror, key_start_pos, | 
| +          handle(Smi::FromInt(location.start_pos()), isolate()), | 
| +          SLOPPY).Check(); | 
| + | 
| +      Handle<Name> key_end_pos = factory->error_end_pos_symbol(); | 
| +      JSObject::SetProperty(jserror, key_end_pos, | 
| +                            handle(Smi::FromInt(location.end_pos()), isolate()), | 
| +                            SLOPPY).Check(); | 
| + | 
| +      Handle<Name> key_script = factory->error_script_symbol(); | 
| +      JSObject::SetProperty(jserror, key_script, script(), SLOPPY).Check(); | 
| + | 
| +      isolate()->Throw(*error, &location); | 
| +    } | 
| } | 
| } | 
|  | 
|  |