RFR: 8183149: [AOT] SEGV in AMD64MathStub.pow: alignment for ArrayDataPointerConstant is not honored
Bob Vandette
bob.vandette at oracle.com
Thu Jul 27 18:13:03 UTC 2017
I guess we can assume that we’ll get reasonable power of two values.
Yours is faster so I’ll make the change.
Thanks,
Bob.
> On Jul 27, 2017, at 2:09 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
> Why not?
>
> 31 - Integer.numberOfLeadingZeros(align);
>
> Vladimir
>
> On 7/27/17 11:02 AM, Bob Vandette wrote:
>> I updated MachOSection.java to use log2 of align.
>> - // For now use 8 byte alignment
>> - section.putInt(section_64.align.off, 3);
>> + section.putInt(section_64.align.off, (int)(Math.log10((double)align) / Math.log10((double)2.0));
>> Bob.
>>
>>> On Jul 25, 2017, at 5:12 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>
>>> Thank you, Bob
>>>
>>> Looks good.
>>>
>>> Was it typo (3) in MachOSection.java?
>>>
>>> - // For now use 8 byte alignment
>>> - section.putInt(section_64.align.off, 3);
>>> + section.putInt(section_64.align.off, align);
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 7/25/17 12:22 PM, Bob Vandette wrote:
>>>> Please review these fixes to correct the alignment of the generated AOT library sections.
>>>> Although my initial implementation was compliant with the shared library specifications,
>>>> hotspot requires a greater alignment size. These changes use the binary container
>>>> code segment size for setting alignment.
>>>> I also fixed a typo in the Elf createByteSection under this issue.
>>>> http://cr.openjdk.java.net/~bobv/8183149/webrev/
>>>> Bob.
More information about the hotspot-compiler-dev
mailing list