RFR: 8260019: Move some Thread subtypes out of thread.hpp
David Holmes
dholmes at openjdk.java.net
Thu Feb 4 06:32:42 UTC 2021
On Wed, 3 Feb 2021 22:55:56 GMT, Ioi Lam <iklam at openjdk.org> wrote:
> thread.hpp is 2133 lines long and is included by about 800 out of 1000 HotSpot .o files. It also pulls in many other header files.
>
> Many of the Thread subtypes are infrequently used. This RFE move the easy ones to compilerThread.hpp and nonJavaThread.hpp. This reduces thread.hpp to 1888 lines.
>
> (I hope to do more refactoring of thread.hpp in future RFEs).
>
> Tested with mach5: tier1, builds-tier2, builds-tier3, builds-tier4 and builds-tier5. Also locally: aarch64, arm, ppc64, s390, x86, and zero.
Hi Ioi,
I'm assuming the code is basically just a cut'n'paste with few actual changes needed thereafter - though I did spot the need to make the thread_entry member functions.
I'm not sure about the choice of new file names given they contain code for multiple thread types. I don't have great names to suggest as they stand. I wouldn't object to the sweeper and watcher threads getting their own files - but don't insist at this time.
I can't decide whether including both fooThread.hpp and thread.hpp in the same cpp file is good code hygiene or a complete waste of time. It is kind of obvious that fooThread.hpp must include thread.hpp.
Overall I come down on the side of approval. :)
Thanks,
David
src/hotspot/share/compiler/compilerThread.hpp line 2:
> 1: /*
> 2: * Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
Should a new file only have a single copyright year? I'm not sure what the rule is about splitting existing files but you use a single year in the new cpp files.
-------------
Marked as reviewed by dholmes (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/2390
More information about the hotspot-dev
mailing list