]> gitweb.factorcode.org Git - factor.git/blob - extra/llvm/reader/reader.factor
install functions from llvm bytecode, with test
[factor.git] / extra / llvm / reader / reader.factor
1 USING: accessors alien.c-types alien.syntax destructors kernel
2 llvm.core llvm.engine llvm.jit llvm.wrappers ;
3
4 IN: llvm.reader
5
6 : buffer>module ( buffer -- module )
7     [
8         value>> f <void*> f <void*>
9         [ LLVMParseBitcode drop ] 2keep
10         *void* [ llvm-throw ] when* *void*
11         module new swap >>value
12     ] with-disposal ;
13
14 : load-module ( path -- module )
15     <buffer> buffer>module ;
16
17 : load-into-jit ( path name -- )
18     [ load-module ] dip add-module ;