2009-12-13 Zoltan Varga <vargaz@gmail.com>
commit8e038f3098f83ad8b76c9632cfb9d5d929b47102
authorzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Sun, 13 Dec 2009 06:37:15 +0000 (13 06:37 +0000)
committerzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Sun, 13 Dec 2009 06:37:15 +0000 (13 06:37 +0000)
tree45b6fa16f5780b31e0549a76056cc9fdf38bf6fb
parent87514fe69fc94c7a813c8bce46db687704da24bb
2009-12-13  Zoltan Varga  <vargaz@gmail.com>

* mini-exceptions.c (mono_resume_unwind): New function to resume unwinding at the
end of an LLVM compiled finally clause.
(mono_handle_exception_internal): Save the exception handling state in TLS
before calling an LLVM compiled finally clause, so mono_resume_unwind () can
resume unwinding from that point.

* unwind.c (mono_unwind_get_ops_from_fde): Rename this to
mono_unwind_decode_fde, decode the Language Specific Data Area (LSDA) too,
to obtain the addresses of the exception handling regions.

* mini-llvm.c: Add beginnings of support for exception handling, currently only
finally clauses are supported.

* mini.c (mini_method_compile): Add support for LLVM code with exception
handlers.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@148340 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mono/mini/ChangeLog
mono/mini/aot-runtime.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.h
mono/mini/mini-exceptions.c
mono/mini/mini-llvm.c
mono/mini/mini-unwind.h
mono/mini/mini.c
mono/mini/mini.h
mono/mini/unwind.c