mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 14:54:52 +02:00
6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
This commit is contained in:
parent
950858350d
commit
7b4f8073f0
223 changed files with 3783 additions and 3641 deletions
|
@ -48,6 +48,7 @@ private:
|
|||
GrowableArray<ciKlass*>* _unloaded_klasses;
|
||||
GrowableArray<ciInstance*>* _unloaded_instances;
|
||||
GrowableArray<ciReturnAddress*>* _return_addresses;
|
||||
GrowableArray<ciSymbol*>* _symbols; // keep list of symbols created
|
||||
int _next_ident;
|
||||
|
||||
public:
|
||||
|
@ -76,6 +77,7 @@ private:
|
|||
void insert_non_perm(NonPermObject* &where, oop key, ciObject* obj);
|
||||
|
||||
void init_ident_of(ciObject* obj);
|
||||
void init_ident_of(ciSymbol* obj);
|
||||
|
||||
Arena* arena() { return _arena; }
|
||||
|
||||
|
@ -88,13 +90,15 @@ public:
|
|||
|
||||
static void initialize();
|
||||
void init_shared_objects();
|
||||
void remove_symbols();
|
||||
|
||||
ciObjectFactory(Arena* arena, int expected_size);
|
||||
|
||||
|
||||
// Get the ciObject corresponding to some oop.
|
||||
ciObject* get(oop key);
|
||||
|
||||
ciSymbol* get_symbol(Symbol* key);
|
||||
|
||||
// Get the ciSymbol corresponding to one of the vmSymbols.
|
||||
static ciSymbol* vm_symbol_at(int index);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue