Request for review (L): 6964498: JSR 292 invokedynamic sites need local bootstrap methods

Christian Thalinger christian.thalinger at oracle.com
Mon Jul 12 06:13:47 PDT 2010


On Sat, 2010-07-10 at 22:17 -0700, John Rose wrote:
> These JVM changes implement per-call-site bootstrap methods.  The JSR
> 292 EG is (almost certainly) going to change the bootstrap method from
> a dynamically specified per-class attribute to a statically-specified
> per-instruction attribute (in the constant pool).  This is the
> implementation.
> 
>   http://cr.openjdk.java.net/~jrose/6964498/webrev/
> 
> This JVM continues to run programs with old-style bootstrap methods,
> under a compatibility switch.  These JVM changes will be pushed
> unilaterally, before corresponding JDK and javac changes.

src/share/vm/interpreter/rewriter.cpp:

  80         } else {
  81           // There is no CP cache entry holding the BSM for these calls.
  82           // We will need to look for a class-global BSM, later.
  83           assert(AllowTransitionalJSR292, "");
  84         }

I know this will go away, but I think we should use a guarantee here
instead of an assert.

src/share/vm/oops/cpCacheOop.hpp:

 188   // For JVM_CONSTANT_InvokeDynamic cache entrues:

Typo.

Otherwise looks good.

-- Christian



More information about the hotspot-compiler-dev mailing list