Mercurial > hg > graal-compiler
comparison src/share/vm/ci/ciEnv.hpp @ 1080:7c57aead6d3e
6892658: C2 should optimize some stringbuilder patterns
Reviewed-by: kvn, twisti
author | never |
---|---|
date | Thu, 12 Nov 2009 09:24:21 -0800 |
parents | 148e5441d916 |
children | 97125851f396 |
comparison
equal
deleted
inserted
replaced
1078:8e7adf982378 | 1080:7c57aead6d3e |
---|---|
80 static ciInstanceKlass* _Object; | 80 static ciInstanceKlass* _Object; |
81 static ciInstanceKlass* _Throwable; | 81 static ciInstanceKlass* _Throwable; |
82 static ciInstanceKlass* _Thread; | 82 static ciInstanceKlass* _Thread; |
83 static ciInstanceKlass* _OutOfMemoryError; | 83 static ciInstanceKlass* _OutOfMemoryError; |
84 static ciInstanceKlass* _String; | 84 static ciInstanceKlass* _String; |
85 static ciInstanceKlass* _StringBuffer; | |
86 static ciInstanceKlass* _StringBuilder; | |
87 static ciInstanceKlass* _Integer; | |
85 | 88 |
86 static ciSymbol* _unloaded_cisymbol; | 89 static ciSymbol* _unloaded_cisymbol; |
87 static ciInstanceKlass* _unloaded_ciinstance_klass; | 90 static ciInstanceKlass* _unloaded_ciinstance_klass; |
88 static ciObjArrayKlass* _unloaded_ciobjarrayklass; | 91 static ciObjArrayKlass* _unloaded_ciobjarrayklass; |
89 | 92 |
94 ciInstance* _NullPointerException_instance; | 97 ciInstance* _NullPointerException_instance; |
95 ciInstance* _ArithmeticException_instance; | 98 ciInstance* _ArithmeticException_instance; |
96 ciInstance* _ArrayIndexOutOfBoundsException_instance; | 99 ciInstance* _ArrayIndexOutOfBoundsException_instance; |
97 ciInstance* _ArrayStoreException_instance; | 100 ciInstance* _ArrayStoreException_instance; |
98 ciInstance* _ClassCastException_instance; | 101 ciInstance* _ClassCastException_instance; |
102 | |
103 ciInstance* _the_null_string; // The Java string "null" | |
104 ciInstance* _the_min_jint_string; // The Java string "-2147483648" | |
99 | 105 |
100 // Look up a klass by name from a particular class loader (the accessor's). | 106 // Look up a klass by name from a particular class loader (the accessor's). |
101 // If require_local, result must be defined in that class loader, or NULL. | 107 // If require_local, result must be defined in that class loader, or NULL. |
102 // If !require_local, a result from remote class loader may be reported, | 108 // If !require_local, a result from remote class loader may be reported, |
103 // if sufficient class loader constraints exist such that initiating | 109 // if sufficient class loader constraints exist such that initiating |
308 return _OutOfMemoryError; | 314 return _OutOfMemoryError; |
309 } | 315 } |
310 ciInstanceKlass* String_klass() { | 316 ciInstanceKlass* String_klass() { |
311 return _String; | 317 return _String; |
312 } | 318 } |
319 ciInstanceKlass* StringBuilder_klass() { | |
320 return _StringBuilder; | |
321 } | |
322 ciInstanceKlass* StringBuffer_klass() { | |
323 return _StringBuffer; | |
324 } | |
325 ciInstanceKlass* Integer_klass() { | |
326 return _Integer; | |
327 } | |
313 ciInstance* NullPointerException_instance() { | 328 ciInstance* NullPointerException_instance() { |
314 assert(_NullPointerException_instance != NULL, "initialization problem"); | 329 assert(_NullPointerException_instance != NULL, "initialization problem"); |
315 return _NullPointerException_instance; | 330 return _NullPointerException_instance; |
316 } | 331 } |
317 ciInstance* ArithmeticException_instance() { | 332 ciInstance* ArithmeticException_instance() { |
321 | 336 |
322 // Lazy constructors: | 337 // Lazy constructors: |
323 ciInstance* ArrayIndexOutOfBoundsException_instance(); | 338 ciInstance* ArrayIndexOutOfBoundsException_instance(); |
324 ciInstance* ArrayStoreException_instance(); | 339 ciInstance* ArrayStoreException_instance(); |
325 ciInstance* ClassCastException_instance(); | 340 ciInstance* ClassCastException_instance(); |
341 | |
342 ciInstance* the_null_string(); | |
343 ciInstance* the_min_jint_string(); | |
326 | 344 |
327 static ciSymbol* unloaded_cisymbol() { | 345 static ciSymbol* unloaded_cisymbol() { |
328 return _unloaded_cisymbol; | 346 return _unloaded_cisymbol; |
329 } | 347 } |
330 static ciObjArrayKlass* unloaded_ciobjarrayklass() { | 348 static ciObjArrayKlass* unloaded_ciobjarrayklass() { |