Mercurial > hg > graal-jvmci-8
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 |