< prev index next > src/hotspot/share/opto/callnode.cpp
Print this page
}
st->print("={");
uint nf = spobj->n_fields();
if (nf > 0) {
uint first_ind = spobj->first_index(mcall->jvms());
! Node* fld_node = mcall->in(first_ind);
ciField* cifield;
if (iklass != NULL) {
st->print(" [");
cifield = iklass->nonstatic_field_at(0);
cifield->print_name_on(st);
! format_helper(regalloc, st, fld_node, ":", 0, &scobjs);
} else {
! format_helper(regalloc, st, fld_node, "[", 0, &scobjs);
}
for (uint j = 1; j < nf; j++) {
- fld_node = mcall->in(first_ind+j);
if (iklass != NULL) {
st->print(", [");
cifield = iklass->nonstatic_field_at(j);
cifield->print_name_on(st);
! format_helper(regalloc, st, fld_node, ":", j, &scobjs);
} else {
! format_helper(regalloc, st, fld_node, ", [", j, &scobjs);
}
}
}
st->print(" }");
}
}
st->print("={");
uint nf = spobj->n_fields();
if (nf > 0) {
uint first_ind = spobj->first_index(mcall->jvms());
! Node* fld_node = NULL;
ciField* cifield;
if (iklass != NULL) {
st->print(" [");
cifield = iklass->nonstatic_field_at(0);
cifield->print_name_on(st);
! if(spobj->stack_allocated()) {
+ st->print(":*0]");
+ } else {
+ fld_node = mcall->in(first_ind);
+ format_helper(regalloc, st, fld_node, ":", 0, &scobjs);
+ }
} else {
! if(spobj->stack_allocated()) {
+ st->print("[*0]");
+ } else {
+ fld_node = mcall->in(first_ind);
+ format_helper(regalloc, st, fld_node, "[", 0, &scobjs);
+ }
}
for (uint j = 1; j < nf; j++) {
if (iklass != NULL) {
st->print(", [");
cifield = iklass->nonstatic_field_at(j);
cifield->print_name_on(st);
! if(spobj->stack_allocated()) {
+ st->print(":*%d]", j);
+ } else {
+ fld_node = mcall->in(first_ind+j);
+ format_helper(regalloc, st, fld_node, ":", j, &scobjs);
+ }
} else {
! if(spobj->stack_allocated()) {
+ st->print(", [*%d]", j);
+ } else {
+ fld_node = mcall->in(first_ind+j);
+ format_helper(regalloc, st, fld_node, ", [", j, &scobjs);
+ }
}
}
}
st->print(" }");
}
return true;
}
return false;
}
+ bool CallNode::is_call_to_osr_migration_end() const {
+ if (_name != NULL && strstr(_name, "OSR_migration_end") != 0) {
+ return true;
+ }
+ return false;
+ }
+
//=============================================================================
uint CallJavaNode::size_of() const { return sizeof(*this); }
bool CallJavaNode::cmp( const Node &n ) const {
CallJavaNode &call = (CallJavaNode&)n;
return CallNode::cmp(call) && _method == call._method &&
#endif
uint first_index,
uint n_fields) :
TypeNode(tp, 1), // 1 control input -- seems required. Get from root.
_first_index(first_index),
! _n_fields(n_fields)
#ifdef ASSERT
, _alloc(alloc)
#endif
{
init_class_id(Class_SafePointScalarObject);
#endif
uint first_index,
uint n_fields) :
TypeNode(tp, 1), // 1 control input -- seems required. Get from root.
_first_index(first_index),
! _n_fields(n_fields),
+ _is_stack_allocated(false)
#ifdef ASSERT
, _alloc(alloc)
#endif
{
init_class_id(Class_SafePointScalarObject);
{
init_class_id(Class_Allocate);
init_flags(Flag_is_macro);
_is_scalar_replaceable = false;
_is_non_escaping = false;
+ _is_stack_allocateable = false;
+ _is_referenced_stack_allocation = false;
_is_allocation_MemBar_redundant = false;
Node *topnode = C->top();
init_req( TypeFunc::Control , ctrl );
init_req( TypeFunc::I_O , abio );
< prev index next >