Bug 87017
| Summary: | Web Inspector: [JSC] JavaScript profile stops recording on page load | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> |
| Component: | Web Inspector (Deprecated) | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | apavlov, bweinstein, ggaren, joepeck, keishi, loislo, mark.lam, oliver, pfeldman, pmuellr, rik, yurys |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | All | ||
| OS: | All | ||
Adam Roben (:aroben)
To reproduce:
1. Start a JavaScript profile
2. Reload the page
The profile stops recording and disappears. This only happens in Safari, not Chrome. This makes it pretty much impossible to profile page loads.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Adam Roben (:aroben)
There is some JSC-specific code in InspectorProfilerAgent to reset profiles on page load. But just removing that code isn't enough to fix the bug. It looks like JSC::ProfileGenerator is a per-JSGlobalObject object, so gets destroyed and recreated on every page load.
Adam Roben (:aroben)
All the profile code in JSC stores ExecStates all over the place. Seems like we'd either need to keep those alive as long as the profile is alive, or make it so we don't have to store them at all.
Brian Burg
Closing as invalid, as this bug pertains to the old inspector UI and/or its tests.
Please file a new bug (https://www.webkit.org/new-inspector-bug) if the bug/feature/issue is still relevant to WebKit trunk.