Title: [217745] trunk/Source/_javascript_Core
Revision
217745
Author
[email protected]
Date
2017-06-02 18:09:50 -0700 (Fri, 02 Jun 2017)

Log Message

Defer installing mach breakpoint handler until watchdog is actually called
https://bugs.webkit.org/show_bug.cgi?id=172885

Reviewed by Saam Barati.

Eagerly installing the mach breakpoint handler causes issues with Xcode GUI debugging.
This hides the issue, so it won't occur as often.

* runtime/VMTraps.cpp:
(JSC::VMTraps::SignalSender::send):
(JSC::VMTraps::VMTraps): Deleted.
* runtime/VMTraps.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (217744 => 217745)


--- trunk/Source/_javascript_Core/ChangeLog	2017-06-02 23:58:39 UTC (rev 217744)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-06-03 01:09:50 UTC (rev 217745)
@@ -1,3 +1,18 @@
+2017-06-02  Keith Miller  <[email protected]>
+
+        Defer installing mach breakpoint handler until watchdog is actually called
+        https://bugs.webkit.org/show_bug.cgi?id=172885
+
+        Reviewed by Saam Barati.
+
+        Eagerly installing the mach breakpoint handler causes issues with Xcode GUI debugging.
+        This hides the issue, so it won't occur as often.
+
+        * runtime/VMTraps.cpp:
+        (JSC::VMTraps::SignalSender::send):
+        (JSC::VMTraps::VMTraps): Deleted.
+        * runtime/VMTraps.h:
+
 2017-06-02  Filip Pizlo  <[email protected]>
 
         Atomics.load and Atomics.store need to be fully fenced

Modified: trunk/Source/_javascript_Core/runtime/VMTraps.cpp (217744 => 217745)


--- trunk/Source/_javascript_Core/runtime/VMTraps.cpp	2017-06-02 23:58:39 UTC (rev 217744)
+++ trunk/Source/_javascript_Core/runtime/VMTraps.cpp	2017-06-03 01:09:50 UTC (rev 217745)
@@ -338,18 +338,6 @@
 
 #endif // ENABLE(SIGNAL_BASED_VM_TRAPS)
 
-VMTraps::VMTraps()
-{
-#if ENABLE(SIGNAL_BASED_VM_TRAPS)
-    if (!Options::usePollingTraps()) {
-        static std::once_flag once;
-        std::call_once(once, [] {
-            installSignalHandler();
-        });
-    }
-#endif
-}
-
 void VMTraps::willDestroyVM()
 {
     m_isShuttingDown = true;
@@ -394,6 +382,11 @@
 
 void VMTraps::SignalSender::send()
 {
+    static std::once_flag once;
+    std::call_once(once, [] {
+        installSignalHandler();
+    });
+
     while (true) {
         // We need a nested scope so that we'll release the lock before we sleep below.
         {

Modified: trunk/Source/_javascript_Core/runtime/VMTraps.h (217744 => 217745)


--- trunk/Source/_javascript_Core/runtime/VMTraps.h	2017-06-02 23:58:39 UTC (rev 217744)
+++ trunk/Source/_javascript_Core/runtime/VMTraps.h	2017-06-03 01:09:50 UTC (rev 217745)
@@ -86,7 +86,6 @@
         BitField m_mask;
     };
 
-    VMTraps();
     ~VMTraps()
     {
 #if ENABLE(SIGNAL_BASED_VM_TRAPS)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to