195 assert(obj->is_symbol(), "should be symbol");
196 }
197
198 int symbolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
199 assert(obj->is_symbol(), "should be symbol");
200 return symbolOop(obj)->object_size();
201 }
202
203 int symbolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
204 HeapWord* beg_addr, HeapWord* end_addr) {
205 assert(obj->is_symbol(), "should be symbol");
206 return symbolOop(obj)->object_size();
207 }
208 #endif // SERIALGC
209
210 #ifndef PRODUCT
211 // Printing
212
213 void symbolKlass::oop_print_on(oop obj, outputStream* st) {
214 st->print("Symbol: '");
215 symbolOop sym = symbolOop(obj);
216 for (int i = 0; i < sym->utf8_length(); i++) {
217 st->print("%c", sym->byte_at(i));
218 }
219 st->print("'");
220 }
221
222 void symbolKlass::oop_print_value_on(oop obj, outputStream* st) {
223 symbolOop sym = symbolOop(obj);
224 st->print("'");
225 for (int i = 0; i < sym->utf8_length(); i++) {
226 st->print("%c", sym->byte_at(i));
227 }
228 st->print("'");
229 }
230
231 #endif //PRODUCT
232
233 const char* symbolKlass::internal_name() const {
234 return "{symbol}";
235 }
|
195 assert(obj->is_symbol(), "should be symbol");
196 }
197
198 int symbolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
199 assert(obj->is_symbol(), "should be symbol");
200 return symbolOop(obj)->object_size();
201 }
202
203 int symbolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
204 HeapWord* beg_addr, HeapWord* end_addr) {
205 assert(obj->is_symbol(), "should be symbol");
206 return symbolOop(obj)->object_size();
207 }
208 #endif // SERIALGC
209
210 #ifndef PRODUCT
211 // Printing
212
213 void symbolKlass::oop_print_on(oop obj, outputStream* st) {
214 st->print("Symbol: '");
215 symbolOop(obj)->print_symbol_on(st);
216 st->print("'");
217 }
218
219 void symbolKlass::oop_print_value_on(oop obj, outputStream* st) {
220 symbolOop sym = symbolOop(obj);
221 st->print("'");
222 for (int i = 0; i < sym->utf8_length(); i++) {
223 st->print("%c", sym->byte_at(i));
224 }
225 st->print("'");
226 }
227
228 #endif //PRODUCT
229
230 const char* symbolKlass::internal_name() const {
231 return "{symbol}";
232 }
|