Open Bug 1469383 Opened Last year Updated Last year

Duplicate stub attachment for GetProp in browser tests


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




Tracking Status
firefox62 --- affected


(Reporter: mgaudet, Unassigned)


(Blocks 2 open bugs)


(Keywords: perf, Whiteboard: [qf:p3])

CacheIR supports detecting duplicated stubs to avoid creating an IC chain full of duplication that doesn't actually guard anything new. This is typically a small performance issue too. 

It would be nice if we could eventually assert that duplicate stubs never get attached on the chain. Right now, we have gotten increasingly close; shell tests appear to pass without duplication occurring. 

I tested with this patch [1] on try [2] and found the assertion fails in some places, always seemingly with the following backtrace: 

     0!js::jit::AttachBaselineCacheIRStub(JSContext*, js::jit::CacheIRWriter const&, js::jit::CacheKind, js::jit::BaselineCacheIRStubKind, js::jit::ICStubEngine, JSScript*, js::jit::ICFallbackStub*, bool*) [BaselineCacheIRCompiler.cpp:7068d4394346dc9d4b1466243841865c326720bf : 2256 + 0x0]
     1!js::jit::DoGetPropFallback [SharedIC.cpp:7068d4394346dc9d4b1466243841865c326720bf : 1866 + 0x28]

Blocks: 1322783
Keywords: perf
Priority: -- → P3
Whiteboard: [qf]
Whiteboard: [qf] → [qf:p3:f64]
Matt, are you planning on fix this bug? If so, can we assign it to you?
Flags: needinfo?(mgaudet)
I am not actively working on this, and wouldn't take this on for at least a month. Given that it's P3, my inclination is to leave it unassigned right now.
Flags: needinfo?(mgaudet)
Whiteboard: [qf:p3:f64] → [qf:p3]
You need to log in before you can comment on or make changes to this bug.