Title: [290525] trunk/Source/_javascript_Core
Revision
290525
Author
[email protected]
Date
2022-02-25 13:01:41 -0800 (Fri, 25 Feb 2022)

Log Message

Unreviewed, reverting r290516.
https://bugs.webkit.org/show_bug.cgi?id=237222

broke debug tests

Reverted changeset:

"[JSC] Use DeferTerminationForAWhile in Interpreter::unwind"
https://bugs.webkit.org/show_bug.cgi?id=237176
https://commits.webkit.org/r290516

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (290524 => 290525)


--- trunk/Source/_javascript_Core/ChangeLog	2022-02-25 20:54:59 UTC (rev 290524)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-02-25 21:01:41 UTC (rev 290525)
@@ -1,3 +1,16 @@
+2022-02-25  Commit Queue  <[email protected]>
+
+        Unreviewed, reverting r290516.
+        https://bugs.webkit.org/show_bug.cgi?id=237222
+
+        broke debug tests
+
+        Reverted changeset:
+
+        "[JSC] Use DeferTerminationForAWhile in Interpreter::unwind"
+        https://bugs.webkit.org/show_bug.cgi?id=237176
+        https://commits.webkit.org/r290516
+
 2022-02-25  Mark Lam  <[email protected]>
 
         operationMaterializeObjectInOSR should DeferTerminationForAWhile instead of just DeferTermination.

Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (290524 => 290525)


--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2022-02-25 20:54:59 UTC (rev 290524)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2022-02-25 21:01:41 UTC (rev 290525)
@@ -675,7 +675,7 @@
 // Replace an exception which passes across a marshalling boundary with a TypeError for its handler's global object.
 static void sanitizeRemoteFunctionException(VM& vm, JSRemoteFunction* remoteFunction, Exception* exception)
 {
-    ASSERT(vm.traps().isDeferringTermination());
+    DeferTermination deferScope(vm);
     auto scope = DECLARE_THROW_SCOPE(vm);
     ASSERT(exception);
     ASSERT(!vm.isTerminationException(exception));
@@ -703,10 +703,6 @@
 
 NEVER_INLINE CatchInfo Interpreter::unwind(VM& vm, CallFrame*& callFrame, Exception* exception)
 {
-    // While running Interpreter::unwind, we must not accept concurrently set termination exception,
-    // otherwise, we can end up in a found error handler with a TerminationException, and effectively
-    // "catch" the TerminationException which should not be catchable.
-    DeferTerminationForAWhile deferScope(vm);
     auto scope = DECLARE_CATCH_SCOPE(vm);
 
     ASSERT(reinterpret_cast<void*>(callFrame) != vm.topEntryFrame);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to