< prev index next >

src/share/vm/opto/node.cpp

Print this page




 309   _cnt = _max = req;
 310   _outcnt = _outmax = 0;
 311   _class_id = Class_Node;
 312   _flags = 0;
 313   _out = NO_OUT_ARRAY;
 314   return idx;
 315 }
 316 
 317 //------------------------------Node-------------------------------------------
 318 // Create a Node, with a given number of required edges.
 319 Node::Node(uint req)
 320   : _idx(Init(req))
 321 #ifdef ASSERT
 322   , _parse_idx(_idx)
 323 #endif
 324 {
 325   assert( req < Compile::current()->max_node_limit() - NodeLimitFudgeFactor, "Input limit exceeded" );
 326   debug_only( verify_construction() );
 327   NOT_PRODUCT(nodes_created++);
 328   if (req == 0) {
 329     assert( _in == (Node**)this, "Must not pass arg count to 'new'" );
 330     _in = NULL;
 331   } else {
 332     assert( _in[req-1] == this, "Must pass arg count to 'new'" );
 333     Node** to = _in;
 334     for(uint i = 0; i < req; i++) {
 335       to[i] = NULL;
 336     }
 337   }
 338 }
 339 
 340 //------------------------------Node-------------------------------------------
 341 Node::Node(Node *n0)
 342   : _idx(Init(1))
 343 #ifdef ASSERT
 344   , _parse_idx(_idx)
 345 #endif
 346 {
 347   debug_only( verify_construction() );
 348   NOT_PRODUCT(nodes_created++);
 349   // Assert we allocated space for input array already




 309   _cnt = _max = req;
 310   _outcnt = _outmax = 0;
 311   _class_id = Class_Node;
 312   _flags = 0;
 313   _out = NO_OUT_ARRAY;
 314   return idx;
 315 }
 316 
 317 //------------------------------Node-------------------------------------------
 318 // Create a Node, with a given number of required edges.
 319 Node::Node(uint req)
 320   : _idx(Init(req))
 321 #ifdef ASSERT
 322   , _parse_idx(_idx)
 323 #endif
 324 {
 325   assert( req < Compile::current()->max_node_limit() - NodeLimitFudgeFactor, "Input limit exceeded" );
 326   debug_only( verify_construction() );
 327   NOT_PRODUCT(nodes_created++);
 328   if (req == 0) {

 329     _in = NULL;
 330   } else {
 331     assert( _in[req-1] == this, "Must pass arg count to 'new'" );
 332     Node** to = _in;
 333     for(uint i = 0; i < req; i++) {
 334       to[i] = NULL;
 335     }
 336   }
 337 }
 338 
 339 //------------------------------Node-------------------------------------------
 340 Node::Node(Node *n0)
 341   : _idx(Init(1))
 342 #ifdef ASSERT
 343   , _parse_idx(_idx)
 344 #endif
 345 {
 346   debug_only( verify_construction() );
 347   NOT_PRODUCT(nodes_created++);
 348   // Assert we allocated space for input array already


< prev index next >