RFR: 8297534: Specify the size of MEMFLAGS
Johan Sjölen
jsjolen at openjdk.org
Wed Nov 23 22:27:09 UTC 2022
Hi!
In MallocHeader we assume that MEMFLAGS can be stored in a uint8_t, see:
```c++
class MallocHeader {
NOT_LP64(uint32_t _alt_canary);
const size_t _size;
const uint32_t _mst_marker;
const uint8_t _flags;
const uint8_t _unused;
uint16_t _canary;
// SNIP!
inline MEMFLAGS flags() const { return (MEMFLAGS)_flags; }
With C++11 we can specify the underlying type of an `enum class`, so let's just do that. If we generate 257 memflags we'll get a compile error. I don't believe that this would lead to any change in the behavior of the code.
Testing: Compiled the code. Running tier1 testing right now.
-------------
Commit messages:
- Make MEMFLAGS be stored in uint8_t
Changes: https://git.openjdk.org/jdk/pull/11336/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11336&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8297534
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/11336.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11336/head:pull/11336
PR: https://git.openjdk.org/jdk/pull/11336
More information about the hotspot-runtime-dev
mailing list