Title: [152538] branches/dfgFourthTier
Revision
152538
Author
[email protected]
Date
2013-07-10 10:02:26 -0700 (Wed, 10 Jul 2013)

Log Message

Merged from http://svn.webkit.org/repository/webkit/trunk
------------------------------------------------------------------------
r146831 | [email protected] | 2013-03-25 17:36:18 -0700 (Mon, 25 Mar 2013) | 19 lines

Offlineasm cloop backend compiles op+branch incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=113146.

* dfg/DFGRepatch.h:
(JSC::DFG::dfgResetGetByID):
(JSC::DFG::dfgResetPutByID):
* llint/LLIntOfflineAsmConfig.h:
* offlineasm/cloop.rb:
------------------------------------------------------------------------

Modified Paths

Property Changed

Diff

Property changes: branches/dfgFourthTier


Modified: svn:mergeinfo

+ /trunk:53455,146505,146552,146831*,147670,147690,147798,147858,148119,148639,148641,148655,148709,148720,148746,148820,148893,148899,148942,148989,149089,149205,149404,149420,150160,150449

Property changes: branches/dfgFourthTier/Source


Added: svn:mergeinfo

Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (152537 => 152538)


--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-10 16:20:24 UTC (rev 152537)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-10 17:02:26 UTC (rev 152538)
@@ -1,3 +1,19 @@
+2013-07-10  Mark Lam  <[email protected]>
+
+        Merged from http://svn.webkit.org/repository/webkit/trunk
+        ------------------------------------------------------------------------
+        r146831 | [email protected] | 2013-03-25 17:36:18 -0700 (Mon, 25 Mar 2013) | 19 lines
+
+        Offlineasm cloop backend compiles op+branch incorrectly.
+        https://bugs.webkit.org/show_bug.cgi?id=113146.
+
+        * dfg/DFGRepatch.h:
+        (JSC::DFG::dfgResetGetByID):
+        (JSC::DFG::dfgResetPutByID):
+        * llint/LLIntOfflineAsmConfig.h:
+        * offlineasm/cloop.rb:
+        ------------------------------------------------------------------------
+
 2013-07-08  Filip Pizlo  <[email protected]>
 
         NaturalLoops + Profiler = Crash

Modified: branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGRepatch.h (152537 => 152538)


--- branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGRepatch.h	2013-07-10 16:20:24 UTC (rev 152537)
+++ branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGRepatch.h	2013-07-10 17:02:26 UTC (rev 152538)
@@ -61,8 +61,8 @@
 
 namespace DFG {
 
-inline NO_RETURN_DUE_TO_CRASH void dfgResetGetByID(RepatchBuffer&, StructureStubInfo&) { RELEASE_ASSERT_NOT_REACHED(); }
-inline NO_RETURN_DUE_TO_CRASH void dfgResetPutByID(RepatchBuffer&, StructureStubInfo&) { RELEASE_ASSERT_NOT_REACHED(); }
+inline NO_RETURN void dfgResetGetByID(RepatchBuffer&, StructureStubInfo&) { RELEASE_ASSERT_NOT_REACHED(); }
+inline NO_RETURN void dfgResetPutByID(RepatchBuffer&, StructureStubInfo&) { RELEASE_ASSERT_NOT_REACHED(); }
 inline NO_RETURN void dfgResetIn(RepatchBuffer&, StructureStubInfo&) { RELEASE_ASSERT_NOT_REACHED(); }
 
 } } // namespace JSC::DFG

Modified: branches/dfgFourthTier/Source/_javascript_Core/llint/LLIntOfflineAsmConfig.h (152537 => 152538)


--- branches/dfgFourthTier/Source/_javascript_Core/llint/LLIntOfflineAsmConfig.h	2013-07-10 16:20:24 UTC (rev 152537)
+++ branches/dfgFourthTier/Source/_javascript_Core/llint/LLIntOfflineAsmConfig.h	2013-07-10 17:02:26 UTC (rev 152538)
@@ -35,7 +35,9 @@
 #if ENABLE(LLINT_C_LOOP)
 #define OFFLINE_ASM_C_LOOP 1
 #define OFFLINE_ASM_X86 0
+#define OFFLINE_ASM_ARM 0
 #define OFFLINE_ASM_ARMv7 0
+#define OFFLINE_ASM_ARMv7_TRADITIONAL 0
 #define OFFLINE_ASM_X86_64 0
 #define OFFLINE_ASM_ARMv7s 0
 #define OFFLINE_ASM_MIPS 0

Modified: branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb (152537 => 152538)


--- branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb	2013-07-10 16:20:24 UTC (rev 152537)
+++ branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb	2013-07-10 17:02:26 UTC (rev 152538)
@@ -465,9 +465,9 @@
 
     $asm.putc "{"
     $asm.putc "    #{tempType} temp = #{op2} #{operator} #{op1};"
+    $asm.putc "    #{op2} = temp;"
     $asm.putc "    if (temp #{conditionTest})"
     $asm.putc "        goto  #{operands[2].cLabel};"
-    $asm.putc "    #{op2} = temp;"
     $asm.putc "}"
 end
 
@@ -533,10 +533,10 @@
         raise "Unimplemented opeartor"
     end
 
-    $asm.putc "    if #{overflowTest} {"
+    $asm.putc "    bool didOverflow = #{overflowTest};"
+    $asm.putc "    #{operands[1].clValue(type)} = #{operands[1].clValue(type)} #{operator} #{operands[0].clValue(type)};"
+    $asm.putc "    if (didOverflow)"
     $asm.putc "        goto #{operands[2].cLabel};"
-    $asm.putc "    }"
-    $asm.putc "    #{operands[1].clValue(type)} = #{operands[1].clValue(type)} #{operator} #{operands[0].clValue(type)};"
     $asm.putc "}"
 end
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to