RFR: 8253402: Convert vmSymbols::SID to enum class [v4]

Ioi Lam iklam at openjdk.java.net
Wed Oct 14 03:32:18 UTC 2020


On Tue, 13 Oct 2020 20:46:45 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> src/hotspot/share/classfile/vmSymbols.hpp line 728:
>> 
>>> 726:
>>> 727:   static constexpr int number_of_symbols() {
>>> 728:     return SID_LIMIT;
>> 
>> SID_LIMIT includes NO_SID, so this seems to be off-by-one.
>
> I changed NO_SID to -1 so SID_LIMIT no longer includes NO_SID.

I needed to revert NO_SID to 0. There's an assert in vmSymbols.cpp for `Symbol::_vm_symbols[NO_SID] == NULL`. This is
pre-existing code and I don't understand why, but I should leave it as. As you can see in the old code, NO_SID is also
counted as "part of the symbols"

- static vmSymbols::SID vm_symbol_index[vmSymbols::SID_LIMIT];
+ static vmSymbolID vm_symbol_index[vmSymbols::number_of_symbols()];

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

PR: https://git.openjdk.java.net/jdk/pull/276


More information about the hotspot-dev mailing list