diff src/share/vm/c1/c1_LinearScan.cpp @ 6739:8a02ca5e5576

7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere Summary: C1 needs knowledge of T_METADATA at the LIR level. Reviewed-by: kvn, coleenp
author roland
date Tue, 11 Sep 2012 16:20:57 +0200
parents d2a62e0f25eb
children b9a9ed0f8eeb
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LinearScan.cpp	Tue Sep 11 14:59:23 2012 +0200
+++ b/src/share/vm/c1/c1_LinearScan.cpp	Tue Sep 11 16:20:57 2012 +0200
@@ -2067,6 +2067,12 @@
         return LIR_OprFact::single_cpu_address(assigned_reg);
       }
 
+      case T_METADATA: {
+        assert(assigned_reg >= pd_first_cpu_reg && assigned_reg <= pd_last_cpu_reg, "no cpu register");
+        assert(interval->assigned_regHi() == any_reg, "must not have hi register");
+        return LIR_OprFact::single_cpu_metadata(assigned_reg);
+      }
+
 #ifdef __SOFTFP__
       case T_FLOAT:  // fall through
 #endif // __SOFTFP__