>> I must be missing something. What's wrong with: >> >> if (type2aelembytes(opr1->type()) <= 4) >> >> ? > > When compressed OOPs are in use, the type in memory is four bytes, > but we're comparing in registers. So opr2->type() is T_OBJECT and opr1->type() is T_NARROWOOP? Roland.