Title: [164057] trunk/Source/_javascript_Core
Revision
164057
Author
[email protected]
Date
2014-02-13 14:34:18 -0800 (Thu, 13 Feb 2014)

Log Message

FTL should be OK with __compact_unwind in a data section
https://bugs.webkit.org/show_bug.cgi?id=128756

Reviewed by Mark Hahnenberg.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (164056 => 164057)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-13 22:18:03 UTC (rev 164056)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-13 22:34:18 UTC (rev 164057)
@@ -1,3 +1,14 @@
+2014-02-13  Filip Pizlo  <[email protected]>
+
+        FTL should be OK with __compact_unwind in a data section
+        https://bugs.webkit.org/show_bug.cgi?id=128756
+
+        Reviewed by Mark Hahnenberg.
+
+        * ftl/FTLCompile.cpp:
+        (JSC::FTL::mmAllocateCodeSection):
+        (JSC::FTL::mmAllocateDataSection):
+
 2014-02-13  Michael Saboff  <[email protected]>
 
         CStack Branch: VM::currentReturnThunkPC appears to be unused and should be removed

Modified: trunk/Source/_javascript_Core/ftl/FTLCompile.cpp (164056 => 164057)


--- trunk/Source/_javascript_Core/ftl/FTLCompile.cpp	2014-02-13 22:18:03 UTC (rev 164056)
+++ trunk/Source/_javascript_Core/ftl/FTLCompile.cpp	2014-02-13 22:34:18 UTC (rev 164057)
@@ -59,6 +59,8 @@
         state.graph.m_vm.executableAllocator.allocate(
             state.graph.m_vm, size, state.graph.m_codeBlock, JITCompilationMustSucceed);
     
+    // LLVM used to put __compact_unwind in a code section. We keep this here defensively,
+    // for clients that use older LLVMs.
     if (!strcmp(sectionName, "__compact_unwind")) {
         state.compactUnwind = result->start();
         state.compactUnwindSize = result->sizeInBytes();
@@ -89,6 +91,10 @@
     else {
         state.jitCode->addDataSection(section);
         state.dataSectionNames.append(sectionName);
+        if (!strcmp(sectionName, "__compact_unwind")) {
+            state.compactUnwind = section.data();
+            state.compactUnwindSize = size;
+        }
     }
     
     return bitwise_cast<uint8_t*>(section.data());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to