RFR (M): 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path

John Rose john.r.rose at oracle.com
Thu Sep 27 17:24:43 PDT 2012


On Sep 27, 2012, at 4:34 PM, Christian Thalinger wrote:

> http://cr.openjdk.java.net/~twisti/7200949
> 
> 7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path
> Reviewed-by:

It looks good.

(Having all the references to the jli.MethodType objects makes me wonder if we should have a JVM-internal analog MethodType, to represent resolved signatures.  I suppose what we have is reasonably economical.)

I'm not fully comfortable with the handshake between Rewriter and CPCache (last diff hunk in cpCache.cpp).  Ideally, if you were to redefine _indy_appendix_offset=1 and _indy_method_type_offset=0 it would either Just Work (tm) or throw an assert.  It's not clear that this is the case here.

Maybe this code would help in rewriter.cpp:

  int ref_index = appendix_index - _indy_appendix_offset;
  assert(ref_index == method_type_index - _indy_method_type_offset, "consistent offsets");
  ... use ref_index in sequel ...

And something similar in cpCache.cpp, using a neutral ref_index value.

— John


More information about the hotspot-compiler-dev mailing list