Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/c1_LIRGenerator_x86.cpp @ 6848:8e47bac5643a
7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Tue, 09 Oct 2012 10:11:38 +0200 |
parents | 7eca5de9e0b6 |
children | 46f6f063b272 |
comparison
equal
deleted
inserted
replaced
6847:65d07d9ee446 | 6848:8e47bac5643a |
---|---|
1164 } else { | 1164 } else { |
1165 stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception); | 1165 stub = new SimpleExceptionStub(Runtime1::throw_class_cast_exception_id, obj.result(), info_for_exception); |
1166 } | 1166 } |
1167 LIR_Opr reg = rlock_result(x); | 1167 LIR_Opr reg = rlock_result(x); |
1168 LIR_Opr tmp3 = LIR_OprFact::illegalOpr; | 1168 LIR_Opr tmp3 = LIR_OprFact::illegalOpr; |
1169 if (!x->klass()->is_loaded() || UseCompressedOops) { | 1169 if (!x->klass()->is_loaded() || UseCompressedKlassPointers) { |
1170 tmp3 = new_register(objectType); | 1170 tmp3 = new_register(objectType); |
1171 } | 1171 } |
1172 __ checkcast(reg, obj.result(), x->klass(), | 1172 __ checkcast(reg, obj.result(), x->klass(), |
1173 new_register(objectType), new_register(objectType), tmp3, | 1173 new_register(objectType), new_register(objectType), tmp3, |
1174 x->direct_compare(), info_for_exception, patching_info, stub, | 1174 x->direct_compare(), info_for_exception, patching_info, stub, |
1186 // must do this before locking the destination register as an oop register | 1186 // must do this before locking the destination register as an oop register |
1187 patching_info = state_for(x, x->state_before()); | 1187 patching_info = state_for(x, x->state_before()); |
1188 } | 1188 } |
1189 obj.load_item(); | 1189 obj.load_item(); |
1190 LIR_Opr tmp3 = LIR_OprFact::illegalOpr; | 1190 LIR_Opr tmp3 = LIR_OprFact::illegalOpr; |
1191 if (!x->klass()->is_loaded() || UseCompressedOops) { | 1191 if (!x->klass()->is_loaded() || UseCompressedKlassPointers) { |
1192 tmp3 = new_register(objectType); | 1192 tmp3 = new_register(objectType); |
1193 } | 1193 } |
1194 __ instanceof(reg, obj.result(), x->klass(), | 1194 __ instanceof(reg, obj.result(), x->klass(), |
1195 new_register(objectType), new_register(objectType), tmp3, | 1195 new_register(objectType), new_register(objectType), tmp3, |
1196 x->direct_compare(), patching_info, x->profiled_method(), x->profiled_bci()); | 1196 x->direct_compare(), patching_info, x->profiled_method(), x->profiled_bci()); |