verifier: Bypass monitor-{enter,exit} depth checks

Per Google Bug 61916[1], the monitor-enter and monitor-exit checks in
dex2oat are excessively strict and will reject some valid APKs, such as
WhatsApp[2].  This change attempts to relax those requirements.

[1] https://code.google.com/p/android/issues/detail?id=61916
[2] http://forum.xda-developers.com/showthread.php?t=2525044

Amend from OmniROM: Add a proper ifdef variable that can be
toggled in Android.mk (-DWORKAROUND_BUG_61916)

Change-Id: I19ed1076b124b56ee158ede569fa26ac33910e1c
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Fix NewLocalRef, NewGlobalRef to handle cleared weak globals.

We were not checking for null after decoding the reference, this
meant that we incorrectly created null weak global references instead
of returning null.

Issue: 63929
Change-Id: I9159682e6edad8f415ef8144fc13b9aedd2cceb4
4-byte align 64-bit values in Get/Set Double/Long for GCC 4.8.

Bug: 10837416
Change-Id: Ibb562407d81c2085666ae8824e7570f22e56eaa7
Fix a portable build breakage

  http://android-build/builds/git_dalvik-dev-linux-mysid-userdebug_portable/848398/logs/build.log

 due to

  https://googleplex-android.googlesource.com/platform/art/+/3b4c18933c24b8a33f38573c2ebcdb9aa16efeb5

Change-Id: I89ef5f77dfc640efbe3378549e22bb699da3149f
Implement thumb expansion of immediates.

Change-Id: Ie50c17f82cbf97a16b58350b378914030cc0499f
Allow host valgrind gtests to be run individually.

Change-Id: I80976600034046cb42e8565bfd38f75811d7a08e
Fix clean-oat

Change-Id: I96ba59794e50f630aaa06d226b1048000b1b6188
Put arguments first in debugger variable table and fix name bug.

Bug: 11569468

Change-Id: I63d45427ded0937c3ab2456fe5cec22da5558e53
Avoid unnecessary copy of dex_gc_map.

Change-Id: I8a7209d92aeee853f6a4e9e9bb0e094c5acd5e05
Propagate 'this_object' for method unwind event.

Propagates the 'this_object' to InstrumentationListener::MethodUnwind callback.

Change-Id: I12561f1a611b8399b94e669f9b8a6eaaf1a58631