1 ! Copyright (C) 2009 Matthew Willis.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien.c-types alien.syntax destructors kernel
4 llvm.core llvm.engine llvm.jit llvm.wrappers ;
8 : buffer>module ( buffer -- module )
10 value>> f <void*> f <void*>
11 [ LLVMParseBitcode drop ] 2keep
12 *void* [ llvm-throw ] when* *void*
13 module new swap >>value
16 : load-module ( path -- module )
17 <buffer> buffer>module ;
19 : load-into-jit ( path name -- )
20 [ load-module ] dip add-module ;