RFR: JDK-8325264: two compiler/intrinsics/float16 tests fail after JDK-8324724
Vladimir Kozlov
kvn at openjdk.org
Thu Feb 8 17:39:04 UTC 2024
On Tue, 6 Feb 2024 14:37:11 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:
> Fix for two JTREG test failures on OS_X after this commit - https://github.com/openjdk/jdk/commit/51853f7488afa69c0d14b0e96f1da84822cd83f1.
>
> This is due to no permission to execute the stub code in the code cache. This patch fixes this problem by acquiring "WXExec" to be able to execute the instructions in code cache.
>
> Both the tests - compiler/intrinsics/float16/TestAllFloat16ToFloat.java and compiler/intrinsics/float16/Binary16ConversionNaN.java pass on a MacOS machine.
Good.
C2 can call `StubRoutines::f2hf()` and `hf2f()` when the value is constant to get constant value.
Usually C2 executed C++ code from `SharedRuntime` for such cases.
But to get the same result in Interpreter, C1 and C2 I added call to stub [JDK-8302976](https://bugs.openjdk.org/browse/JDK-8302976).
An other solution would be just remove this optimization so that only compiled code will call these stubs. As I remember this is the only place it is called from runtime code.
-------------
Marked as reviewed by kvn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17733#pullrequestreview-1870859365
More information about the hotspot-dev
mailing list