--- old/src/share/vm/opto/valuetypenode.cpp 2017-07-04 18:39:47.839149301 +0200 +++ new/src/share/vm/opto/valuetypenode.cpp 2017-07-04 18:39:47.766149638 +0200 @@ -420,8 +420,10 @@ void ValueTypeNode::pass_klass(Node* n, uint pos, const GraphKit& kit) { ciValueKlass* vk = value_klass(); const TypeKlassPtr* tk = TypeKlassPtr::make(vk); - Node* arg = kit.makecon(tk); - n->init_req(pos, arg); + intptr_t bits = tk->get_con(); + bits |= 1; + Node* klass_tagged = kit.MakeConX(bits); + n->init_req(pos, klass_tagged); } uint ValueTypeNode::pass_fields(Node* n, int base_input, const GraphKit& kit, ciValueKlass* base_vk, int base_offset) {