MEMFLAGS, as well as its enum constants, should live in its own include. 

The constants are used throughout the code base, often without needing the 
allocation APIs exposed through allocation.hpp.

The MEMFLAGS enum def is often needed within NMT itself, again often without 
needing allocation.hpp.

---

This patch moves the enum to its new file.

It fixes those `allocation.hpp` includes that where only needed to get 
MEMFLAGS. It does not fix other includes. 

For backward compatibility, until we straightened out the dependencies (e.g., 
fixing all places where we rely on indirect includes), I added memflags.hpp to 
allocation.hpp.

I tested (built) on:
- MacOS aarch64, no precompiled headers, fastdebug
- Linux x64, no precompiled headers, fastdebug, release, fastdebug crossbuild 
to aarch64, fastdebug minimal

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

Commit messages:
 - Update g1MonotonicArena.hpp
 - Update g1MonotonicArena.hpp
 - NMT-factor-out-memflags

Changes: https://git.openjdk.org/jdk/pull/19172/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19172&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8332042
  Stats: 225 lines in 25 files changed: 124 ins; 64 del; 37 mod
  Patch: https://git.openjdk.org/jdk/pull/19172.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19172/head:pull/19172

PR: https://git.openjdk.org/jdk/pull/19172

Reply via email to