| Index: src/compiler.cc | 
| diff --git a/src/compiler.cc b/src/compiler.cc | 
| index 544d1904f95ec3f6a1b6a5ba2159cf98db34793b..3f5f009e911a7635294fc3f377de34e6eccf8011 100644 | 
| --- a/src/compiler.cc | 
| +++ b/src/compiler.cc | 
| @@ -480,20 +480,22 @@ Handle<SharedFunctionInfo> Compiler::Compile(Handle<String> source, | 
| // that would be compiled lazily anyway, so we skip the preparse step | 
| // in that case too. | 
| ScriptDataImpl* pre_data = input_pre_data; | 
| -    bool harmony_scoping = natives != NATIVES_CODE && FLAG_harmony_scoping; | 
| +    int flags = kNoParsingFlags; | 
| +    if ((natives == NATIVES_CODE) || FLAG_allow_natives_syntax) { | 
| +      flags |= kAllowNativesSyntax; | 
| +    } | 
| +    if (natives != NATIVES_CODE && FLAG_harmony_scoping) { | 
| +      flags |= kHarmonyScoping; | 
| +    } | 
| if (pre_data == NULL | 
| && source_length >= FLAG_min_preparse_length) { | 
| if (source->IsExternalTwoByteString()) { | 
| ExternalTwoByteStringUC16CharacterStream stream( | 
| Handle<ExternalTwoByteString>::cast(source), 0, source->length()); | 
| -        pre_data = ParserApi::PartialPreParse(&stream, | 
| -                                              extension, | 
| -                                              harmony_scoping); | 
| +        pre_data = ParserApi::PartialPreParse(&stream, extension, flags); | 
| } else { | 
| GenericStringUC16CharacterStream stream(source, 0, source->length()); | 
| -        pre_data = ParserApi::PartialPreParse(&stream, | 
| -                                              extension, | 
| -                                              harmony_scoping); | 
| +        pre_data = ParserApi::PartialPreParse(&stream, extension, flags); | 
| } | 
| } | 
|  | 
|  |