Title: [282351] trunk/Source/WebCore
Revision
282351
Author
[email protected]
Date
2021-09-13 13:21:30 -0700 (Mon, 13 Sep 2021)

Log Message

REGRESSION(r282278): ASSERTION FAILED: !m_needExceptionCheck in JSC::VM::verifyExceptionCheckNeedIsSatisfied
https://bugs.webkit.org/show_bug.cgi?id=230208

Reviewed by Youenn Fablet.

r282278 introduced a new assertion failure for
js/dom/transform-stream.html in WinCairo Debug WK2.

JSObject::get throws an simulated exception. DECLARE_THROW_SCOPE
failed the assertion after that.

* bindings/js/InternalWritableStream.cpp:
(WebCore::invokeWritableStreamFunction): Removed
DECLARE_THROW_SCOPE because this function doesn't throw. Added
DECLARE_CATCH_SCOPE to use assertNoExceptionExceptTermination
after JSObject::get.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (282350 => 282351)


--- trunk/Source/WebCore/ChangeLog	2021-09-13 19:50:02 UTC (rev 282350)
+++ trunk/Source/WebCore/ChangeLog	2021-09-13 20:21:30 UTC (rev 282351)
@@ -1,3 +1,22 @@
+2021-09-13  Fujii Hironori  <[email protected]>
+
+        REGRESSION(r282278): ASSERTION FAILED: !m_needExceptionCheck in JSC::VM::verifyExceptionCheckNeedIsSatisfied
+        https://bugs.webkit.org/show_bug.cgi?id=230208
+
+        Reviewed by Youenn Fablet.
+
+        r282278 introduced a new assertion failure for
+        js/dom/transform-stream.html in WinCairo Debug WK2.
+
+        JSObject::get throws an simulated exception. DECLARE_THROW_SCOPE
+        failed the assertion after that.
+
+        * bindings/js/InternalWritableStream.cpp:
+        (WebCore::invokeWritableStreamFunction): Removed
+        DECLARE_THROW_SCOPE because this function doesn't throw. Added
+        DECLARE_CATCH_SCOPE to use assertNoExceptionExceptTermination
+        after JSObject::get.
+
 2021-09-13  Alan Bujtas  <[email protected]>
 
         [LFC] Rename LayoutState::established*FormattingState to formattingStateFor*FormattingContext

Modified: trunk/Source/WebCore/bindings/js/InternalWritableStream.cpp (282350 => 282351)


--- trunk/Source/WebCore/bindings/js/InternalWritableStream.cpp	2021-09-13 19:50:02 UTC (rev 282350)
+++ trunk/Source/WebCore/bindings/js/InternalWritableStream.cpp	2021-09-13 20:21:30 UTC (rev 282351)
@@ -36,15 +36,16 @@
     JSC::VM& vm = globalObject.vm();
     JSC::JSLockHolder lock(vm);
 
+    auto scope = DECLARE_CATCH_SCOPE(vm);
+
     auto function = globalObject.get(&globalObject, identifier);
     ASSERT(function.isCallable(vm));
+    scope.assertNoExceptionExceptTermination();
 
-    auto scope = DECLARE_THROW_SCOPE(vm);
     auto callData = JSC::getCallData(vm, function);
 
     auto result = call(&globalObject, function, callData, JSC::jsUndefined(), arguments);
-    if (UNLIKELY(scope.exception()))
-        return Exception { ExistingExceptionError };
+    RETURN_IF_EXCEPTION(scope, Exception { ExistingExceptionError });
 
     return result;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to