Closed Bug 1485716 Opened Last year Closed Last year

add aarch64 windows support to unwinding/profiler code

Categories

(Core :: General, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: froydnj, Assigned: froydnj)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

This is important for making lots of things compile, but also useful for
profiling Firefox with our tools or the default Windows tools.
part 1 - always use frame pointers on aarch64 windows

This support is not necessary, but the ABI conventions
page (https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions)
encourages people to use frame pointers for fast stack walking, and
using frame pointers means we're compatible with ETW, which is a Good
Thing.
Attachment #9003526 - Flags: review?(core-build-config-reviews)
This code is untested and has been cargo-culted a little bit from the
existing x86 code, but should work OK; all the code in Windows is
compiled with frame pointers, we're compiled with frame pointers after
the previous patch, and so the frame pointer unwinding path makes the
most sense.
Attachment #9003527 - Flags: review?(aklotz)
Frame pointers are enabled in Windows code always, and in our code by
default after the first patch in this series.
Attachment #9003528 - Flags: review?(mstange)
Comment on attachment 9003528 [details] [diff] [review]
part 3 - add aarch64 windows support to the profiler

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

::: tools/profiler/core/platform.cpp
@@ +102,5 @@
>  # define USE_MOZ_STACK_WALK
>  #endif
>  
> +// AArch64 Win64 builds use frame pointers.
> +#if defined(GP_PLAT_arm64_windows

missing a closing paren
Attachment #9003528 - Flags: review?(mstange) → review+
Attachment #9003527 - Flags: review?(aklotz) → review+
Comment on attachment 9003526 [details] [diff] [review]
7# Attachment to Bug 1485716 - add aarch64 windows support to unwinding/profiler code

Once we have working builds it would be interesting to measure exactly how much this costs us.
Attachment #9003526 - Flags: review?(core-build-config-reviews) → review+
Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a9f0b832f3df
part 1 - always use frame pointers on aarch64 windows; r=dmajor
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b759e325d3c
part 2 - add aarch64 windows support to the stack walking code; r=aklotz
https://hg.mozilla.org/integration/mozilla-inbound/rev/ef90e2fdfa1a
part 3 - add aarch64 windows support to the profiler; r=mstange
Depends on: 1513088
Depends on: 1514988
You need to log in before you can comment on or make changes to this bug.