Dalvik: DMB Optimisation

Replaces use of 'dmb' and 'dmb st' with inner-shareable versions.
This should improve performance in certain cases without harming
correctness.

Change-Id: Id30f58b93b34bf0e232bb01dc3956a82f7a69c40
Dalvik: DMB Optimisations for TracingJIT

Makes DMB domain ISH or ISHST instead of the implicit System.
ISH (Inner Shareable) should be sufficient for all cores/clusters,
but is not sufficient for GPU or other memory-mapped peripherals

Change-Id: Id159228daba97bc3692d2eb1ee2786bae2ee34a7
Fix a couple of minor publicly-reported GC bugs.

An assertion was incorrectly assigning rather than testing, and
there was the usual buggy attempt to recover from failure rather
than just aborting in the HeapSource.cpp dvmHeapSourceStartup.
(The Copying.cpp dvmHeapSourceStartup by contrast will just
segfault if an allocation fails, but that's fine too.)

Bug: https://code.google.com/p/android/issues/detail?id=61562
Bug: https://code.google.com/p/android/issues/detail?id=61563
Change-Id: I237a6f923a07d61709f99ab67c9a18dbc7e6c839
Fix strict aliasing

Change-Id: Ic0d575888cb0d9b8d2305129da767f9288312f76

Conflicts:

	vm/Android.mk

re-fix strict aliasing
dalvik/libdex: Change to -O2 if we're building with -O3

This is a workaround for an apparent gcc bug.
https://bugs.launchpad.net/linaro-android/+bug/948255

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
dalvik/libdex: Don't reduce optimization level to -O2

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

Change-Id: Ie6d9978cf0bf0e49cfa296c09c4eba913f22c303
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
dalvik: Fix for broswer-crashing bug

This applies the fix proposed by Olivier Cozette in
https://code.google.com/p/android/issues/detail?id=37561
and fixes our bug:
https://bugs.launchpad.net/linaro-android/+bug/978060

Change-Id: I54336c83650c1628fd1bb689148bc1dd8843d7c6
Signed-off-by: Jon Medhurst <tixy@linaro.org>

Conflicts:
	vm/compiler/codegen/arm/CodegenDriver.cpp
dalvik: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Dalvik: Better compatibility with different compilers

This fixes building with clang, and possibly future versions of gcc:
- Don't error out on unused functions generated by gen-mterp.py
  even when we're using -Werror
- Eliminate some dead code (Word/kWordSize definition) clang warns about
- Add a return statement to a switch path causing a possible code path
  with uninitialized variables (if the compiler doesn't know what
  dvmAbort() is)
- Initialize a variable

Change-Id: I9a3c0a1ad4dce10445e2251e491f18511413ca50
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Readded Word/kWordSize definition.

Change-Id: I5768906cd5ee7c77a257f6cb2b80f0e743a0b695
Disable -Xjnigreflimit.

This was supposed to help find bugs, but in practice (unlike the
locale reference limit and the pinned array limit) doesn't. What it
does do is cause well-behaved code to fail if its allocation rate
is high. This has caused trouble for both audio and graphics code
running on eng builds.

Bug: 7903975
Change-Id: If475cb51c9cab13270a83a60d6d0aecfab758e88
vm: fix extraneous parentheses warnings

Summary:
This warning is treated as an error with clang and -Werror.
Fixes the following:
  equality comparison with extraneous parentheses

Test Plan: verify

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D598
Fix Class.getDeclaringClass bug

(cherry-picked from commit 10197124acd5d6ec4c082a4763932952ee3529ad)

Bug: https://code.google.com/p/android/issues/detail?id=61003
Change-Id: Ie97d12acd7a8897c336c183dac8837769e1b9c5a
Fix a minor bug in dvmCreateInterpThread

Change-Id: I452ee02290bc7e0be7fefcf5755c5cd9628142dc
Fix minor leaks caused by failed initialization in JNI_CreateJavaVM

Change-Id: I97e4b162fa729c97a1e71786b696f2befed56835
Fix a minor leak in dvmCreateInlineSubsTable

Change-Id: I1dce0e24c861903e8f5eccb23a7e2865ae8c9cec
Remove unused compiler templates for armv7-a*

Change-Id: I68e344c2f2689347d6eeb943030b7263a55cd0bd