Displaying 3 results from an estimated 3 matches for "handler1_block".
2007 Nov 27
0
[LLVMdev] [Caml-list] Ocaml(opt) & llvm
On Nov 26, 2007, at 11:30 AM, Gordon Henriksen wrote:
>>
>> Of course, I do know that there are some typing issues and
>> theoritical points which I deliberately ignore here. I'm supposing
>> the guy wanting to LLVM for Ocaml is knowing that he seeks trouble.
>
> The ocaml type system is easily represented in LLVM. The only real
> mismatches I'm aware of
2007 Nov 27
2
[LLVMdev] [Caml-list] Ocaml(opt) & llvm
...ickery lies. The expression try
body with pattern1 -> catch1 | patternN -> catchN is compiled to:
; 'Call' a label within the function.
call try_block
; This is the landing pad. The exception is in the return register.
; Try to match a handler.
$r2 = $1 matches pattern1
branch to handler1_block if $r2
$r2 = $1 matches patternN
branch to handlerN_block if $r2
; If no handler matched, re-raise the exception.
load $sp <- 0(caml_exception_pointer)
pop 0(caml_exception_pointer)
ret
handler1_block:
$r1 = catch1
jump to after_block
handlerN_block:
$r1 = catchN
jump to after_block
try_bloc...
2007 Nov 26
2
[LLVMdev] [Caml-list] Ocaml(opt) & llvm
On Nov 26, 2007, at 13:27, Basile STARYNKEVITCH wrote:
> As some might probably know, the LLVM compiler http://llvm.org/ has
> (at least in its latest SVN snapshot) a binding for Ocaml. This
> means that one could code in Ocaml some stuff (eg a JIT-ing
> compiler) which uses (and links with) LLVM libraries.
Yep! There are no bindings for the JIT (just for codegen), but it has