Closed Bug 597923 Opened 15 years ago Closed 15 years ago

A bunch of time spent in JSCompartment::purge during tab switch.

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: jrmuizel, Unassigned)

Details

I don't have a callstacks but these functions include the majority of cpu time. 62.6% 62.6% XUL 112 B JSCompartment::purge(JSContext*) 11.1% 11.1% XUL 752 B js::mjit::ic::PurgePICs(JSContext*, JSScript*) I got profiles using Shark's Unresponsive Application profiling. All of the profiles it produced basically looked the same. I don't have any stacks because of -fomit-frame-pointer. I have about 30-40 tabs open and haven't tried to reproduce the problem yet. This was using a build from 09-19-2010
blocking2.0: --- → ?
Why are we purging PICs on tab switch? /be
This is probably from a GC.
blocking2.0: ? → beta8+
I suspect this is compartments-related. Without full compartments support, the script list could get corrupted. Without STR, I don't really see how to fix this, but there is a bug on file for cleaning up the scripts list (bug 586181). Once compartments are done, we should audit the script-list code and that bug and fix any problems.
Nominating for reconsideration (was beta8+) because: - This seems to have happened only once, with no STR and no further reports - It was suspected to be caused by having JM with compartments, and now we have compartments.
blocking2.0: beta8+ → ?
blocking2.0: ? → betaN+
It is impossible to actually work on this bug, so closing. Also, my original guess was that it related to not having scripts properly restricted to compartments, which has been fixed.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.