Closed Bug 1503251 Opened 11 months ago Closed 10 months ago
Tracelogger: do not clear all dictionary data when calling js::Reset
47 bytes, text/x-phabricator-request
|Details | Review|
Some events persist even when the profiler is stopped, and they may continue to be referenced in the next profiling session. They are kept track of using a pointer counter for the TraceLoggerEventPayload pointers, but the actual string data that carries the payload gets cleared on reset. Instead of clearing, append the data we need into a new DictionaryVector and replace the old one with the new dictionary.
If the JS::ResetTraceLogger() routine is called, then keep track of existing event payloads and keep their existence alive instead of clearing them. This data can still be referred to in another profiler session and can therefore cause to dangling pointers if we free them.
Pushed by email@example.com: https://hg.mozilla.org/integration/autoland/rev/ec925f7dac88 Keep payload values in the dictionary if they are still alive. r=djvj
You need to log in before you can comment on or make changes to this bug.