comparison src/share/vm/interpreter/bytecode.cpp @ 2177:3582bf76420e

6990754: Use native memory and reference counting to implement SymbolTable Summary: move symbols from permgen into C heap and reference count them Reviewed-by: never, acorn, jmasa, stefank
author coleenp
date Thu, 27 Jan 2011 16:11:27 -0800
parents 8012aa3ccede
children 1d7922586cf6
comparison
equal deleted inserted replaced
2176:27e4ea99855d 2177:3582bf76420e
122 assert(is_valid(), "check invoke"); 122 assert(is_valid(), "check invoke");
123 assert(method()->constants()->cache() != NULL, "do not call this from verifier or rewriter"); 123 assert(method()->constants()->cache() != NULL, "do not call this from verifier or rewriter");
124 } 124 }
125 125
126 126
127 symbolOop Bytecode_member_ref::signature() const { 127 Symbol* Bytecode_member_ref::signature() const {
128 constantPoolOop constants = method()->constants(); 128 constantPoolOop constants = method()->constants();
129 return constants->signature_ref_at(index()); 129 return constants->signature_ref_at(index());
130 } 130 }
131 131
132 132
133 symbolOop Bytecode_member_ref::name() const { 133 Symbol* Bytecode_member_ref::name() const {
134 constantPoolOop constants = method()->constants(); 134 constantPoolOop constants = method()->constants();
135 return constants->name_ref_at(index()); 135 return constants->name_ref_at(index());
136 } 136 }
137 137
138 138
139 BasicType Bytecode_member_ref::result_type(Thread *thread) const { 139 BasicType Bytecode_member_ref::result_type() const {
140 symbolHandle sh(thread, signature()); 140 ResultTypeFinder rts(signature());
141 ResultTypeFinder rts(sh);
142 rts.iterate(); 141 rts.iterate();
143 return rts.type(); 142 return rts.type();
144 } 143 }
145 144
146 145