<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[207023] trunk/Source/JavaScriptCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/207023">207023</a></dd>
<dt>Author</dt> <dd>mark.lam@apple.com</dd>
<dt>Date</dt> <dd>2016-10-10 14:13:26 -0700 (Mon, 10 Oct 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename the StrictModeReadonlyPropertyWriteError string to ReadonlyPropertyWriteError.
https://bugs.webkit.org/show_bug.cgi?id=163239
Reviewed by Filip Pizlo.
This string is also used for reporting the same error in cases which have nothing
to do with strict mode.
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/GetterSetter.cpp:
(JSC::callSetter):
* runtime/JSArray.cpp:
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::pop):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
* runtime/JSFunction.cpp:
(JSC::JSFunction::put):
* runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::put):
* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::put):
(JSC::JSModuleNamespaceObject::putByIndex):
* runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
* runtime/JSObject.h:
* runtime/JSObjectInlines.h:
(JSC::JSObject::putInline):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTablePut):
* runtime/Lookup.h:
(JSC::putEntry):
* runtime/RegExpObject.h:
(JSC::RegExpObject::setLastIndex):
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):
* runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp">trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp">trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeGetterSettercpp">trunk/Source/JavaScriptCore/runtime/GetterSetter.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSArraycpp">trunk/Source/JavaScriptCore/runtime/JSArray.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSCJSValuecpp">trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSFunctioncpp">trunk/Source/JavaScriptCore/runtime/JSFunction.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSModuleEnvironmentcpp">trunk/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSModuleNamespaceObjectcpp">trunk/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectcpp">trunk/Source/JavaScriptCore/runtime/JSObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjecth">trunk/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectInlinesh">trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth">trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeLookuph">trunk/Source/JavaScriptCore/runtime/Lookup.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpObjecth">trunk/Source/JavaScriptCore/runtime/RegExpObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeSparseArrayValueMapcpp">trunk/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStringObjectcpp">trunk/Source/JavaScriptCore/runtime/StringObject.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2016-10-10 Mark Lam <mark.lam@apple.com>
+
+ Rename the StrictModeReadonlyPropertyWriteError string to ReadonlyPropertyWriteError.
+ https://bugs.webkit.org/show_bug.cgi?id=163239
+
+ Reviewed by Filip Pizlo.
+
+ This string is also used for reporting the same error in cases which have nothing
+ to do with strict mode.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):
+ * runtime/CommonSlowPaths.cpp:
+ (JSC::SLOW_PATH_DECL):
+ * runtime/GetterSetter.cpp:
+ (JSC::callSetter):
+ * runtime/JSArray.cpp:
+ (JSC::JSArray::setLengthWithArrayStorage):
+ (JSC::JSArray::pop):
+ * runtime/JSCJSValue.cpp:
+ (JSC::JSValue::putToPrimitive):
+ (JSC::JSValue::putToPrimitiveByIndex):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::put):
+ * runtime/JSModuleEnvironment.cpp:
+ (JSC::JSModuleEnvironment::put):
+ * runtime/JSModuleNamespaceObject.cpp:
+ (JSC::JSModuleNamespaceObject::put):
+ (JSC::JSModuleNamespaceObject::putByIndex):
+ * runtime/JSObject.cpp:
+ (JSC::ordinarySetSlow):
+ (JSC::JSObject::putInlineSlow):
+ (JSC::JSObject::setPrototypeWithCycleCheck):
+ (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
+ (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
+ * runtime/JSObject.h:
+ * runtime/JSObjectInlines.h:
+ (JSC::JSObject::putInline):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::symbolTablePut):
+ * runtime/Lookup.h:
+ (JSC::putEntry):
+ * runtime/RegExpObject.h:
+ (JSC::RegExpObject::setLastIndex):
+ * runtime/SparseArrayValueMap.cpp:
+ (JSC::SparseArrayValueMap::putEntry):
+ (JSC::SparseArrayEntry::put):
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::put):
+ (JSC::StringObject::putByIndex):
+
</ins><span class="cx"> 2016-10-10 Saam Barati <sbarati@apple.com>
</span><span class="cx">
</span><span class="cx"> compileCheckStringIdent in the FTL is wrong
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -4131,7 +4131,7 @@
</span><span class="cx"> // If we're in strict mode, we always throw.
</span><span class="cx"> // If we're not in strict mode, we throw for "const" variables but not the function callee.
</span><span class="cx"> if (isStrictMode() || variable.isConst()) {
</span><del>- emitThrowTypeError(Identifier::fromString(m_vm, StrictModeReadonlyPropertyWriteError));
</del><ins>+ emitThrowTypeError(Identifier::fromString(m_vm, ReadonlyPropertyWriteError));
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx"> return false;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx"> SLOW_PATH_DECL(slow_path_throw_strict_mode_readonly_property_write_error)
</span><span class="cx"> {
</span><span class="cx"> BEGIN();
</span><del>- THROW(createTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError)));
</del><ins>+ THROW(createTypeError(exec, ASCIILiteral(ReadonlyPropertyWriteError)));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> SLOW_PATH_DECL(slow_path_not)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeGetterSettercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/GetterSetter.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/GetterSetter.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/GetterSetter.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">
</span><span class="cx"> if (getterSetterObj->isSetterNull()) {
</span><span class="cx"> if (ecmaMode == StrictMode)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSArraycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSArray.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSArray.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSArray.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -406,7 +406,7 @@
</span><span class="cx"> if (SparseArrayValueMap* map = storage->m_sparseMap.get()) {
</span><span class="cx"> // Fail if the length is not writable.
</span><span class="cx"> if (map->lengthIsReadOnly())
</span><del>- return reject(exec, throwException, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, throwException, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> if (newLength < length) {
</span><span class="cx"> // Copy any keys we might be interested in into a vector.
</span><span class="lines">@@ -625,7 +625,7 @@
</span><span class="cx"> unsigned length = storage->length();
</span><span class="cx"> if (!length) {
</span><span class="cx"> if (!isLengthWritable())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return jsUndefined();
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSCJSValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSCJSValue.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> prototype = obj->getPrototypeDirect();
</span><span class="cx"> if (prototype.isNull()) {
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> if (offset != invalidOffset) {
</span><span class="cx"> if (attributes & ReadOnly) {
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -198,7 +198,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx"> return putResult;
</span><span class="cx">
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSFunctioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSFunction.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSFunction.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -455,7 +455,7 @@
</span><span class="cx"> }
</span><span class="cx"> if (propertyName == vm.propertyNames->arguments || propertyName == vm.propertyNames->caller) {
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> thisObject->reifyLazyPropertyIfNeeded(vm, exec, propertyName);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSModuleEnvironmentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSModuleEnvironment.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx"> // All imported bindings are immutable.
</span><span class="cx"> JSModuleRecord::Resolution resolution = thisObject->moduleRecord()->resolveImport(exec, Identifier::fromUid(exec, propertyName.uid()));
</span><span class="cx"> if (resolution.type == JSModuleRecord::Resolution::Type::Resolved) {
</span><del>- throwTypeError(exec, scope, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
</del><ins>+ throwTypeError(exec, scope, ASCIILiteral(ReadonlyPropertyWriteError));
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> return Base::put(thisObject, exec, propertyName, value, slot);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSModuleNamespaceObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSModuleNamespaceObject.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">
</span><span class="cx"> // http://www.ecma-international.org/ecma-262/6.0/#sec-module-namespace-exotic-objects-set-p-v-receiver
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
</del><ins>+ throwTypeError(exec, scope, ASCIILiteral(ReadonlyPropertyWriteError));
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx"> auto scope = DECLARE_THROW_SCOPE(vm);
</span><span class="cx">
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
</del><ins>+ throwTypeError(exec, scope, ASCIILiteral(ReadonlyPropertyWriteError));
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSObject);
</span><span class="cx"> STATIC_ASSERT_IS_TRIVIALLY_DESTRUCTIBLE(JSFinalObject);
</span><span class="cx">
</span><del>-const char* StrictModeReadonlyPropertyWriteError = "Attempted to assign to readonly property.";
</del><ins>+const char* ReadonlyPropertyWriteError = "Attempted to assign to readonly property.";
</ins><span class="cx"> const char* UnconfigurablePropertyChangeAccessMechanismError = "Attempting to change access mechanism for an unconfigurable property.";
</span><span class="cx">
</span><span class="cx"> const ClassInfo JSObject::s_info = { "Object", 0, 0, CREATE_METHOD_TABLE(JSObject) };
</span><span class="lines">@@ -389,11 +389,11 @@
</span><span class="cx"> if (ownDescriptor.isDataDescriptor()) {
</span><span class="cx"> // 9.1.9.1-4-a If ownDesc.[[Writable]] is false, return false.
</span><span class="cx"> if (!ownDescriptor.writable())
</span><del>- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, shouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> // 9.1.9.1-4-b If Type(Receiver) is not Object, return false.
</span><span class="cx"> if (!receiver.isObject())
</span><del>- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, shouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> // In OrdinarySet, the receiver may not be the same to the object.
</span><span class="cx"> // So, we perform [[GetOwnProperty]] onto the receiver while we already perform [[GetOwnProperty]] onto the object.
</span><span class="lines">@@ -408,11 +408,11 @@
</span><span class="cx"> if (existingDescriptorFound) {
</span><span class="cx"> // 9.1.9.1-4-d-i If IsAccessorDescriptor(existingDescriptor) is true, return false.
</span><span class="cx"> if (existingDescriptor.isAccessorDescriptor())
</span><del>- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, shouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> // 9.1.9.1-4-d-ii If existingDescriptor.[[Writable]] is false, return false.
</span><span class="cx"> if (!existingDescriptor.writable())
</span><del>- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, shouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> // 9.1.9.1-4-d-iii Let valueDesc be the PropertyDescriptor{[[Value]]: V}.
</span><span class="cx"> PropertyDescriptor valueDescriptor;
</span><span class="lines">@@ -434,7 +434,7 @@
</span><span class="cx"> // 9.1.9.1-7 If setter is undefined, return false.
</span><span class="cx"> JSValue setter = ownDescriptor.setter();
</span><span class="cx"> if (!setter.isObject())
</span><del>- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, shouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> // 9.1.9.1-8 Perform ? Call(setter, Receiver, << V >>).
</span><span class="cx"> JSObject* setterObject = asObject(setter);
</span><span class="lines">@@ -468,7 +468,7 @@
</span><span class="cx"> if (isValidOffset(offset)) {
</span><span class="cx"> if (attributes & ReadOnly) {
</span><span class="cx"> ASSERT(structure(vm)->prototypeChainMayInterceptStoreTo(exec->vm(), propertyName) || obj == this);
</span><del>- return reject(exec, slot.isStrictMode(), StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, slot.isStrictMode(), ReadonlyPropertyWriteError);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> JSValue gs = obj->getDirect(offset);
</span><span class="lines">@@ -513,7 +513,7 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(!structure(vm)->prototypeChainMayInterceptStoreTo(exec->vm(), propertyName) || obj == this);
</span><span class="cx"> if (!putDirectInternal<PutModePut>(vm, propertyName, value, 0, slot))
</span><del>- return reject(exec, slot.isStrictMode(), StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, slot.isStrictMode(), ReadonlyPropertyWriteError);
</ins><span class="cx"> return true;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1297,7 +1297,7 @@
</span><span class="cx">
</span><span class="cx"> if (!isExtensible) {
</span><span class="cx"> if (shouldThrowIfCantSet)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -2264,7 +2264,7 @@
</span><span class="cx"> // Prohibit growing the array if length is not writable.
</span><span class="cx"> if (map->lengthIsReadOnly() || !isStructureExtensible()) {
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> length = i + 1;
</span><span class="lines">@@ -2402,7 +2402,7 @@
</span><span class="cx"> if (mode != PutDirectIndexLikePutDirect) {
</span><span class="cx"> // Prohibit growing the array if length is not writable.
</span><span class="cx"> if (map->lengthIsReadOnly())
</span><del>- return reject(exec, mode == PutDirectIndexShouldThrow, StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, mode == PutDirectIndexShouldThrow, ReadonlyPropertyWriteError);
</ins><span class="cx"> if (!isStructureExtensible())
</span><span class="cx"> return reject(exec, mode == PutDirectIndexShouldThrow, "Attempting to define property on object that is not extensible.");
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> struct HashTableValue;
</span><span class="cx">
</span><span class="cx"> JS_EXPORT_PRIVATE JSObject* throwTypeError(ExecState*, ThrowScope&, const String&);
</span><del>-extern JS_EXPORTDATA const char* StrictModeReadonlyPropertyWriteError;
</del><ins>+extern JS_EXPORTDATA const char* ReadonlyPropertyWriteError;
</ins><span class="cx"> extern JS_EXPORTDATA const char* UnconfigurablePropertyChangeAccessMechanismError;
</span><span class="cx">
</span><span class="cx"> COMPILE_ASSERT(None < FirstInternalAttribute, None_is_below_FirstInternalAttribute);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> ASSERT(!thisObject->structure(vm)->prototypeChainMayInterceptStoreTo(vm, propertyName));
</span><span class="cx"> if (!thisObject->putDirectInternal<PutModePut>(vm, propertyName, value, 0, slot)) {
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
</del><ins>+ throwTypeError(exec, scope, ASCIILiteral(ReadonlyPropertyWriteError));
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> return true;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -183,7 +183,7 @@
</span><span class="cx"> ASSERT(!fastEntry.isNull());
</span><span class="cx"> if (fastEntry.isReadOnly() && !ignoreReadOnlyErrors) {
</span><span class="cx"> if (shouldThrowReadOnlyError)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> putResult = false;
</span><span class="cx"> return true;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeLookuph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Lookup.h (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Lookup.h        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/Lookup.h        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -262,11 +262,11 @@
</span><span class="cx"> thisObject->putDirect(exec->vm(), propertyName, value);
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><del>- return reject(exec, slot.isStrictMode(), StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, slot.isStrictMode(), ReadonlyPropertyWriteError);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (entry->attributes() & Accessor)
</span><del>- return reject(exec, slot.isStrictMode(), StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, slot.isStrictMode(), ReadonlyPropertyWriteError);
</ins><span class="cx">
</span><span class="cx"> if (!(entry->attributes() & ReadOnly)) {
</span><span class="cx"> ASSERT_WITH_MESSAGE(!(entry->attributes() & DOMJITAttribute), "DOMJITAttribute supports readonly attributes currently.");
</span><span class="lines">@@ -280,7 +280,7 @@
</span><span class="cx"> return result;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- return reject(exec, slot.isStrictMode(), StrictModeReadonlyPropertyWriteError);
</del><ins>+ return reject(exec, slot.isStrictMode(), ReadonlyPropertyWriteError);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> /**
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExpObject.h (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExpObject.h        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/RegExpObject.h        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> m_lastIndex.setWithoutWriteBarrier(jsNumber(lastIndex));
</span><span class="cx"> return true;
</span><span class="cx"> }
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> bool setLastIndex(ExecState* exec, JSValue lastIndex, bool shouldThrow)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> JSValue getLastIndex() const
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeSparseArrayValueMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/SparseArrayValueMap.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> if (result.isNewEntry && !array->isStructureExtensible()) {
</span><span class="cx"> remove(result.iterator);
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> if (!(attributes & Accessor)) {
</span><span class="cx"> if (attributes & ReadOnly) {
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStringObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StringObject.cpp (207022 => 207023)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StringObject.cpp        2016-10-10 21:07:33 UTC (rev 207022)
+++ trunk/Source/JavaScriptCore/runtime/StringObject.cpp        2016-10-10 21:13:26 UTC (rev 207023)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">
</span><span class="cx"> if (propertyName == exec->propertyNames().length) {
</span><span class="cx"> if (slot.isStrictMode())
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> if (Optional<uint32_t> index = parseIndex(propertyName))
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> StringObject* thisObject = jsCast<StringObject*>(cell);
</span><span class="cx"> if (thisObject->internalValue()->canGetIndex(propertyName)) {
</span><span class="cx"> if (shouldThrow)
</span><del>- throwTypeError(exec, scope, StrictModeReadonlyPropertyWriteError);
</del><ins>+ throwTypeError(exec, scope, ReadonlyPropertyWriteError);
</ins><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx"> return JSObject::putByIndex(cell, exec, propertyName, value, shouldThrow);
</span></span></pre>
</div>
</div>
</body>
</html>