Reviewers: Kasper Lund,

Message:
A minor code change.

Description:
Polish code of VirtualFrame::MoveMemoryToRegister

Please review this at http://codereview.chromium.org/113451

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/ia32/virtual-frame-ia32.cc


Index: src/ia32/virtual-frame-ia32.cc
===================================================================
--- src/ia32/virtual-frame-ia32.cc      (revision 1961)
+++ src/ia32/virtual-frame-ia32.cc      (working copy)
@@ -423,25 +423,26 @@
      int index = expected->register_locations_[i];
      if (index != kIllegalIndex) {
        FrameElement source = elements_[index];
-      FrameElement target = expected->elements_[index];
+      Register target_reg = { i };
+      ASSERT(expected->elements_[index].reg().is(target_reg));
        switch (source.type()) {
          case FrameElement::INVALID:  // Fall through.
            UNREACHABLE();
            break;
          case FrameElement::REGISTER:
-          ASSERT(source.reg().is(target.reg()));
-          continue;  // Go to next iteration.  Skips Use(target.reg())  
below.
+          ASSERT(source.reg().is(target_reg));
+          continue;  // Go to next iteration.  Skips Use(target_reg) below.
            break;
          case FrameElement::MEMORY:
            ASSERT(index <= stack_pointer_);
-          __ mov(target.reg(), Operand(ebp, fp_relative(index)));
+          __ mov(target_reg, Operand(ebp, fp_relative(index)));
            break;

          case FrameElement::CONSTANT:
            if (cgen_->IsUnsafeSmi(source.handle())) {
-            cgen_->LoadUnsafeSmi(target.reg(), source.handle());
+            cgen_->LoadUnsafeSmi(target_reg, source.handle());
            } else {
-           __ Set(target.reg(), Immediate(source.handle()));
+           __ Set(target_reg, Immediate(source.handle()));
            }
            break;

@@ -461,22 +462,22 @@
                Use(new_backing_reg, backing_index);
                __ mov(new_backing_reg,
                       Operand(ebp, fp_relative(backing_index)));
-              __ mov(target.reg(), new_backing_reg);
+              __ mov(target_reg, new_backing_reg);
              } else {
-              __ mov(target.reg(), Operand(ebp,  
fp_relative(backing_index)));
+              __ mov(target_reg, Operand(ebp, fp_relative(backing_index)));
              }
            } else {
-            __ mov(target.reg(), backing.reg());
+            __ mov(target_reg, backing.reg());
            }
          }
        }
        // Ensure the proper sync state.  If the source was memory no
        // code needs to be emitted.
-      if (target.is_synced() && !source.is_synced()) {
-        __ mov(Operand(ebp, fp_relative(index)), target.reg());
+      if (expected->elements_[index].is_synced() && !source.is_synced()) {
+        __ mov(Operand(ebp, fp_relative(index)), target_reg);
        }
-      Use(target.reg(), index);
-      elements_[index] = target;
+      Use(target_reg, index);
+      elements_[index] = expected->elements_[index];
      }
    }
  }



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to