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

Mandy Chung mandy.chung at oracle.com
Thu Jun 20 23:24:57 UTC 2019


I assume you run into the jlink issues with JDK using the inline class.
It's good to add a new test that creates a module with inline class
and invoke jlink to produce an image.

Mandy

On 6/20/19 11:34 AM, Roger Riggs wrote:
> Hi,
>
> 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.
>
> Webrev:
> http://cr.openjdk.java.net/~rriggs/webrev-asm-8226389-4/index.html
>
> 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