Changeset 206643 in webkit
- Timestamp:
- Sep 30, 2016 11:15:38 AM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r206642 r206643 1 2016-09-30 Mark Lam <mark.lam@apple.com> 2 3 Use topVMEntryFrame to determine whether to skip the re-throw of a simulated throw. 4 https://bugs.webkit.org/show_bug.cgi?id=162793 5 6 Reviewed by Saam Barati. 7 8 Change the ThrowScope destructor to use topVMEntryFrame (instead of topCallFrame) 9 in the determination of whether to skip the re-throw of a simulated throw. This 10 is needed because the topCallFrame is not updated in operationConstructArityCheck() 11 (and does not need to be), whereas topVMEntryFrame is always updated properly. 12 Hence, we should just switch to using the more reliable topVMEntryFrame instead. 13 14 This issue was discovered by existing JSC tests when exception check validation 15 is enabled. 16 17 * runtime/ThrowScope.cpp: 18 (JSC::ThrowScope::~ThrowScope): 19 1 20 2016-09-30 Filip Pizlo <fpizlo@apple.com> 2 21 -
trunk/Source/JavaScriptCore/runtime/ThrowScope.cpp
r205569 r206643 58 58 bool willBeHandleByLLIntOrJIT = false; 59 59 void* previousScope = m_previousScope; 60 void* top CallFrame = m_vm.topCallFrame;61 62 // If the top CallFrame was pushed on the stack after the previousScope was instantiated,60 void* topVMEntryFrame = m_vm.topVMEntryFrame; 61 62 // If the topVMEntryFrame was pushed on the stack after the previousScope was instantiated, 63 63 // then this throwScope will be returning to LLINT or JIT code that always do an exception 64 64 // check. In that case, skip the simulated throw because the LLInt and JIT will be 65 65 // checking for the exception their own way instead of calling ThrowScope::exception(). 66 if (top CallFrame && previousScope > topCallFrame)66 if (topVMEntryFrame && previousScope > topVMEntryFrame) 67 67 willBeHandleByLLIntOrJIT = true; 68 68
Note: See TracChangeset
for help on using the changeset viewer.