Closed Bug 844112 Opened 12 years ago Closed 12 years ago

GC: Fix misc build and test failures in exactly rooted shell

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla22

People

(Reporter: jonco, Assigned: jonco)

Details

(Whiteboard: [js:t])

Attachments

(1 file)

No description provided.
Attached patch Proposed fixSplinter Review
I tried building and testing the shell with exact rooting enabled, and made this patch to fix a few small problems I found: - build failure in MarkExactStackRoots - fix initialization of JSContext::thingGCRooters - don't try and Mark Proxy::LazyProto magic object pointer - NULL out rooted Shape pointer in interpreter when it's set to SHAPE_REMOVED (and another place where it's contents are no longer needed)
Attachment #717171 - Flags: review?(sphink)
Comment on attachment 717171 [details] [diff] [review] Proposed fix Review of attachment 717171 [details] [diff] [review]: ----------------------------------------------------------------- Sorry, I could've given you the r+ before you left if the LazyProto thing hadn't scared me into looking harder. ::: js/src/gc/RootMarking.cpp @@ +50,5 @@ > return; > > + if (kind == THING_ROOT_OBJECT && *addr == Proxy::LazyProto) > + return; > + Ugh. You made me go look up what Proxy::LazyProto is. That's awful. So... if anyone else decides to use a special pointer value, it might collide with LazyProto? Bleh. We need some more general mechanism for this. Which is not your fault and totally out of scope here. Ignore me; I'm just complaining.
Attachment #717171 - Flags: review?(sphink) → review+
Whiteboard: [js:t]
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla22
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: