Request for reviews (S): 6994630: java/lang/instrument/ fails with -XX:+EnableInvokeDynamic

John Rose john.r.rose at
Wed Oct 27 14:39:17 PDT 2010

That's good; thanks.  -- John

On Oct 27, 2010, at 5:25 AM, Christian Thalinger wrote:

> 6994630: java/lang/instrument/ fails with -XX:+EnableInvokeDynamic
> Summary: The logic of ClassFileParser::java_dyn_MethodHandle_fix_pre needs to take care of an already changed vmentry signature.
> Reviewed-by:
> There is a problem with the logic of
> ClassFileParser::java_dyn_MethodHandle_fix_pre. The method searches
> for a field called "vmentry" with the signature "byte".  The signature
> of the field is then changed to vmSymbols::machine_word_signature() to
> hold an unmanged pointer.
> When the method is called again the field's signature is already
> changed and it throws a VirtualMachineError resulting in a
> VerifyError.
> The fix is to also check for the field with the already changed
> signature.
> Tested with the failing testcase.
> I also changed the type of the fields argument since we don't update
> the field pointer and removed a duplicated comment.

More information about the hotspot-compiler-dev mailing list