<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>60566</integer>
    </number>
    <user>
      <string>cpst</string>
    </user>
    <title>
      <string>Patch for olliej</string>
    </title>
    <contents>
      <string>Index: kjs/nodes.cpp
===================================================================
--- kjs/nodes.cpp	(revision 33029)
+++ kjs/nodes.cpp	(working copy)
@@ -4345,8 +4345,10 @@ found:
 RegisterID* AssignDotNode::emitCode(CodeGenerator&amp; generator, RegisterID* dst)
 {
     RefPtr&lt;RegisterID&gt; base = generator.emitNode(m_base.get());
-    RegisterID* value = generator.emitNode(dst, m_right.get());
-    return generator.emitPutById(base.get(), m_ident, value);
+    RefPtr&lt;RegisterID&gt; tempDst = generator.tempDestination(dst);
+    generator.emitNode(tempDst.get(), m_right.get());
+    generator.emitPutById(base.get(), m_ident, tempDst.get());
+    return generator.moveToDestinationIfNeeded(dst, tempDst.get());
 }
 
 void AssignDotNode::optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&amp;, const LocalStorage&amp;, NodeStack&amp; nodeStack)
@@ -4426,8 +4428,10 @@ RegisterID* AssignBracketNode::emitCode(
 {
     RefPtr&lt;RegisterID&gt; base = generator.emitNode(m_base.get());
     RefPtr&lt;RegisterID&gt; property = generator.emitNode(m_subscript.get());
-    RegisterID* value = generator.emitNode(dst, m_right.get());
-    return generator.emitPutByVal(base.get(), property.get(), value);
+    RefPtr&lt;RegisterID&gt; tempDst = generator.tempDestination(dst);
+    generator.emitNode(tempDst.get(), m_right.get());
+    generator.emitPutByVal(base.get(), property.get(), tempDst.get());
+    return generator.moveToDestinationIfNeeded(dst, tempDst.get());
 }
 
 void AssignBracketNode::optimizeVariableAccess(OldInterpreterExecState*, const SymbolTable&amp;, const LocalStorage&amp;, NodeStack&amp; nodeStack)

</string>
    </contents>
    <universal-time>
      <integer>3419470606</integer>
    </universal-time>
    <channel>
      <string>#webkit</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
  </paste>
</paste-with-annotations>