106 GUARDED_VM_ENTRY(return get_symbol()->utf8_length();)
107 }
108
109 // ------------------------------------------------------------------
110 // ciSymbol::print_impl
111 //
112 // Implementation of the print method
113 void ciSymbol::print_impl(outputStream* st) {
114 st->print(" value=");
115 print_symbol_on(st);
116 }
117
118 // ------------------------------------------------------------------
119 // ciSymbol::print_symbol_on
120 //
121 // Print the value of this symbol on an outputStream
122 void ciSymbol::print_symbol_on(outputStream *st) {
123 GUARDED_VM_ENTRY(get_symbol()->print_symbol_on(st);)
124 }
125
126 // ------------------------------------------------------------------
127 // ciSymbol::make_impl
128 //
129 // Make a ciSymbol from a C string (implementation).
130 ciSymbol* ciSymbol::make_impl(const char* s) {
131 EXCEPTION_CONTEXT;
132 TempNewSymbol sym = SymbolTable::new_symbol(s, THREAD);
133 if (HAS_PENDING_EXCEPTION) {
134 CLEAR_PENDING_EXCEPTION;
135 CURRENT_THREAD_ENV->record_out_of_memory_failure();
136 return ciEnv::_unloaded_cisymbol;
137 }
138 return CURRENT_THREAD_ENV->get_symbol(sym);
139 }
140
141 // ------------------------------------------------------------------
142 // ciSymbol::make
143 //
144 // Make a ciSymbol from a C string.
145 ciSymbol* ciSymbol::make(const char* s) {
|
106 GUARDED_VM_ENTRY(return get_symbol()->utf8_length();)
107 }
108
109 // ------------------------------------------------------------------
110 // ciSymbol::print_impl
111 //
112 // Implementation of the print method
113 void ciSymbol::print_impl(outputStream* st) {
114 st->print(" value=");
115 print_symbol_on(st);
116 }
117
118 // ------------------------------------------------------------------
119 // ciSymbol::print_symbol_on
120 //
121 // Print the value of this symbol on an outputStream
122 void ciSymbol::print_symbol_on(outputStream *st) {
123 GUARDED_VM_ENTRY(get_symbol()->print_symbol_on(st);)
124 }
125
126 const char* ciSymbol::as_klass_external_name() const {
127 GUARDED_VM_ENTRY(return get_symbol()->as_klass_external_name(););
128 }
129
130 // ------------------------------------------------------------------
131 // ciSymbol::make_impl
132 //
133 // Make a ciSymbol from a C string (implementation).
134 ciSymbol* ciSymbol::make_impl(const char* s) {
135 EXCEPTION_CONTEXT;
136 TempNewSymbol sym = SymbolTable::new_symbol(s, THREAD);
137 if (HAS_PENDING_EXCEPTION) {
138 CLEAR_PENDING_EXCEPTION;
139 CURRENT_THREAD_ENV->record_out_of_memory_failure();
140 return ciEnv::_unloaded_cisymbol;
141 }
142 return CURRENT_THREAD_ENV->get_symbol(sym);
143 }
144
145 // ------------------------------------------------------------------
146 // ciSymbol::make
147 //
148 // Make a ciSymbol from a C string.
149 ciSymbol* ciSymbol::make(const char* s) {
|