We no longer need the native calls to ICU since we have ICU4J.
Fixes: 67786879
Test: bit FrameworksCoreTests:android.text.
Change-Id: Ib2ec93017000b4f0343756814ca388bd31457849
Corresponds to the -XX:ForegroundHeapGrowthMultiplier ART option.
Bug: 67416130
Test: make, flash, setprop
Change-Id: Ia9c70c62d8faa3b9aeb7b50dba237095abd53e80
Both native and java bindings.
TODOs:
- Finish WorkSources.
- Clean up the package names for the protos.
- Put the protos in a more suitable location.
Test: stats-log-api-gen-test
Change-Id: Idf4022225e2be05106dbcf7de8e97a3337fc63e2
The property is passed to runtime init as
-XX:MadviseRandomAccess.
Bug: 67772594
Test: make and getprop
Change-Id: I7cbab5d028067810276bc58c312806ea3785f93f
The libcutils interface cannot read properties with value length > 92
characters, whereas the libbase one can. ro.build.fingerprint may be
larger than this size in the future, so we move to libbase to prepare.
Bug: 23102347
Bug: 34954705
Test: build
Change-Id: Ic91aa63c7db1a7a01b9a1ee321b7854a9bcf6d12
Even if the same data file is used, different hyphenation is applied
based on the locale. Now Hyphenator keeps locale and use it for
hyphenation.
Bug: 65024629
Test: bit CtsTextTestCases:android.text.cts.StaticLayoutTest
Test: bit CtsTextTestCases:android.text.cts.DynamicLayoutTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Change-Id: I7e2ece979181d12ac1adbede14995ec9b7b87d21
Allows grouping of classes with dirty static fields to be grouped
together in the image to have fewer dirty pages.
Bug: 62554875
Test: mm test-art-host
(cherry picked from commit 37641ae54a)
Change-Id: Ibc30b13edb9554f79df86e98253ae318a5ece342
Allows grouping of classes with dirty static fields to be grouped
together in the image to have fewer dirty pages.
(cherry-picked from commit 37641ae54a)
Bug: 62554875
Test: mm test-art-host
Merged-In: I6a36120235ee4f47bc1cb1ddc4413cfc561cb9a7
Change-Id: I6a36120235ee4f47bc1cb1ddc4413cfc561cb9a7
Allows grouping of classes with dirty static fields to be grouped
together in the image to have fewer dirty pages.
Bug: 62554875
Test: mm test-art-host
Change-Id: I6a36120235ee4f47bc1cb1ddc4413cfc561cb9a7
libnativehelper exports headers under nativehelper. These were
available before incorrectly as global headers in order to give
access to jni.h.
Test: modules using frameworks/base find headers
Bug: 63762847
Change-Id: I0f9f231acdebe460f279135462f43d3e32eff64d
frameworks/base/core/jni/android_view_MotionEvent.cpp:383:12: warning:
Potential leak of memory pointed to by 'event'
frameworks/base/core/jni/AndroidRuntime.cpp:975:20: warning: Null passed
to a callee that requires a non-null 1st parameter
For the former, it was surprising to me that the analyzer couldn't
figure out that `event == nativePtr` for the latter check. Filed
https://bugs.llvm.org/show_bug.cgi?id=33540 upstream about it.
For the latter, it was complaining because `className` could be NULL
(more precisely, we have a NULL check at the top of the function it's
declared in, so NULL is presumably a valid value).
Bug: None
Test: Ran mma; complaints are gone.
Change-Id: I26a91ae25934f95acbfdbe4f3641e081fbc66c6d
Some HALs, like a.h.graphics.mapper, are always passthrough and are
used by nearly all app processes. Preload those in Zygote to save app
startup time and share more pages between processes. This has the side
effect of also preloading a bunch of HIDL-related system and vndk
libraries that would also otherwise be loaded independently by every
app.
An earlier attempt at this change tried to preload the HAL via a
static initializer in libui.so (which is already preloaded, and which
is the immediate client of the HAL). But several other non-Zygote
processes also use libui.so, and didn't have SELinux permission to
access the device nodes used by the HAL. This version uses an explicit
call from Zygote to preload the HAL, instead of doing it implicitly.
Bug: 62353585
Test: check that a.h.graphics.mapper is in /proc/`pid zygote64`/maps
Change-Id: I42405c3b6cdf1ae412039140d656d15a6d4f8882
(cherry picked from commit 1fe1dc0131)
Some HALs, like a.h.graphics.mapper, are always passthrough and are
used by nearly all app processes. Preload those in Zygote to save app
startup time and share more pages between processes. This has the side
effect of also preloading a bunch of HIDL-related system and vndk
libraries that would also otherwise be loaded independently by every
app.
An earlier attempt at this change tried to preload the HAL via a
static initializer in libui.so (which is already preloaded, and which
is the immediate client of the HAL). But several other non-Zygote
processes also use libui.so, and didn't have SELinux permission to
access the device nodes used by the HAL. This version uses an explicit
call from Zygote to preload the HAL, instead of doing it implicitly.
Bug: 62353585
Test: check that a.h.graphics.mapper is in /proc/`pid zygote64`/maps
Change-Id: I42405c3b6cdf1ae412039140d656d15a6d4f8882
Add an attribute android:classLoader which can be set to the name
of the classloader the base or split wishes to use. For now, this can
only be set to "dalvik.system.PathClassLoader" or
"dalvik.system.DelegateLastClassLoader". The current implementation
only allows the classloader to exist in the boot classpath but that
restriction can be loosened in a future change if necessary.
Test: cts-tradefed run cts-dev -m CtsAppSecurityHostTestCases
Bug: 36044779
Change-Id: I5a51f7aa0c8c4c398d2f46129eb06785cc8e3c3f
If the boot profile file exists, its passed to the runtime as an
image compiler option. Also pass speed-profile for this case.
Bug: 37966211
Test: make, flash, and look at logcat during boot
(cherry picked from commit f99e70e934)
Change-Id: Ia09ff0200186382e45151b7cabb53016f8e0aa3f
If the boot profile file exists, its passed to the runtime as an
image compiler option. Also pass speed-profile for this case.
Bug: 37966211
Test: make, flash, and look at logcat during boot
Change-Id: I72e16eb19df390eea6304c0419ae332d79f41409
SharedMemory is parcelable and AIDL friendly
and exposes cool things like dropping write permissions
that are useful for shared memory to have.
Also exposes getFileDescriptor() on MemoryFile
since that was necessary to use MemoryFile
with IPC previously and there are a sizeable
number of reflections that access it, so just make
it public.
Test: SharedMemory CTS tests pass
Change-Id: I71a322abf2eb55267d7299a8e41f847339af8b08
The property is dalvik.vm.hot-startup-method-samples, setting this
controls how many startup samples are required before methods are
marked as hot in the profile.
Test: adb shell setprop dalvik.vm.hot-startup-method-samples 12
Test: adb shell setprop dalvik.vm.extra-opts -verbose:profiler
Test: adb logcat | grep Profile
Bug: 36457259
(cherry picked from commit 5eee004b92)
Change-Id: Ibf8075aafc6e5bd2ba10385973b26faee3d807df
The property is dalvik.vm.hot-startup-method-samples, setting this
controls how many startup samples are required before methods are
marked as hot in the profile.
Test: adb shell setprop dalvik.vm.hot-startup-method-samples 12
Test: adb shell setprop dalvik.vm.extra-opts -verbose:profiler
Test: adb logcat | grep Profile
Bug: 36457259
Change-Id: If8e37a160802a00fb44f0c243fb358df02104741