The mysterious constant pool tag #2

Alex Buckley alex.buckley at
Wed Jan 13 23:14:06 UTC 2021

A knowledgeable correspondent pointed me to an RFE from John Rose:

which contains the info we seek:

   "The code 2 has been held open under the name CONSTANT_Unicode
    but has never been used, probably because of the wide adoption
    of UTF8 for string data."


On 1/13/2021 1:08 PM, Alex Buckley wrote:
> The earliest JVM Spec listed on is actually the Second 
> Edition from 1999, specifying Java 1.2: 
> It's listed under Java SE 6 due to a complicated update history, not 
> relevant here.
> In any case, you're right that constant pool tag 2 was not defined in 
> even the First Edition from 1996. I have information about many 
> historical artifacts in the JVM Spec, but not this. Since tag 1 is 
> CONSTANT_Utf8, and since the ClassFile's UTF-8 isn't exactly UTF-8, and 
> since tags for numeric constants start rather clearly at 3, I'd guess 
> that tag 2 was once another string encoding, perhaps CONSTANT_Utf16.
> Alex
> On 1/13/2021 11:28 AM, x4e_x4e wrote:
>> Hello,
>> I am attempting to find the purpose of the seemingly abandoned 
>> constant pool tag number 2.
>> My guess is that the item type denoted by this tag was removed and the 
>> tag was never reclaimed.
>> I've attempted to locate the earliest possible JVM spec including this 
>> constant tag - to no avail.
>> The earliest spec listed on is 
>> the SE 6 spec, which does not include the tag.
>> I did however find the original JSR catalog 
>> (, however it is unclear which JSR contains 
>> the first JVM specification (Many links 404 and earlier specifications 
>> only cover the language side of things).
>> As far as I can tell, this is the first final release JVM 
>> specification: 
>> however, once again, it seems that there is no constant tag number 2.
>> I am wondering if anyone here (probably someone involved in the early 
>> JVM design) knows the original purpose of tag number 2?
>> Thank You.
>> PS: I found that you can actually buy the original JVM specification 
>> on amazon 
>> ( 
>> - even new!
>> JSth

More information about the jdk-dev mailing list