< prev index next >

src/hotspot/share/opto/doCall.cpp

Print this page

        

*** 538,548 **** ciKlass* speculative_receiver_type = NULL; if (is_virtual_or_interface) { Node* receiver_node = stack(sp() - nargs); const TypeOopPtr* receiver_type = NULL; if (receiver_node->is_ValueType()) { ! receiver_type = TypeInstPtr::make(TypePtr::NotNull, _gvn.type(receiver_node)->is_valuetype()->value_klass()); } else { receiver_type = _gvn.type(receiver_node)->isa_oopptr(); } // call_does_dispatch and vtable_index are out-parameters. They might be changed. // For arrays, klass below is Object. When vtable calls are used, --- 538,548 ---- ciKlass* speculative_receiver_type = NULL; if (is_virtual_or_interface) { Node* receiver_node = stack(sp() - nargs); const TypeOopPtr* receiver_type = NULL; if (receiver_node->is_ValueType()) { ! receiver_type = TypeInstPtr::make(TypePtr::NotNull, _gvn.type(receiver_node)->value_klass()); } else { receiver_type = _gvn.type(receiver_node)->isa_oopptr(); } // call_does_dispatch and vtable_index are out-parameters. They might be changed. // For arrays, klass below is Object. When vtable calls are used,
< prev index next >