RFR: 8241438: Move IntelJccErratum mitigation code to platform-specific code
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Mar 23 20:18:55 UTC 2020
Hi Erik
Why you calling Compile::current() in PhaseOutput()?
Base class Phase has C value set already.
I don't think you can use virtual method compute_padding() as you do. Call nodes and other have own versions.
The same for alignment_required().
I would suggest instead to add PhaseOutput platform specific methods and pass Node* parameter.
In pd_alignment_required() you implicitly use knowledge that relocInfo::addr_unit() on x86 is 1.
At least add comment about that.
Thanks,
Vladimir
On 3/23/20 6:09 AM, Erik Österlund wrote:
> Hi,
>
> There is some platform-specific code in PhaseOutput that deals with the IntelJccErratum mitigation,
> which is ifdef:ed in shared code. It should move to platform-specific code.
>
> This patch exposes the iteration state of PhaseOutput, which allows hiding the Intel-specific code
> completely in x86-specific files.
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8241438/webrev.00/
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8241438
>
> Thanks,
> /Erik
More information about the hotspot-compiler-dev
mailing list