Request for reviews (XL): 6655646: dynamic languages need dynamically linked call sites

Christian Thalinger Christian.Thalinger at Sun.COM
Tue Apr 14 03:16:26 PDT 2009


On Thu, 2009-04-09 at 18:59 -0700, John Rose wrote:
> Here is the second-largest piece, the implementation of invokedynamic.
> 
>    http://cr.openjdk.java.net/~jrose/6655646/webrev.00
> 
> Note that the compilers do not handle the instruction, in this version  
> of the code.  That will be a separate bug fix.

src/share/vm/interpreter/bytecode.cpp:
int Bytecode_invoke::index() const {
+  if (has_giant_index())
+    return Bytes::get_native_u4(bcp() + 1);
+  else
   return Bytes::get_Java_u2(bcp() + 1);
 }

Can you explain to me why the giant index of an invokedynamic is a
native 32-bit index?

src/share/vm/oops/generateOopMap.cpp:
void GenerateOopMap::interp1(BytecodeStream *itr) {

Shouldn't there be _invokedynamic cases in that method?

src/share/vm/oops/cpCacheOop.hpp:
+//            for invokedynamic (a variant of invokeiterface), f1 contains

Typo.

-- Christian




More information about the hotspot-compiler-dev mailing list