Home | History | Annotate | Download | only in optimizing

Lines Matching full:info

232   IntegerValueOfInfo info = ComputeIntegerValueOfInfo();
236 if (info.integer_cache == nullptr ||
237 info.integer == nullptr ||
238 info.cache == nullptr ||
239 info.value_offset == 0 ||
241 info.low == 0 ||
242 info.high == 0) {
243 LOG(INFO) << "Integer.valueOf will not be optimized";
271 IntegerValueOfInfo info;
272 info.integer_cache = class_linker->FindSystemClass(self, "Ljava/lang/Integer$IntegerCache;");
273 if (info.integer_cache == nullptr) {
275 return info;
277 if (!heap->ObjectIsInBootImageSpace(info.integer_cache) || !info.integer_cache->IsInitialized()) {
279 return info;
281 info.integer = class_linker->FindSystemClass(self, "Ljava/lang/Integer;");
282 if (info.integer == nullptr) {
284 return info;
286 if (!heap->ObjectIsInBootImageSpace(info.integer) || !info.integer->IsInitialized()) {
288 return info;
291 ArtField* field = info.integer_cache->FindDeclaredStaticField("cache", "[Ljava/lang/Integer;");
293 return info;
295 info.cache = static_cast<mirror::ObjectArray<mirror::Object>*>(
296 field->GetObject(info.integer_cache).Ptr());
297 if (info.cache == nullptr) {
298 return info;
301 if (!heap->ObjectIsInBootImageSpace(info.cache)) {
303 return info;
306 field = info.integer->FindDeclaredInstanceField("value", "I");
308 return info;
310 info.value_offset = field->GetOffset().Int32Value();
312 field = info.integer_cache->FindDeclaredStaticField("low", "I");
314 return info;
316 info.low = field->GetInt(info.integer_cache);
318 field = info.integer_cache->FindDeclaredStaticField("high", "I");
320 return info;
322 info.high = field->GetInt(info.integer_cache);
324 DCHECK_EQ(info.cache->GetLength(), info.high - info.low + 1);
325 return info;