Add some more DISALLOW_COPY_AND_ASSIGN

May help prevent bugs maybe.

Change-Id: Ie73d469dfcd078492ecb3aa28682b42707221202
diff --git a/runtime/gc/accounting/bitmap.h b/runtime/gc/accounting/bitmap.h
index b294d49..eb00472 100644
--- a/runtime/gc/accounting/bitmap.h
+++ b/runtime/gc/accounting/bitmap.h
@@ -121,7 +121,7 @@
   const size_t bitmap_size_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(Bitmap);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(Bitmap);
 };
 
 // One bit per kAlignment in range (start, end]
@@ -184,6 +184,8 @@
 
   uintptr_t const cover_begin_;
   uintptr_t const cover_end_;
+
+  DISALLOW_IMPLICIT_CONSTRUCTORS(MemoryRangeBitmap);
 };
 
 }  // namespace accounting
diff --git a/runtime/gc/accounting/card_table.h b/runtime/gc/accounting/card_table.h
index 75ef58a..34e6aa3 100644
--- a/runtime/gc/accounting/card_table.h
+++ b/runtime/gc/accounting/card_table.h
@@ -146,6 +146,8 @@
   // Card table doesn't begin at the beginning of the mem_map_, instead it is displaced by offset
   // to allow the byte value of biased_begin_ to equal GC_CARD_DIRTY
   const size_t offset_;
+
+  DISALLOW_IMPLICIT_CONSTRUCTORS(CardTable);
 };
 
 }  // namespace accounting
diff --git a/runtime/gc/collector/concurrent_copying.h b/runtime/gc/collector/concurrent_copying.h
index 93de035..60ea6b6 100644
--- a/runtime/gc/collector/concurrent_copying.h
+++ b/runtime/gc/collector/concurrent_copying.h
@@ -279,7 +279,7 @@
   friend class FlipCallback;
   friend class ConcurrentCopyingComputeUnevacFromSpaceLiveRatioVisitor;
 
-  DISALLOW_COPY_AND_ASSIGN(ConcurrentCopying);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(ConcurrentCopying);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/garbage_collector.h b/runtime/gc/collector/garbage_collector.h
index c5a8d5d..9b76d1a 100644
--- a/runtime/gc/collector/garbage_collector.h
+++ b/runtime/gc/collector/garbage_collector.h
@@ -190,6 +190,9 @@
   int64_t total_freed_bytes_;
   CumulativeLogger cumulative_timings_;
   mutable Mutex pause_histogram_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER;
+
+ private:
+  DISALLOW_IMPLICIT_CONSTRUCTORS(GarbageCollector);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/mark_compact.h b/runtime/gc/collector/mark_compact.h
index 4337644..f59a2cd 100644
--- a/runtime/gc/collector/mark_compact.h
+++ b/runtime/gc/collector/mark_compact.h
@@ -251,7 +251,7 @@
   friend class UpdateReferenceVisitor;
   friend class UpdateRootVisitor;
 
-  DISALLOW_COPY_AND_ASSIGN(MarkCompact);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(MarkCompact);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/mark_sweep.h b/runtime/gc/collector/mark_sweep.h
index fad3403..7e1af7b 100644
--- a/runtime/gc/collector/mark_sweep.h
+++ b/runtime/gc/collector/mark_sweep.h
@@ -336,7 +336,7 @@
   friend class VerifyRootMarkedVisitor;
   friend class VerifyRootVisitor;
 
-  DISALLOW_COPY_AND_ASSIGN(MarkSweep);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(MarkSweep);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/partial_mark_sweep.h b/runtime/gc/collector/partial_mark_sweep.h
index ac0d068..1a211cd 100644
--- a/runtime/gc/collector/partial_mark_sweep.h
+++ b/runtime/gc/collector/partial_mark_sweep.h
@@ -40,7 +40,7 @@
   virtual void BindBitmaps() OVERRIDE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(PartialMarkSweep);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(PartialMarkSweep);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/semi_space.h b/runtime/gc/collector/semi_space.h
index 61fbead..3c25f53 100644
--- a/runtime/gc/collector/semi_space.h
+++ b/runtime/gc/collector/semi_space.h
@@ -278,7 +278,7 @@
 
  private:
   friend class BitmapSetSlowPathVisitor;
-  DISALLOW_COPY_AND_ASSIGN(SemiSpace);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(SemiSpace);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/collector/sticky_mark_sweep.h b/runtime/gc/collector/sticky_mark_sweep.h
index 4f9dabf..b9ef137 100644
--- a/runtime/gc/collector/sticky_mark_sweep.h
+++ b/runtime/gc/collector/sticky_mark_sweep.h
@@ -47,7 +47,7 @@
       EXCLUSIVE_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(StickyMarkSweep);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(StickyMarkSweep);
 };
 
 }  // namespace collector
diff --git a/runtime/gc/heap-inl.h b/runtime/gc/heap-inl.h
index ac79ac2..fbf36e8 100644
--- a/runtime/gc/heap-inl.h
+++ b/runtime/gc/heap-inl.h
@@ -371,11 +371,8 @@
 }
 
 inline Heap::AllocationTimer::AllocationTimer(Heap* heap, mirror::Object** allocated_obj_ptr)
-    : heap_(heap), allocated_obj_ptr_(allocated_obj_ptr) {
-  if (kMeasureAllocationTime) {
-    allocation_start_time_ = NanoTime() / kTimeAdjust;
-  }
-}
+    : heap_(heap), allocated_obj_ptr_(allocated_obj_ptr),
+      allocation_start_time_(kMeasureAllocationTime ? NanoTime() / kTimeAdjust : 0u) { }
 
 inline Heap::AllocationTimer::~AllocationTimer() {
   if (kMeasureAllocationTime) {
diff --git a/runtime/gc/heap.h b/runtime/gc/heap.h
index a4353f6..90249f9 100644
--- a/runtime/gc/heap.h
+++ b/runtime/gc/heap.h
@@ -1201,41 +1201,23 @@
   friend class VerifyReferenceVisitor;
   friend class VerifyObjectVisitor;
   friend class ScopedHeapFill;
-  friend class ScopedHeapLock;
   friend class space::SpaceTest;
 
   class AllocationTimer {
-   private:
-    Heap* heap_;
-    mirror::Object** allocated_obj_ptr_;
-    uint64_t allocation_start_time_;
    public:
-    AllocationTimer(Heap* heap, mirror::Object** allocated_obj_ptr);
-    ~AllocationTimer();
+    ALWAYS_INLINE AllocationTimer(Heap* heap, mirror::Object** allocated_obj_ptr);
+    ALWAYS_INLINE ~AllocationTimer();
+   private:
+    Heap* const heap_;
+    mirror::Object** allocated_obj_ptr_;
+    const uint64_t allocation_start_time_;
+
+    DISALLOW_IMPLICIT_CONSTRUCTORS(AllocationTimer);
   };
 
   DISALLOW_IMPLICIT_CONSTRUCTORS(Heap);
 };
 
-// ScopedHeapFill changes the bytes allocated counter to be equal to the growth limit. This
-// causes the next allocation to perform a GC and possibly an OOM. It can be used to ensure that a
-// GC happens in specific methods such as ThrowIllegalMonitorStateExceptionF in Monitor::Wait.
-class ScopedHeapFill {
- public:
-  explicit ScopedHeapFill(Heap* heap)
-      : heap_(heap),
-        delta_(heap_->GetMaxMemory() - heap_->GetBytesAllocated()) {
-    heap_->num_bytes_allocated_.FetchAndAddSequentiallyConsistent(delta_);
-  }
-  ~ScopedHeapFill() {
-    heap_->num_bytes_allocated_.FetchAndSubSequentiallyConsistent(delta_);
-  }
-
- private:
-  Heap* const heap_;
-  const int64_t delta_;
-};
-
 }  // namespace gc
 }  // namespace art
 
diff --git a/runtime/gc/reference_processor.h b/runtime/gc/reference_processor.h
index c67fd98..a44319b 100644
--- a/runtime/gc/reference_processor.h
+++ b/runtime/gc/reference_processor.h
@@ -81,6 +81,9 @@
     IsHeapReferenceMarkedCallback* is_marked_callback_;
     MarkObjectCallback* mark_callback_;
     void* arg_;
+
+   private:
+    DISALLOW_IMPLICIT_CONSTRUCTORS(ProcessReferencesArgs);
   };
   bool SlowPathEnabled() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
   // Called by ProcessReferences.
@@ -105,6 +108,8 @@
   ReferenceQueue finalizer_reference_queue_;
   ReferenceQueue phantom_reference_queue_;
   ReferenceQueue cleared_references_;
+
+  DISALLOW_COPY_AND_ASSIGN(ReferenceProcessor);
 };
 
 }  // namespace gc
diff --git a/runtime/gc/reference_queue.h b/runtime/gc/reference_queue.h
index f7d89d0..c45be85 100644
--- a/runtime/gc/reference_queue.h
+++ b/runtime/gc/reference_queue.h
@@ -106,7 +106,7 @@
   // GC types.
   mirror::Reference* list_;
 
-  DISALLOW_COPY_AND_ASSIGN(ReferenceQueue);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(ReferenceQueue);
 };
 
 }  // namespace gc
diff --git a/runtime/gc/space/space.h b/runtime/gc/space/space.h
index f2378d9..871ebac 100644
--- a/runtime/gc/space/space.h
+++ b/runtime/gc/space/space.h
@@ -187,7 +187,7 @@
 
  private:
   friend class art::gc::Heap;
-  DISALLOW_COPY_AND_ASSIGN(Space);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(Space);
 };
 std::ostream& operator<<(std::ostream& os, const Space& space);
 
@@ -337,7 +337,7 @@
   uint8_t* limit_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(ContinuousSpace);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(ContinuousSpace);
 };
 
 // A space where objects may be allocated higgledy-piggledy throughout virtual memory. Currently
@@ -366,7 +366,7 @@
   std::unique_ptr<accounting::LargeObjectBitmap> mark_bitmap_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(DiscontinuousSpace);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(DiscontinuousSpace);
 };
 
 class MemMapSpace : public ContinuousSpace {
@@ -400,7 +400,7 @@
   std::unique_ptr<MemMap> mem_map_;
 
  private:
-  DISALLOW_COPY_AND_ASSIGN(MemMapSpace);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(MemMapSpace);
 };
 
 // Used by the heap compaction interface to enable copying from one type of alloc space to another.
@@ -453,7 +453,7 @@
 
  private:
   friend class gc::Heap;
-  DISALLOW_COPY_AND_ASSIGN(ContinuousMemMapAllocSpace);
+  DISALLOW_IMPLICIT_CONSTRUCTORS(ContinuousMemMapAllocSpace);
 };
 
 }  // namespace space
diff --git a/runtime/gc/task_processor.h b/runtime/gc/task_processor.h
index 67e3a54..5f48619 100644
--- a/runtime/gc/task_processor.h
+++ b/runtime/gc/task_processor.h
@@ -46,6 +46,7 @@
   uint64_t target_run_time_;
 
   friend class TaskProcessor;
+  DISALLOW_IMPLICIT_CONSTRUCTORS(HeapTask);
 };
 
 // Used to process GC tasks (heap trim, heap transitions, concurrent GC).
@@ -78,6 +79,8 @@
   std::unique_ptr<ConditionVariable> cond_ GUARDED_BY(lock_);
   std::multiset<HeapTask*, CompareByTargetRunTime> tasks_ GUARDED_BY(lock_);
   Thread* running_thread_ GUARDED_BY(lock_);
+
+  DISALLOW_COPY_AND_ASSIGN(TaskProcessor);
 };
 
 }  // namespace gc