ART: Initialization of RegLocation and API for GrowableArray Iterator

Two things:

- Added a default initialization for the RegLocation.
- Added a default constructor and Reset for the GrowableArray's Iterator class.

Change-Id: I74d9c584304c77add42e0d66e4037ac45b890142
Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
Signed-off-by: Udayan Banerji <udayan.banerji@intel.com>
diff --git a/compiler/dex/vreg_analysis.cc b/compiler/dex/vreg_analysis.cc
index 8769736..4be0f59 100644
--- a/compiler/dex/vreg_analysis.cc
+++ b/compiler/dex/vreg_analysis.cc
@@ -415,6 +415,7 @@
     loc[i] = fresh_loc;
     loc[i].s_reg_low = i;
     loc[i].is_const = is_constant_v_->IsBitSet(i);
+    loc[i].wide = false;
   }
 
   /* Patch up the locations for the compiler temps */
diff --git a/compiler/utils/growable_array.h b/compiler/utils/growable_array.h
index a7d1f0e..e6c53da 100644
--- a/compiler/utils/growable_array.h
+++ b/compiler/utils/growable_array.h
@@ -50,9 +50,14 @@
           : idx_(0),
             g_list_(g_list) {}
 
+        explicit Iterator()
+          : idx_(0),
+            g_list_(nullptr) {}
+
         // NOTE: returns 0/NULL when no next.
         // TODO: redo to make usage consistent with other iterators.
         T Next() {
+          DCHECK(g_list_ != nullptr);
           if (idx_ >= g_list_->Size()) {
             return 0;
           } else {
@@ -64,6 +69,15 @@
           idx_ = 0;
         }
 
+        void Reset(GrowableArray* g_list) {
+          idx_ = 0;
+          g_list_ = g_list;
+        }
+
+        size_t GetIndex() const {
+          return idx_;
+        }
+
       private:
         size_t idx_;
         GrowableArray* const g_list_;