hotspot/src/share/vm/opto/chaitin.cpp

Print this page
rev 611 : Merge

@@ -1,10 +1,10 @@
 #ifdef USE_PRAGMA_IDENT_SRC
 #pragma ident "@(#)chaitin.cpp  1.116 07/09/28 10:23:12 JVM"
 #endif
 /*
- * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2000-2008 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -441,13 +441,11 @@
     _framesize = C->out_preserve_stack_slots();
   else _framesize = _max_reg -_matcher._new_SP;
   assert((int)(_matcher._new_SP+_framesize) >= (int)_matcher._out_arg_limit, "framesize must be large enough");
 
   // This frame must preserve the required fp alignment
-  const int stack_alignment_in_words = Matcher::stack_alignment_in_slots(); 
-  if (stack_alignment_in_words > 0)
-    _framesize = round_to(_framesize, Matcher::stack_alignment_in_bytes());
+  _framesize = round_to(_framesize, Matcher::stack_alignment_in_slots());
   assert( _framesize >= 0 && _framesize <= 1000000, "sanity check" );
 #ifndef PRODUCT
   _total_framesize += _framesize;
   if( (int)_framesize > _max_framesize )
     _max_framesize = _framesize;

@@ -683,10 +681,11 @@
             lrg._is_bound = 1;
           }
           break;
         case Op_RegF:
         case Op_RegI:
+        case Op_RegN:
         case Op_RegFlags:
         case 0:                 // not an ideal register
           lrg.set_num_regs(1);
 #ifdef SPARC
           lrg.set_reg_pressure(2);

@@ -1385,11 +1384,11 @@
           if( cisc->oper_input_base() > 1 && mach->oper_input_base() <= 1 ) {
             assert( cisc->oper_input_base() == 2, "Only adding one edge");
             cisc->ins_req(1,src);         // Requires a memory edge
           }
           b->_nodes.map(j,cisc);          // Insert into basic block
-          n->replace_by(cisc); // Correct graph
+          n->subsume_by(cisc); // Correct graph
           // 
           ++_used_cisc_instructions;
 #ifndef PRODUCT
           if( TraceCISCSpill ) {
             tty->print("    cisc-instr: ");