| Index: src/contexts.h | 
| diff --git a/src/contexts.h b/src/contexts.h | 
| index e810ca5f1f870586cffe3420a506a2ba0ad613e5..e4d49ca161bca65b9283d790b72db513b522bbe2 100644 | 
| --- a/src/contexts.h | 
| +++ b/src/contexts.h | 
| @@ -211,21 +211,8 @@ enum BindingFlags { | 
| js_array_fast_double_elements_map_index)                                   \ | 
| V(JS_ARRAY_FAST_HOLEY_DOUBLE_ELEMENTS_MAP_INDEX, Map,                        \ | 
| js_array_fast_holey_double_elements_map_index)                             \ | 
| -  V(JS_ARRAY_FAST_SMI_ELEMENTS_STRONG_MAP_INDEX, Map,                          \ | 
| -    js_array_fast_smi_elements_strong_map_index)                               \ | 
| -  V(JS_ARRAY_FAST_HOLEY_SMI_ELEMENTS_STRONG_MAP_INDEX, Map,                    \ | 
| -    js_array_fast_holey_smi_elements_strong_map_index)                         \ | 
| -  V(JS_ARRAY_FAST_ELEMENTS_STRONG_MAP_INDEX, Map,                              \ | 
| -    js_array_fast_elements_strong_map_index)                                   \ | 
| -  V(JS_ARRAY_FAST_HOLEY_ELEMENTS_STRONG_MAP_INDEX, Map,                        \ | 
| -    js_array_fast_holey_elements_strong_map_index)                             \ | 
| -  V(JS_ARRAY_FAST_DOUBLE_ELEMENTS_STRONG_MAP_INDEX, Map,                       \ | 
| -    js_array_fast_double_elements_strong_map_index)                            \ | 
| -  V(JS_ARRAY_FAST_HOLEY_DOUBLE_ELEMENTS_STRONG_MAP_INDEX, Map,                 \ | 
| -    js_array_fast_holey_double_elements_strong_map_index)                      \ | 
| V(JS_MAP_FUN_INDEX, JSFunction, js_map_fun)                                  \ | 
| V(JS_MAP_MAP_INDEX, Map, js_map_map)                                         \ | 
| -  V(JS_OBJECT_STRONG_MAP_INDEX, Map, js_object_strong_map)                     \ | 
| V(JS_SET_FUN_INDEX, JSFunction, js_set_fun)                                  \ | 
| V(JS_SET_MAP_INDEX, Map, js_set_map)                                         \ | 
| V(JS_WEAK_MAP_FUN_INDEX, JSFunction, js_weak_map_fun)                        \ | 
| @@ -269,10 +256,6 @@ enum BindingFlags { | 
| V(STRICT_GENERATOR_FUNCTION_MAP_INDEX, Map, strict_generator_function_map)   \ | 
| V(STRING_FUNCTION_INDEX, JSFunction, string_function)                        \ | 
| V(STRING_FUNCTION_PROTOTYPE_MAP_INDEX, Map, string_function_prototype_map)   \ | 
| -  V(STRONG_CONSTRUCTOR_MAP_INDEX, Map, strong_constructor_map)                 \ | 
| -  V(STRONG_FUNCTION_MAP_INDEX, Map, strong_function_map)                       \ | 
| -  V(STRONG_GENERATOR_FUNCTION_MAP_INDEX, Map, strong_generator_function_map)   \ | 
| -  V(STRONG_MAP_CACHE_INDEX, Object, strong_map_cache)                          \ | 
| V(SYMBOL_FUNCTION_INDEX, JSFunction, symbol_function)                        \ | 
| V(UINT16_ARRAY_FUN_INDEX, JSFunction, uint16_array_fun)                      \ | 
| V(UINT16X8_FUNCTION_INDEX, JSFunction, uint16x8_function)                    \ | 
| @@ -416,8 +399,6 @@ class Context: public FixedArray { | 
| NATIVE_CONTEXT_SLOTS, | 
| FIRST_WEAK_SLOT = OPTIMIZED_FUNCTIONS_LIST, | 
| FIRST_JS_ARRAY_MAP_SLOT = JS_ARRAY_FAST_SMI_ELEMENTS_MAP_INDEX, | 
| -    FIRST_JS_ARRAY_STRONG_MAP_SLOT = | 
| -        JS_ARRAY_FAST_SMI_ELEMENTS_STRONG_MAP_INDEX, | 
|  | 
| MIN_CONTEXT_SLOTS = GLOBAL_PROXY_INDEX, | 
| // This slot holds the thrown value in catch contexts. | 
| @@ -539,34 +520,27 @@ class Context: public FixedArray { | 
|  | 
| static int FunctionMapIndex(LanguageMode language_mode, FunctionKind kind) { | 
| if (IsGeneratorFunction(kind)) { | 
| -      return is_strong(language_mode) ? STRONG_GENERATOR_FUNCTION_MAP_INDEX : | 
| -             is_strict(language_mode) ? STRICT_GENERATOR_FUNCTION_MAP_INDEX | 
| +      return is_strict(language_mode) ? STRICT_GENERATOR_FUNCTION_MAP_INDEX | 
| : SLOPPY_GENERATOR_FUNCTION_MAP_INDEX; | 
| } | 
|  | 
| if (IsClassConstructor(kind)) { | 
| // Use strict function map (no own "caller" / "arguments") | 
| -      return is_strong(language_mode) ? STRONG_CONSTRUCTOR_MAP_INDEX | 
| -                                      : STRICT_FUNCTION_MAP_INDEX; | 
| +      return STRICT_FUNCTION_MAP_INDEX; | 
| } | 
|  | 
| if (IsArrowFunction(kind) || IsConciseMethod(kind) || | 
| IsAccessorFunction(kind)) { | 
| -      return is_strong(language_mode) | 
| -                 ? STRONG_FUNCTION_MAP_INDEX | 
| -                 : STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX; | 
| +      return STRICT_FUNCTION_WITHOUT_PROTOTYPE_MAP_INDEX; | 
| } | 
|  | 
| -    return is_strong(language_mode) ? STRONG_FUNCTION_MAP_INDEX : | 
| -           is_strict(language_mode) ? STRICT_FUNCTION_MAP_INDEX | 
| +    return is_strict(language_mode) ? STRICT_FUNCTION_MAP_INDEX | 
| : SLOPPY_FUNCTION_MAP_INDEX; | 
| } | 
|  | 
| -  static int ArrayMapIndex(ElementsKind elements_kind, | 
| -                           Strength strength = Strength::WEAK) { | 
| +  static int ArrayMapIndex(ElementsKind elements_kind) { | 
| DCHECK(IsFastElementsKind(elements_kind)); | 
| -    return elements_kind + (is_strong(strength) ? FIRST_JS_ARRAY_STRONG_MAP_SLOT | 
| -                                                : FIRST_JS_ARRAY_MAP_SLOT); | 
| +    return elements_kind + FIRST_JS_ARRAY_MAP_SLOT; | 
| } | 
|  | 
| static const int kSize = kHeaderSize + NATIVE_CONTEXT_SLOTS * kPointerSize; | 
|  |