RTTI on Solaris/SPARC builds

David Holmes david.holmes at oracle.com
Fri Feb 24 00:19:15 UTC 2017


On 24/02/2017 8:10 AM, Ioi Lam wrote:
> I noticed that on Solaris/SPARC, RTTI is enabled in the JVM build. Is
> there any reason for it? Just curious.

Probably accidental due to default compiler settings. AFAIK we do not 
use any C++ RTTI in hotspot and it should not be enabled.

David
-----

> This is what I got in dbx when looking at the first slot of a C++ vtable:
>
> (dbx) print *(int**)(0xfffffffefa20bdd0)
> *((int **) 18446744069316066768U) = 0xfffffffef9de5b78
> (dbx) dis 0xfffffffef9de6050
> 0xfffffffef9de6050: __RTTI__1nFMyYYY4nMConstantPool___       :  illtrap
> 0x0
> 0xfffffffef9de6054: __RTTI__1nFMyYYY4nMConstantPool___+0x0004:  illtrap
> 0xae8
> 0xfffffffef9de6058: __RTTI__1nFMyYYY4nMConstantPool___+0x0008:  illtrap
> 0x0
> 0xfffffffef9de605c: __RTTI__1nFMyYYY4nMConstantPool___+0x000c:  illtrap
> 0x0
> 0xfffffffef9de6060: __RTTI__1nFMyYYY4nMConstantPool___+0x0010:  illtrap
> 0x0
> 0xfffffffef9de6064: __RTTI__1nFMyYYY4nMConstantPool___+0x0014:  illtrap
> 0xaf0
> 0xfffffffef9de6068: __RTTI__1nFMyYYY4nMConstantPool___+0x0018:  ldsb
> [%o7 - 3854], %g7
> 0xfffffffef9de606c: __RTTI__1nFMyYYY4nMConstantPool___+0x001c:  sethi
> %hi(0x7612ac00), %l1
> 0xfffffffef9de6070: __RTTI__1nFMyYYY4nMConstantPool___+0x0020:  ldstub
> [%i3 + 1076], %o4
> 0xfffffffef9de6074: __RTTI__1nFMyYYY4nMConstantPool___+0x0024:  be,a
> 0xfffffffefa526810
>
> Thanks
> - Ioi



More information about the build-dev mailing list