Title: [165431] trunk/Source/_javascript_Core
Revision
165431
Author
[email protected]
Date
2014-03-10 21:53:52 -0700 (Mon, 10 Mar 2014)

Log Message

r165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInfo.h:330.
<https://webkit.org/b/130065>

Reviewed by Michael Saboff.

There is code in ScratchRegisterAllocator.cpp that is relying on GPRInfo::toIndex()
being able to return InvalidIndex.  Hence, the assertion is invalid.  Ditto for
FPRInfo::toIndex().

The fix is to remove the "result != InvalidIndex" assertions.

* jit/FPRInfo.h:
(JSC::FPRInfo::toIndex):
* jit/GPRInfo.h:
(JSC::GPRInfo::toIndex):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (165430 => 165431)


--- trunk/Source/_javascript_Core/ChangeLog	2014-03-11 04:52:02 UTC (rev 165430)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-03-11 04:53:52 UTC (rev 165431)
@@ -1,5 +1,23 @@
 2014-03-10  Mark Lam  <[email protected]>
 
+        r165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInfo.h:330.
+        <https://webkit.org/b/130065>
+
+        Reviewed by Michael Saboff.
+
+        There is code in ScratchRegisterAllocator.cpp that is relying on GPRInfo::toIndex()
+        being able to return InvalidIndex.  Hence, the assertion is invalid.  Ditto for
+        FPRInfo::toIndex().
+
+        The fix is to remove the "result != InvalidIndex" assertions.
+
+        * jit/FPRInfo.h:
+        (JSC::FPRInfo::toIndex):
+        * jit/GPRInfo.h:
+        (JSC::GPRInfo::toIndex):
+
+2014-03-10  Mark Lam  <[email protected]>
+
         Crash on a stack overflow on 32-bit x86 in http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html.
         <https://webkit.org/b/129955>
 

Modified: trunk/Source/_javascript_Core/jit/FPRInfo.h (165430 => 165431)


--- trunk/Source/_javascript_Core/jit/FPRInfo.h	2014-03-11 04:52:02 UTC (rev 165430)
+++ trunk/Source/_javascript_Core/jit/FPRInfo.h	2014-03-11 04:53:52 UTC (rev 165431)
@@ -242,7 +242,6 @@
             16, 17, 18, 19, 20, 21, 22, InvalidIndex
         };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
@@ -305,7 +304,6 @@
             InvalidIndex, InvalidIndex, 5, InvalidIndex,
         };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
@@ -371,7 +369,6 @@
             InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex
         };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 

Modified: trunk/Source/_javascript_Core/jit/GPRInfo.h (165430 => 165431)


--- trunk/Source/_javascript_Core/jit/GPRInfo.h	2014-03-11 04:52:02 UTC (rev 165430)
+++ trunk/Source/_javascript_Core/jit/GPRInfo.h	2014-03-11 04:53:52 UTC (rev 165431)
@@ -327,7 +327,6 @@
         ASSERT(static_cast<int>(reg) < 8);
         static const unsigned indexForRegister[8] = { 0, 2, 1, 3, InvalidIndex, InvalidIndex, 5, 4 };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
@@ -504,7 +503,6 @@
             { 0, 1, 2, 8, 3, 9, InvalidIndex, 7, 4, 5, 6, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex };
 #endif
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
@@ -684,7 +682,6 @@
             6, InvalidIndex, 3, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex, InvalidIndex
         };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
@@ -756,7 +753,6 @@
         ASSERT(reg < 14);
         static const unsigned indexForRegister[14] = { 0, 1, 2, InvalidIndex, 4, 5, 6, 7, 8, 9, 3, InvalidIndex, InvalidIndex, InvalidIndex };
         unsigned result = indexForRegister[reg];
-        ASSERT(result != InvalidIndex);
         return result;
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to