Lines Matching refs:ciObject
57 // of ciObject and its subclasses. It contains a caching mechanism
58 // which ensures that for each oop, at most one ciObject is created.
59 // This invariant allows more efficient implementation of ciObject.
61 // Implementation note: the oop->ciObject mapping is represented as
71 GrowableArray<ciObject*>* ciObjectFactory::_shared_ci_objects = NULL;
89 _ci_objects = new (arena) GrowableArray<ciObject*>(arena, expected_size, 0, NULL);
149 _ci_objects = new (_arena) GrowableArray<ciObject*>(_arena, 64, 0, NULL);
185 ciObject* obj = _ci_objects->at(i2);
249 // Get the ciObject corresponding to some oop. If the ciObject has
250 // already been created, it is returned. Otherwise, a new ciObject
252 ciObject* ciObjectFactory::get(oop key) {
283 // The ciObject does not yet exist. Create it and insert it
286 ciObject* new_object = create_new_object(keyHandle());
309 // Create a new ciObject from an oop.
313 ciObject* ciObjectFactory::create_new_object(oop o) {
596 void ciObjectFactory::init_ident_of(ciObject* obj) {
611 int ciObjectFactory::find(oop key, GrowableArray<ciObject*>* objects) {
635 bool ciObjectFactory::is_found_at(int index, oop key, GrowableArray<ciObject*>* objects) {
644 // Insert a ciObject into the table at some index.
645 void ciObjectFactory::insert(int index, ciObject* obj, GrowableArray<ciObject*>* objects) {
696 ciObject* klass = get(key->klass());
709 inline ciObjectFactory::NonPermObject::NonPermObject(ciObjectFactory::NonPermObject* &bucket, oop key, ciObject* object) {
721 // Insert a ciObject into the non-perm table.
722 void ciObjectFactory::insert_non_perm(ciObjectFactory::NonPermObject* &where, oop key, ciObject* obj) {