Reviewers: Igor Sheludko,

Description:
Fix register aliasing after r26306, r26275.

BUG=

Please review this at https://codereview.chromium.org/877343003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+8, -0 lines):
  M src/ic/handler-compiler.cc


Index: src/ic/handler-compiler.cc
diff --git a/src/ic/handler-compiler.cc b/src/ic/handler-compiler.cc
index 8482422f84623aa4ef354af4a66c0837839601ec..2b5b6a285bc631fa5f7cdc459b00d85110a82fef 100644
--- a/src/ic/handler-compiler.cc
+++ b/src/ic/handler-compiler.cc
@@ -355,6 +355,10 @@ void NamedLoadHandlerCompiler::GenerateLoadPostInterceptor(
 Handle<Code> NamedLoadHandlerCompiler::CompileLoadViaGetter(
     Handle<Name> name, int accessor_index, int expected_arguments) {
   Register holder = Frontend(name);
+  if (holder.is(receiver())) {
+    __ Move(scratch1(), holder);
+    holder = scratch1();
+  }
   GenerateLoadViaGetter(masm(), type(), receiver(), holder, accessor_index,
                         expected_arguments);
   return GetCode(kind(), Code::FAST, name);
@@ -445,6 +449,10 @@ Handle<Code> NamedStoreHandlerCompiler::CompileStoreViaSetter(
     Handle<JSObject> object, Handle<Name> name, int accessor_index,
     int expected_arguments) {
   Register holder = Frontend(name);
+  if (holder.is(receiver())) {
+    __ Move(scratch1(), holder);
+    holder = scratch1();
+  }
GenerateStoreViaSetter(masm(), type(), receiver(), holder, accessor_index,
                          expected_arguments);



--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to