Closed Bug 1335846 Opened 7 years ago Closed 7 years ago

Prohibit changing the active cooperatively scheduled thread during operations that affect GC

Categories

(Core :: JavaScript: GC, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

References

Details

Crash Data

Attachments

(1 file)

Attached patch patchSplinter Review
      No description provided.
Attachment #8832567 - Flags: review?(jcoppeard)
Assignee: nobody → bhackett1024
Comment on attachment 8832567 [details] [diff] [review]
patch

Review of attachment 8832567 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jsgc.cpp
@@ +5596,5 @@
> +    return cx->heapState == JS::HeapState::Idle
> +        && !cx->suppressGC
> +        && cx->allowGCBarriers
> +        && !cx->inUnsafeRegion
> +        && !cx->generationalDisabled

Generational and compacting GC can be permanently disabled in the shell using this mechanism by passing e.g. --no-ggc.  Doing this would disable switching threads as well.

We should probably have a different way of configuring these from disabling them temporarily in a scope.
Attachment #8832567 - Flags: review?(jcoppeard) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f2e46aa933a4
Prohibit changing the active cooperatively scheduled thread during operations that affect GC, r=jonco.
https://hg.mozilla.org/mozilla-central/rev/f2e46aa933a4
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: