Hi Claes, I fail to see how this code will not throw a CCE at runtime if (con instanceof Integer || con instanceof Byte || con instanceof Short || con instanceof Character) { emitIconstInsn((int) con); ...
(int)con is translated by the compiler to ((Integer)con).intValue() you have to write something like that (con instanceof Character)? (char)con: ((Number)con).intValue() cheers, Rémi ----- Mail original ----- > De: "Claes Redestad" <claes.redes...@oracle.com> > À: "core-libs-dev@openjdk.java.net Libs" <core-libs-dev@openjdk.java.net> > Envoyé: Mardi 17 Novembre 2015 17:17:50 > Objet: RFR(XS): 8143127: InvokerBytecodeGenerator emitConst should handle > Byte, Short, Character > > Hi, > > this small patch allows InvokerBytecodeGenerator to generate more > compact bytecode for small byte, short and char constants: > > webrev: http://cr.openjdk.java.net/~redestad/8143127/webrev.01/ > bug: https://bugs.openjdk.java.net/browse/JDK-8143127 > > /Claes >