summaryrefslogtreecommitdiff
path: root/src/jit/jitstd
diff options
context:
space:
mode:
authorPat Gavlin <pagavlin@microsoft.com>2016-03-08 08:48:42 -0800
committerPat Gavlin <pagavlin@microsoft.com>2016-03-08 11:47:48 -0800
commitb8d8bbf3029486b21f04c155561b816d25cd596d (patch)
tree49b205fc92419242f0a7ce96eb41e180e78740b1 /src/jit/jitstd
parente22d5d34d1b32b32443880338e7e9a2a92a16487 (diff)
downloadcoreclr-b8d8bbf3029486b21f04c155561b816d25cd596d.tar.gz
coreclr-b8d8bbf3029486b21f04c155561b816d25cd596d.tar.bz2
coreclr-b8d8bbf3029486b21f04c155561b816d25cd596d.zip
Use jitstd::list in the LSRA.
This removes the only usage of ArrayList in the JIT.
Diffstat (limited to 'src/jit/jitstd')
-rw-r--r--src/jit/jitstd/list.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/jit/jitstd/list.h b/src/jit/jitstd/list.h
index 9f888ef31d..d5d8361ebe 100644
--- a/src/jit/jitstd/list.h
+++ b/src/jit/jitstd/list.h
@@ -68,6 +68,7 @@ public:
bool operator!=(const const_iterator& it) const;
const T& operator*() const;
const T* operator&() const;
+ const T* operator->() const;
operator const T*() const;
private:
@@ -93,6 +94,7 @@ public:
bool operator!=(const iterator& it);
T& operator*();
T* operator&();
+ T* operator->();
operator T*();
private:
@@ -122,6 +124,7 @@ public:
bool operator!=(const const_reverse_iterator& it) const;
const T& operator*() const;
const T* operator&() const;
+ const T* operator->() const;
operator const T*() const;
private:
@@ -148,6 +151,7 @@ public:
bool operator!=(const reverse_iterator& it);
T& operator*();
T* operator&();
+ T* operator->();
operator T*();
friend class list<T, Allocator>::const_reverse_iterator;
@@ -921,6 +925,12 @@ T* list<T, Allocator>::iterator::operator&()
}
template <typename T, typename Allocator>
+T* list<T, Allocator>::iterator::operator->()
+{
+ return &(m_pNode->m_value);
+}
+
+template <typename T, typename Allocator>
list<T, Allocator>::iterator::operator T*()
{
return &(m_pNode->m_value);
@@ -1000,7 +1010,6 @@ const T& list<T, Allocator>::const_iterator::operator*() const
return m_pNode->m_value;
}
-
template <typename T, typename Allocator>
const T* list<T, Allocator>::const_iterator::operator&() const
{
@@ -1008,6 +1017,12 @@ const T* list<T, Allocator>::const_iterator::operator&() const
}
template <typename T, typename Allocator>
+const T* list<T, Allocator>::const_iterator::operator->() const
+{
+ return &(m_pNode->m_value);
+}
+
+template <typename T, typename Allocator>
list<T, Allocator>::const_iterator::operator const T*() const
{
return &(m_pNode->m_value);
@@ -1080,7 +1095,6 @@ T& list<T, Allocator>::reverse_iterator::operator*()
return m_pNode->m_value;
}
-
template <typename T, typename Allocator>
T* list<T, Allocator>::reverse_iterator::operator&()
{
@@ -1088,6 +1102,12 @@ T* list<T, Allocator>::reverse_iterator::operator&()
}
template <typename T, typename Allocator>
+T* list<T, Allocator>::reverse_iterator::operator->()
+{
+ return &(m_pNode->m_value);
+}
+
+template <typename T, typename Allocator>
list<T, Allocator>::reverse_iterator::operator T*()
{
return &(m_pNode->m_value);
@@ -1171,6 +1191,12 @@ const T* list<T, Allocator>::const_reverse_iterator::operator&() const
}
template <typename T, typename Allocator>
+const T* list<T, Allocator>::const_reverse_iterator::operator->() const
+{
+ return &(m_pNode->m_value);
+}
+
+template <typename T, typename Allocator>
list<T, Allocator>::const_reverse_iterator::operator const T*() const
{
return &(m_pNode->m_value);