< prev index next >

src/hotspot/share/c1/c1_LIR.cpp

Print this page

        

@@ -40,10 +40,11 @@
 
 Register LIR_OprDesc::as_register_hi() const {
   return FrameMap::cpu_rnr2reg(cpu_regnrHi());
 }
 
+
 LIR_Opr LIR_OprFact::illegalOpr = LIR_OprFact::illegal();
 
 LIR_Opr LIR_OprFact::value_type(ValueType* type) {
   ValueTag tag = type->tag();
   switch (tag) {

@@ -451,10 +452,20 @@
       if (op->_info != NULL)           do_info(op->_info);
       if (op->_result->is_valid())     do_output(op->_result);
       break;
     }
 
+    case lir_getfp:          // result always valid
+    case lir_getsp:          // result always valid
+    {
+      assert(op->as_Op0() != NULL, "must be");
+      if (op->_info)                  do_info(op->_info);
+      if (op->_result->is_valid())    do_output(op->_result);
+      break;
+    }
+
+
 
 // LIR_OpLabel
     case lir_label:                    // result and info always invalid
     {
       assert(op->as_OpLabel() != NULL, "must be");

@@ -1673,10 +1684,12 @@
      case lir_convert:               s = "convert";       break;
      case lir_alloc_object:          s = "alloc_obj";     break;
      case lir_monaddr:               s = "mon_addr";      break;
      case lir_pack64:                s = "pack64";        break;
      case lir_unpack64:              s = "unpack64";      break;
+     case lir_getsp:                 s = "getsp";         break;
+     case lir_getfp:                 s = "getfp";         break;
      // LIR_Op2
      case lir_cmp:                   s = "cmp";           break;
      case lir_cmp_l2i:               s = "cmp_l2i";       break;
      case lir_ucmp_fd2i:             s = "ucomp_fd2i";    break;
      case lir_cmp_fd2i:              s = "comp_fd2i";     break;
< prev index next >