-
- Downloads
Bug 1779257 - Fix the stack walking for linux markers by calling getcontext in...
Bug 1779257 - Fix the stack walking for linux markers by calling getcontext in a valid stack frame r=mstange See my comment on here for more context of my investigation: https://bugzilla.mozilla.org/show_bug.cgi?id=1779257#c9 The saved context is invalid once the function that called `getcontext` returns. We need to call the `getcontext` while the frame where we called it is still on the stack. That's why this patch is moving the call to `getcontext` to parent function by inlining the SyncPopulate content by using a macro instead. This has to be a macro instead of a function because stack pointer address will be invalid once the `Registers::SyncPopulate` returns. I tried to change this method to inline but that didn't help either. Differential Revision: https://phabricator.services.mozilla.com/D170133
Showing
- memory/replace/dmd/DMD.cpp 2 additions, 2 deletionsmemory/replace/dmd/DMD.cpp
- mozglue/baseprofiler/core/platform-linux-android.cpp 3 additions, 12 deletionsmozglue/baseprofiler/core/platform-linux-android.cpp
- mozglue/baseprofiler/core/platform-macos.cpp 15 additions, 14 deletionsmozglue/baseprofiler/core/platform-macos.cpp
- mozglue/baseprofiler/core/platform-win32.cpp 4 additions, 5 deletionsmozglue/baseprofiler/core/platform-win32.cpp
- mozglue/baseprofiler/core/platform.cpp 5 additions, 10 deletionsmozglue/baseprofiler/core/platform.cpp
- tools/profiler/core/platform-linux-android.cpp 4 additions, 5 deletionstools/profiler/core/platform-linux-android.cpp
- tools/profiler/core/platform-macos.cpp 15 additions, 14 deletionstools/profiler/core/platform-macos.cpp
- tools/profiler/core/platform-win32.cpp 4 additions, 5 deletionstools/profiler/core/platform-win32.cpp
- tools/profiler/core/platform.cpp 4 additions, 9 deletionstools/profiler/core/platform.cpp
Loading
Please register or sign in to comment