comparison src/share/vm/c1/c1_LIRGenerator.cpp @ 2106:91fe28b03d6a

Merge.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Wed, 26 Jan 2011 18:17:37 +0100
parents 06f017f7daa7 037c727f35fb
children d25d4ca69222
comparison
equal deleted inserted replaced
2062:231bf6b9f5ad 2106:91fe28b03d6a
854 854
855 LIR_Opr data_offset_reg = new_pointer_register(); 855 LIR_Opr data_offset_reg = new_pointer_register();
856 __ cmove(lir_cond(cond), 856 __ cmove(lir_cond(cond),
857 LIR_OprFact::intptrConst(taken_count_offset), 857 LIR_OprFact::intptrConst(taken_count_offset),
858 LIR_OprFact::intptrConst(not_taken_count_offset), 858 LIR_OprFact::intptrConst(not_taken_count_offset),
859 data_offset_reg); 859 data_offset_reg, as_BasicType(if_instr->x()->type()));
860 860
861 // MDO cells are intptr_t, so the data_reg width is arch-dependent. 861 // MDO cells are intptr_t, so the data_reg width is arch-dependent.
862 LIR_Opr data_reg = new_pointer_register(); 862 LIR_Opr data_reg = new_pointer_register();
863 LIR_Address* data_addr = new LIR_Address(md_reg, data_offset_reg, data_reg->type()); 863 LIR_Address* data_addr = new LIR_Address(md_reg, data_offset_reg, data_reg->type());
864 __ move(data_addr, data_reg); 864 __ move(data_addr, data_reg);
2589 t_val.dont_load_item(); 2589 t_val.dont_load_item();
2590 f_val.dont_load_item(); 2590 f_val.dont_load_item();
2591 LIR_Opr reg = rlock_result(x); 2591 LIR_Opr reg = rlock_result(x);
2592 2592
2593 __ cmp(lir_cond(x->cond()), left.result(), right.result()); 2593 __ cmp(lir_cond(x->cond()), left.result(), right.result());
2594 __ cmove(lir_cond(x->cond()), t_val.result(), f_val.result(), reg); 2594 __ cmove(lir_cond(x->cond()), t_val.result(), f_val.result(), reg, as_BasicType(x->x()->type()));
2595 } 2595 }
2596 2596
2597 2597
2598 void LIRGenerator::do_Intrinsic(Intrinsic* x) { 2598 void LIRGenerator::do_Intrinsic(Intrinsic* x) {
2599 switch (x->id()) { 2599 switch (x->id()) {