forked from OSchip/llvm-project
149c433bcc
Summary: The value that the CoreCLR personality passes to a funclet for the establisher frame may be the root function's frame or may be the parent funclet's (mostly empty) frame in the case of nested funclets. Each funclet stores a pointer to the root frame in its own (mostly empty) frame, as does the root function itself. All frames allocate this slot at the same offset, measured from the post-prolog stack pointer, so that the same sequence can accept any ancestor as an establisher frame parameter value, and so that a single offset can be reported to the GC, which also looks at this slot. This change allocate the slot when processing function entry, and records its frame index on the WinEHFuncInfo object, then inserts the code to set/copy it during prolog emission. Reviewers: majnemer, AndyAyers, pgavlin, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14614 llvm-svn: 252983 |
||
---|---|---|
.. | ||
lit.local.cfg | ||
wineh-cloning.ll | ||
wineh-coreclr.ll | ||
wineh-demotion.ll | ||
wineh-exceptionpointer.ll | ||
wineh-intrinsics-invalid.ll | ||
wineh-intrinsics.ll | ||
wineh-multi-parent-cloning.ll | ||
wineh-no-demotion.ll | ||
wineh-statenumbering-cleanups.ll | ||
wineh-statenumbering.ll |