< prev index next >

src/share/vm/opto/callnode.hpp

Print this page

        

*** 702,711 **** --- 702,722 ---- init_class_id(Class_CallStaticJava); if (C->eliminate_boxing() && (method != NULL) && method->is_boxing_method()) { init_flags(Flag_is_macro); C->add_macro_node(this); } + const TypeTuple *r = tf->range_sig(); + if (ValueTypeReturnedAsFields && + method != NULL && + method->is_method_handle_intrinsic() && + r->cnt() > TypeFunc::Parms && + r->field_at(TypeFunc::Parms)->isa_valuetypeptr() && + r->field_at(TypeFunc::Parms)->is_valuetypeptr()->value_type()->value_klass() == C->env()->___Value_klass()) { + init_flags(Flag_is_macro); + C->add_macro_node(this); + } + _is_scalar_replaceable = false; _is_non_escaping = false; } CallStaticJavaNode(const TypeFunc* tf, address addr, const char* name, int bci, const TypePtr* adr_type)
*** 811,820 **** --- 822,832 ---- const TypePtr* adr_type) : CallLeafNode(tf, addr, name, adr_type) { } virtual int Opcode() const; + virtual uint match_edge(uint idx) const; }; //------------------------------Allocate--------------------------------------- // High-level memory allocation
< prev index next >