| Index: src/parsing/parser.cc
 | 
| diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc
 | 
| index 9fab5d36ae70888dddaa719ad966c599a8267607..91f17dd143b81eb966ddc85c568124afdd81f740 100644
 | 
| --- a/src/parsing/parser.cc
 | 
| +++ b/src/parsing/parser.cc
 | 
| @@ -788,7 +788,6 @@ Parser::Parser(ParseInfo* info)
 | 
|    set_allow_harmony_sloppy(FLAG_harmony_sloppy);
 | 
|    set_allow_harmony_sloppy_function(FLAG_harmony_sloppy_function);
 | 
|    set_allow_harmony_sloppy_let(FLAG_harmony_sloppy_let);
 | 
| -  set_allow_legacy_const(FLAG_legacy_const);
 | 
|    set_allow_harmony_do_expressions(FLAG_harmony_do_expressions);
 | 
|    set_allow_harmony_function_name(FLAG_harmony_function_name);
 | 
|    set_allow_harmony_function_sent(FLAG_harmony_function_sent);
 | 
| @@ -1826,15 +1825,6 @@ Statement* Parser::ParseSubStatement(ZoneList<const AstRawString*>* labels,
 | 
|      case Token::VAR:
 | 
|        return ParseVariableStatement(kStatement, NULL, ok);
 | 
|  
 | 
| -    case Token::CONST:
 | 
| -      // In ES6 CONST is not allowed as a Statement, only as a
 | 
| -      // LexicalDeclaration, however we continue to allow it in sloppy mode for
 | 
| -      // backwards compatibility.
 | 
| -      if (is_sloppy(language_mode()) && allow_legacy_const()) {
 | 
| -        return ParseVariableStatement(kStatement, NULL, ok);
 | 
| -      }
 | 
| -
 | 
| -    // Fall through.
 | 
|      default:
 | 
|        return ParseExpressionOrLabelledStatement(labels, ok);
 | 
|    }
 | 
| @@ -1918,13 +1908,6 @@ Variable* Parser::Declare(Declaration* declaration,
 | 
|        }
 | 
|        var = declaration_scope->DeclareLocal(
 | 
|            name, mode, declaration->initialization(), kind, kNotAssigned);
 | 
| -    } else if ((mode == CONST_LEGACY || var->mode() == CONST_LEGACY) &&
 | 
| -               !declaration_scope->is_script_scope()) {
 | 
| -      // Duplicate legacy const definitions throw at runtime.
 | 
| -      DCHECK(is_sloppy(language_mode()));
 | 
| -      Expression* expression = NewThrowSyntaxError(
 | 
| -          MessageTemplate::kVarRedeclaration, name, declaration->position());
 | 
| -      declaration_scope->SetIllegalRedeclaration(expression);
 | 
|      } else if ((IsLexicalVariableMode(mode) ||
 | 
|                  IsLexicalVariableMode(var->mode())) &&
 | 
|                 // Lexical bindings may appear for some parameters in sloppy
 | 
| @@ -2297,14 +2280,9 @@ Block* Parser::ParseVariableDeclarations(
 | 
|      Consume(Token::VAR);
 | 
|    } else if (peek() == Token::CONST && allow_const()) {
 | 
|      Consume(Token::CONST);
 | 
| -    if (is_sloppy(language_mode()) && allow_legacy_const()) {
 | 
| -      parsing_result->descriptor.mode = CONST_LEGACY;
 | 
| -      ++use_counts_[v8::Isolate::kLegacyConst];
 | 
| -    } else {
 | 
| -      DCHECK(is_strict(language_mode()) || allow_harmony_sloppy());
 | 
| -      DCHECK(var_context != kStatement);
 | 
| -      parsing_result->descriptor.mode = CONST;
 | 
| -    }
 | 
| +    DCHECK(is_strict(language_mode()) || allow_harmony_sloppy());
 | 
| +    DCHECK(var_context != kStatement);
 | 
| +    parsing_result->descriptor.mode = CONST;
 | 
|    } else if (peek() == Token::LET && allow_let()) {
 | 
|      Consume(Token::LET);
 | 
|      DCHECK(var_context != kStatement);
 | 
| @@ -4686,7 +4664,6 @@ PreParser::PreParseResult Parser::ParseLazyFunctionBodyWithPreParser(
 | 
|      reusable_preparser_->set_allow_lazy(true);
 | 
|  #define SET_ALLOW(name) reusable_preparser_->set_allow_##name(allow_##name());
 | 
|      SET_ALLOW(natives);
 | 
| -    SET_ALLOW(legacy_const);
 | 
|      SET_ALLOW(harmony_sloppy);
 | 
|      SET_ALLOW(harmony_sloppy_function);
 | 
|      SET_ALLOW(harmony_sloppy_let);
 | 
| 
 |