Request for reviews (S): 6994630: java/lang/instrument/IsModifiableClassAgent.java fails with -XX:+EnableInvokeDynamic
john.r.rose at oracle.com
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/IsModifiableClassAgent.java fails with -XX:+EnableInvokeDynamic
> Summary: The logic of ClassFileParser::java_dyn_MethodHandle_fix_pre needs to take care of an already changed vmentry signature.
> 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
> The fix is to also check for the field with the already changed
> 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