PPC: Debug check fix for test SMI optimization.
authordstence <dstence@us.ibm.com>
Wed, 24 Jun 2015 21:21:44 +0000 (14:21 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 24 Jun 2015 21:22:01 +0000 (21:22 +0000)
R=mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1202383005

Cr-Commit-Position: refs/heads/master@{#29269}

src/ic/ppc/ic-ppc.cc
src/ppc/assembler-ppc.cc
src/ppc/assembler-ppc.h

index fdb88ae..0858edc 100644 (file)
@@ -874,11 +874,7 @@ void PatchInlinedSmiCode(Address address, InlinedSmiCheck check) {
     patcher.masm()->TestIfSmi(reg, r0);
   } else {
     DCHECK(check == DISABLE_INLINED_SMI_CHECK);
-#if V8_TARGET_ARCH_PPC64
-    DCHECK(Assembler::IsRldicl(instr_at_patch));
-#else
-    DCHECK(Assembler::IsRlwinm(instr_at_patch));
-#endif
+    DCHECK(Assembler::IsAndi(instr_at_patch));
     patcher.masm()->cmp(reg, reg, cr0);
   }
   DCHECK(Assembler::IsBranch(branch_instr));
index 38c7fd8..571a9fc 100644 (file)
@@ -337,6 +337,9 @@ bool Assembler::IsRlwinm(Instr instr) {
 }
 
 
+bool Assembler::IsAndi(Instr instr) { return ((instr & kOpcodeMask) == ANDIx); }
+
+
 #if V8_TARGET_ARCH_PPC64
 bool Assembler::IsRldicl(Instr instr) {
   return (((instr & kOpcodeMask) == EXT5) &&
index e8a654f..b63612f 100644 (file)
@@ -1324,6 +1324,7 @@ class Assembler : public AssemblerBase {
   static bool IsCmpRegister(Instr instr);
   static bool IsCmpImmediate(Instr instr);
   static bool IsRlwinm(Instr instr);
+  static bool IsAndi(Instr instr);
 #if V8_TARGET_ARCH_PPC64
   static bool IsRldicl(Instr instr);
 #endif