comparison src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp @ 989:148e5441d916

6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
author jrose
date Tue, 15 Sep 2009 21:53:47 -0700
parents cdb8b7c37ac1
children 708275a44e4a
comparison
equal deleted inserted replaced
987:00977607da34 989:148e5441d916
894 LIR_Opr tmp4 = FrameMap::O1_oop_opr; 894 LIR_Opr tmp4 = FrameMap::O1_oop_opr;
895 LIR_Opr klass_reg = FrameMap::G5_oop_opr; 895 LIR_Opr klass_reg = FrameMap::G5_oop_opr;
896 LIR_Opr len = length.result(); 896 LIR_Opr len = length.result();
897 BasicType elem_type = x->elt_type(); 897 BasicType elem_type = x->elt_type();
898 898
899 __ oop2reg(ciTypeArrayKlass::make(elem_type)->encoding(), klass_reg); 899 __ oop2reg(ciTypeArrayKlass::make(elem_type)->constant_encoding(), klass_reg);
900 900
901 CodeStub* slow_path = new NewTypeArrayStub(klass_reg, len, reg, info); 901 CodeStub* slow_path = new NewTypeArrayStub(klass_reg, len, reg, info);
902 __ allocate_array(reg, len, tmp1, tmp2, tmp3, tmp4, elem_type, klass_reg, slow_path); 902 __ allocate_array(reg, len, tmp1, tmp2, tmp3, tmp4, elem_type, klass_reg, slow_path);
903 903
904 LIR_Opr result = rlock_result(x); 904 LIR_Opr result = rlock_result(x);