8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes

Roger Riggs Roger.Riggs at oracle.com
Thu Jun 20 18:34:33 UTC 2019


I discovered that the visiting of the new opcodes was not correct. It 
skipped over them correctly
but did not visit each opcode.
The 'default' opcode argument is a type name and so should call the 
visitTypeInsn method.
The "withfield' opcode argument is a field ref (class and name) so 
should call visitFieldInsn.
And the INLINE prefixes are dropped.


Thanks, Roger

On 6/20/19 1:38 PM, Mandy Chung wrote:
> Looks okay.  The INLINE_* prefix is not necessary to me and matching
> the JVMS opcode names makes sense.
> Mandy
> On 6/19/19 10:57 AM, Roger Riggs wrote:
>> Hi Mandy,
>> Webrev:
>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-2/
>> A more robust version that computes the necessary offsets of the ASM_ 
>> opcodes
>> to relocate them to the unused indexes above the new WithField opcode.
>> Thanks, Roger
>> On 6/19/19 12:22 PM, Mandy Chung wrote:
>>> On 6/19/19 7:47 AM, Roger Riggs wrote:
>>>> Please review a patch to asm to correctly recognize the Valhalla 
>>>> defined bytecodes for defaultvalue and withfield.
>>>> (The jlink tests that read and write classfiles were failing).
>>>> Webrev:
>>>> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389/
>>> Label::resolve method depends on the assumption that IFEQ  ... JSR 
>>> can be changed to ASM_IFEQ to ASM_JSR.   It seems that the 
>>> xxx_DELTA  needs to be adjusted.
>>> Mandy

More information about the valhalla-dev mailing list