]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/llvm/reader/reader.factor
90cf36f955bbf0c38f8eeb53b54363b00b9dadcc
[factor.git] / unmaintained / llvm / reader / reader.factor
1 ! Copyright (C) 2009 Matthew Willis.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors alien.c-types alien.data alien.syntax
4 destructors kernel llvm.core llvm.engine llvm.jit llvm.wrappers
5 ;
6
7 IN: llvm.reader
8
9 : buffer>module ( buffer -- module )
10     [
11         value>> f void* <ref> f void* <ref>
12         [ LLVMParseBitcode drop ] 2keep
13         void* deref [ llvm-throw ] when* void* deref
14         module new swap >>value
15     ] with-disposal ;
16
17 : load-module ( path -- module )
18     <buffer> buffer>module ;
19
20 : load-into-jit ( path name -- )
21     [ load-module ] dip add-module ;