Closed Bug 1235338 Opened 4 years ago Closed 4 years ago

Make W^X work on arm64

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Attached patch PatchSplinter Review
Trivial patch to avoid writing back traced Value in TraceDataRelocations if it didn't change. We don't always have writable JIT code there.
Attachment #8702241 - Flags: review?(bhackett1024)
Comment on attachment 8702241 [details] [diff] [review]
Patch

Adding Luke in case Brian is not around.
Attachment #8702241 - Flags: review?(luke)
Comment on attachment 8702241 [details] [diff] [review]
Patch

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

::: js/src/jit/arm64/Assembler-arm64.cpp
@@ +573,5 @@
>              layout.asBits = literal;
>              Value v = IMPL_TO_JSVAL(layout);
>              TraceManuallyBarrieredEdge(trc, &v, "ion-masm-value");
> +            if (*literalAddr != JSVAL_TO_IMPL(v).asBits)
> +                *literalAddr = JSVAL_TO_IMPL(v).asBits;

From irc: probably good to comment that this test is necessary since the code is only W for moving/compacting.
Attachment #8702241 - Flags: review?(luke) → review+
Attachment #8702241 - Flags: review?(bhackett1024)
https://hg.mozilla.org/mozilla-central/rev/bdade94c0fd0
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
You need to log in before you can comment on or make changes to this bug.