Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_LIRGenerator_x86.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 | ff1a29907b6c |
children | a1423fe86a18 |
comparison
equal
deleted
inserted
replaced
987:00977607da34 | 989:148e5441d916 |
---|---|
992 LIR_Opr tmp4 = reg; | 992 LIR_Opr tmp4 = reg; |
993 LIR_Opr klass_reg = FrameMap::rdx_oop_opr; | 993 LIR_Opr klass_reg = FrameMap::rdx_oop_opr; |
994 LIR_Opr len = length.result(); | 994 LIR_Opr len = length.result(); |
995 BasicType elem_type = x->elt_type(); | 995 BasicType elem_type = x->elt_type(); |
996 | 996 |
997 __ oop2reg(ciTypeArrayKlass::make(elem_type)->encoding(), klass_reg); | 997 __ oop2reg(ciTypeArrayKlass::make(elem_type)->constant_encoding(), klass_reg); |
998 | 998 |
999 CodeStub* slow_path = new NewTypeArrayStub(klass_reg, len, reg, info); | 999 CodeStub* slow_path = new NewTypeArrayStub(klass_reg, len, reg, info); |
1000 __ allocate_array(reg, len, tmp1, tmp2, tmp3, tmp4, elem_type, klass_reg, slow_path); | 1000 __ allocate_array(reg, len, tmp1, tmp2, tmp3, tmp4, elem_type, klass_reg, slow_path); |
1001 | 1001 |
1002 LIR_Opr result = rlock_result(x); | 1002 LIR_Opr result = rlock_result(x); |