Hi Ingmar,<br><br><div class="gmail_quote">On Sun, Jul 17, 2011 at 9:49 PM, Ingmar Kühl <span dir="ltr"><<a href="mailto:ingmar.kuehl@automatic-programming.org">ingmar.kuehl@automatic-programming.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi LLVM developers,<br>
<br>
I have successfully installed LLVM 2.9 on an ubuntu linux box, with a<br>
LLVM-based frontend support of gcc and g++. After installing<br>
successfully vmkit I have tried running my java applications, but it<br>
failed. I have installed the latest stable release of vmkit (0.29) using<br>
the introduction text of the LLVM website.<br>
<br>
The application does consist of two programs. The first one is a<br>
network-based class loader, the other one is a clojure-based<br>
Lisp-environment.<br>
<br>
The network class loader starts slowly with j3, but all is fine at the<br>
first moment.</blockquote><div><br></div><div>Yeah, startup time is really not good in j3, I am working on this and hopefully will have something before llvm 3.0.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
 After requesting to load some classes and clojure files<br>
via an emacs session to the second program, I get following exception trace:<br>
<br>
Exception in thread "pool-2-thread-1" java.lang.UnsatisfiedLinkError:<br>
sun.misc.Unsafe.putObject(Ljava/lang/Object;JLjava/lang/Object;)V<br>
    at sun.misc.Unsafe.putObject(Unsafe.java:0)<br>
    at<br>
java.util.concurrent.locks.LockSupport.setBlocker(LockSupport.java:107)<br>
    at<br>
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)<br>
    at<br>
java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424)<br>
    at<br>
java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323)<br>
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874)<br>
    at<br>
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:506)<br>
    at<br>
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703)<br>
    at java.lang.Thread.run(Thread.java:743)<br>
    at java.lang.VMThread.run(VMThread.java:120)<br></blockquote><div><br></div><div><br></div><div>That's because I haven't implemented putObject in J3. I don't think that's a big deal to implement, but I suspect that the use of java.util.concurrent will also lead you to implement Thread.park/unpark, which is less trivial. After my work on startup time, I can take a look at it.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
The second program is at this moment started with a SUN (ORACLE) runtime<br>
standard edition and is in good condition.<br>
<br>
If I try also to start the clojure environment with j3 I get the<br>
following exception trace:<br>
<br>
./clojure_swank_server.sh<br>
Exception in thread "main" java.lang.ExceptionInInitializerError<br>
    at opencommunication.InitClojure.main(InitClojure.java:60)<br>
Caused by: java.lang.RuntimeException: java.lang.Exception: Unable to<br>
resolve symbol: def in this context (core.clj:13)<br>
    at clojure.lang.RT.<clinit>(RT.java:368)<br>
    at opencommunication.InitClojure.main(InitClojure.java:60)<br>
Caused by: java.lang.Exception: Unable to resolve symbol: def in this<br>
context (core.clj:13)<br>
    at clojure.lang.Compiler.analyze(Compiler.java:5199)<br>
    at clojure.lang.Compiler.analyze(Compiler.java:5148)<br>
    at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3076)<br>
    at clojure.lang.Compiler.analyzeSeq(Compiler.java:5363)<br>
    at clojure.lang.Compiler.analyze(Compiler.java:5186)<br>
    at clojure.lang.Compiler.analyze(Compiler.java:5148)<br>
    at clojure.lang.Compiler.eval(Compiler.java:5412)<br>
    at clojure.lang.Compiler.load(Compiler.java:5798)<br>
    at clojure.lang.RT.loadResourceScript(RT.java:407)<br>
    at clojure.lang.RT.loadResourceScript(RT.java:397)<br>
    at clojure.lang.RT.load(RT.java:474)<br>
    at clojure.lang.RT.load(RT.java:447)<br>
    at clojure.lang.RT.doInit(RT.java:482)<br>
    at clojure.lang.RT.<clinit>(RT.java:366)<br>
    ...1 more<br>
Caused by: java.lang.Exception: Unable to resolve symbol: def in this<br>
context<br>
    at clojure.lang.Compiler.resolveIn(Compiler.java:5645)<br>
    at clojure.lang.Compiler.resolve(Compiler.java:5597)<br>
    at clojure.lang.Compiler.analyzeSymbol(Compiler.java:5561)<br>
    at clojure.lang.Compiler.analyze(Compiler.java:5168)<br>
    ...14 more<br>
<br></blockquote><div><br></div><div>That's interesting. Could you send me the steps to get and execute the program, see if I can reproduce it? I will then take a look.</div><div><br></div><div>Cheers,</div><div>Nicolas</div>
<div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The class loader has problems to load the core system of clojure. With<br>
the standard JDK from SUN all starts fine.<br>
<br>
I would appreciate any help to solve this issue.<br>
<br>
Best regards, Ingmar<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br>