Index: src/list.h |
diff --git a/src/list.h b/src/list.h |
index 055870904e09cf36574ee0cb3e044b93516b312e..0b605e903ee9f78e8bd1681fe49bedecca7b3caa 100644 |
--- a/src/list.h |
+++ b/src/list.h |
@@ -165,8 +165,11 @@ class List { |
class Map; |
class Code; |
+template<typename T> class Handle; |
typedef List<Map*> MapList; |
typedef List<Code*> CodeList; |
+typedef List<Handle<Map> > MapHandleList; |
+typedef List<Handle<Code> > CodeHandleList; |
// Perform binary search for an element in an already sorted |
// list. Returns the index of the element of -1 if it was not found. |
@@ -176,6 +179,15 @@ int SortedListBSearch( |
template <typename T> |
int SortedListBSearch(const List<T>& list, T elem); |
+// Unwraps each handle in the source list to a pointer at |
+// the corresponding position in the destination list. |
+// Returns the destination list. |
+// Both list must have the same length. |
+ |
+template <class T> |
+List<T*>* UnwrapHandleList(List<T*>* destination, List<Handle<T> >* source); |
+ |
+ |
} } // namespace v8::internal |