Merge "Add missing field init in constructors"
diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h
index 19dd944..d6b25ee 100644
--- a/compiler/optimizing/builder.h
+++ b/compiler/optimizing/builder.h
@@ -76,7 +76,8 @@
         code_start_(nullptr),
         latest_result_(nullptr),
         can_use_baseline_for_string_init_(true),
-        compilation_stats_(nullptr) {}
+        compilation_stats_(nullptr),
+        interpreter_metadata_(nullptr) {}
 
   bool BuildGraph(const DexFile::CodeItem& code);
 
diff --git a/runtime/gc/collector/semi_space.cc b/runtime/gc/collector/semi_space.cc
index a355d40..ed63ed0 100644
--- a/runtime/gc/collector/semi_space.cc
+++ b/runtime/gc/collector/semi_space.cc
@@ -89,14 +89,24 @@
 SemiSpace::SemiSpace(Heap* heap, bool generational, const std::string& name_prefix)
     : GarbageCollector(heap,
                        name_prefix + (name_prefix.empty() ? "" : " ") + "marksweep + semispace"),
+      mark_stack_(nullptr),
+      is_large_object_space_immune_(false),
       to_space_(nullptr),
+      to_space_live_bitmap_(nullptr),
       from_space_(nullptr),
+      mark_bitmap_(nullptr),
+      self_(nullptr),
       generational_(generational),
       last_gc_to_space_end_(nullptr),
       bytes_promoted_(0),
       bytes_promoted_since_last_whole_heap_collection_(0),
       large_object_bytes_allocated_at_last_whole_heap_collection_(0),
       collect_from_space_only_(generational),
+      promo_dest_space_(nullptr),
+      fallback_space_(nullptr),
+      bytes_moved_(0U),
+      objects_moved_(0U),
+      saved_bytes_(0U),
       collector_name_(name_),
       swap_semi_spaces_(true) {
 }
diff --git a/runtime/hprof/hprof.cc b/runtime/hprof/hprof.cc
index a9a236f..ee6b020 100644
--- a/runtime/hprof/hprof.cc
+++ b/runtime/hprof/hprof.cc
@@ -421,6 +421,7 @@
         fd_(fd),
         direct_to_ddms_(direct_to_ddms),
         start_ns_(NanoTime()),
+        output_(nullptr),
         current_heap_(HPROF_HEAP_DEFAULT),
         objects_in_segment_(0),
         next_string_id_(0x400000),
diff --git a/runtime/image.h b/runtime/image.h
index 1a0d8fd..e2d59f9 100644
--- a/runtime/image.h
+++ b/runtime/image.h
@@ -78,7 +78,10 @@
 // header of image files written by ImageWriter, read and validated by Space.
 class PACKED(4) ImageHeader {
  public:
-  ImageHeader() : compile_pic_(0) {}
+  ImageHeader()
+      : image_begin_(0U), image_size_(0U), oat_checksum_(0U), oat_file_begin_(0U),
+        oat_data_begin_(0U), oat_data_end_(0U), oat_file_end_(0U), patch_delta_(0),
+        image_roots_(0U), pointer_size_(0U), compile_pic_(0) {}
 
   ImageHeader(uint32_t image_begin,
               uint32_t image_size_,
diff --git a/runtime/jdwp/jdwp_socket.cc b/runtime/jdwp/jdwp_socket.cc
index cbdde24..4fb6df1 100644
--- a/runtime/jdwp/jdwp_socket.cc
+++ b/runtime/jdwp/jdwp_socket.cc
@@ -46,9 +46,11 @@
   uint16_t listenPort;
   int     listenSock;         /* listen for connection from debugger */
 
-  explicit JdwpSocketState(JdwpState* state) : JdwpNetStateBase(state) {
-    listenPort  = 0;
-    listenSock  = -1;
+  explicit JdwpSocketState(JdwpState* state)
+      : JdwpNetStateBase(state),
+        listenPort(0U),
+        listenSock(-1),
+        remote_port_(0U) {
   }
 
   virtual bool Accept();
diff --git a/runtime/profiler.cc b/runtime/profiler.cc
index 33cfe08..7e8c551 100644
--- a/runtime/profiler.cc
+++ b/runtime/profiler.cc
@@ -467,9 +467,14 @@
 // Profile Table.
 // This holds a mapping of ArtMethod* to a count of how many times a sample
 // hit it at the top of the stack.
-ProfileSampleResults::ProfileSampleResults(Mutex& lock) : lock_(lock), num_samples_(0),
-    num_null_methods_(0),
-    num_boot_methods_(0) {
+ProfileSampleResults::ProfileSampleResults(Mutex& lock)
+    : lock_(lock),
+      num_samples_(0U),
+      num_null_methods_(0U),
+      num_boot_methods_(0U),
+      previous_num_samples_(0U),
+      previous_num_null_methods_(0U),
+      previous_num_boot_methods_(0U) {
   for (int i = 0; i < kHashSize; i++) {
     table[i] = nullptr;
   }
diff --git a/runtime/profiler.h b/runtime/profiler.h
index 30babe3..bd29f71 100644
--- a/runtime/profiler.h
+++ b/runtime/profiler.h
@@ -243,7 +243,7 @@
  public:
   class ProfileData {
    public:
-    ProfileData() : count_(0), method_size_(0), used_percent_(0) {}
+    ProfileData() : count_(0), method_size_(0), used_percent_(0), top_k_used_percentage_(0) {}
     ProfileData(const std::string& method_name, uint32_t count, uint32_t method_size,
       double used_percent, double top_k_used_percentage) :
       method_name_(method_name), count_(count), method_size_(method_size),
diff --git a/runtime/thread.h b/runtime/thread.h
index 959af95..9bb57bf 100644
--- a/runtime/thread.h
+++ b/runtime/thread.h
@@ -1202,7 +1202,8 @@
       last_no_thread_suspension_cause(nullptr), thread_local_start(nullptr),
       thread_local_pos(nullptr), thread_local_end(nullptr), thread_local_objects(0),
       thread_local_alloc_stack_top(nullptr), thread_local_alloc_stack_end(nullptr),
-      nested_signal_state(nullptr), flip_function(nullptr), method_verifier(nullptr) {
+      nested_signal_state(nullptr), flip_function(nullptr), method_verifier(nullptr),
+      thread_local_mark_stack(nullptr) {
       std::fill(held_mutexes, held_mutexes + kLockLevelCount, nullptr);
     }