<div class="gmail_quote">Albert Graef wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The way I do this in Pure is to always call global functions in an<br>


indirect fashion, using an internal global variable which holds the<br>
current function pointer. When a function definition gets updated, the<br>
Pure interpreter just jits the new function, changes the global variable<br>
accordingly, and frees the old code.<br>
<br>
Compared to Duncan's suggestion, this has the advantage that you only<br>
have to recompile the function which was changed. AFAICT, if you use<br>
replaceAllUsesWith, then the changes ripple through so that you might<br>
end up re-jiting most of your program.<br></blockquote><div><br>Thought of that before, but I was trying to do it more elegantly and
transparent to the program (which is being write in C/C++). Maybe going
back to that.<br><br>Thank you both for the quick replies.<br><br>Miranda<br>
<br>
PS:<br>If it's any help, got the svn version and, while running the program, got this:<br>
The JIT doesn't know how to handle a RAUW on a value it has emitted.<br>
UNREACHABLE executed at /home/conrado/engines/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp:1542!<br>
<br>
I looked at the function and it's a dummy function. Just looking forward to see that corrected. <br></div></div><br>