diff src/share/vm/c1/c1_LIRGenerator.cpp @ 4816:9164b8236699

7131028: Switch statement takes wrong path Summary: Pass correct type to branch in LIRGenerator::do_SwitchRanges() Reviewed-by: kvn, never
author iveresov
date Fri, 20 Jan 2012 15:02:12 -0800
parents 069ab3f976d3
children 701a83c86f28
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LIRGenerator.cpp	Fri Jan 20 09:43:06 2012 -0800
+++ b/src/share/vm/c1/c1_LIRGenerator.cpp	Fri Jan 20 15:02:12 2012 -0800
@@ -2350,7 +2350,7 @@
     } else {
       LabelObj* L = new LabelObj();
       __ cmp(lir_cond_less, value, low_key);
-      __ branch(lir_cond_less, L->label());
+      __ branch(lir_cond_less, T_INT, L->label());
       __ cmp(lir_cond_lessEqual, value, high_key);
       __ branch(lir_cond_lessEqual, T_INT, dest);
       __ branch_destination(L->label());