Regression in MH building for catchException?

Charles Oliver Nutter headius at headius.com
Sat May 14 08:06:02 PDT 2011


Still getting an error, but it's different now (updated using
Stephen's script a few minutes ago):

Caused by: java.lang.IllegalArgumentException: spread on
handleBreakJump(BreakJump,CacheEntry,ThreadContext,IRubyObject,IRubyObject,String,IRubyObject,IRubyObject,IRubyObject,Block)IRubyObject
with Object[]
	at java.lang.invoke.MethodHandleImpl.spreadArguments(MethodHandleImpl.java:765)
	at java.lang.invoke.MethodHandleImpl.spreadArguments(MethodHandleImpl.java:752)
	at java.lang.invoke.MethodHandleImpl.makeGuardWithCatch(MethodHandleImpl.java:1148)
	at java.lang.invoke.MethodHandles.catchException(MethodHandles.java:2139)
	at org.jruby.runtime.invokedynamic.InvokeDynamicSupport.<clinit>(InvokeDynamicSupport.java:1457)

I'll look into my code and see if maybe this is an API change I'm not
handling properly...

- Charlie

On Thu, May 12, 2011 at 8:58 AM, Charles Oliver Nutter
<headius at headius.com> wrote:
> JRuby invokedynamic bindings that use catchException appear to blow up
> with a current MLVM build (as of a few minutes ago). The error is the
> same in every case:
>
> Caused by: java.lang.IllegalArgumentException: spread on
> invoke_F9(CacheEntry,ThreadContext,IRubyObject,IRubyObject,String,IRubyObject,IRubyObject,IRubyObject,Block)IRubyObject
> with Object[]
>        at java.lang.invoke.MethodHandleImpl.spreadArguments(MethodHandleImpl.java:764)
>        at java.lang.invoke.MethodHandleImpl.spreadArguments(MethodHandleImpl.java:751)
>        at java.lang.invoke.MethodHandleImpl.makeGuardWithCatch(MethodHandleImpl.java:1152)
>        at java.lang.invoke.MethodHandles.catchException(MethodHandles.java:2139)
>        at org.jruby.runtime.invokedynamic.InvokeDynamicSupport.<clinit>(InvokeDynamicSupport.java:1356)
>
> The same catchException call works properly on current macosx build. I
> have not done any bisecting to determine what openjdk/mlvm commit
> introduced this problem.
>
> Reproducible with even the fib benchmark by running this way:
>
> jruby -d -X+C --server bench/bench_fib_recursive.rb 10 35
>
> - Charlie
>


More information about the mlvm-dev mailing list