| Index: src/runtime.cc | 
| diff --git a/src/runtime.cc b/src/runtime.cc | 
| index 60416f7147a338462df317445b3b5896b153ed65..2787cd2edb30813538f2d2d5da3acc66622b8fb9 100644 | 
| --- a/src/runtime.cc | 
| +++ b/src/runtime.cc | 
| @@ -158,7 +158,7 @@ namespace internal { | 
| #define CONVERT_STRICT_MODE_ARG_CHECKED(name, index)                 \ | 
| RUNTIME_ASSERT(args[index]->IsSmi());                              \ | 
| RUNTIME_ASSERT(args.smi_at(index) == kStrictMode ||                \ | 
| -                 args.smi_at(index) == kNonStrictMode);              \ | 
| +                 args.smi_at(index) == kSloppyMode);                 \ | 
| StrictModeFlag name =                                              \ | 
| static_cast<StrictModeFlag>(args.smi_at(index)); | 
|  | 
| @@ -167,7 +167,7 @@ namespace internal { | 
| // and store it in a LanguageMode variable with the given name. | 
| #define CONVERT_LANGUAGE_MODE_ARG(name, index)                       \ | 
| ASSERT(args[index]->IsSmi());                                      \ | 
| -  ASSERT(args.smi_at(index) == CLASSIC_MODE ||                       \ | 
| +  ASSERT(args.smi_at(index) == SLOPPY_MODE ||                        \ | 
| args.smi_at(index) == STRICT_MODE ||                        \ | 
| args.smi_at(index) == EXTENDED_MODE);                       \ | 
| LanguageMode name =                                                \ | 
| @@ -298,7 +298,7 @@ static Handle<Object> CreateObjectLiteralBoilerplate( | 
| if (Handle<String>::cast(key)->AsArrayIndex(&element_index)) { | 
| // Array index as string (uint32). | 
| result = JSObject::SetOwnElement( | 
| -            boilerplate, element_index, value, kNonStrictMode); | 
| +            boilerplate, element_index, value, kSloppyMode); | 
| } else { | 
| Handle<String> name(String::cast(*key)); | 
| ASSERT(!name->AsArrayIndex(&element_index)); | 
| @@ -309,7 +309,7 @@ static Handle<Object> CreateObjectLiteralBoilerplate( | 
| } else if (key->ToArrayIndex(&element_index)) { | 
| // Array index (uint32). | 
| result = JSObject::SetOwnElement( | 
| -          boilerplate, element_index, value, kNonStrictMode); | 
| +          boilerplate, element_index, value, kSloppyMode); | 
| } else { | 
| // Non-uint32 number. | 
| ASSERT(key->IsNumber()); | 
| @@ -2120,7 +2120,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareGlobals) { | 
| RETURN_IF_EMPTY_HANDLE(isolate, | 
| JSObject::SetProperty( | 
| global, name, value, static_cast<PropertyAttributes>(attr), | 
| -              language_mode == CLASSIC_MODE ? kNonStrictMode : kStrictMode)); | 
| +              language_mode == SLOPPY_MODE ? kSloppyMode : kStrictMode)); | 
| } | 
| } | 
|  | 
| @@ -2177,7 +2177,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareContextSlot) { | 
| RETURN_IF_EMPTY_HANDLE( | 
| isolate, | 
| JSReceiver::SetProperty(object, name, initial_value, mode, | 
| -                                    kNonStrictMode)); | 
| +                                    kSloppyMode)); | 
| } | 
| } | 
|  | 
| @@ -2223,7 +2223,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DeclareContextSlot) { | 
| JSObject::SetLocalPropertyIgnoreAttributes(object, name, value, mode)); | 
| } else { | 
| RETURN_IF_EMPTY_HANDLE(isolate, | 
| -         JSReceiver::SetProperty(object, name, value, mode, kNonStrictMode)); | 
| +         JSReceiver::SetProperty(object, name, value, mode, kSloppyMode)); | 
| } | 
| } | 
|  | 
| @@ -2245,8 +2245,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeVarGlobal) { | 
| CONVERT_ARG_HANDLE_CHECKED(String, name, 0); | 
| RUNTIME_ASSERT(args[1]->IsSmi()); | 
| CONVERT_LANGUAGE_MODE_ARG(language_mode, 1); | 
| -  StrictModeFlag strict_mode_flag = (language_mode == CLASSIC_MODE) | 
| -      ? kNonStrictMode : kStrictMode; | 
| +  StrictModeFlag strict_mode_flag = (language_mode == SLOPPY_MODE) | 
| +      ? kSloppyMode : kStrictMode; | 
|  | 
| // According to ECMA-262, section 12.2, page 62, the property must | 
| // not be deletable. | 
| @@ -2334,11 +2334,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstGlobal) { | 
| // BUG 1213575: Handle the case where we have to set a read-only | 
| // property through an interceptor and only do it if it's | 
| // uninitialized, e.g. the hole. Nirk... | 
| -    // Passing non-strict mode because the property is writable. | 
| +    // Passing sloppy mode because the property is writable. | 
| RETURN_IF_EMPTY_HANDLE( | 
| isolate, | 
| -        JSReceiver::SetProperty(global, name, value, attributes, | 
| -                                kNonStrictMode)); | 
| +        JSReceiver::SetProperty(global, name, value, attributes, kSloppyMode)); | 
| return *value; | 
| } | 
|  | 
| @@ -2408,7 +2407,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstContextSlot) { | 
| // Strict mode not needed (const disallowed in strict mode). | 
| RETURN_IF_EMPTY_HANDLE( | 
| isolate, | 
| -        JSReceiver::SetProperty(global, name, value, NONE, kNonStrictMode)); | 
| +        JSReceiver::SetProperty(global, name, value, NONE, kSloppyMode)); | 
| return *value; | 
| } | 
|  | 
| @@ -2460,7 +2459,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_InitializeConstContextSlot) { | 
| RETURN_IF_EMPTY_HANDLE( | 
| isolate, | 
| JSReceiver::SetProperty(object, name, value, attributes, | 
| -                                  kNonStrictMode)); | 
| +                                  kSloppyMode)); | 
| } | 
| } | 
|  | 
| @@ -2643,7 +2642,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SpecialArrayFunctions) { | 
| } | 
|  | 
|  | 
| -RUNTIME_FUNCTION(MaybeObject*, Runtime_IsClassicModeFunction) { | 
| +RUNTIME_FUNCTION(MaybeObject*, Runtime_IsSloppyModeFunction) { | 
| SealHandleScope shs(isolate); | 
| ASSERT(args.length() == 1); | 
| CONVERT_ARG_CHECKED(JSReceiver, callable, 0); | 
| @@ -2657,7 +2656,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsClassicModeFunction) { | 
| } | 
| JSFunction* function = JSFunction::cast(callable); | 
| SharedFunctionInfo* shared = function->shared(); | 
| -  return isolate->heap()->ToBoolean(shared->is_classic_mode()); | 
| +  return isolate->heap()->ToBoolean(shared->is_sloppy_mode()); | 
| } | 
|  | 
|  | 
| @@ -2677,7 +2676,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetDefaultReceiver) { | 
| JSFunction* function = JSFunction::cast(callable); | 
|  | 
| SharedFunctionInfo* shared = function->shared(); | 
| -  if (shared->native() || !shared->is_classic_mode()) { | 
| +  if (shared->native() || !shared->is_sloppy_mode()) { | 
| return isolate->heap()->undefined_value(); | 
| } | 
| // Returns undefined for strict or native functions, or | 
| @@ -5273,7 +5272,7 @@ Handle<Object> Runtime::ForceSetObjectProperty(Isolate* isolate, | 
| return value; | 
| } | 
|  | 
| -    return JSObject::SetElement(js_object, index, value, attr, kNonStrictMode, | 
| +    return JSObject::SetElement(js_object, index, value, attr, kSloppyMode, | 
| false, | 
| DEFINE_PROPERTY); | 
| } | 
| @@ -5281,7 +5280,7 @@ Handle<Object> Runtime::ForceSetObjectProperty(Isolate* isolate, | 
| if (key->IsName()) { | 
| Handle<Name> name = Handle<Name>::cast(key); | 
| if (name->AsArrayIndex(&index)) { | 
| -      return JSObject::SetElement(js_object, index, value, attr, kNonStrictMode, | 
| +      return JSObject::SetElement(js_object, index, value, attr, kSloppyMode, | 
| false, | 
| DEFINE_PROPERTY); | 
| } else { | 
| @@ -5299,7 +5298,7 @@ Handle<Object> Runtime::ForceSetObjectProperty(Isolate* isolate, | 
| Handle<String> name = Handle<String>::cast(converted); | 
|  | 
| if (name->AsArrayIndex(&index)) { | 
| -    return JSObject::SetElement(js_object, index, value, attr, kNonStrictMode, | 
| +    return JSObject::SetElement(js_object, index, value, attr, kSloppyMode, | 
| false, | 
| DEFINE_PROPERTY); | 
| } else { | 
| @@ -5366,7 +5365,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_SetProperty) { | 
| PropertyAttributes attributes = | 
| static_cast<PropertyAttributes>(unchecked_attributes); | 
|  | 
| -  StrictModeFlag strict_mode = kNonStrictMode; | 
| +  StrictModeFlag strict_mode = kSloppyMode; | 
| if (args.length() == 5) { | 
| CONVERT_STRICT_MODE_ARG_CHECKED(strict_mode_flag, 4); | 
| strict_mode = strict_mode_flag; | 
| @@ -5990,7 +5989,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetArgumentsProperty) { | 
| if (key->Equals(isolate->heap()->length_string())) return Smi::FromInt(n); | 
| if (key->Equals(isolate->heap()->callee_string())) { | 
| JSFunction* function = frame->function(); | 
| -    if (!function->shared()->is_classic_mode()) { | 
| +    if (!function->shared()->is_sloppy_mode()) { | 
| return isolate->Throw(*isolate->factory()->NewTypeError( | 
| "strict_arguments_callee", HandleVector<Object>(NULL, 0))); | 
| } | 
| @@ -7975,11 +7974,11 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_NewArgumentsFast) { | 
| Handle<FixedArray> parameter_map = | 
| isolate->factory()->NewFixedArray(mapped_count + 2, NOT_TENURED); | 
| parameter_map->set_map( | 
| -          isolate->heap()->non_strict_arguments_elements_map()); | 
| +          isolate->heap()->sloppy_arguments_elements_map()); | 
|  | 
| Handle<Map> old_map(result->map()); | 
| Handle<Map> new_map = isolate->factory()->CopyMap(old_map); | 
| -      new_map->set_elements_kind(NON_STRICT_ARGUMENTS_ELEMENTS); | 
| +      new_map->set_elements_kind(SLOPPY_ARGUMENTS_ELEMENTS); | 
|  | 
| result->set_map(*new_map); | 
| result->set_elements(*parameter_map); | 
| @@ -9348,8 +9347,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) { | 
| CONVERT_ARG_HANDLE_CHECKED(Context, context, 1); | 
| CONVERT_ARG_HANDLE_CHECKED(String, name, 2); | 
| CONVERT_LANGUAGE_MODE_ARG(language_mode, 3); | 
| -  StrictModeFlag strict_mode = (language_mode == CLASSIC_MODE) | 
| -      ? kNonStrictMode : kStrictMode; | 
| +  StrictModeFlag strict_mode = (language_mode == SLOPPY_MODE) | 
| +      ? kSloppyMode : kStrictMode; | 
|  | 
| int index; | 
| PropertyAttributes attributes; | 
| @@ -9405,7 +9404,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreContextSlot) { | 
| "not_defined", HandleVector(&name, 1)); | 
| return isolate->Throw(*error); | 
| } | 
| -    // In non-strict mode, the property is added to the global object. | 
| +    // In sloppy mode, the property is added to the global object. | 
| attributes = NONE; | 
| object = Handle<JSReceiver>(isolate->context()->global_object()); | 
| } | 
| @@ -9755,7 +9754,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_CompileString) { | 
| ParseRestriction restriction = function_literal_only | 
| ? ONLY_SINGLE_FUNCTION_LITERAL : NO_PARSE_RESTRICTION; | 
| Handle<JSFunction> fun = Compiler::GetFunctionFromEval( | 
| -      source, context, CLASSIC_MODE, restriction, RelocInfo::kNoPosition); | 
| +      source, context, SLOPPY_MODE, restriction, RelocInfo::kNoPosition); | 
| RETURN_IF_EMPTY_HANDLE(isolate, fun); | 
| return *fun; | 
| } | 
| @@ -9877,7 +9876,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_PushIfAbsent) { | 
| // Strict not needed. Used for cycle detection in Array join implementation. | 
| RETURN_IF_EMPTY_HANDLE(isolate, JSObject::SetFastElement(array, length, | 
| element, | 
| -                                                           kNonStrictMode, | 
| +                                                           kSloppyMode, | 
| true)); | 
| return isolate->heap()->true_value(); | 
| } | 
| @@ -10062,7 +10061,7 @@ static uint32_t EstimateElementCount(Handle<JSArray> array) { | 
| } | 
| break; | 
| } | 
| -    case NON_STRICT_ARGUMENTS_ELEMENTS: | 
| +    case SLOPPY_ARGUMENTS_ELEMENTS: | 
| #define TYPED_ARRAY_CASE(Type, type, TYPE, ctype, size)                      \ | 
| case EXTERNAL_##TYPE##_ELEMENTS:                                         \ | 
| case TYPE##_ELEMENTS:                                                    \ | 
| @@ -11349,7 +11348,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetFrameDetails) { | 
| // THE FRAME ITERATOR TO WRAP THE RECEIVER. | 
| Handle<Object> receiver(it.frame()->receiver(), isolate); | 
| if (!receiver->IsJSObject() && | 
| -      shared->is_classic_mode() && | 
| +      shared->is_sloppy_mode() && | 
| !function->IsBuiltin()) { | 
| // If the receiver is not a JSObject and the function is not a | 
| // builtin or strict-mode we have hit an optimization where a | 
| @@ -11402,7 +11401,7 @@ static Handle<JSObject> MaterializeStackLocalsWithFrameInspector( | 
| RETURN_IF_EMPTY_HANDLE_VALUE( | 
| isolate, | 
| Runtime::SetObjectProperty( | 
| -            isolate, target, name, value, NONE, kNonStrictMode), | 
| +            isolate, target, name, value, NONE, kSloppyMode), | 
| Handle<JSObject>()); | 
| } | 
|  | 
| @@ -11415,7 +11414,7 @@ static Handle<JSObject> MaterializeStackLocalsWithFrameInspector( | 
| RETURN_IF_EMPTY_HANDLE_VALUE( | 
| isolate, | 
| Runtime::SetObjectProperty( | 
| -            isolate, target, name, value, NONE, kNonStrictMode), | 
| +            isolate, target, name, value, NONE, kSloppyMode), | 
| Handle<JSObject>()); | 
| } | 
|  | 
| @@ -11498,7 +11497,7 @@ static Handle<JSObject> MaterializeLocalContext(Isolate* isolate, | 
| key, | 
| GetProperty(isolate, ext, key), | 
| NONE, | 
| -                                       kNonStrictMode), | 
| +                                       kSloppyMode), | 
| Handle<JSObject>()); | 
| } | 
| } | 
| @@ -11600,7 +11599,7 @@ static bool SetLocalVariableValue(Isolate* isolate, | 
| // property value. | 
| Runtime::SetObjectProperty(isolate, ext, variable_name, new_value, | 
| NONE, | 
| -                                     kNonStrictMode); | 
| +                                     kSloppyMode); | 
| return true; | 
| } | 
| } | 
| @@ -11649,7 +11648,7 @@ static Handle<JSObject> MaterializeClosure(Isolate* isolate, | 
| Runtime::SetObjectProperty(isolate, closure_scope, key, | 
| GetProperty(isolate, ext, key), | 
| NONE, | 
| -                                     kNonStrictMode), | 
| +                                     kSloppyMode), | 
| Handle<JSObject>()); | 
| } | 
| } | 
| @@ -11682,7 +11681,7 @@ static bool SetClosureVariableValue(Isolate* isolate, | 
| // We don't expect this to do anything except replacing property value. | 
| Runtime::SetObjectProperty(isolate, ext, variable_name, new_value, | 
| NONE, | 
| -                                 kNonStrictMode); | 
| +                                 kSloppyMode); | 
| return true; | 
| } | 
| } | 
| @@ -11705,7 +11704,7 @@ static Handle<JSObject> MaterializeCatchScope(Isolate* isolate, | 
| isolate, | 
| Runtime::SetObjectProperty(isolate, catch_scope, name, thrown_object, | 
| NONE, | 
| -                                 kNonStrictMode), | 
| +                                 kSloppyMode), | 
| Handle<JSObject>()); | 
| return catch_scope; | 
| } | 
| @@ -12218,7 +12217,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetStepInPositions) { | 
| Smi* position_value = Smi::FromInt(break_location_iterator.position()); | 
| JSObject::SetElement(array, len, | 
| Handle<Object>(position_value, isolate), | 
| -            NONE, kNonStrictMode); | 
| +            NONE, kSloppyMode); | 
| len++; | 
| } | 
| } | 
| @@ -12727,7 +12726,7 @@ static Handle<JSObject> MaterializeArgumentsObject( | 
| isolate->factory()->arguments_string(), | 
| arguments, | 
| ::NONE, | 
| -                             kNonStrictMode); | 
| +                             kSloppyMode); | 
| return target; | 
| } | 
|  | 
| @@ -12747,7 +12746,7 @@ static MaybeObject* DebugEvaluate(Isolate* isolate, | 
| Handle<JSFunction> eval_fun = | 
| Compiler::GetFunctionFromEval(source, | 
| context, | 
| -                                    CLASSIC_MODE, | 
| +                                    SLOPPY_MODE, | 
| NO_PARSE_RESTRICTION, | 
| RelocInfo::kNoPosition); | 
| RETURN_IF_EMPTY_HANDLE(isolate, eval_fun); | 
| @@ -14595,7 +14594,7 @@ ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastSmiOrObjectElements) | 
| ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastDoubleElements) | 
| ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastHoleyElements) | 
| ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(DictionaryElements) | 
| -ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(NonStrictArgumentsElements) | 
| +ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(SloppyArgumentsElements) | 
| ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(ExternalArrayElements) | 
| // Properties test sitting with elements tests - not fooling anyone. | 
| ELEMENTS_KIND_CHECK_RUNTIME_FUNCTION(FastProperties) | 
|  |