Open
Bug 1443082
Opened 7 years ago
Updated 2 years ago
ARM64: 25%-30% of wasm baseline compilation time spent in vixl assembler
Categories
(Core :: JavaScript: WebAssembly, enhancement, P5)
Tracking
()
NEW
People
(Reporter: lth, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [arm64:m4])
Here are the top vixl entries (from a perf recording of a run that compiles Tanks on a single core):
8.25% vixl::MozBaseAssembler::Emit
3.85% vixl::MacroAssembler::LoadStoreMacro
3.05% vixl::Assembler::LoadStoreMemOperand
2.03% vixl::MacroAssembler::AddSubMacro
1.84% vixl::MozBaseAssembler::Emit
1.66% vixl::MemOperand::IsImmediateOffset
1.27% vixl::Assembler::AddSub
1.26% vixl::Assembler::LoadStore
0.93% vixl::Operand::IsImmediate
0.87% vixl::MemOperand::IsPostIndex
0.84% vixl::MacroAssembler::Ldr
0.69% vixl::MemOperand::MemOperand
0.64% vixl::MacroAssembler::B
0.62% vixl::MozBaseAssembler::LinkAndGetOffsetTo
Clearly the assembler cannot take zero time, but cutting the time by even half, eg by judicious inlining or by bypassing the MacroAssembler and going directly to lower-level assembler functions in very hot cases where we don't need masm generality, is probably worthwhile. We could hope to rely on PGO to do that for us - if indeed we use PGO on the platform - but if it's easy to do it manually we should.
Reporter | ||
Comment 1•7 years ago
|
||
A quick experiment compiling ZenGarden (which is much larger than Tanks) gives a very similar profile.
Reporter | ||
Updated•7 years ago
|
Reporter | ||
Updated•6 years ago
|
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Component: JavaScript Engine: JIT → Javascript: Web Assembly
Summary: ARM64: 25%-30% of baseline compilation time spent in vixl assembler → ARM64: 25%-30% of wasm baseline compilation time spent in vixl assembler
Updated•6 years ago
|
Whiteboard: [arm64:m3]
Comment 2•6 years ago
|
||
[arm64:m4] because simulator bugs don't need to block shipping ARM64 Fennec.
Whiteboard: [arm64:m3] → [arm64:m4]
Reporter | ||
Updated•5 years ago
|
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•