Make ARM64 simulator compile on Mac OS X

RESOLVED FIXED in Firefox 52

Status

()

defect
P3
normal
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: lth, Assigned: lth)

Tracking

unspecified
mozilla52
Other
Unspecified
Points:
---

Firefox Tracking Flags

(firefox52 fixed)

Details

Attachments

(1 attachment)

Assignee

Description

3 years ago
The rat's nest of ifdefs defining cacheFlush in ExecutableAllocator.h does not cover this situation.  I know the arm64 config is tier-3 but the buildbot tests it and being able to test compile locally on Mac OS X seems useful.
Assignee

Comment 1

3 years ago
ARM64 simulator on Darwin gets an empty cacheflush function.

Presumably on Linux this is not needed because we're covered by the JS_CODEGEN_ARM64 case later, but that case does not work with the default Clang on Mac OS X 10.11.
Attachment #8805492 - Flags: review?(jdemooij)
Comment on attachment 8805492 [details] [diff] [review]
bug1313607-arm64-cacheflush-darwin.patch

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

::: js/src/jit/ExecutableAllocator.h
@@ +235,5 @@
>  
>      static void poisonCode(JSRuntime* rt, JitPoisonRangeVector& ranges);
>  
> +#if defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) || \
> +    (defined(JS_SIMULATOR_ARM64) && defined(XP_DARWIN))

I would just use |defined(JS_SIMULATOR_ARM64)|, that gives us the same no-op behavior everywhere and also fixes it for, say, Windows (whenever some poor soul tries to use the ARM64 simulator there.. :)
Attachment #8805492 - Flags: review?(jdemooij) → review+

Comment 4

3 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/bdeb744966f1
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in before you can comment on or make changes to this bug.