< prev index next >

src/share/vm/opto/callnode.cpp

Print this page




1378   SafePointScalarObjectNode* res = (SafePointScalarObjectNode*)Node::clone();
1379   sosn_map->Insert((void*)this, (void*)res);
1380   return res;
1381 }
1382 
1383 
1384 #ifndef PRODUCT
1385 void SafePointScalarObjectNode::dump_spec(outputStream *st) const {
1386   st->print(" # fields@[%d..%d]", first_index(),
1387              first_index() + n_fields() - 1);
1388 }
1389 
1390 #endif
1391 
1392 //=============================================================================
1393 uint AllocateNode::size_of() const { return sizeof(*this); }
1394 
1395 AllocateNode::AllocateNode(Compile* C, const TypeFunc *atype,
1396                            Node *ctrl, Node *mem, Node *abio,
1397                            Node *size, Node *klass_node,
1398                            Node* initial_test, ValueTypeNode* value_node)
1399   : CallNode(atype, NULL, TypeRawPtr::BOTTOM)
1400 {
1401   init_class_id(Class_Allocate);
1402   init_flags(Flag_is_macro);
1403   _is_scalar_replaceable = false;
1404   _is_non_escaping = false;
1405   _is_allocation_MemBar_redundant = false;
1406   Node *topnode = C->top();
1407 
1408   init_req( TypeFunc::Control  , ctrl );
1409   init_req( TypeFunc::I_O      , abio );
1410   init_req( TypeFunc::Memory   , mem );
1411   init_req( TypeFunc::ReturnAdr, topnode );
1412   init_req( TypeFunc::FramePtr , topnode );
1413   init_req( AllocSize          , size);
1414   init_req( KlassNode          , klass_node);
1415   init_req( InitialTest        , initial_test);
1416   init_req( ALength            , topnode);
1417   init_req( ValueNode          , value_node);
1418   C->add_macro_node(this);




1378   SafePointScalarObjectNode* res = (SafePointScalarObjectNode*)Node::clone();
1379   sosn_map->Insert((void*)this, (void*)res);
1380   return res;
1381 }
1382 
1383 
1384 #ifndef PRODUCT
1385 void SafePointScalarObjectNode::dump_spec(outputStream *st) const {
1386   st->print(" # fields@[%d..%d]", first_index(),
1387              first_index() + n_fields() - 1);
1388 }
1389 
1390 #endif
1391 
1392 //=============================================================================
1393 uint AllocateNode::size_of() const { return sizeof(*this); }
1394 
1395 AllocateNode::AllocateNode(Compile* C, const TypeFunc *atype,
1396                            Node *ctrl, Node *mem, Node *abio,
1397                            Node *size, Node *klass_node,
1398                            Node* initial_test, ValueTypeBaseNode* value_node)
1399   : CallNode(atype, NULL, TypeRawPtr::BOTTOM)
1400 {
1401   init_class_id(Class_Allocate);
1402   init_flags(Flag_is_macro);
1403   _is_scalar_replaceable = false;
1404   _is_non_escaping = false;
1405   _is_allocation_MemBar_redundant = false;
1406   Node *topnode = C->top();
1407 
1408   init_req( TypeFunc::Control  , ctrl );
1409   init_req( TypeFunc::I_O      , abio );
1410   init_req( TypeFunc::Memory   , mem );
1411   init_req( TypeFunc::ReturnAdr, topnode );
1412   init_req( TypeFunc::FramePtr , topnode );
1413   init_req( AllocSize          , size);
1414   init_req( KlassNode          , klass_node);
1415   init_req( InitialTest        , initial_test);
1416   init_req( ALength            , topnode);
1417   init_req( ValueNode          , value_node);
1418   C->add_macro_node(this);


< prev index next >