2009-04-19 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Sun, 19 Apr 2009 21:36:17 +0000 (21:36 -0000)
committerZoltan Varga <vargaz@gmail.com>
Sun, 19 Apr 2009 21:36:17 +0000 (21:36 -0000)
commitdd91f74f60829a1e8b2eee73445d70ed3ea5d081
treecc10ee8b281881f5f5be65924ef635070484479b
parentee29be6a865548d91fa123252a2999c148ff4e38
2009-04-19  Zoltan Varga  <vargaz@gmail.com>

* mini-llvm.c (mono_llvm_emit_method): Handle compares followed by an
unconditional branch.

* mini.h (MonoTrampolineType): Add new trampoline type
'MONO_TRAMPOLINE_LLVM_VCALL' which handles virtual calls made from LLVM
compiled code.

* mini-trampolines.c (mono_llvm_vcall_trampoline): New C trampoline
function.

* mini-trampolines.c (mono_create_llvm_vcall_trampoline): New trampoline
creation function.

* mini.c (mini_init): Avoid using the common vtable trampoline when LLVM
is enabled. Instead, use the llvm vcall trampoline.

svn path=/trunk/mono/; revision=132104
mono/mini/ChangeLog
mono/mini/mini-llvm.c
mono/mini/mini-trampolines.c
mono/mini/mini.c
mono/mini/mini.h