comparison src/share/vm/ci/ciObjectFactory.hpp @ 2181:d25d4ca69222

Merge.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Wed, 16 Feb 2011 13:47:20 +0100
parents 06f017f7daa7 3582bf76420e
children 0654ee04b214
comparison
equal deleted inserted replaced
2108:50b45e2d9725 2181:d25d4ca69222
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 void cleanup(); 97 void cleanup();
95 98
96 // Get the ciObject corresponding to some oop. 99 // Get the ciObject corresponding to some oop.
97 ciObject* get(oop key); 100 ciObject* get(oop key);
101
102 ciSymbol* get_symbol(Symbol* key);
98 103
99 // Get the ciSymbol corresponding to one of the vmSymbols. 104 // Get the ciSymbol corresponding to one of the vmSymbols.
100 static ciSymbol* vm_symbol_at(int index); 105 static ciSymbol* vm_symbol_at(int index);
101 106
102 // Get the ciMethod representing an unloaded/unfound method. 107 // Get the ciMethod representing an unloaded/unfound method.