WebKit Bugzilla
Attachment 342792 Details for
Bug 186648
: Make ForceOSRExit CFG pruning in bytecode parser more aggressive by making the original block to ignore be the plan's osrEntryBytecodeIndex
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
a-backup.diff (text/plain), 1.83 KB, created by
Saam Barati
on 2018-06-14 22:25:12 PDT
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Saam Barati
Created:
2018-06-14 22:25:12 PDT
Size:
1.83 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 232866) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,20 @@ >+2018-06-14 Saam Barati <sbarati@apple.com> >+ >+ Make ForceOSRExit CFG pruning in bytecode parser more aggressive by making the original block to ignore be the plan's osrEntryBytecodeIndex >+ https://bugs.webkit.org/show_bug.cgi?id=186648 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ This patch is neutral on SunSpider/bitops-bitwise-and. That test originally >+ regressed with my first version of ForceOSRExit CFG pruning. This patch makes >+ ForceOSRExit CFG pruning more aggressive by not ignoring everything that >+ can reach any loop_hint, but only ignoring blocks that can reach a loop_hint >+ if it's the plan's osr entry bytecode target. The goal is to get a speedometer >+ 2 speedup with this change on iOS. >+ >+ * dfg/DFGByteCodeParser.cpp: >+ (JSC::DFG::ByteCodeParser::parse): >+ > 2018-06-14 Michael Saboff <msaboff@apple.com> > > REGRESSION(232741): Crash running ARES-6 >Index: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp >=================================================================== >--- Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (revision 232866) >+++ Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (working copy) >@@ -6839,8 +6839,10 @@ void ByteCodeParser::parse() > if (m_hasAnyForceOSRExits) { > BlockSet blocksToIgnore; > for (BasicBlock* block : m_graph.blocksInNaturalOrder()) { >- if (block->isOSRTarget) >+ if (block->isOSRTarget && block->bytecodeBegin == m_graph.m_plan.osrEntryBytecodeIndex) { > blocksToIgnore.add(block); >+ break; >+ } > } > > {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186648
: 342792