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
Use ALOGE rather than SLOGE for mountEmulatedStorage failures.

Otherwise the actual failure isn't in logcat, and all you see there
is the rather confusing:

  E dalvikvm: cannot mountExternalStorage(): Success

Change-Id: I10c96748b5ff5b6c3877312e7bdb2641026b4489
Optimize opcodes to avoid bubble in pipeline.

Possible bubbles between fetch(ldr) and extract(and)
Excute subsequent instruction(s) inbetween the bubble by reordering instruction.

Change-Id: I76d89ed6bc4ca44673231375cc529fdbfd5a8030
Possible leak in dvmAllocRegion

In error case mmapped ptr 'base' is not munmapped.

Change-Id: I9e43841371fee6b7c092fe9a8922ae82e78805ed
Remove dead code.

Change-Id: I56c27c510c8fc0ba2d8e691c788b433dce250f7a
Remove possilbe leaks in dalvik.

Add missing free() calls.

Change-Id: Id602b84ba8f15fef1851f37e3d5aac214ac67de1