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)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla22
People
(Reporter: terrence, Assigned: terrence)
References
Details
Attachments
(1 file)
(deleted),
patch
|
sfink
:
review+
|
Details | Diff | 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 1•12 years ago
|
||
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+
Assignee | ||
Comment 2•12 years ago
|
||
Comment 3•12 years ago
|
||
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.
Description
•