Make PopSirt inlinable, pass self to SirtRef.

Change-Id: Ieb91526b1cb1f8644ceb3c5b99649f658f43bbc1
diff --git a/src/intern_table_test.cc b/src/intern_table_test.cc
index 15fa259..2833f6e 100644
--- a/src/intern_table_test.cc
+++ b/src/intern_table_test.cc
@@ -18,6 +18,7 @@
 
 #include "common_test.h"
 #include "object.h"
+#include "sirt_ref.h"
 
 namespace art {
 
@@ -26,10 +27,10 @@
 TEST_F(InternTableTest, Intern) {
   ScopedObjectAccess soa(Thread::Current());
   InternTable intern_table;
-  SirtRef<String> foo_1(intern_table.InternStrong(3, "foo"));
-  SirtRef<String> foo_2(intern_table.InternStrong(3, "foo"));
-  SirtRef<String> foo_3(String::AllocFromModifiedUtf8("foo"));
-  SirtRef<String> bar(intern_table.InternStrong(3, "bar"));
+  SirtRef<String> foo_1(soa.Self(), intern_table.InternStrong(3, "foo"));
+  SirtRef<String> foo_2(soa.Self(), intern_table.InternStrong(3, "foo"));
+  SirtRef<String> foo_3(soa.Self(), String::AllocFromModifiedUtf8("foo"));
+  SirtRef<String> bar(soa.Self(), intern_table.InternStrong(3, "bar"));
   EXPECT_TRUE(foo_1->Equals("foo"));
   EXPECT_TRUE(foo_2->Equals("foo"));
   EXPECT_TRUE(foo_3->Equals("foo"));
@@ -46,7 +47,7 @@
   InternTable t;
   EXPECT_EQ(0U, t.Size());
   t.InternStrong(3, "foo");
-  SirtRef<String> foo(String::AllocFromModifiedUtf8("foo"));
+  SirtRef<String> foo(soa.Self(), String::AllocFromModifiedUtf8("foo"));
   t.InternWeak(foo.get());
   EXPECT_EQ(1U, t.Size());
   t.InternStrong(3, "bar");
@@ -90,10 +91,10 @@
   InternTable t;
   t.InternStrong(3, "foo");
   t.InternStrong(3, "bar");
-  SirtRef<String> hello(String::AllocFromModifiedUtf8("hello"));
-  SirtRef<String> world(String::AllocFromModifiedUtf8("world"));
-  SirtRef<String> s0(t.InternWeak(hello.get()));
-  SirtRef<String> s1(t.InternWeak(world.get()));
+  SirtRef<String> hello(soa.Self(), String::AllocFromModifiedUtf8("hello"));
+  SirtRef<String> world(soa.Self(), String::AllocFromModifiedUtf8("world"));
+  SirtRef<String> s0(soa.Self(), t.InternWeak(hello.get()));
+  SirtRef<String> s1(soa.Self(), t.InternWeak(world.get()));
 
   EXPECT_EQ(4U, t.Size());
 
@@ -102,14 +103,14 @@
   p.Expect(s0.get());
   p.Expect(s1.get());
   {
-    ReaderMutexLock mu(*Locks::heap_bitmap_lock_);
+    ReaderMutexLock mu(soa.Self(), *Locks::heap_bitmap_lock_);
     t.SweepInternTableWeaks(IsMarked, &p);
   }
 
   EXPECT_EQ(2U, t.Size());
 
   // Just check that we didn't corrupt the map.
-  SirtRef<String> still_here(String::AllocFromModifiedUtf8("still here"));
+  SirtRef<String> still_here(soa.Self(), String::AllocFromModifiedUtf8("still here"));
   t.InternWeak(still_here.get());
   EXPECT_EQ(3U, t.Size());
 }
@@ -119,9 +120,9 @@
   {
     // Strongs are never weak.
     InternTable t;
-    SirtRef<String> interned_foo_1(t.InternStrong(3, "foo"));
+    SirtRef<String> interned_foo_1(soa.Self(), t.InternStrong(3, "foo"));
     EXPECT_FALSE(t.ContainsWeak(interned_foo_1.get()));
-    SirtRef<String> interned_foo_2(t.InternStrong(3, "foo"));
+    SirtRef<String> interned_foo_2(soa.Self(), t.InternStrong(3, "foo"));
     EXPECT_FALSE(t.ContainsWeak(interned_foo_2.get()));
     EXPECT_EQ(interned_foo_1.get(), interned_foo_2.get());
   }
@@ -129,11 +130,11 @@
   {
     // Weaks are always weak.
     InternTable t;
-    SirtRef<String> foo_1(String::AllocFromModifiedUtf8("foo"));
-    SirtRef<String> foo_2(String::AllocFromModifiedUtf8("foo"));
+    SirtRef<String> foo_1(soa.Self(), String::AllocFromModifiedUtf8("foo"));
+    SirtRef<String> foo_2(soa.Self(), String::AllocFromModifiedUtf8("foo"));
     EXPECT_NE(foo_1.get(), foo_2.get());
-    SirtRef<String> interned_foo_1(t.InternWeak(foo_1.get()));
-    SirtRef<String> interned_foo_2(t.InternWeak(foo_2.get()));
+    SirtRef<String> interned_foo_1(soa.Self(), t.InternWeak(foo_1.get()));
+    SirtRef<String> interned_foo_2(soa.Self(), t.InternWeak(foo_2.get()));
     EXPECT_TRUE(t.ContainsWeak(interned_foo_2.get()));
     EXPECT_EQ(interned_foo_1.get(), interned_foo_2.get());
   }
@@ -141,10 +142,10 @@
   {
     // A weak can be promoted to a strong.
     InternTable t;
-    SirtRef<String> foo(String::AllocFromModifiedUtf8("foo"));
-    SirtRef<String> interned_foo_1(t.InternWeak(foo.get()));
+    SirtRef<String> foo(soa.Self(), String::AllocFromModifiedUtf8("foo"));
+    SirtRef<String> interned_foo_1(soa.Self(), t.InternWeak(foo.get()));
     EXPECT_TRUE(t.ContainsWeak(interned_foo_1.get()));
-    SirtRef<String> interned_foo_2(t.InternStrong(3, "foo"));
+    SirtRef<String> interned_foo_2(soa.Self(), t.InternStrong(3, "foo"));
     EXPECT_FALSE(t.ContainsWeak(interned_foo_2.get()));
     EXPECT_EQ(interned_foo_1.get(), interned_foo_2.get());
   }
@@ -152,10 +153,10 @@
   {
     // Interning a weak after a strong gets you the strong.
     InternTable t;
-    SirtRef<String> interned_foo_1(t.InternStrong(3, "foo"));
+    SirtRef<String> interned_foo_1(soa.Self(), t.InternStrong(3, "foo"));
     EXPECT_FALSE(t.ContainsWeak(interned_foo_1.get()));
-    SirtRef<String> foo(String::AllocFromModifiedUtf8("foo"));
-    SirtRef<String> interned_foo_2(t.InternWeak(foo.get()));
+    SirtRef<String> foo(soa.Self(), String::AllocFromModifiedUtf8("foo"));
+    SirtRef<String> interned_foo_2(soa.Self(), t.InternWeak(foo.get()));
     EXPECT_FALSE(t.ContainsWeak(interned_foo_2.get()));
     EXPECT_EQ(interned_foo_1.get(), interned_foo_2.get());
   }