Closed Bug 1313607 Opened 8 years ago Closed 8 years ago

Make ARM64 simulator compile on Mac OS X

Categories

(Core :: JavaScript Engine: JIT, defect, P3)

Other
Unspecified
defect

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox52 --- fixed

People

(Reporter: lth, Assigned: lth)

Details

Attachments

(1 file)

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.
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+
https://hg.mozilla.org/mozilla-central/rev/bdeb744966f1
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in before you can comment on or make changes to this bug.