Elimination of redundant instructuion

Elimination of storing offset in phys register (while it's already
stored in ECX by default) from two address shift operation.

Change-Id: Iaf9abde65f505ab855f73f9da7bd13fa46c64fbb
Signed-off-by: Anton Shamin <anton.shamin@intel.com>
ART Runtime: Add movw $xx,yy fault handling

Handle a movw $xx,yy instruction in the segmentation violation fault
handler.  This can be detected by a 0x66 prefix byte for the move
immediate instruction, using this to set the size of the immediate
value.

This test case shows up in 122-npe using my private backend changes.

Change-Id: If224a9dd0084f50c91da418808cbe2d491308600
Category: Device Enablement
Domain: AOSP.ART-Quick
Origin: Internal
Upstream-Candidate: yes
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Fix some more pedantic compiler warnings.

Argument name shadows field name.
Lack of case statements for kMips64.

Change-Id: Ib3ca16f79a4d44ae80ef32f22cc79cbe9527f4f1
Fix CallStaticVoidMethodA for testEverything

The android.jni.cts.JniCTest#testEverything and
android.jni.cts.JniCppTest#testEverything CTS test were failing
because of a SIGABRT caused by a call to ScopedCheck::AbortF
from ScopedCheck::CheckInstance when CheckJNI::CallStaticVoidMethodA
was invoked. This was due to the CheckJNI::CallMethodA method being
called with the jobject obj parameter being passed jclass c, and the
jclass c parameter being passed nullptr. This problem was rectified
by swapping these two parameters, and the CTS tests then passed.

Change-Id: I025cfd85ab55eb3eadb287b56846d9d42f5b7e5e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Merge "Fix some more pedantic compiler warnings."
Merge "Fix CallStaticVoidMethodA for testEverything"
Merge "Elimination of redundant instructuion"
Merge "ART Runtime: Add movw $xx,yy fault handling"
Fix verifier crash in GetQuickFieldAccess().

Bug: 17671806
Change-Id: Ifb603f6f55a94826d656a4c73a7e328d74f6dac9
Merge "Fix verifier crash in GetQuickFieldAccess()."
Change heap base address

Moved to 300 MB to allow room for other people who wish to use the
low 1 GB.

Bug: 17671634

(cherry picked from commit 23fb122b57c52ab1db98708a4e15765b46b26405)

Change-Id: Icb2784fc92cb5c46edb6e3a9de2d8383e012a07c
Merge "Change heap base address"
Only include test targets if test-art* or build-art* is being built.

Change-Id: I229ba2a77d993b2c14acf9a76e102ef76b0aeba6
Merge "Only include test targets if test-art* or build-art* is being built."
Fix make test exclusion bugs.

Change-Id: I439c3670a01096355c50774c628d6b0f6cb6c397
Merge "Fix make test exclusion bugs."
Fix broken runtime SetStatsEnabled logic

Previously, Runtime::SetStatsEnabled wouldn't take stats_enabled_
into account when deciding whether or not to increment / decrement
teh stats enabled counter. This resulted in counter underflows and
other errors which caused some CTS tests to fail.

Also added some locking to prevent race conditions.

Bug: 17360878

(cherry picked from commit a98ffd745bbecb2e84a492194950c0b94966546b)

Change-Id: I21d241a58d35bd6a607aa2305c6da81720bd0886
Merge "Fix broken runtime SetStatsEnabled logic"
Optimize get/set reflection performance

Speedups mostly from reducing how often access checks are needed,
and adding more inlining, and adding templates.

Field_getInt from ~850ns -> 350ns.
Field_setInt from ~900ns -> 370ns.

Bug: 14063288

(cherry picked from commit ffc788cb7b5b9f53734d7bb8af2d5e45d885546b)

Change-Id: I2441581ff3478c6ae43b6aa49939ff3f07555ec8
Merge "Optimize get/set reflection performance"