Reviewers: danno, paul.l..., gergely.kis.imgtec, akos.palfi.imgtec, dusmil.imgtec,

Description:
MIPS: Fix 'MIPS: Fix after 'Reland remaining parts of 'Use weak cells in map
checks in polymorphic ICs''.'

Fix 30f2578ca2829a5c9b8952df20fd39bf7c99ea30

BUG=

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

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

Affected files (+4, -2 lines):
  M src/ic/mips/ic-compiler-mips.cc
  M src/ic/mips64/ic-compiler-mips64.cc


Index: src/ic/mips/ic-compiler-mips.cc
diff --git a/src/ic/mips/ic-compiler-mips.cc b/src/ic/mips/ic-compiler-mips.cc index 000e3266c4021787d455624dd7ea10dab248f5e0..6169404c61a059f1208feaef1e21ca876fe4db52 100644
--- a/src/ic/mips/ic-compiler-mips.cc
+++ b/src/ic/mips/ic-compiler-mips.cc
@@ -62,12 +62,13 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, // Separate compare from branch, to provide path for above JumpIfSmi().
       Handle<WeakCell> cell = Map::WeakCellForMap(map);
       __ GetWeakValue(match, cell);
+      __ Subu(match, match, Operand(map_reg));
       if (type->Is(HeapType::Number())) {
         DCHECK(!number_case.is_unused());
         __ bind(&number_case);
       }
       __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match,
-              Operand(map_reg));
+              Operand(zero_reg));
     }
   }
   DCHECK(number_of_handled_maps != 0);
Index: src/ic/mips64/ic-compiler-mips64.cc
diff --git a/src/ic/mips64/ic-compiler-mips64.cc b/src/ic/mips64/ic-compiler-mips64.cc index 1e1880f88d5b584a5be5da653312f6f327c59f2e..7ed4492ee318fa75c7b6f361dae61ebbf85d6aa9 100644
--- a/src/ic/mips64/ic-compiler-mips64.cc
+++ b/src/ic/mips64/ic-compiler-mips64.cc
@@ -62,12 +62,13 @@ Handle<Code> PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, // Separate compare from branch, to provide path for above JumpIfSmi().
       Handle<WeakCell> cell = Map::WeakCellForMap(map);
       __ GetWeakValue(match, cell);
+      __ Dsubu(match, match, Operand(map_reg));
       if (type->Is(HeapType::Number())) {
         DCHECK(!number_case.is_unused());
         __ bind(&number_case);
       }
       __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match,
-              Operand(map_reg));
+              Operand(zero_reg));
     }
   }
   DCHECK(number_of_handled_maps != 0);


--
--
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