More code for the read barrier support.

Make it possible to disable the RB in Object::SizeOf() (and the
functions it calls transitively) which the collector will need to call
to get the size of an object when copying.

Add Object::AtomicSetReadBarrierPointer() for atomic write of a RB
pointer.

Bug: 12687968
Change-Id: Ibedd252860ac7ccd17e4e7d71b377a8892b48ff0
Revert "ART: Extracts an utility function of the duplicated code"

This reverts commit 973cc95da6fb617bab133bd7a693c1cb7eafd393.

Change-Id: I3883c74ba06116e89d89d9cf085f20cff5d15f77
Merge "Revert "ART: Extracts an utility function of the duplicated code""
Merge "More code for the read barrier support."
Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion

Simplified code in ScopedThreadStateChange and fixed an incorrect
name in Get/SetPrimitiveArrayRegion.

Change-Id: Id71affec1d64911449d792911cd52104dd179840
Merge "Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion"
Make unresolved exception types cause soft verification errors.

Before, the verifier would allow the first exception it finds
for a catch block to be unresolved, but this causes problems if
it merges other exceptions later. The verifier should soft fail
for any unresolved exception type it finds.

Bug: 14256107
Change-Id: I22563ebfe8c9680cc676b73516d5b48bc9c4ecf3
Merge "Make unresolved exception types cause soft verification errors."
Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.

Prevents naming errors and reduces code maintenance requirements.

Change-Id: I14aba05f0d5dab8009f472b3af0b698551ac2a7e
Merge "Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT."
Support field watchpoint in interpreter

We report field read/write events to instrumentation from the interpreter. This
allows it to send JDWP field access and field modification events to debugger.
This completes CL https://android-review.googlesource.com/90390.

We also fix the JDWP FieldOnly modifier by introducing ModBasket.fieldTypeID.
We incorrectly used ModBasket.classId which is actually dedicated to ClassOnly
modifier based on thread's location's class id.

Finally, we now enable canWatchFieldModification and canWatchFieldAccess JDWP
capabilities so a debugger can request these events to be reported.

Bug: 8267708
Change-Id: I987852ad47abb27b2f7e78544a8189c7a4e2f462
Merge "Support field watchpoint in interpreter"
Resolve method's argument reference types

Using ResolveClassAndCheckAccess allows to resolve reference types and check
we have access to these types too. This also prevents from getting unresolved
reference types, which has been observed during deoptimization.

Bug: 13464407
Change-Id: I4c02fdff191c195f34502a4d4a20357419982eb1
Merge "Resolve method's argument reference types"
auto-merger: merge in from aosp/master