RFR: 8183149: [AOT] SEGV in AMD64MathStub.pow: alignment for ArrayDataPointerConstant is not honored

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jul 27 18:09:10 UTC 2017


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