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