Mercurial > hg > truffle
comparison 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 |
comparison
equal
deleted
inserted
replaced
4815:53a127075045 | 4816:9164b8236699 |
---|---|
2348 __ cmp(lir_cond_equal, value, high_key); | 2348 __ cmp(lir_cond_equal, value, high_key); |
2349 __ branch(lir_cond_equal, T_INT, dest); | 2349 __ branch(lir_cond_equal, T_INT, dest); |
2350 } else { | 2350 } else { |
2351 LabelObj* L = new LabelObj(); | 2351 LabelObj* L = new LabelObj(); |
2352 __ cmp(lir_cond_less, value, low_key); | 2352 __ cmp(lir_cond_less, value, low_key); |
2353 __ branch(lir_cond_less, L->label()); | 2353 __ branch(lir_cond_less, T_INT, L->label()); |
2354 __ cmp(lir_cond_lessEqual, value, high_key); | 2354 __ cmp(lir_cond_lessEqual, value, high_key); |
2355 __ branch(lir_cond_lessEqual, T_INT, dest); | 2355 __ branch(lir_cond_lessEqual, T_INT, dest); |
2356 __ branch_destination(L->label()); | 2356 __ branch_destination(L->label()); |
2357 } | 2357 } |
2358 } | 2358 } |