src/share/vm/ci/ciObjectFactory.hpp

changeset 2497
3582bf76420e
parent 2314
f95d63e2154a
child 2708
1d1603768966
equal deleted inserted replaced
2496:27e4ea99855d 2497:3582bf76420e
46 GrowableArray<ciObject*>* _ci_objects; 46 GrowableArray<ciObject*>* _ci_objects;
47 GrowableArray<ciMethod*>* _unloaded_methods; 47 GrowableArray<ciMethod*>* _unloaded_methods;
48 GrowableArray<ciKlass*>* _unloaded_klasses; 48 GrowableArray<ciKlass*>* _unloaded_klasses;
49 GrowableArray<ciInstance*>* _unloaded_instances; 49 GrowableArray<ciInstance*>* _unloaded_instances;
50 GrowableArray<ciReturnAddress*>* _return_addresses; 50 GrowableArray<ciReturnAddress*>* _return_addresses;
51 GrowableArray<ciSymbol*>* _symbols; // keep list of symbols created
51 int _next_ident; 52 int _next_ident;
52 53
53 public: 54 public:
54 struct NonPermObject : public ResourceObj { 55 struct NonPermObject : public ResourceObj {
55 ciObject* _object; 56 ciObject* _object;
74 75
75 NonPermObject* &find_non_perm(oop key); 76 NonPermObject* &find_non_perm(oop key);
76 void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj); 77 void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj);
77 78
78 void init_ident_of(ciObject* obj); 79 void init_ident_of(ciObject* obj);
80 void init_ident_of(ciSymbol* obj);
79 81
80 Arena* arena() { return _arena; } 82 Arena* arena() { return _arena; }
81 83
82 void print_contents_impl(); 84 void print_contents_impl();
83 85
86 public: 88 public:
87 static bool is_initialized() { return _initialized; } 89 static bool is_initialized() { return _initialized; }
88 90
89 static void initialize(); 91 static void initialize();
90 void init_shared_objects(); 92 void init_shared_objects();
93 void remove_symbols();
91 94
92 ciObjectFactory(Arena* arena, int expected_size); 95 ciObjectFactory(Arena* arena, int expected_size);
93 96
94
95 // Get the ciObject corresponding to some oop. 97 // Get the ciObject corresponding to some oop.
96 ciObject* get(oop key); 98 ciObject* get(oop key);
99
100 ciSymbol* get_symbol(Symbol* key);
97 101
98 // Get the ciSymbol corresponding to one of the vmSymbols. 102 // Get the ciSymbol corresponding to one of the vmSymbols.
99 static ciSymbol* vm_symbol_at(int index); 103 static ciSymbol* vm_symbol_at(int index);
100 104
101 // Get the ciMethod representing an unloaded/unfound method. 105 // Get the ciMethod representing an unloaded/unfound method.

mercurial