| Summary: | LICM should gracefully handle unprofiled code | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, mmirman, msaboff, nrotem, oliver, sam | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 112840 | ||||||
| Attachments: |
|
||||||
Created attachment 223818 [details]
the patch
Comment on attachment 223818 [details]
the patch
r=me
Landed in http://trac.webkit.org/changeset/163879 |
Consider: loop { if (never happens) o.f++; // this thing } This thing will look like a clobber-the-world side-effect. But, it's also an exit site. I don't think that the IR makes clear that that basic block doesn't belong in the loop. We should investigate this more.