RFR: 8256155: Allow multiple large page sizes to be used on Linux [v32]

Marcus G K Williams mgkwill at openjdk.java.net
Mon May 10 22:32:45 UTC 2021


On Sat, 8 May 2021 06:32:53 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> The build warning makes not much sense to me, and is not reproducable. None of the callers of log_phase hands in any indentation > 4.
> 
> However, that indentation code is a bit inelegant anyway. @mgkwill : can you test this patch, does this fix your build? : https://patch-diff.githubusercontent.com/raw/openjdk/jdk/pull/3934.diff
> 
> This uses outputStream::sp() to print indentation. Note that in places where that's not convenient, and I want to go via format string instead I usually do something like this:
> 
> ```
> static const char* spaces = "                        ...   ";
> ..
> out->print("%.*s", indentation, spaces);
> ```
> 
> That way you don't have to keep a const indentation string for every level. If you miss the assert, it could be squeezed in too.

Hi @tstuefe . Thanks for taking a look.

Your patch solved the issue in the last error message, but one remained:

In member function 'void G1GCPhaseTimes::details(T*, const char*) const [with T = WorkerDataArray<long unsigned int>]',
    inlined from 'void G1GCPhaseTimes::log_phase(WorkerDataArray<double>*, uint, outputStream*, bool) const' at /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:337:14,
    inlined from 'void G1GCPhaseTimes::trace_phase(WorkerDataArray<double>*, bool, uint) const' at /home/mgkwill/src/git/jdk/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp:355:14:

-------------

PR: https://git.openjdk.java.net/jdk/pull/1153



More information about the hotspot-gc-dev mailing list