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). ------------- Commit messages: - 8394182: Move oopCast.inline.hpp functions to oop.inline.hpp Changes: https://git.openjdk.org/jdk/pull/33287/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33287&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8394182 Stats: 155 lines in 43 files changed: 44 ins; 95 del; 16 mod Patch: https://git.openjdk.org/jdk/pull/33287.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/33287/head:pull/33287 PR: https://git.openjdk.org/jdk/pull/33287
