| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 50935b26eca57d3040d1b80021b88a957f55557b..ad58d84814e4a76026de383327d04153a3287bea 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -9151,15 +9151,22 @@
|
| // using |strict_function_transition_symbol| as a key.
|
| if (language_mode == SLOPPY) return initial_map;
|
| Isolate* isolate = initial_map->GetIsolate();
|
| + Factory* factory = isolate->factory();
|
| + Handle<Symbol> transition_symbol;
|
|
|
| int map_index = Context::FunctionMapIndex(language_mode, kind);
|
| Handle<Map> function_map(
|
| Map::cast(isolate->native_context()->get(map_index)));
|
|
|
| - STATIC_ASSERT(LANGUAGE_END == 2);
|
| - DCHECK_EQ(STRICT, language_mode);
|
| - Handle<Symbol> transition_symbol =
|
| - isolate->factory()->strict_function_transition_symbol();
|
| + STATIC_ASSERT(LANGUAGE_END == 3);
|
| + switch (language_mode) {
|
| + case STRICT:
|
| + transition_symbol = factory->strict_function_transition_symbol();
|
| + break;
|
| + default:
|
| + UNREACHABLE();
|
| + break;
|
| + }
|
| Map* maybe_transition =
|
| TransitionArray::SearchSpecial(*initial_map, *transition_symbol);
|
| if (maybe_transition != NULL) {
|
| @@ -16611,7 +16618,7 @@
|
| // collection.
|
| Script* script(Script::cast(shared->script()));
|
| hash ^= String::cast(script->source())->Hash();
|
| - STATIC_ASSERT(LANGUAGE_END == 2);
|
| + STATIC_ASSERT(LANGUAGE_END == 3);
|
| if (is_strict(language_mode)) hash ^= 0x8000;
|
| hash += scope_position;
|
| }
|
|
|