On Fri, 9 Oct 2026 14:32:40 GMT, Stefan Karlsson <[email protected]> wrote:
> I hit a circular dependency involving oopCast.inline.hpp when I was changing > code in one of the *oop.inline.hpp files. One solution is to create an > oopCast.hpp file with the declarations and include it in oopCast.inline.hpp > before including the rest of the header files: > > https://github.com/openjdk/jdk/blob/master/doc/hotspot-style.md: > > All .inline.hpp files should include their corresponding .hpp file as the > first include line with a blank line separating it from the rest of the > include lines. Declarations needed by other files should be put in the .hpp > file, and not in the .inline.hpp file. This rule exists to resolve problems > with circular dependencies between .inline.hpp files. > > > I propose that we instead move oop_cast to oop.inline.hpp. > > I also made some cleanups to the surrounding type checking functions. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Marked as reviewed by sspitsyn (Reviewer). src/hotspot/share/cds/cdsProtectionDomain.cpp line 39: > 37: #include "memory/universe.hpp" > 38: #include "oops/instanceKlass.hpp" > 39: #include "oops/oopCast.inline.hpp" Nit: It is better to add `#include "oops/oop.inline.hpp"` instead of the removed `"oops/oopCast.inline.hpp"`. Other than this the fix looks good to me. ------------- PR Review: https://git.openjdk.org/jdk/pull/33287#pullrequestreview-5499826124 PR Review Comment: https://git.openjdk.org/jdk/pull/33287#discussion_r4255593394
