ART: Add HADDPS/HADDPD/SHUFPS/SHUFPD instruction generation

The patch adds the HADDPS, HADDPD, SHUFPS, and SHUFPD instruction generation
  for X86.

Change-Id: Ida105d3e57be231a5331564c1a9bc298cf176ce6
Signed-off-by: Olivier Come <olivier.come@intel.com>
x86_64: Fix InstanceofFinal

Comparison should be made using GetReg()

Change-Id: Ic5bebf680395d9b93710511db9760d0e867b38cb
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Merge "x86_64: Fix InstanceofFinal"
Fix missing dependency in new X86 instruction

AX is written by this opcode.   Note the dependency.

Change-Id: I25209e1fb4ceb0387269436c8b00730b1caa03bc
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Merge "Fix missing dependency in new X86 instruction"
Aarch64: fix references handling in Load*Indexed.

Fix the way we handle references in Load/StoreBaseIndexed and friends.
We assume references are 64-bit RegStorage entities, with the
difference that they are load as 32-bit values.

Change-Id: I7fe987ef9e97e9a5042b85378b33d1e85710d8b5
Merge "Aarch64: fix references handling in Load*Indexed."
Aarch64: fix bug and enable register promotion.

Iteration over arguments in invoke implementation was not correct
for wide arguments.

Change-Id: I46c7edcbfc9e32ded0e9a535fab3d333905bcf41
Merge "Aarch64: fix bug and enable register promotion."
Only allow whitelisted exceptions during dex2oat resolving.

Previously we would clear any exceptions even though we only want
to clear NoClassDefFound and IncompatibleClassChangeError exceptions.
This meant that out of memory exceptions would incorrectly get
cleared resulting in excessively long dex2oat times when you ran out
of memory.

Bug: 15936401
Change-Id: Iba3911f2c689b8c8d7d41e8c36546f027c08e9d7
Merge "Only allow whitelisted exceptions during dex2oat resolving."
Merge "ART: Add HADDPS/HADDPD/SHUFPS/SHUFPD instruction generation"
Add patchoat tool to Art.

Add a new executable called patchoat to art. This tool takes already
compiled images and oat files and changes their base address, acting as
a cheap form of relocation.

Add a --include-patch-information flag to dex2oat and code to add
required patch information to oat files created with the quick compiler.

Bug: 15358152

Change-Id: Ie0c580db45bb14ec180deb84930def6c3628d97d
Merge "Add patchoat tool to Art."
Merge "Fix dex file dependencies for oat tests."
ART: Intrinsic implementation for java.lang.System.arraycopy.

Implements intrinsic for  java.lang.System.arraycopy(char[], int, char[], int, int) -
this method is internal to android class libraries and used in such classes as StringBuffer and
StringBuilder. It is not possible to call it from application code. The intrinsic for
this method is implemented as inline method (assembly code is generated manually).

The intrinsic is x86 32 bit only.

Change-Id: Id1b1e0a20d5f6d5f5ebfe1fdc2447b6d8a515432
Signed-off-by: Daniil Sokolov <daniil.y.sokolov@intel.com>
Merge "ART: Intrinsic implementation for java.lang.System.arraycopy."
Fix dex file dependencies for oat tests.

The initial prerequisit used as an argument to "cp" wasn't set causing dex2oat
to attempt to compile dex2oat. Make the setting of host and target dex
dependencies more explicit in build-art-test-dex and update the test rules
appropriately.

Change-Id: I4f591f817537043bcb0328c7623fe7e2f0830b60
Enable compiler testing for ARM64 and x86-64.

Change-Id: Ica1e43b3cf07de8d4ae2b69f7a8b35205fe32a83
Merge "Enable compiler testing for ARM64 and x86-64."