RESOLVED FIXED 191600
TypeProfileLog::processLogEntries should stash away any pending exceptions and re-apply them to the VM
https://bugs.webkit.org/show_bug.cgi?id=191600
Summary TypeProfileLog::processLogEntries should stash away any pending exceptions an...
Saam Barati
Reported 2018-11-13 14:30:47 PST
processLogEntries will call into calculatedClassName, which will clear any pending exceptions (it assumes that they're stack overflow exceptions). However, this code may be called when an exception is already pending on the VM. To get around this, processLogEntires should stash away and re-apply any pending exceptions.
Attachments
patch (11.29 KB, patch)
2018-11-13 15:08 PST, Saam Barati
mark.lam: review+
patch for landing (11.30 KB, patch)
2018-11-13 15:47 PST, Saam Barati
no flags
Saam Barati
Comment 1 2018-11-13 15:08:13 PST
Mark Lam
Comment 2 2018-11-13 15:14:28 PST
Comment on attachment 354706 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=354706&action=review r=me with fixes. > Source/JavaScriptCore/runtime/TypeProfilerLog.cpp:63 > + // thrown, so we don't calcualtedDisplayName to clear that exception that /don't/don't want/ > Source/JavaScriptCore/runtime/VM.h:901 > + : m_savedException(vm.m_exception) > + , m_savedLastException(vm.m_lastException) This should be: : m_savedException(vm.m_exception, nullptr) , m_savedLastException(vm.m_lastException, nullptr) Otherwise, you would not be "deferring" the exception.
Saam Barati
Comment 3 2018-11-13 15:47:38 PST
Created attachment 354715 [details] patch for landing
Saam Barati
Comment 4 2018-11-13 16:27:49 PST
WebKit Commit Bot
Comment 5 2018-11-13 20:57:41 PST
Comment on attachment 354715 [details] patch for landing Clearing flags on attachment: 354715 Committed r238162: <https://trac.webkit.org/changeset/238162>
WebKit Commit Bot
Comment 6 2018-11-13 20:57:43 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.