RFR (XS) 8217321: [TESTBUG] utilities/test_globalDefinitions.cpp should use _LP64, not LP64
David Holmes
david.holmes at oracle.com
Thu Jan 17 23:42:50 UTC 2019
On 18/01/2019 9:20 am, Aleksey Shipilev wrote:
> On 1/17/19 11:12 PM, David Holmes wrote:
>> When we build hotspot we set LP64 (whereas _LP64 presumably comes from the compiler). Shouldn't the
>> gtests get compiled with the same flags as the product code?
>
> Yes, I think so, and that is what happens here? Everywhere else in Hotspot we use "#ifdef _LP64",
> and this patch makes use of the same in gtests as well.
I've no issue with the change, but if the same flags are used then they
tests should have been executed anyway. If they weren't then the same
flags are not being used and perhaps they should?
> I already pushed the patch under triviality rule , and this is current jdk/jdk:
>
> $ ack "ifdef LP64" src/hotspot/ | wc -l
> 0
Try ifndef LP64 - there are a few of those in ./cpu/x86/x86.ad
Cheers,
David
-----
> $ ack "ifdef _LP64" src/hotspot/ | wc -l
> 523
>
> $ ack "ifdef LP64" test/hotspot/ | wc -l
> 0
>
> $ ack "ifdef _LP64" test/hotspot/ | wc -l
> 3
>
> Anyhow, if you revert the check to old (broken) thing, then gtest would not run the block on my
> Linux x86_64, while it should. This is the same head-scratcher I had when debugging the test in
> JDK-8217315. Look:
>
> $ vi ...
> :wq
>
> $ hg diff
> diff -r 61b6e5a0b321 test/hotspot/gtest/utilities/test_globalDefinitions.cpp
> --- a/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Thu Jan 17 20:35:43 2019 +0100
> +++ b/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Fri Jan 18 00:17:16 2019 +0100
> @@ -124,6 +124,7 @@
> EXPECT_EQ(M + 1, byte_size_in_exact_unit(M + 1));
> EXPECT_EQ(K + 1, byte_size_in_exact_unit(M + K));
> #ifdef _LP64
> + ShouldNotReachHere();
> EXPECT_EQ(G - 1, byte_size_in_exact_unit(G - 1));
> EXPECT_EQ(1u, byte_size_in_exact_unit(G));
> EXPECT_EQ(G + 1, byte_size_in_exact_unit(G + 1));
>
> $ CONF=linux-x86_64-server-fastdebug make images run-test TEST=gtest:globalDefinitions
> <TEST FAILED with ShouldNotReachHere()>
>
> $ vi ...
> :wq
>
> $ hg diff
> diff -r 61b6e5a0b321 test/hotspot/gtest/utilities/test_globalDefinitions.cpp
> --- a/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Thu Jan 17 20:35:43 2019 +0100
> +++ b/test/hotspot/gtest/utilities/test_globalDefinitions.cpp Fri Jan 18 00:16:05 2019 +0100
> @@ -123,7 +123,8 @@
> EXPECT_EQ(1u, byte_size_in_exact_unit(M));
> EXPECT_EQ(M + 1, byte_size_in_exact_unit(M + 1));
> EXPECT_EQ(K + 1, byte_size_in_exact_unit(M + K));
> -#ifdef _LP64
> +#ifdef LP64
> + ShouldNotReachHere();
> EXPECT_EQ(G - 1, byte_size_in_exact_unit(G - 1));
> EXPECT_EQ(1u, byte_size_in_exact_unit(G));
> EXPECT_EQ(G + 1, byte_size_in_exact_unit(G + 1));
>
> $ CONF=linux-x86_64-server-fastdebug make images run-test TEST=gtest:globalDefinitions
> <TEST SUCCESS> <--- Say what.
>
> -Aleksey
>
More information about the hotspot-dev
mailing list