equal
deleted
inserted
replaced
44 ciInstanceKlass* ciEnv::_Object; |
44 ciInstanceKlass* ciEnv::_Object; |
45 ciInstanceKlass* ciEnv::_Throwable; |
45 ciInstanceKlass* ciEnv::_Throwable; |
46 ciInstanceKlass* ciEnv::_Thread; |
46 ciInstanceKlass* ciEnv::_Thread; |
47 ciInstanceKlass* ciEnv::_OutOfMemoryError; |
47 ciInstanceKlass* ciEnv::_OutOfMemoryError; |
48 ciInstanceKlass* ciEnv::_String; |
48 ciInstanceKlass* ciEnv::_String; |
|
49 ciInstanceKlass* ciEnv::_StringBuffer; |
|
50 ciInstanceKlass* ciEnv::_StringBuilder; |
|
51 ciInstanceKlass* ciEnv::_Integer; |
49 |
52 |
50 ciSymbol* ciEnv::_unloaded_cisymbol = NULL; |
53 ciSymbol* ciEnv::_unloaded_cisymbol = NULL; |
51 ciInstanceKlass* ciEnv::_unloaded_ciinstance_klass = NULL; |
54 ciInstanceKlass* ciEnv::_unloaded_ciinstance_klass = NULL; |
52 ciObjArrayKlass* ciEnv::_unloaded_ciobjarrayklass = NULL; |
55 ciObjArrayKlass* ciEnv::_unloaded_ciobjarrayklass = NULL; |
53 |
56 |
108 _ArithmeticException_instance = get_object(o)->as_instance(); |
111 _ArithmeticException_instance = get_object(o)->as_instance(); |
109 |
112 |
110 _ArrayIndexOutOfBoundsException_instance = NULL; |
113 _ArrayIndexOutOfBoundsException_instance = NULL; |
111 _ArrayStoreException_instance = NULL; |
114 _ArrayStoreException_instance = NULL; |
112 _ClassCastException_instance = NULL; |
115 _ClassCastException_instance = NULL; |
|
116 _the_null_string = NULL; |
|
117 _the_min_jint_string = NULL; |
113 } |
118 } |
114 |
119 |
115 ciEnv::ciEnv(Arena* arena) { |
120 ciEnv::ciEnv(Arena* arena) { |
116 ASSERT_IN_VM; |
121 ASSERT_IN_VM; |
117 |
122 |
161 _ArithmeticException_instance = get_object(o)->as_instance(); |
166 _ArithmeticException_instance = get_object(o)->as_instance(); |
162 |
167 |
163 _ArrayIndexOutOfBoundsException_instance = NULL; |
168 _ArrayIndexOutOfBoundsException_instance = NULL; |
164 _ArrayStoreException_instance = NULL; |
169 _ArrayStoreException_instance = NULL; |
165 _ClassCastException_instance = NULL; |
170 _ClassCastException_instance = NULL; |
|
171 _the_null_string = NULL; |
|
172 _the_min_jint_string = NULL; |
166 } |
173 } |
167 |
174 |
168 ciEnv::~ciEnv() { |
175 ciEnv::~ciEnv() { |
169 CompilerThread* current_thread = CompilerThread::current(); |
176 CompilerThread* current_thread = CompilerThread::current(); |
170 current_thread->set_env(NULL); |
177 current_thread->set_env(NULL); |
244 _ClassCastException_instance |
251 _ClassCastException_instance |
245 = get_or_create_exception(_ClassCastException_handle, |
252 = get_or_create_exception(_ClassCastException_handle, |
246 vmSymbolHandles::java_lang_ClassCastException()); |
253 vmSymbolHandles::java_lang_ClassCastException()); |
247 } |
254 } |
248 return _ClassCastException_instance; |
255 return _ClassCastException_instance; |
|
256 } |
|
257 |
|
258 ciInstance* ciEnv::the_null_string() { |
|
259 if (_the_null_string == NULL) { |
|
260 VM_ENTRY_MARK; |
|
261 _the_null_string = get_object(Universe::the_null_string())->as_instance(); |
|
262 } |
|
263 return _the_null_string; |
|
264 } |
|
265 |
|
266 ciInstance* ciEnv::the_min_jint_string() { |
|
267 if (_the_min_jint_string == NULL) { |
|
268 VM_ENTRY_MARK; |
|
269 _the_min_jint_string = get_object(Universe::the_min_jint_string())->as_instance(); |
|
270 } |
|
271 return _the_min_jint_string; |
249 } |
272 } |
250 |
273 |
251 // ------------------------------------------------------------------ |
274 // ------------------------------------------------------------------ |
252 // ciEnv::get_method_from_handle |
275 // ciEnv::get_method_from_handle |
253 ciMethod* ciEnv::get_method_from_handle(jobject method) { |
276 ciMethod* ciEnv::get_method_from_handle(jobject method) { |