Turn ASSERT(!rn.is(ip)) into CHECK so the error can be caught in release mode.
authorfeng@chromium.org <feng@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 20 Nov 2008 18:12:48 +0000 (18:12 +0000)
committerfeng@chromium.org <feng@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 20 Nov 2008 18:12:48 +0000 (18:12 +0000)
It addresses the problem of 'cmp' instruction that has the side-effect that ip register
shouldn't be used as rn.

Review URL: http://codereview.chromium.org/11323

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/assembler-arm.cc

index 33077604be1fe802a4b39795749d93d871b70b75..21cd22527fd9f33f5f58d459d0bfaab7d68169dc 100644 (file)
@@ -554,7 +554,7 @@ void Assembler::addrmod1(Instr instr,
       // However, if the original instruction is a 'mov rd, x' (not setting the
       // condition code), then replace it with a 'ldr rd, [pc]'
       RecordRelocInfo(x.rmode_, x.imm32_);
-      ASSERT(!rn.is(ip));  // rn should never be ip, or will be trashed
+      CHECK(!rn.is(ip));  // rn should never be ip, or will be trashed
       Condition cond = static_cast<Condition>(instr & CondMask);
       if ((instr & ~CondMask) == 13*B21) {  // mov, S not set
         ldr(rd, MemOperand(pc, 0), cond);