Closed Bug 1587378 Opened 5 years ago Closed 5 years ago

Remove TraceCallbacks method that takes raw JSObject pointers

Categories

(Core :: XPCOM, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: jonco, Assigned: jonco)

References

Details

Attachments

(1 file)

To enforce correct use of barriers for heap pointers to GC things, most TraceCallbacks methods only take Heap<T> pointers. However there's a method that takes a pointer to a JSObject pointer. It would be great to close this hole.

Blocks: 1587034

This method turned out to only be used for tracing wrapper cached things. The wrapper cache has its own way of implementing barriers and contains a raw JSObject pointer. Changing this trace method to take an nsWrapperCache pointer (effectively a JSObjct**) enforces correct use of Heap<T> for other TraceCallbacks callers.

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/83f9a32156de
Remove TraceCallbacks method that takes raw JSObject pointers r=mccr8
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: