259 // into the cache. |
259 // into the cache. |
260 Handle keyHandle(key); |
260 Handle keyHandle(key); |
261 ciObject* new_object = create_new_object(keyHandle()); |
261 ciObject* new_object = create_new_object(keyHandle()); |
262 assert(keyHandle() == new_object->get_oop(), "must be properly recorded"); |
262 assert(keyHandle() == new_object->get_oop(), "must be properly recorded"); |
263 init_ident_of(new_object); |
263 init_ident_of(new_object); |
264 if (!keyHandle->is_perm()) { |
264 if (!new_object->is_perm()) { |
265 // Not a perm-space object. |
265 // Not a perm-space object. |
266 insert_non_perm(bucket, keyHandle(), new_object); |
266 insert_non_perm(bucket, keyHandle(), new_object); |
267 return new_object; |
267 return new_object; |
268 } |
268 } |
269 new_object->set_perm(); |
|
270 if (len != _ci_objects->length()) { |
269 if (len != _ci_objects->length()) { |
271 // creating the new object has recursively entered new objects |
270 // creating the new object has recursively entered new objects |
272 // into the table. We need to recompute our index. |
271 // into the table. We need to recompute our index. |
273 index = find(keyHandle(), _ci_objects); |
272 index = find(keyHandle(), _ci_objects); |
274 } |
273 } |