< prev index next >

src/hotspot/share/ci/ciObjectFactory.hpp

Print this page




  56 
  57 public:
  58   struct NonPermObject : public ResourceObj {
  59     ciObject*      _object;
  60     NonPermObject* _next;
  61 
  62     inline NonPermObject(NonPermObject* &bucket, oop key, ciObject* object);
  63     ciObject*     object()  { return _object; }
  64     NonPermObject* &next()  { return _next; }
  65   };
  66 private:
  67   enum { NON_PERM_BUCKETS = 61 };
  68   NonPermObject* _non_perm_bucket[NON_PERM_BUCKETS];
  69   int _non_perm_count;
  70 
  71   static int metadata_compare(Metadata* const& key, ciMetadata* const& elt);
  72 
  73   ciObject* create_new_object(oop o);
  74   ciMetadata* create_new_metadata(Metadata* o);
  75 
  76   void ensure_metadata_alive(ciMetadata* m);
  77 
  78   static bool is_equal(NonPermObject* p, oop key) {
  79     return p->object()->get_oop() == key;
  80   }
  81 
  82   NonPermObject* &find_non_perm(oop key);
  83   void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj);
  84 
  85   void init_ident_of(ciBaseObject* obj);
  86 
  87   Arena* arena() { return _arena; }
  88 
  89   void print_contents_impl();
  90 
  91   ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
  92 
  93 public:
  94   static bool is_initialized() { return _initialized; }
  95 
  96   static void initialize();
  97   void init_shared_objects();




  56 
  57 public:
  58   struct NonPermObject : public ResourceObj {
  59     ciObject*      _object;
  60     NonPermObject* _next;
  61 
  62     inline NonPermObject(NonPermObject* &bucket, oop key, ciObject* object);
  63     ciObject*     object()  { return _object; }
  64     NonPermObject* &next()  { return _next; }
  65   };
  66 private:
  67   enum { NON_PERM_BUCKETS = 61 };
  68   NonPermObject* _non_perm_bucket[NON_PERM_BUCKETS];
  69   int _non_perm_count;
  70 
  71   static int metadata_compare(Metadata* const& key, ciMetadata* const& elt);
  72 
  73   ciObject* create_new_object(oop o);
  74   ciMetadata* create_new_metadata(Metadata* o);
  75 


  76   static bool is_equal(NonPermObject* p, oop key) {
  77     return p->object()->get_oop() == key;
  78   }
  79 
  80   NonPermObject* &find_non_perm(oop key);
  81   void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj);
  82 
  83   void init_ident_of(ciBaseObject* obj);
  84 
  85   Arena* arena() { return _arena; }
  86 
  87   void print_contents_impl();
  88 
  89   ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
  90 
  91 public:
  92   static bool is_initialized() { return _initialized; }
  93 
  94   static void initialize();
  95   void init_shared_objects();


< prev index next >