Incomplete C++ stacks when Ion JavaScript frames are in the stack (can't unwind the native stack through Jit code)
Categories
(Core :: Gecko Profiler, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox60 | --- | affected |
People
(Reporter: mstange, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/plain
|
Details |
Comment 1•7 years ago
|
||
Comment 2•7 years ago
|
||
Updated•6 years ago
|
Comment 3•5 years ago
|
||
Comment 4•5 years ago
|
||
Seeing this in https://perfht.ml/2SV3W7J and I promised Florian I'd ping him about a bug (which I was going to file, but then Markus pointed to this one). :-)
Jan, you helped me with JIT questions while I was working on bug 1635987 (use JIT info to recover stack walking when it gets lost), could you please have a look at this bug here (the original problem & proposed solution(s)) and give some thoughts as to how possible and/or difficult it would be to solve as comment 0 suggests?
For more context:
I'm working on bug 1635987, and in sub-bug 1707489 (which implements the stack-walking and profiler bits on Win64), :glandium wrote in his review:
This seems like a lot of convoluted hoops to go through to avoid adding frame pointers to JIT frames. Is there anything that prevents us from doing that instead?
I may be responsible for the convoluted hoops, so don't worry about that part.
But what do you think about "adding frame pointers to JIT frames"? (My own reading of comment 0 above, if correct, is that it's not that simple? You may read my initial reply there.)
Thanks.
Comment 6•3 years ago
|
||
(In reply to Gerald Squelart [:gerald] (he/him) from comment #5)
But what do you think about "adding frame pointers to JIT frames"? (My own reading of comment 0 above, if correct, is that it's not that simple? You may read my initial reply there.)
Preserving frame pointers in JIT code (bug 1426134) is hard, especially on 32-bit x86 where we're already often running out of registers without a frame pointer. Using frame pointers for JIT frames is something we want to do eventually, but it's a lot of work and not really a priority for us right now.
Updated•3 years ago
|
Comment 7•3 years ago
|
||
I just got another occurrence of this issue: https://share.firefox.dev/3qfp4q7
Updated•2 years ago
|
Updated•2 years ago
|
Comment 8•2 years ago
|
||
I think we can call this finished how that Bug 1426134 is landed. Unwinding through the JITs and all its machinery seems to be working pretty well these days.
Description
•