[Webkit-unassigned] [Bug 84598] Eliminate unnecessary SetLocal/GetLocals in DFG

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 14 19:42:03 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=84598





--- Comment #7 from Yuqiang Xian <yuqiang.xian at intel.com>  2012-05-14 19:41:08 PST ---
(In reply to comment #6)
> This seems passing the layout tests, while with 1~2% performance regression on the 3 benchmarks.

The regression is mainly caused by the frequent OSR entries. Suppose we have such a scenario:
1), a loop becomes hot and dfg is triggered to optimize it;
2), during the execution of the optimized code for the loop, we encounter a ForceOSRExit and fall-back to the generic code;
3), the generic code is executed and we reach the next iteration of the loop, and re-enter the optimized code through the OSR entry;
4), repeat 2.

As some local variables are not placed in the stack slots corresponding to the operands via SetLocals with this patch, instead they might be "displaced" to the virtual registers (we now don't have global reg alloc), we need to have the values of those variables placed in the "displaced" virtual registers at the OSR entries, which involves memory reads/writes for each variable. Thus we suffer a lot with too frequent OSR entries.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list