Displaying 4 results from an estimated 4 matches for "t_binarynode_new_2pv".
2012 Nov 06
3
[LLVMdev] Using LLVM to serialize object state -- and performance
...nction only calls external C functions in libmylib.so and not other JIT'd functions. The C functions are simple thunks to call constructors. For example, given:
class BinaryNode : public Node {
public:
BinaryNode( Node *left, Node *right );
// ...
};
there exists a C thunk:
void* T_BinaryNode_new_2Pv( void *left, void *right ) {
return new BinaryNode( (Node*)left, (Node*)right );
}
The JIT'd function is just a sequence of such calls to thunks to build up an object tree. The idea is to generate LLVM code, write it out to disk, terminate execution of the current program's process; t...
2012 Nov 06
0
[LLVMdev] Using LLVM to serialize object state -- and performance
...nction only calls external C functions in libmylib.so and not other JIT'd functions. The C functions are simple thunks to call constructors. For example, given:
class BinaryNode : public Node {
public:
BinaryNode( Node *left, Node *right );
// ...
};
there exists a C thunk:
void* T_BinaryNode_new_2Pv( void *left, void *right ) {
return new BinaryNode( (Node*)left, (Node*)right );
}
The JIT'd function is just a sequence of such calls to thunks to build up an object tree. The idea is to generate LLVM code, write it out to disk, terminate execution of the current program's process; t...
2012 Oct 27
0
[LLVMdev] Using LLVM to serialize object state -- and performance
I'm not sure I have a clear picture of what you're JIT'ing. If any of the JIT'ed functions call other JIT'ed functions, it may be difficult to find all the dependencies of a functions and recreate them correctly on a subsequent load. Even if the JIT'ed functions only call non-JIT'ed functions, I think you'd need some confidence that the address of the called
2012 Oct 26
3
[LLVMdev] Using LLVM to serialize object state -- and performance
I have a legacy C++ application that constructs a tree of C++ objects (an iterator tree to implement a query language). I am trying to use LLVM to "serialize" the state of this tree to disk for later loading and execution (or "compile" it to disk, if you prefer).
Each of the C++ iterator objects now has a codegen() member function that adds to the LLVM code of an