8226389 [asm] : jlink tests fail; asm has wrong understanding of new bytecodes
Roger Riggs
Roger.Riggs at oracle.com
Fri Jun 21 14:40:19 UTC 2019
Hi Mandy,
An ASM test would be more appropriate; jlink itself doesn't much care
about the classes.
The particular test that was failing was one of the Strip debug tests.
Where are the ASM tests?
Thanks, Roger
On 6/20/19 7:24 PM, Mandy Chung wrote:
> 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