Ensure a type-error is thrown when trying to assign to a readonly property on the global scope.
Review URL: https://chromiumcodereview.appspot.com/11953056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
bed569b548
commit
56adca9cc9
@ -1463,7 +1463,9 @@ MaybeObject* StoreIC::Store(State state,
|
|||||||
if (FLAG_use_ic) {
|
if (FLAG_use_ic) {
|
||||||
UpdateStoreCaches(&lookup, state, strict_mode, receiver, name, value);
|
UpdateStoreCaches(&lookup, state, strict_mode, receiver, name, value);
|
||||||
}
|
}
|
||||||
} else if (strict_mode == kStrictMode && IsUndeclaredGlobal(object)) {
|
} else if (strict_mode == kStrictMode &&
|
||||||
|
!(lookup.IsProperty() && lookup.IsReadOnly()) &&
|
||||||
|
IsUndeclaredGlobal(object)) {
|
||||||
// Strict mode doesn't allow setting non-existent global property.
|
// Strict mode doesn't allow setting non-existent global property.
|
||||||
return ReferenceError("not_defined", name);
|
return ReferenceError("not_defined", name);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user