Closed Bug 1439333 Opened 2 years ago Closed 2 years ago

AutoFlushICache methods are ifdef'd out for ARM64

Categories

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

ARM64
All
enhancement

Tracking

()

RESOLVED FIXED
mozilla60
Tracking Status
firefox60 --- fixed

People

(Reporter: lth, Assigned: lth)

References

Details

Attachments

(1 file, 1 obsolete file)

flush() and setInhibit() are not enabled for ARM64.  As it happens, they don't need to be - setInhibit is used by nobody, and flush() is not yet used by ARM64 (probably won't need it).

However it's an antipattern to have #ifdef ARCH ... #endif without covering all ARCH.  Really there ought always to be a default #else MOZ_CRASH() case so that porting work can be less hit-and-miss.  I'll add the appropriate default cases here.
Ah, but ARM64 asm code *should* call AutoFlushICache::flush() when patching, and when they do that the AutoFlushICache objects that *are* created but appear to be inert in bug 1430743 will be effectful.
Blocks: 1430743
Make ARM64 opt into existing flushing machinery.
Attachment #8952165 - Flags: review?(jdemooij)
Comment on attachment 8952165 [details] [diff] [review]
bug1439333-autoflushicache-arm64.patch

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

Thanks for fixing this footgun.
Attachment #8952165 - Flags: review?(jdemooij) → review+
Rebased, etc, ready to land.  Carrying r+.
Attachment #8952165 - Attachment is obsolete: true
Attachment #8954003 - Flags: review+
Pushed by lhansen@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2ffffb30b31
Make AutoFlushICache::flush() do something on ARM64. r=jandem
https://hg.mozilla.org/mozilla-central/rev/d2ffffb30b31
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.