Title: [203603] trunk/Source/_javascript_Core
Revision
203603
Author
pvol...@apple.com
Date
2016-07-22 11:26:04 -0700 (Fri, 22 Jul 2016)

Log Message

[Win] jsc.exe sometimes never exits.
https://bugs.webkit.org/show_bug.cgi?id=158073

Reviewed by Mark Lam.

Make sure the VM is deleted after the test has finished. This will gracefully stop the sampling profiler thread,
and give the thread the opportunity to release the machine thread lock aquired in SamplingProfiler::takeSample.
If the sampling profiler thread was terminated while holding the machine thread lock, the machine thread will
not be able to grab the lock afterwards.

* jsc.cpp:
(jscmain):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (203602 => 203603)


--- trunk/Source/_javascript_Core/ChangeLog	2016-07-22 16:57:53 UTC (rev 203602)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-07-22 18:26:04 UTC (rev 203603)
@@ -1,5 +1,20 @@
 2016-07-22  Per Arne Vollan  <pvol...@apple.com>
 
+        [Win] jsc.exe sometimes never exits.
+        https://bugs.webkit.org/show_bug.cgi?id=158073
+
+        Reviewed by Mark Lam.
+
+        Make sure the VM is deleted after the test has finished. This will gracefully stop the sampling profiler thread,
+        and give the thread the opportunity to release the machine thread lock aquired in SamplingProfiler::takeSample.  
+        If the sampling profiler thread was terminated while holding the machine thread lock, the machine thread will
+        not be able to grab the lock afterwards. 
+ 
+        * jsc.cpp:
+        (jscmain):
+
+2016-07-22  Per Arne Vollan  <pvol...@apple.com>
+
         Fix the Windows 64-bit build after r203537
         https://bugs.webkit.org/show_bug.cgi?id=160080
 

Modified: trunk/Source/_javascript_Core/jsc.cpp (203602 => 203603)


--- trunk/Source/_javascript_Core/jsc.cpp	2016-07-22 16:57:53 UTC (rev 203602)
+++ trunk/Source/_javascript_Core/jsc.cpp	2016-07-22 18:26:04 UTC (rev 203603)
@@ -2426,9 +2426,8 @@
 #endif
     JSC::initializeThreading();
 
-    VM* vm = &VM::create(LargeHeap).leakRef();
-    int result;
-    result = runJSC(vm, options);
+    Ref<VM> vm = VM::create(LargeHeap);
+    int result = runJSC(vm.ptr(), options);
 
     if (Options::gcAtEnd()) {
         // We need to hold the API lock to do a GC.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to