PageRenderTime 17ms CodeModel.GetById 15ms app.highlight 0ms RepoModel.GetById 1ms app.codeStats 0ms

/src/wrappers/llvm/README

http://github.com/tybor/Liberty
#! | 17 lines | 13 code | 4 blank | 0 comment | 0 complexity | 803f6a925cf025ac741246a7e5bee2cd MD5 | raw file
 1Wrappers for Low Level Virtual Machine (www.llvm.org)
 2
 3Currently based on the C bindings; wrapping an object oriented infrastructure
 4throught bindings that are meant to be used in a strictly non-OO language
 5imposes some compromises, like "exposing" C_ARRAYs or providing iterator-based
 6only access. This should be fixed with a direct interface with C++ after
 7bootstrap or after wrappers-generator tool will be upgraded to deal with C++.
 8
 9Currently a new wrapper is created everytime a new pointer is received from the
10C library. This is obviously not efficient and does not allow to have
11collections of wrappers of LLVM objects otherwise we will violate several
12COLLECTION postcondition like those of put feature, but allows for the wrappers
13to be a thin layer above the C API in order to avoid strange bugs.
14
15Ideally it should be possible to avoid the usage of wrapper objects.
16
17Copyright 2009 Paolo Redaelli