Author: [email protected]
Date: Tue May 12 14:35:43 2009
New Revision: 1923

Modified:
    branches/bleeding_edge/src/arm/assembler-arm.cc

Log:
Fix incorrect assert on ARM that assumed that coprocessor id was always  
zero.  This
is hit in debug mode on non-EABI non-simulator ARM platforms.  Thanks to
[email protected] for reporting.
Review URL: http://codereview.chromium.org/113299

Modified: branches/bleeding_edge/src/arm/assembler-arm.cc
==============================================================================
--- branches/bleeding_edge/src/arm/assembler-arm.cc     (original)
+++ branches/bleeding_edge/src/arm/assembler-arm.cc     Tue May 12 14:35:43 2009
@@ -211,6 +211,7 @@
    // Instruction bit masks
    RdMask     = 15 << 12,  // in str instruction
    CondMask   = 15 << 28,
+  CoprocessorMask = 15 << 8,
    OpCodeMask = 15 << 21,  // in data-processing instructions
    Imm24Mask  = (1 << 24) - 1,
    Off12Mask  = (1 << 12) - 1,
@@ -616,7 +617,8 @@

  void Assembler::addrmod5(Instr instr, CRegister crd, const MemOperand& x) {
    // unindexed addressing is not encoded by this function
-  ASSERT((instr & ~(CondMask | P | U | N | W | L)) == (B27 | B26));
+  ASSERT_EQ((B27 | B26),
+            (instr & ~(CondMask | CoprocessorMask | P | U | N | W | L)));
    ASSERT(x.rn_.is_valid() && !x.rm_.is_valid());
    int am = x.am_;
    int offset_8 = x.offset_;

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

Reply via email to