Closed Bug 841558 Opened 12 years ago Closed 12 years ago

GC: Don't exactly mark through tagged protos and other tagged things

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla22

People

(Reporter: terrence, Assigned: terrence)

References

Details

Attachments

(1 file)

Attached patch v0 (deleted) — Splinter Review
I hit this when working on GGC. This is the same test we have in place on the object pre-barrier and for the same reason: NULL tagged pointers.
Attachment #714115 - Flags: review?(sphink)
Comment on attachment 714115 [details] [diff] [review] v0 Review of attachment 714115 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/gc/RootMarking.cpp @@ +45,5 @@ > static inline void > MarkExactStackRoot(JSTracer *trc, Rooted<void*> *rooter, ThingRootKind kind) > { > void **addr = (void **)rooter->address(); > + if (uintptr_t(*addr) < 32) Ugh. No problem with the implementation, but could this check and the ones for barriers in ObjectImpl-inl.h be put into a meaningfully-named macro? It's both cryptic and yet not worth a full comment at the same time. Hopefully there's something shorter than IS_NULL_POSSIBLY_TAGGED_POINTER(p).
Attachment #714115 - Flags: review?(sphink) → review+
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: