<!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  &lt;mark.lam@apple.com&gt;
+
+        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  &lt;sbarati@apple.com&gt;
</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 &quot;const&quot; 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-&gt;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-&gt;m_sparseMap.get()) {
</span><span class="cx">         // Fail if the length is not writable.
</span><span class="cx">         if (map-&gt;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 &lt; 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-&gt;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-&gt;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 &amp; 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-&gt;arguments || propertyName == vm.propertyNames-&gt;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-&gt;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-&gt;moduleRecord()-&gt;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 = &quot;Attempted to assign to readonly property.&quot;;
</del><ins>+const char* ReadonlyPropertyWriteError = &quot;Attempted to assign to readonly property.&quot;;
</ins><span class="cx"> const char* UnconfigurablePropertyChangeAccessMechanismError = &quot;Attempting to change access mechanism for an unconfigurable property.&quot;;
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSObject::s_info = { &quot;Object&quot;, 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, &lt;&lt; V &gt;&gt;).
</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 &amp; ReadOnly) {
</span><span class="cx">                 ASSERT(structure(vm)-&gt;prototypeChainMayInterceptStoreTo(exec-&gt;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-&gt;getDirect(offset);
</span><span class="lines">@@ -513,7 +513,7 @@
</span><span class="cx"> 
</span><span class="cx">     ASSERT(!structure(vm)-&gt;prototypeChainMayInterceptStoreTo(exec-&gt;vm(), propertyName) || obj == this);
</span><span class="cx">     if (!putDirectInternal&lt;PutModePut&gt;(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-&gt;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-&gt;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, &quot;Attempting to define property on object that is not extensible.&quot;);
</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&amp;, const String&amp;);
</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 &lt; 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-&gt;structure(vm)-&gt;prototypeChainMayInterceptStoreTo(vm, propertyName));
</span><span class="cx">         if (!thisObject-&gt;putDirectInternal&lt;PutModePut&gt;(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() &amp;&amp; !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-&gt;putDirect(exec-&gt;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-&gt;attributes() &amp; 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-&gt;attributes() &amp; ReadOnly)) {
</span><span class="cx">         ASSERT_WITH_MESSAGE(!(entry-&gt;attributes() &amp; DOMJITAttribute), &quot;DOMJITAttribute supports readonly attributes currently.&quot;);
</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 &amp;&amp; !array-&gt;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 &amp; Accessor)) {
</span><span class="cx">         if (attributes &amp; 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-&gt;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&lt;uint32_t&gt; index = parseIndex(propertyName))
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     StringObject* thisObject = jsCast&lt;StringObject*&gt;(cell);
</span><span class="cx">     if (thisObject-&gt;internalValue()-&gt;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>