RFR: 8305895: Implement JEP 450: Compact Object Headers (Experimental) [v21]
Martin Doerr
mdoerr at openjdk.org
Thu Oct 24 09:57:41 UTC 2024
On Thu, 24 Oct 2024 09:28:13 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:
>>> But then, what exactly is the error? If it's just the test assuming that cache line size is log 6, then the test should be fixed for ppc, not hotspot.
>>
>> that is the problem, test assumes log2 of 6 for chacheline size
>
> PPC log2 will be `7` (`DEFAULT_CACHE_LINE_SIZE = 128`) and for S390x it will be `8` (`DEFAULT_CACHE_LINE_SIZE = 256`).
>
> So I guess this change should be fine for now :
>
> diff --git a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> index e04e716315a..c1be59e77ab 100644
> --- a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> +++ b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> @@ -108,7 +108,9 @@ public static void main(String[] args) throws Exception {
>
> long ccsSize = 128 * M;
> int expectedShift = 6;
> - test(forceAddress, true, ccsSize, forceAddress, expectedShift);
> + if (!Platform.isPPC() && !Platform.isS390x()) {
> + test(forceAddress, true, ccsSize, forceAddress, expectedShift);
> + }
>
> ccsSize = 512 * M;
> expectedShift = 8;
As I understand the comment, it says alignment <= cache line size. But the implementation makes alignment >= cache line size. "hyper alignment" means alignment > cache line size?
If we want alignment = cache line size, I'll be ok with disabling the +COH part of the test on PPC64 and s390. Correct, the problem is that the test assumes that log cache line size = 6.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1814666149
More information about the hotspot-gc-dev
mailing list