diff options
| author | Glenn Smith <glenn@vector35.com> | 2025-06-19 16:23:33 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2025-07-01 12:52:08 -0400 |
| commit | 2ae357a4fffd81763e24a0c10dc3736ed8d387dd (patch) | |
| tree | 81eb57ddd5e2f267cccf1fc67b8112983f715206 /plugins | |
| parent | dc9ddca46f19e31384e4e30863570a8552e4bd8c (diff) | |
Make StackRenderLayer not wait for IL generation
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/stack_render_layer/plugin.cpp | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/plugins/stack_render_layer/plugin.cpp b/plugins/stack_render_layer/plugin.cpp index 24420ceb..5408118a 100644 --- a/plugins/stack_render_layer/plugin.cpp +++ b/plugins/stack_render_layer/plugin.cpp @@ -40,17 +40,22 @@ public: continue; } - // Grab stack offset value from function - auto stackOffset = block->GetFunction()->GetRegisterValueAtInstruction( - block->GetArchitecture(), - line.addr, - block->GetArchitecture()->GetStackPointerRegister() - ); - auto stackOffsetAfter = block->GetFunction()->GetRegisterValueAfterInstruction( - block->GetArchitecture(), - line.addr, - block->GetArchitecture()->GetStackPointerRegister() - ); + RegisterValue stackOffset; + RegisterValue stackOffsetAfter; + if (block->GetFunction()->GetMediumLevelILIfAvailable()) + { + // Grab stack offset value from function + stackOffset = block->GetFunction()->GetRegisterValueAtInstruction( + block->GetArchitecture(), + line.addr, + block->GetArchitecture()->GetStackPointerRegister() + ); + stackOffsetAfter = block->GetFunction()->GetRegisterValueAfterInstruction( + block->GetArchitecture(), + line.addr, + block->GetArchitecture()->GetStackPointerRegister() + ); + } if (stackOffset.state == StackFrameOffset) { // Stack pointer is resolved to an offset: show the offset |
