<!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>[171189] branches/ftlopt/LayoutTests</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/171189">171189</a></dd>
<dt>Author</dt> <dd>mhahnenberg@apple.com</dd>
<dt>Date</dt> <dd>2014-07-17 10:43:31 -0700 (Thu, 17 Jul 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>sputnik/Implementation_Diagnostics/S12.6.4_D1.html depends on undefined behavior
https://bugs.webkit.org/show_bug.cgi?id=135007

Reviewed by Filip Pizlo.

EcmaScript 5.1 specifies that during for-in enumeration newly added properties may or may not be 
visited during the current enumeration. Specifically, in section 12.6.4 the spec states:

&quot;If new properties are added to the object being enumerated during enumeration, the newly added properties 
are not guaranteed to be visited in the active enumeration.&quot;

The sputnik/Implementation_Diagnostics/S12.6.4_D1.html layout test is from before sputnik was added 
to the test262 suite. I believe it has since been removed, so it would probably be okay to remove it 
from our layout test suite.

* sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt: Removed.
* sputnik/Implementation_Diagnostics/S12.6.4_D1.html: Removed.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesftloptLayoutTestsChangeLog">branches/ftlopt/LayoutTests/ChangeLog</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#branchesftloptLayoutTestssputnikImplementation_DiagnosticsS1264_D1expectedtxt">branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt</a></li>
<li><a href="#branchesftloptLayoutTestssputnikImplementation_DiagnosticsS1264_D1html">branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesftloptLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: branches/ftlopt/LayoutTests/ChangeLog (171188 => 171189)</h4>
<pre class="diff"><span>
<span class="info">--- branches/ftlopt/LayoutTests/ChangeLog        2014-07-17 17:35:35 UTC (rev 171188)
+++ branches/ftlopt/LayoutTests/ChangeLog        2014-07-17 17:43:31 UTC (rev 171189)
</span><span class="lines">@@ -1,3 +1,23 @@
</span><ins>+2014-07-16  Mark Hahnenberg  &lt;mhahnenberg@apple.com&gt;
+
+        sputnik/Implementation_Diagnostics/S12.6.4_D1.html depends on undefined behavior
+        https://bugs.webkit.org/show_bug.cgi?id=135007
+
+        Reviewed by Filip Pizlo.
+
+        EcmaScript 5.1 specifies that during for-in enumeration newly added properties may or may not be 
+        visited during the current enumeration. Specifically, in section 12.6.4 the spec states:
+
+        &quot;If new properties are added to the object being enumerated during enumeration, the newly added properties 
+        are not guaranteed to be visited in the active enumeration.&quot;
+
+        The sputnik/Implementation_Diagnostics/S12.6.4_D1.html layout test is from before sputnik was added 
+        to the test262 suite. I believe it has since been removed, so it would probably be okay to remove it 
+        from our layout test suite.
+
+        * sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt: Removed.
+        * sputnik/Implementation_Diagnostics/S12.6.4_D1.html: Removed.
+
</ins><span class="cx"> 2014-07-13  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [ftlopt] DFG should be able to do GCSE in SSA and this should be unified with the CSE in CPS, and both of these things should use abstract heaps for reasoning about effects
</span></span></pre></div>
<a id="branchesftloptLayoutTestssputnikImplementation_DiagnosticsS1264_D1expectedtxt"></a>
<div class="delfile"><h4>Deleted: branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt (171188 => 171189)</h4>
<pre class="diff"><span>
<span class="info">--- branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt        2014-07-17 17:35:35 UTC (rev 171188)
+++ branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt        2014-07-17 17:43:31 UTC (rev 171189)
</span><span class="lines">@@ -1,6 +0,0 @@
</span><del>-S12.6.4_D1
-
-FAIL SputnikError: #1: the newly added properties to be visited in the active enumeration
-
-TEST COMPLETE
-
</del></span></pre></div>
<a id="branchesftloptLayoutTestssputnikImplementation_DiagnosticsS1264_D1html"></a>
<div class="delfile"><h4>Deleted: branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1.html (171188 => 171189)</h4>
<pre class="diff"><span>
<span class="info">--- branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1.html        2014-07-17 17:35:35 UTC (rev 171188)
+++ branches/ftlopt/LayoutTests/sputnik/Implementation_Diagnostics/S12.6.4_D1.html        2014-07-17 17:43:31 UTC (rev 171189)
</span><span class="lines">@@ -1,130 +0,0 @@
</span><del>-&lt;html&gt;
-&lt;head&gt;
-&lt;meta charset='utf-8'&gt;
-&lt;style&gt;
-.pass {
-    font-weight: bold;
-    color: green;
-}
-.fail {
-    font-weight: bold;
-    color: red;
-}
-&lt;/style&gt;
-
-&lt;script&gt;
-if (window.testRunner)
-    testRunner.dumpAsText();
-
-function SputnikError(message)
-{
-    this.message = message;
-}
-
-SputnikError.prototype.toString = function ()
-{
-    return 'SputnikError: ' + this.message;
-};
-
-var sputnikException;
-
-function testPrint(msg)
-{
-    var span = document.createElement(&quot;span&quot;);
-    document.getElementById(&quot;console&quot;).appendChild(span); // insert it first so XHTML knows the namespace 
-    span.innerHTML = msg + '&lt;br /&gt;';
-}
-
-function escapeHTML(text)
-{
-    return text.toString().replace(/&amp;/g, &quot;&amp;amp;&quot;).replace(/&lt;/g, &quot;&amp;lt;&quot;);
-}
-
-function printTestPassed(msg)
-{
-    testPrint('&lt;span&gt;&lt;span class=&quot;pass&quot;&gt;PASS&lt;/span&gt; ' + escapeHTML(msg) + '&lt;/span&gt;');
-}
-
-function printTestFailed(msg)
-{
-    testPrint('&lt;span&gt;&lt;span class=&quot;fail&quot;&gt;FAIL&lt;/span&gt; ' + escapeHTML(msg) + '&lt;/span&gt;');
-}
-
-function testFailed(msg)
-{
-    throw new SputnikError(msg);
-}
-
-var successfullyParsed = false;
-&lt;/script&gt;
-
-&lt;/head&gt;
-&lt;body&gt;
-&lt;p&gt;S12.6.4_D1&lt;/p&gt;
-&lt;div id='console'&gt;&lt;/div&gt;
-&lt;script&gt;
-try {
-
-/**
-* @name: S12.6.4_D1;
-* @section: 12.6.4;
-* @assertion: If new properties are added to the object being
-* enumerated during enumeration, the newly added properties to be visited in the active
-* enumeration;
-*/
-
-__obj={aa:1,ba:2,ca:3};
-__source={sra:9,srb:8,src:7};
-
-__accum=&quot;&quot;;
-
-for (__key in __obj){
-        
-        __accum+=(__key+__obj[__key]);
-        
-        add2hash(__obj,__source);
-        
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-//CHECK#1
-if (!(
-(__accum.indexOf(&quot;aa1&quot;)!==-1)&amp;&amp;
-(__accum.indexOf(&quot;ba2&quot;)!==-1)&amp;&amp;
-(__accum.indexOf(&quot;ca3&quot;)!==-1)&amp;&amp;
-(__accum.indexOf(&quot;sra9&quot;)!==-1)&amp;&amp;
-(__accum.indexOf(&quot;srb8&quot;)!==-1)&amp;&amp;
-(__accum.indexOf(&quot;src7&quot;)!==-1)
-)) {
-        testFailed('#1: the newly added properties to be visited in the active enumeration');
-}
-//
-//////////////////////////////////////////////////////////////////////////////
-
-function add2hash(hash_map_target, hash_map_be_added){
-    if (added) return;
-        for (key in hash_map_be_added){
-                        hash_map_target[key] = hash_map_be_added[key];
-        }
-        var added = true;
-}
-
-} catch (ex) {
-    sputnikException = ex;
-}
-
-var successfullyParsed = true;
-&lt;/script&gt;
-
-&lt;script&gt;
-if (!successfullyParsed)
-    printTestFailed('successfullyParsed is not set');
-else if (sputnikException)
-    printTestFailed(sputnikException);
-else
-    printTestPassed(&quot;&quot;);
-testPrint('&lt;br /&gt;&lt;span class=&quot;pass&quot;&gt;TEST COMPLETE&lt;/span&gt;');
-&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre>
</div>
</div>

</body>
</html>