Change intern table to unordered set.

Intern table active used bytes goes from 430k to 317k on system
server. Similar %wise savings on other apps.

Bug: 16238192

(cherry picked from commit d910fcef539e12ab181e56ec80684f39c4e95733)

Change-Id: Ic70395124435c6f420a77e6d8639404a160f395a
diff --git a/runtime/transaction.h b/runtime/transaction.h
index 6390049..21d3c98 100644
--- a/runtime/transaction.h
+++ b/runtime/transaction.h
@@ -69,16 +69,16 @@
       SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 
   // Record intern string table changes.
-  void RecordStrongStringInsertion(mirror::String* s, uint32_t hash_code)
+  void RecordStrongStringInsertion(mirror::String* s)
       EXCLUSIVE_LOCKS_REQUIRED(Locks::intern_table_lock_)
       LOCKS_EXCLUDED(log_lock_);
-  void RecordWeakStringInsertion(mirror::String* s, uint32_t hash_code)
+  void RecordWeakStringInsertion(mirror::String* s)
       EXCLUSIVE_LOCKS_REQUIRED(Locks::intern_table_lock_)
       LOCKS_EXCLUDED(log_lock_);
-  void RecordStrongStringRemoval(mirror::String* s, uint32_t hash_code)
+  void RecordStrongStringRemoval(mirror::String* s)
       EXCLUSIVE_LOCKS_REQUIRED(Locks::intern_table_lock_)
       LOCKS_EXCLUDED(log_lock_);
-  void RecordWeakStringRemoval(mirror::String* s, uint32_t hash_code)
+  void RecordWeakStringRemoval(mirror::String* s)
       EXCLUSIVE_LOCKS_REQUIRED(Locks::intern_table_lock_)
       LOCKS_EXCLUDED(log_lock_);
 
@@ -163,8 +163,8 @@
       kInsert,
       kRemove
     };
-    InternStringLog(mirror::String* s, uint32_t hash_code, StringKind kind, StringOp op)
-      : str_(s), hash_code_(hash_code), string_kind_(kind), string_op_(op) {
+    InternStringLog(mirror::String* s, StringKind kind, StringOp op)
+      : str_(s), string_kind_(kind), string_op_(op) {
       DCHECK(s != nullptr);
     }
 
@@ -175,7 +175,6 @@
 
    private:
     mirror::String* str_;
-    uint32_t hash_code_;
     StringKind string_kind_;
     StringOp string_op_;
   };