Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Not A Bug
-
Affects Version/s: JRuby 1.7.0.pre1
-
Fix Version/s: JRuby 1.7.0.pre1
-
Component/s: Compiler, Core Classes/Modules, Embedding
-
Labels:None
-
Number of attachments :
Description
When packaging Ruboto, we remove the compiler packages since JIT compilation is not available on Dalvik, and we need to save space. The newly introduced dependency from org.jruby.Ruby to org.jruby.compiler.ir.IRManager breaks this. Is there a way to avoid this dependency?
[echo] java.lang.NoClassDefFoundError: org.jruby.compiler.ir.IRManager
[echo] at org.jruby.Ruby.init(Ruby.java:1117)
[echo] at org.jruby.Ruby.newInstance(Ruby.java:249)
[echo] at org.jruby.embed.internal.SingletonLocalContextProvider.getRuntime(SingletonLocalContextProvider.java:95)
[echo] at org.jruby.embed.ScriptingContainer.put(ScriptingContainer.java:1126)
[echo] at java.lang.reflect.Method.invokeNative(Native Method)
[echo] at org.ruboto.Script.put(Script.java:267)
[echo] at org.ruboto.Script.scriptsDirName(Script.java:393)
[echo] at org.ruboto.Script.setUpJRuby(Script.java:177)
[echo] at org.ruboto.Script.setUpJRuby(Script.java:73)
[echo] at org.ruboto.test.InstrumentationTestRunner.getAllTests(InstrumentationTestRunner.java:37)
[echo] at android.test.InstrumentationTestRunner.getTestSuite(InstrumentationTestRunner.java:555)
[echo] at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:354)
[echo] at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3246)
[echo] at android.app.ActivityThread.access$2200(ActivityThread.java:117)
[echo] at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
[echo] at android.os.Handler.dispatchMessage(Handler.java:99)
[echo] at android.os.Looper.loop(Looper.java:123)
[echo] at android.app.ActivityThread.main(ActivityThread.java:3683)
[echo] at java.lang.reflect.Method.invokeNative(Native Method)
[echo] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
[echo] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
[echo] at dalvik.system.NativeStart.main(Native Method)
IR subsystem will be used for new interpreter and for new JIT compiler, so IRManager will end up replacing our current interpreter.