Open
Bug 1443082
Opened 5 years ago
Updated 4 months 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•5 years ago
|
||
A quick experiment compiling ZenGarden (which is much larger than Tanks) gives a very similar profile.
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 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•4 years ago
|
Whiteboard: [arm64:m3]
Comment 2•4 years ago
|
||
[arm64:m4] because simulator bugs don't need to block shipping ARM64 Fennec.
Whiteboard: [arm64:m3] → [arm64:m4]
Reporter | ||
Updated•3 years ago
|
Updated•4 months ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•