In the baseline, we have an optimization where we prune unreachable code beginning from the instruction we OSR entry to. This pruning needs to take into account the reachability from local catch statements.
<rdar://problem/39456551>
Created attachment 339494 [details] Patch
Created attachment 339497 [details] Updated Patch
Comment on attachment 339497 [details] Updated Patch View in context: https://bugs.webkit.org/attachment.cgi?id=339497&action=review r=me > Source/JavaScriptCore/jit/JIT.cpp:203 > + please delete. > Source/JavaScriptCore/jit/JIT.cpp:228 > + for (unsigned bytecodeOffset = block->leaderOffset(); bytecodeOffset < block->leaderOffset() + block->totalLength();) { Can we skip this loop if the program has no catch handlers?
(In reply to Saam Barati from comment #4) > Comment on attachment 339497 [details] > Updated Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=339497&action=review > > r=me > > > Source/JavaScriptCore/jit/JIT.cpp:203 > > + > > please delete. > > > Source/JavaScriptCore/jit/JIT.cpp:228 > > + for (unsigned bytecodeOffset = block->leaderOffset(); bytecodeOffset < block->leaderOffset() + block->totalLength();) { > > Can we skip this loop if the program has no catch handlers? I'll take care of those changes locally before landing.
Committed r231343: <https://trac.webkit.org/changeset/231343>