Closed Bug 817812 Opened 8 years ago Closed 8 years ago

Fix --enable-root-analysis compile

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(1 file)

The recent jsgc.cpp splitup removed some functions that my rooting analysis optimization depended on.
This patch exposes a simplified IsAddressableGCThing overload and uses it.
Attachment #687946 - Flags: review?(terrence)
Comment on attachment 687946 [details] [diff] [review]
Fix --enable-root-analysis compile

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

Seems fine to me.

::: js/src/gc/GCInternals.h
@@ +83,5 @@
>  IncrementalSafety
>  IsIncrementalGCSafe(JSRuntime *rt);
>  
> +bool
> +IsAddressableGCThing(JSRuntime *rt, uintptr_t w);

At some point in the future, this is going to be the last link holding the conservative GC testing alive. Put this under #ifdef ROOT_ANALYIS so that it's perfectly clear what is depending on the functionality.

::: js/src/gc/Verifier.cpp
@@ +283,5 @@
>  
>      JS_ASSERT(stackMin <= stackEnd);
>      CheckStackRootsRangeAndSkipIon(rt, stackMin, stackEnd, firstToScan, rooters.end());
>      CheckStackRootsRange(rt, cgcd->registerSnapshot.words,
> +                         mozilla::ArrayEnd(cgcd->registerSnapshot.words),

This is just the verifier, we should |using namespace mozilla;| at the top.
Attachment #687946 - Flags: review?(terrence) → review+
Attachment #687946 - Flags: checkin+
https://hg.mozilla.org/mozilla-central/rev/72859dc0fefd
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.