| OLD | NEW | 
|    1 // Copyright 2011 the V8 project authors. All rights reserved. |    1 // Copyright 2011 the V8 project authors. All rights reserved. | 
|    2 // Redistribution and use in source and binary forms, with or without |    2 // Redistribution and use in source and binary forms, with or without | 
|    3 // modification, are permitted provided that the following conditions are |    3 // modification, are permitted provided that the following conditions are | 
|    4 // met: |    4 // met: | 
|    5 // |    5 // | 
|    6 //     * Redistributions of source code must retain the above copyright |    6 //     * Redistributions of source code must retain the above copyright | 
|    7 //       notice, this list of conditions and the following disclaimer. |    7 //       notice, this list of conditions and the following disclaimer. | 
|    8 //     * Redistributions in binary form must reproduce the above |    8 //     * Redistributions in binary form must reproduce the above | 
|    9 //       copyright notice, this list of conditions and the following |    9 //       copyright notice, this list of conditions and the following | 
|   10 //       disclaimer in the documentation and/or other materials provided |   10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   52 #endif |   52 #endif | 
|   53 } |   53 } | 
|   54  |   54  | 
|   55  |   55  | 
|   56 void LiveObjectList::IterateElements(ObjectVisitor* v) { |   56 void LiveObjectList::IterateElements(ObjectVisitor* v) { | 
|   57   if (!NeedLOLProcessing()) return; |   57   if (!NeedLOLProcessing()) return; | 
|   58   IterateElementsPrivate(v); |   58   IterateElementsPrivate(v); | 
|   59 } |   59 } | 
|   60  |   60  | 
|   61  |   61  | 
|   62 void LiveObjectList::ProcessNonLive(HeapObject *obj) { |   62 void LiveObjectList::ProcessNonLive(HeapObject* obj) { | 
|   63   // Only do work if we have at least one list to process. |   63   // Only do work if we have at least one list to process. | 
|   64   if (last()) DoProcessNonLive(obj); |   64   if (last()) DoProcessNonLive(obj); | 
|   65 } |   65 } | 
|   66  |   66  | 
|   67  |   67  | 
|   68 void LiveObjectList::UpdateReferencesForScavengeGC() { |   68 void LiveObjectList::UpdateReferencesForScavengeGC() { | 
|   69   if (LiveObjectList::NeedLOLProcessing()) { |   69   if (LiveObjectList::NeedLOLProcessing()) { | 
|   70     UpdateLiveObjectListVisitor update_visitor; |   70     UpdateLiveObjectListVisitor update_visitor; | 
|   71     LiveObjectList::IterateElements(&update_visitor); |   71     LiveObjectList::IterateElements(&update_visitor); | 
|   72   } |   72   } | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
|   86   } |   86   } | 
|   87   return NULL; |   87   return NULL; | 
|   88 } |   88 } | 
|   89  |   89  | 
|   90  |   90  | 
|   91 // Iterates the elements in every lol and returns the one that matches the |   91 // Iterates the elements in every lol and returns the one that matches the | 
|   92 // specified key.  If no matching element is found, then it returns NULL. |   92 // specified key.  If no matching element is found, then it returns NULL. | 
|   93 template <typename T> |   93 template <typename T> | 
|   94 inline LiveObjectList::Element* |   94 inline LiveObjectList::Element* | 
|   95 LiveObjectList::FindElementFor(T (*GetValue)(LiveObjectList::Element*), T key) { |   95 LiveObjectList::FindElementFor(T (*GetValue)(LiveObjectList::Element*), T key) { | 
|   96   LiveObjectList *lol = last(); |   96   LiveObjectList* lol = last(); | 
|   97   while (lol != NULL) { |   97   while (lol != NULL) { | 
|   98     Element* elements = lol->elements_; |   98     Element* elements = lol->elements_; | 
|   99     for (int i = 0; i < lol->obj_count_; i++) { |   99     for (int i = 0; i < lol->obj_count_; i++) { | 
|  100       Element* element = &elements[i]; |  100       Element* element = &elements[i]; | 
|  101       if (GetValue(element) == key) { |  101       if (GetValue(element) == key) { | 
|  102         return element; |  102         return element; | 
|  103       } |  103       } | 
|  104     } |  104     } | 
|  105     lol = lol->prev_; |  105     lol = lol->prev_; | 
|  106   } |  106   } | 
| (...skipping 10 matching lines...) Expand all  Loading... | 
|  117 LiveObjectList::GetElementObj(LiveObjectList::Element* element) { |  117 LiveObjectList::GetElementObj(LiveObjectList::Element* element) { | 
|  118   return element->obj_; |  118   return element->obj_; | 
|  119 } |  119 } | 
|  120  |  120  | 
|  121 #endif  // LIVE_OBJECT_LIST |  121 #endif  // LIVE_OBJECT_LIST | 
|  122  |  122  | 
|  123 } }  // namespace v8::internal |  123 } }  // namespace v8::internal | 
|  124  |  124  | 
|  125 #endif  // V8_LIVEOBJECTLIST_INL_H_ |  125 #endif  // V8_LIVEOBJECTLIST_INL_H_ | 
|  126  |  126  | 
| OLD | NEW |