It's great that you got it running...I will try with the updated -testing on the compiler patch and see what I can see here.
Attila: Can you show the command line you're using to run fib in JRuby? And can you try running JRuby with --bytecode and see if it's actually emitting INVOKEDYNAMIC? On Tue, Aug 4, 2009 at 7:16 AM, Christian Thalinger<christian.thalin...@sun.com> wrote: > Christian Thalinger wrote: >> Christian Thalinger wrote: >>> Christian Thalinger wrote: >>>> Still building the newly checked out version... >>> Finally I can reproduce the crashes. Either it's related to debug vs. >>> product build or the additional patches applied. Still investigating... >> >> Oh no! It's so obvious :-/ indy.compiler.patch is not enabled for >> default builds and so the VM crashes when the compiler kicks in. >> >> I just pushed a changeset[1] that enables the patch. Please update your >> mlvm repository and build again. > > With a debug build I get this assert: > > $ bin/jruby --server -J-Djruby.compile.invokedynamic=true > -J-XX:+EnableInvokeDynamic bench/bench_fib_recursive.rb 100 > VM option '+EnableInvokeDynamic' > 5.950000 0.000000 5.950000 ( 5.562000) > # Found non oop pointer. Dumping state at failure > ------ > OopMap{ebp=Oop [80]=Oop [84]=Oop [48]=Oop [52]=Oop off=680}bci: 106 > Compiled frame (sp=0xb00fe7e0 unextended sp=0xb00fe810, fp=0xb00fe810, > pc=0x0289da08) > 116 nmethod (2) > bench.bench_fib_recursiveInvokermethod__0$RUBY$fib_rubyFixed1::call (15 > bytes) > 116 nmethod (2) > bench.bench_fib_recursiveInvokermethod__0$RUBY$fib_rubyFixed1::call (15 > bytes) > Register map > ebp [0xb00fe7d8] = 0xb00fe810 > ------ > ebp=Oop register r > ebploc = 0xb00fe7d8 *loc = 0xb00fe810 > > # To suppress the following error report, specify this argument > # after -XX: or in .hotspotrc: SuppressErrorAt=/oopMap.cpp:408 > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error > (/Users/twisti/mlvm/tmp/hotspot/src/share/vm/compiler/oopMap.cpp:408), > pid=6427, tid=2954375168 > # Error: assert(Universe::heap()->is_in_or_null(*loc),"found non oop > pointer") > > -- Christian > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev