OSDN Git Service

Fix Object::Clone()'s pre-fence barrier.
authorHiroshi Yamauchi <yamauchi@google.com>
Thu, 3 Apr 2014 23:28:10 +0000 (16:28 -0700)
committerHiroshi Yamauchi <yamauchi@google.com>
Thu, 3 Apr 2014 23:35:50 +0000 (16:35 -0700)
commit4cd662e54440f76fc920cb2c67acab3bba8b33dd
treee2becdc06eded96215a1c9a501004ac3889e9107
parent5cff3083c00dfbae7b8c5c34b0bedbc514c91df9
Fix Object::Clone()'s pre-fence barrier.

Pass in a pre-fence barrier object that sets in the array length
instead of setting it after returning from AllocObject().

Fix another potential bug due to the wrong default pre-fence barrier
parameter value. Since this appears error-prone, removed the default
parameter value and make it an explicit parameter.

Fix another potential moving GC bug due to a lack of a SirtRef.

Bug: 13097759
Change-Id: I466aa0e50f9e1a5dbf20be5a195edee619c7514e
runtime/class_linker.cc
runtime/gc/allocator/rosalloc.cc
runtime/gc/heap-inl.h
runtime/gc/heap.h
runtime/mirror/class-inl.h
runtime/mirror/object.cc
runtime/sirt_ref-inl.h
runtime/sirt_ref.h