equal
deleted
inserted
replaced
3166 ciSignature* sig = method()->signature(); |
3166 ciSignature* sig = method()->signature(); |
3167 for (int i = 0; i < sig->count(); i++) { |
3167 for (int i = 0; i < sig->count(); i++) { |
3168 ciType* type = sig->type_at(i); |
3168 ciType* type = sig->type_at(i); |
3169 BasicType basic_type = type->basic_type(); |
3169 BasicType basic_type = type->basic_type(); |
3170 // don't allow T_ARRAY to propagate into locals types |
3170 // don't allow T_ARRAY to propagate into locals types |
3171 if (basic_type == T_ARRAY) basic_type = T_OBJECT; |
3171 if (is_reference_type(basic_type)) basic_type = T_OBJECT; |
3172 ValueType* vt = as_ValueType(basic_type); |
3172 ValueType* vt = as_ValueType(basic_type); |
3173 state->store_local(idx, new Local(type, vt, idx, false)); |
3173 state->store_local(idx, new Local(type, vt, idx, false)); |
3174 idx += type->size(); |
3174 idx += type->size(); |
3175 } |
3175 } |
3176 |
3176 |