Save and restore ymm registers in signal handlers.
authorAditya Mandaleeka <adityam@microsoft.com>
Tue, 19 Jul 2016 02:39:05 +0000 (19:39 -0700)
committerAditya Mandaleeka <adityam@microsoft.com>
Thu, 21 Jul 2016 21:25:50 +0000 (14:25 -0700)
commit9585fc244705b3a06c1f99dc6d60b9c9583ec3ed
tree00aa88e30574d3609a42b0da2f38f1827445c66d
parentece6cb3aba99ce30cbadb1fe4092959371401f29
Save and restore ymm registers in signal handlers.

- Modified the CONTEXT structure for storing the upper 16 bytes of ymm registers
- Upon start of signal handler, ymmh data is copied from the native context to the CONTEXT structure, and a new flag is set to indicate that it has ymmh data
- Upon calling RtlRestoreContext, the new flag is checked, and ymmh data is restored into registers from the CONTEXT structure
- This change fixes only the Linux side for now.
src/pal/inc/pal.h
src/pal/src/arch/i386/asmconstants.h
src/pal/src/debug/debug.cpp
src/pal/src/exception/machexception.cpp
src/pal/src/exception/signal.cpp
src/pal/src/include/pal/context.h
src/pal/src/thread/context.cpp
src/pal/src/thread/thread.cpp