Closed
Bug 1359051
Opened 8 years ago
Closed 8 years ago
js/src/jit/Ion.cpp:3528:30: error: no member named 'cacheFlush' in 'js::jit::ExecutableAllocator'
Categories
(Core :: JavaScript Engine: JIT, defect)
Tracking
()
RESOLVED
FIXED
mozilla55
Tracking | Status | |
---|---|---|
firefox-esr45 | --- | unaffected |
firefox-esr52 | --- | fixed |
firefox53 | --- | wontfix |
firefox54 | --- | fixed |
firefox55 | --- | fixed |
People
(Reporter: jbeich, Assigned: jbeich)
References
Details
(Keywords: regression)
Attachments
(2 files, 1 obsolete file)
59 bytes,
text/x-review-board-request
|
tcampbell
:
review+
gchang
:
approval-mozilla-beta+
|
Details |
1.95 KB,
patch
|
jcristau
:
approval-mozilla-esr52+
|
Details | Diff | Splinter Review |
In file included from obj-aarch64-unknown-freebsd11.0/js/src/Unified_cpp_js_src12.cpp:29:
js/src/jit/Ion.cpp:3528:30: error: no member named 'cacheFlush' in 'js::jit::ExecutableAllocator'
ExecutableAllocator::cacheFlush((void*)start_, size_t(stop_ - start_));
~~~~~~~~~~~~~~~~~~~~~^
http://thunderx1.nyi.freebsd.org/data/110arm64-quarterly/439184/logs/firefox-53.0_2,1.log
status-firefox53:
--- → affected
status-firefox54:
--- → affected
status-firefox55:
--- → affected
status-firefox57:
affected → ---
status-firefox-esr45:
--- → unaffected
status-firefox-esr52:
--- → unaffected
Comment 1•8 years ago
|
||
cacheFlush is incorrectly gated on __linux__.
Assignee: nobody → sstangl
Attachment #8860972 -
Flags: review?(tcampbell)
Comment 2•8 years ago
|
||
Comment on attachment 8860972 [details] [diff] [review]
0001-Bug-1359051-Define-cacheFlush-for-non-Simulator-ARM6.patch
I wonder if you want to guard !XP_IOS. It would seem the system sys_icache_invalidate should be preferred on that target (at least avoid confusion when we do support that target).
Attachment #8860972 -
Flags: review?(tcampbell)
Comment on attachment 8860972 [details] [diff] [review]
0001-Bug-1359051-Define-cacheFlush-for-non-Simulator-ARM6.patch
Together with bug 1359142 fix this patch unbreaks standalone SpiderMonkey build on FreeBSD 11.0 aarch64. I haven't tried building via Gecko due to qemu-user-static issues.
(In reply to Ted Campbell [:tcampbell] from comment #2)
> sys_icache_invalidate should be preferred on that target
compiler-rt seems to agree https://github.com/llvm-mirror/compiler-rt/blob/775df7943e07/lib/builtins/clear_cache.c#L146
Attachment #8860972 -
Flags: feedback+
Comment 4•8 years ago
|
||
Thanks for the link, Jan.
sstangl: r=me if you guard defined(JS_CODEGEN_ARM64) && defined(!XP_IOS), or extend the XP_IOS case above to include ARM64.
Comment 5•8 years ago
|
||
bleh. !defined(XP_IOS).. you know what I mean
Comment 6•8 years ago
|
||
Too late for a fix for 53. We could still take a patch for 54 though.
Comment on attachment 8860972 [details] [diff] [review]
0001-Bug-1359051-Define-cacheFlush-for-non-Simulator-ARM6.patch
After applying downstream (with comment 4 fix) FF53 builds fine:
https://svnweb.freebsd.org/ports/branches/2017Q2/www/firefox/files/patch-bug1359051?view=markup&pathrev=439552
http://thunderx1.nyi.freebsd.org/data/110arm64-quarterly/439718/logs/firefox-53.0_2,1.log
Comment hidden (mozreview-request) |
Attachment #8860972 -
Attachment is obsolete: true
Comment 9•8 years ago
|
||
mozreview-review |
Comment on attachment 8863851 [details]
Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds.
https://reviewboard.mozilla.org/r/135586/#review138596
Thanks for following this up =)
I can land it if you need once the try finishes.
Attachment #8863851 -
Flags: review?(tcampbell) → review+
Assignee | ||
Comment 10•8 years ago
|
||
mozreview-review |
Comment on attachment 8863851 [details]
Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds.
https://reviewboard.mozilla.org/r/135586/#review138598
::: js/src/jit/ExecutableAllocator.h:262
(Diff revision 1)
> #elif defined(JS_CODEGEN_ARM) && (defined(__FreeBSD__) || defined(__NetBSD__))
> static void cacheFlush(void* code, size_t size)
> {
> __clear_cache(code, reinterpret_cast<char*>(code) + size);
> }
> -#elif defined(JS_CODEGEN_ARM) && defined(XP_IOS)
> +#elif (defined(JS_CODEGEN_ARM) || defined(JS_CODEGEN_ARM64)) && defined(XP_IOS)
Try has no iOS builders, so this is only checked for typos.
Comment 11•8 years ago
|
||
Ah, good point. Can we go back to the version where with defined(JS_CODEGEN_ARM64) && !defined(XP_IOS). Defer the IOS case until we have someone testing it.
Flags: needinfo?(jbeich)
Assignee | ||
Comment 12•8 years ago
|
||
(In reply to Ted Campbell [:tcampbell] from comment #11)
> Ah, good point. Can we go back to the version where with
> defined(JS_CODEGEN_ARM64) && !defined(XP_IOS). Defer the IOS case until we
> have someone testing it.
What's the point going back to the version that doesn't compile? aarch64 on any OS is also Tier3.
Comment 13•8 years ago
|
||
Fair point. I've pushed to autoland queue. Sorry for the confusion.
Flags: needinfo?(jbeich)
Comment 14•8 years ago
|
||
Pushed by tcampbell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c53e5de60627
Define cacheFlush for non-Simulator ARM64 builds. r=tcampbell
Assignee | ||
Comment 15•8 years ago
|
||
Comment on attachment 8863851 [details]
Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds.
Approval Request Comment
[ESR consideration]: Better opt-in JIT support on aarch64.
[Feature/Bug causing the regression]: bug 1323115 regression and bug 1271565 feature
[User impact if declined]: Broken build on aarch64 on any OS except Android or Linux unless --disable-ion is added to .mozconfig.
[Is this code covered by automated tests?]: aarch64 is NPOTB
[Has the fix been verified in Nightly?]: Yes, standalone and as part of FF53 downstream.
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: No
[Why is the change risky/not risky?]: Can only break build due to typos.
[String changes made/needed]: None
Attachment #8863851 -
Flags: approval-mozilla-esr52?
Attachment #8863851 -
Flags: approval-mozilla-beta?
Assignee | ||
Comment 16•8 years ago
|
||
In case "hg import" is picky about patch context.
Comment 17•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Comment 18•8 years ago
|
||
Comment on attachment 8863851 [details]
Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds.
Fix a broken build on aarch64. Beta54+. Should be in 54 beta 6.
Attachment #8863851 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 19•8 years ago
|
||
bugherder uplift |
Comment 20•8 years ago
|
||
(In reply to Jan Beich from comment #15)
> [Is this code covered by automated tests?]: aarch64 is NPOTB
> [Has the fix been verified in Nightly?]: Yes, standalone and as part of FF53
> downstream.
> [Needs manual test from QE? If yes, steps to reproduce]: No
Setting qe-verify- based on Jan's assessment on manual testing needs.
Flags: qe-verify-
Comment 21•8 years ago
|
||
Comment on attachment 8863941 [details] [diff] [review]
rebased for esr52
build fix for tier-3 arm64 builds, esr52.2+
Attachment #8863941 -
Flags: approval-mozilla-esr52+
Comment 22•8 years ago
|
||
Comment on attachment 8863851 [details]
Bug 1359051 - Define cacheFlush for non-Simulator ARM64 builds.
moved esr52 approval flag to the rebased patch
Attachment #8863851 -
Flags: approval-mozilla-esr52?
Comment 23•8 years ago
|
||
bugherder uplift |
You need to log in
before you can comment on or make changes to this bug.
Description
•