2009-12-13 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 13 Dec 2009 06:37:15 +0000 (06:37 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 13 Dec 2009 06:37:15 +0000 (06:37 -0000)
commit1eb3140b557f3a486862cca34e488552af02d064
treeec952fc68eeffe29fffbf44d5e50f24f58047f6d
parent91ac601fd492a7efc84477b9c16a31f16cf397c2
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.

svn path=/trunk/mono/; revision=148340
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