2008-07-09 Bill Holmes <billholmes54@gmail.com>
authorBill Holmes <holmes@mono-cvs.ximian.com>
Wed, 9 Jul 2008 15:39:38 +0000 (15:39 -0000)
committerBill Holmes <holmes@mono-cvs.ximian.com>
Wed, 9 Jul 2008 15:39:38 +0000 (15:39 -0000)
commitfd3524ccd682e8ec1f846750e02b98e941a4d30b
tree6a9ec4cee0fa91d6f6b22c5a04b0d1efb570fd75
parent15a144802fe424876ad62b73e01faf9dcc745304
2008-07-09  Bill Holmes  <billholmes54@gmail.com>

* mini.c (mono_codegen):  Allocate space at the end of the code block and store
  the unwind information for the method at the end of the allocated block.

* mini-amd64.h: Added declarations for the unwind routines and adding field to
  MonoCompileArch to hold the unwind info for SEH on Winx64

* mini-amd64.c (mono_arch_emit_prolog): Calls to the unwind routines added to store
  frame pointer info for the method being compiled.

* exceptions-amd64.c (mono_arch_get_throw_corlib_exception): Added a stack adjustment before
  the call to mono_exception_from_token.

* exceptions-amd64.c: Added mono_arch_unwindinfo* implementations.  This code is responsible
  storing the method prolog information in a format that the Winx64 SEH can understand.  This
  information is stored a the end of the method block because it is all 32-bit offset based.

Contributed under MIT/X11 license.

svn path=/trunk/mono/; revision=107548
mono/mini/ChangeLog
mono/mini/exceptions-amd64.c
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini.c