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