summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2015-11-13 21:27:00 +0000
committerReid Kleckner <rnk@google.com>2015-11-13 21:27:00 +0000
commit75b4be9a1198c53384980eadca2708628b97622c (patch)
treef12c5cb7442b9338145c652f46a5bfdfcec4d201 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parent447bbdb17134e9463e45d41610b9e0dd73323dcf (diff)
downloadbcm5719-llvm-75b4be9a1198c53384980eadca2708628b97622c.tar.gz
bcm5719-llvm-75b4be9a1198c53384980eadca2708628b97622c.zip
[WinEH] Fix ESP management with 32-bit __CxxFrameHandler3
The C++ EH personality automatically restores ESP from the C++ EH registration node after a catchret. I mistakenly thought it was like SEH, which does not restore ESP. It makes sense for C++ EH to differ from SEH here because SEH does not use funclets for catches, and does not allow catching inside of finally. C++ EH may need to unwind through multiple catch funclets and eventually catchret to some outer funclet. Therefore, the runtime has to keep track of which ESP to use with catchret, rather than having the compiler reload it manually. llvm-svn: 253084
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud