regalloc_binary needed to include new ld32f/ldc32f opcodes in its assertions, fix to 1106:cd0b46495c95,bug=532240 (r=me)
authorSteven Johnson <stejohns@adobe.com>
Mon, 14 Dec 2009 13:48:39 -0800
changeset 36546 55d3f8fc69fcbc2380e2f5f04cc5dc51eca6bfeb
parent 36545 212a5664fd797226d2b4f91351928972d62e3411
child 36547 0eda8726e2ff8affd11c580f3450a524744e66a8
push idunknown
push userunknown
push dateunknown
reviewersme
bugs532240
milestone1.9.3a1pre
regalloc_binary needed to include new ld32f/ldc32f opcodes in its assertions, fix to 1106:cd0b46495c95,bug=532240 (r=me)
js/src/nanojit/NativeX64.cpp
--- a/js/src/nanojit/NativeX64.cpp
+++ b/js/src/nanojit/NativeX64.cpp
@@ -626,17 +626,17 @@ namespace nanojit
         // if this is last use of a in reg, we can re-use result reg
         if (a->isUnusedOrHasUnknownReg()) {
             ra = findSpecificRegForUnallocated(a, rr);
         } else if (!(allow & rmask(a->getReg()))) {
             // 'a' already has a register assigned, but it's not valid.
             // To make sure floating point operations stay in FPU registers
             // as much as possible, make sure that only a few opcodes are
             // reserving GPRs.
-            NanoAssert(a->isop(LIR_quad) || a->isop(LIR_ldq) || a->isop(LIR_ldqc)|| a->isop(LIR_u2f) || a->isop(LIR_float));
+            NanoAssert(a->isop(LIR_quad) || a->isop(LIR_ldq) || a->isop(LIR_ldqc)|| a->isop(LIR_ld32f) || a->isop(LIR_ldc32f)|| a->isop(LIR_u2f) || a->isop(LIR_float));
             allow &= ~rmask(rr);
             ra = findRegFor(a, allow);
         } else {
             ra = a->getReg();
         }
         if (a == b) {
             rb = ra;
         }