Summary: | The FTL allocated spill slots for BinaryOps is sometimes inaccurate. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Lam <mark.lam> | ||||||
Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | commit-queue, fpizlo, keith_miller, msaboff, saam | ||||||
Priority: | P2 | ||||||||
Version: | WebKit Nightly Build | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Mark Lam
2016-01-08 12:24:03 PST
For exception handling? (In reply to comment #1) > For exception handling? Yes. My bug. I'll upload a patch soon for your review. Created attachment 268572 [details]
proposed fix.
Which test does this fix? Please make sure you either fix some existing test failure, or you try to introduce a test. If it is not testable, please say why. Comment on attachment 268572 [details]
proposed fix.
LGTM
Created attachment 268621 [details]
revised patch for landing.
For the landing patch, I unskipped 2 tests which now pass with this fix:
Source/JavaScriptCore/tests/stress/ftl-shr-exception.js
Source/JavaScriptCore/tests/stress/ftl-xor-exception.js
Also replaced the use of binaryUseKind() with isBinaryUseKind() because the bit ops may have operands that don't match in UseKind unless they are Untyped. isBinaryUseKind() is the right query to use for this scenario.
This patch has passed all JSC tests including the 2 unskipped tests.
Thanks for the reviews. Landed in r194820: <http://trac.webkit.org/r194820>. |