Request for reviews (M): 6930772: JSR 292 needs to support SPARC C1

Christian Thalinger Christian.Thalinger at Sun.COM
Tue Apr 27 07:37:50 PDT 2010


On Thu, 2010-04-15 at 10:18 -0700, John Rose wrote:
> On Apr 15, 2010, at 4:25 AM, Christian Thalinger wrote:
> 
> > Additionally I changed ciMethod::is_method_handle_invoke to use the
> > holder and method name to be able to call it on unloaded methods.  John
> > hasn't replied yet on my email if that's OK but my extensive testings
> > show that it should be OK.
> 
> Yes, that's fine.  -- John

It seems there is a mismatch somewhere.  When running JRuby tests with
C2 I get asserts like:

Internal Error at ciMethod.cpp:705, pid=6123, tid=7 
Error: assert(flag == flag3,"consistent")

The method is a MH invoke but the flags say it's not:

(dbx) p get_methodOop()->print()
{method} 
 - klass: {other class}
 - method holder:     'java/dyn/InvokeDynamic'
 - constants:         0xfec17ce9constant pool [10] for 'java/dyn/InvokeDynamic'
 - access:            0x19  public static final 
 - name:              'invoke'
 - signature:         '(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;'
 - max stack:         6
 - max locals:        5
 - size of params:    5
 - method size:       20
 - vtable index:      -3
 - i2i entry:         0xfaa0b900
 - adapter:           0x0815b510
 - compiled entry     0xfaab319f
 - code size:         15
 - code start:        0xf76e5ab0
 - code end (excl):   0xf76e5abf
 - checked ex length: 0
 - localvar length:   0
(dbx) p flags()
flags() = {
    _flags = 25
}

-- Christian



More information about the hotspot-compiler-dev mailing list