As subject says: http://cr.openjdk.java.net/~rkennke/assertblock/webrev.00/ I think they should be semantically equivalent. This here seems slightly odd: assert(u->as_Mem()->raw_adr_type() == TypeOopPtr::BOTTOM, "bad slice"); u->as_Mem()->set_raw_adr_type(TypeRawPtr::BOTTOM); Ok? Roman