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.
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.
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.
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.