dalvik: Update ARMv6 code to compile and bring in line with ARMv5

Change-Id: I2764002422ade74db602cc2292108ed67241f0be
Optimize those StrictMath routines that are identical to Math routines.

We can just use the existing Math intinsics.

Bug: 7146208
Change-Id: I9e78d33cf65a5dcc5a7c0133e67bd9c3c1e43f23
Optimize dvmHash Loops.

pHashTable->tableSize is working as volatile variable & is evaluated on every iteration.
Help compiler to define tableSize as local(Register) variable.

Change-Id: Iecdea3ecb810319d461ff3924ef21fd6c2d69d1e
dalvik/libdex: Don't reduce optimization level to -O2

Don't reduce optimization level to -O2: It's sufficient to disable
function inlining

Rebased from: http://review.cyanogenmod.org/#/c/26538
Change-Id: Ie6d9978cf0bf0e49cfa296c09c4eba913f22c303
Author: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Tiny optimization for complier templates for arm.

1. Remove possible bubble in TEMPLATE_STRING_INDEXOF.S
2. Remove 1 instruction and reorder the opcodes
   TEMPLATE_MUL_LONG.S
3. Reorder ldr r2 instruction in TEMPLATE_RETURN.S

Change-Id: I571c1278aa72cb1e6dbc6efe433932d5e9591b80
JIT: Performance fix for const doubles

Some recent Arm processors take a performance hit when
creating a floating point double by loading it as a pair of singles.
Legacy code to support soft floating point doubles as a pair of core
registers loaded double immediates in this way.

With the CL, we handle double immediates as a single unit.

(cherry-pick of c8129911e598ad0ca8d7b31012444ab6ce8bce45.)

Change-Id: Ic1512e34bfd233a6f5ffd58ce843965adbbad875
Revert "dalvik: Update ARMv6 code to compile and bring in line with ARMv5"

This reverts commit bece5de2c4f739787e045f01afbf059a76e7d209.