GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: I0154d1523c3cfdb1214ed0315193cbb24704351f
frameworks/base: vectorize Bitmap operations

Enable gcc vectorizing optimizations for Bitmap operations within
libandroid_runtime.so.  Adds -ftree-vectorize -mvectorize-with-neon-quad
-fprefetch-loop-arrays to functions and compiles Bitmap.cpp in ARM mode
(necessary to enable vectorizing optimizations) for appropriate targets.

Change-Id: I12defef6f47adf41af849df6e750097f5906d92d

Conflicts:

	core/jni/Android.mk

Change-Id: I7e19ffaf816d3cefe0d523dc4e258cfb27b90992
Vectorize bitmap operations on A15 too

 * Commit a2e20761b5ad646ce3f08ed24995799dd81acee0 enables GCC
   vectorization for bitmap operations on Krait. Enable it on A15 also.

Change-Id: I1f733f5311376deb78782931ea2b83a8d12c2171
frameworks/base: Fix aliasing violations

Fix violations of strict aliasing rules

Change-Id: Ia83db6a0be18f52e8f274c581c3b42f031b39247
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix various aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix compile errors

Fix ISO C++11 incompatibility in TextLayoutCache and
aliasing violation in FontRenderer

Change-Id: I19a9560737005e72f706c12c0ccfdcd0c7765b06
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:

	libs/hwui/FontRenderer.cpp
	libs/hwui/ShapeCache.h
	libs/hwui/TextDropShadowCache.h
	voip/jni/rtp/AudioGroup.cpp
Fixes for clang:
PackageInfo is a class, not a struct.
String16 is contained in the android namespace. Do not namespace prefix it
within the android namespace.
Explicitly specify which std classes are necessary to prevent ambiguous
type errors. (map, set)

Change-Id: I0d01477a976e770821ebae8847f8d11b132a15d6
Fix one and hide the other warnings from core/jni

Most of the warnings are unused parameter from skia functions.

Change-Id: I9df57718d117c26b96163f751ccb056ca86ac072

Conflicts:
	core/jni/Android.mk
Fix strict-aliasing violation [1/3]

Had to change small parts in external/skia and external/chromium_org as well.
Revert "Fix strict-aliasing violation [1/3]"

This reverts commit 83ff8fb469a37fded49ef3c4b0dce89042d82f48.
build core/jni with fstrict-aliasing

PS2: Make our own SkRect so skia doesn't need to know what an android::Rect is

Credit to David96 for the inspiration for the fix

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I3233728d8a0a44d085f20729b3c24f197d75741e

Conflicts:
	core/jni/Android.mk
Fix a variety of small publicly-reported bugs.

Possible NULL dereference in cmds/bootanimation/BootAnimation.cpp.
https://code.google.com/p/android/issues/detail?id=61556

Missing fclose in core/jni/android_os_Debug.cpp.
https://code.google.com/p/android/issues/detail?id=61546

Bad loop guards in core/jni/android_util_Process.cpp.
https://code.google.com/p/android/issues/detail?id=61557

Assignment to wrong variable in libs/androidfw/AssetManager.cpp.
https://code.google.com/p/android/issues/detail?id=61560

Missing delete[]s in libs/androidfw/ObbFile.cpp.
https://code.google.com/p/android/issues/detail?id=61549

Leaks on error in tools/aapt/Images.cpp.
https://code.google.com/p/android/issues/detail?id=61552

Two missing fclose calls in tools/aapt/Resource.cpp.
https://code.google.com/p/android/issues/detail?id=61553

Missing fclose in tools/aidl/aidl.cpp.
https://code.google.com/p/android/issues/detail?id=61554

Change-Id: I5820f3824e72d07a9acb776cf0af3e7443f5694a