RFR: 8183149: [AOT] SEGV in AMD64MathStub.pow: alignment for ArrayDataPointerConstant is not honored
Bob Vandette
bob.vandette at oracle.com
Thu Jul 27 18:02:07 UTC 2017
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