Home | History | Annotate | Download | only in src

Lines Matching refs:lol

671     // Fill the array with the lol object details.
850 // A summary writer for filling in a summary of lol lists and diffs.
861 // Fill the summary with the lol object details.
940 LiveObjectList *lol = this;
944 Element* elements = lol->elements_;
945 for (int i = 0; i < lol->obj_count_; i++) {
950 count += lol->obj_count_;
951 lol = lol->prev_;
952 } while (lol != NULL);
961 // Adds an object to the lol.
982 // Comparator used for sorting and searching the lol.
986 // For lol elements, it doesn't matter which comes first if 2 elements point
993 // Looks for the specified object in the lol, and returns its element if found.
995 LiveObjectList* lol = this;
1000 // Iterate through the chain of lol's to look for the object.
1001 while ((result == NULL) && (lol != NULL)) {
1003 bsearch(&key, lol->elements_, lol->obj_count_,
1006 lol = lol->prev_;
1013 // up in the GCEpilogue, while preserving the sort order of the lol.
1017 LiveObjectList* lol = last();
1022 // Iterate through the chain of lol's to look for the object.
1023 while (lol != NULL) {
1025 bsearch(&key, lol->elements_, lol->obj_count_,
1030 // find the first in the current lol, and nullify that. The lol should
1032 int i = result - lol->elements_;
1034 // NOTE: we sort the lol in increasing order. So, if an object has been
1041 Element* element = &lol->elements_[i];
1053 lol = lol->prev_;
1058 // Sorts the lol.
1069 LiveObjectList* lol = last();
1070 while (lol != NULL) {
1071 lol->Sort();
1072 lol = lol->prev_;
1104 LiveObjectList* lol;
1106 // Create a lol large enough to track all the objects.
1107 lol = new LiveObjectList(last_lol, count);
1108 if (lol == NULL) {
1120 failed = !lol->Add(heap_obj);
1125 lol->Sort();
1127 // Add the current lol to the list of lols.
1129 last_->next_ = lol;
1131 first_ = lol;
1133 last_ = lol;
1150 Smi::FromInt(lol->id()),
1172 // Delete doesn't actually deletes an lol. It just marks it as invisible since
1174 // only time we'll actually delete the lol is when we Reset() or if the lol is
1177 LiveObjectList *lol = last();
1178 while (lol != NULL) {
1179 if (lol->id() == id) {
1182 lol = lol->prev_;
1185 // If no lol is found for this id, then we fail to delete.
1186 if (lol == NULL) return false;
1188 // Else, mark the lol as invisible i.e. id == 0.
1189 lol->id_ = 0;
1192 if (lol->obj_count_ == 0) {
1193 // Point the next lol's prev to this lol's prev.
1194 LiveObjectList* next = lol->next_;
1195 LiveObjectList* prev = lol->prev_;
1198 next->prev_ = lol->prev_;
1200 last_ = lol->prev_;
1204 prev->next_ = lol->next_;
1206 first_ = lol->next_;
1209 lol->prev_ = NULL;
1210 lol->next_ = NULL;
1212 // Delete this now empty and invisible lol.
1213 delete lol;
1231 return Failure::Exception(); // Fail: 0 is not a valid lol id.
1243 // If the id is defined, and we can't find a LOL for it, then we have an
1246 return Failure::Exception(); // Fail: the newer lol id is invalid.
1249 return Failure::Exception(); // Fail: the older lol id is invalid.
1345 return Failure::Exception(); // Fail: 0 is not a valid lol id.
1357 // If the id is defined, and we can't find a LOL for it, then we have an
1360 return Failure::Exception(); // Fail: the newer lol id is invalid.
1363 return Failure::Exception(); // Fail: the older lol id is invalid.
1530 // Fill the array with the lol details.
1532 LiveObjectList* lol = first_;
1533 while ((lol != NULL) && (idx < start_idx)) { // Skip tail entries.
1534 if (lol->id() != 0) {
1537 lol = lol->next();
1540 while ((lol != NULL) && (dump_limit != 0)) {
1541 if (lol->id() != 0) {
1544 count = lol->GetTotalObjCountAndSize(&size);
1550 Smi::FromInt(lol->id()),
1567 lol = lol->next();
1603 LiveObjectList *lol = last();
1604 // Just delete the last. Each lol will delete it's prev automatically.
1605 delete lol;
1966 OS::SNPrintF(temp_filename, "%s/lol-print-%d", path_prefix, ++temp_count);
2050 LOL object ID:
2081 OS::SNPrintF(temp_filename, "%s/lol-getpath-%d", path_prefix, ++temp_count);
2229 // We should only be called if we have at least one lol to search.
2239 LiveObjectList* lol = last();
2240 while (lol != NULL) {
2241 Element* elements = lol->elements_;
2242 int count = lol->obj_count_;
2247 lol = lol->prev_;
2256 LiveObjectList* lol = last();
2257 if (!lol) {
2261 int total_count = lol->TotalObjCount();
2270 while (lol) {
2271 memcpy(&elements[count], lol->elements_, lol->obj_count_ * sizeof(Element));
2272 count += lol->obj_count_;
2273 lol = lol->prev_;
2311 // Note: we will nullify the element record in the LOL
2335 // objects references in the LOL list.
2343 // object. Hence, we can get a duplicate address in the LOL again.
2345 // We need to eliminate these dups because the LOL implementation expects to
2346 // only have at most one unique LOL reference to any object at any time.
2353 // Iterating from the youngest lol to the oldest lol.
2354 for (LiveObjectList *lol = last(); lol; lol = prev) {
2355 Element* elements = lol->elements_;
2356 prev = lol->prev(); // Save the prev.
2360 while (i < lol->obj_count_) {
2365 element = elements[lol->obj_count_ - 1];
2366 lol->obj_count_--;
2374 int new_count = lol->obj_count_;
2379 lol->elements_ = NULL;
2380 lol->capacity_ = 0;
2381 ASSERT(lol->obj_count_ == 0);
2384 if (lol->id_ == 0) {
2385 // Point the next lol's prev to this lol's prev.
2387 next->prev_ = lol->prev_;
2389 last_ = lol->prev_;
2392 // Delete this now empty and invisible lol.
2393 delete lol;
2395 // Don't point the next to this lol since it is now deleted.
2396 // Leave the next pointer pointing to the current lol.
2403 int diff = lol->capacity_ - new_count;
2411 lol->elements_ = new_elements;
2412 lol->capacity_ = new_count;
2414 ASSERT(lol->obj_count_ == new_count);
2416 lol->Sort(); // We've moved objects. Re-sort in case.
2420 next = lol;
2435 LiveObjectList* lol = last();
2436 if (lol == NULL) {
2437 OS::Print(" No lol database to verify\n");
2441 OS::Print(" Preparing the lol database ...\n");
2442 int total_count = lol->TotalObjCount();
2448 OS::Print(" Copying the lol database ...\n");
2449 while (lol != NULL) {
2450 memcpy(&elements[count], lol->elements_, lol->obj_count_ * sizeof(Element));
2451 count += lol->obj_count_;
2452 lol = lol->prev_;
2460 // 1. object in LOL but not in heap i.e. error.
2461 // 2. object in heap but not in LOL (possibly not an error). Usually
2479 // Check if the heap_obj is in the lol.
2499 OS::Print("heap object %p NOT in lol database\n", heap_obj);
2510 // Reporting lol objects not found in the heap.
2516 OS::Print("lol database object [%d of %d] %p NOT in heap\n",
2525 OS::Print("number of objects in lol database %d\n", total_count);
2529 OS::Print("number NOT in lol database ...... %d\n", number_not_in_lol);
2533 "NOT all lol database objects match heap objects.\n");
2536 OS::Print(" *** ERROR: %d lol database objects not found in heap.\n",
2541 OS::Print(" *** ERROR: %d heap objects NOT found in lol database.\n",
2554 OS::Print(" Verify the lol database is sorted ...\n");
2555 lol = last();
2556 lol != NULL) {
2557 Element* elements = lol->elements_;
2558 for (int i = 0; i < lol->obj_count_ - 1; i++) {
2560 OS::Print(" *** ERROR: lol %p obj[%d] %p > obj[%d] %p\n",
2561 lol, i, elements[i].obj_, i+1, elements[i+1].obj_);
2564 lol = lol->prev_;