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:
Coleen Phillimore 2011-01-27 16:11:27 -08:00
parent 950858350d
commit 7b4f8073f0
223 changed files with 3783 additions and 3641 deletions

View file

@ -100,7 +100,7 @@ class MethodStream : public KlassStream {
// Usage:
//
// for (FieldStream st(k, false, false); !st.eos(); st.next()) {
// symbolOop field_name = st.name();
// Symbol* field_name = st.name();
// ...
// }
@ -126,11 +126,11 @@ class FieldStream : public KlassStream {
flags.set_flags(fields()->ushort_at(index() + instanceKlass::access_flags_offset));
return flags;
}
symbolOop name() const {
Symbol* name() const {
int name_index = fields()->ushort_at(index() + instanceKlass::name_index_offset);
return constants()->symbol_at(name_index);
}
symbolOop signature() const {
Symbol* signature() const {
int signature_index = fields()->ushort_at(index() +
instanceKlass::signature_index_offset);
return constants()->symbol_at(signature_index);
@ -197,7 +197,7 @@ class FilteredFieldsMap : AllStatic {
// Usage:
//
// for (FilteredFieldStream st(k, false, false); !st.eos(); st.next()) {
// symbolOop field_name = st.name();
// Symbol* field_name = st.name();
// ...
// }