3020 Commits

Author SHA1 Message Date
Brian Carlstrom
4fd561637a Disable compilation based on vold.decrypt. [frameworks/base]
Bug: 15165413
Change-Id: I1972c5af5f392c2ed247888ef33c03e9ffe4d588
2014-07-31 14:27:29 -07:00
Brian Carlstrom
f60d3a4702 Move from dalvik.vm.image-dex2oat-flags to dalvik.vm.dex2oat-filter [frameworks/base]
This will allow us to conditionally change the compiler-filter based on other properties.

Bug: 15165413
Change-Id: I1676987c69a3cad4217dc4b56465ef3ae886122a
2014-07-31 14:27:29 -07:00
Chris Craik
bfb349e242 Merge "[Bitmap] Add null pointer protection in Bitmap_sameAs()" 2014-07-22 16:35:00 +00:00
Neil Fuller
d7f0849b8c Rewriting android.text.format.Time without the native _tz functions
Bug: 15765976
Change-Id: I666b72ecf9da8a9dcfb97cc503006b415909a558
2014-07-22 15:06:16 +01:00
Elliott Hughes
effcc83e42 Merge "Switch frameworks/base/core/jni to the new icu." 2014-07-09 22:27:32 +00:00
Elliott Hughes
92b1896dfd Switch frameworks/base/core/jni to the new icu.
Change-Id: Id12ce02da377ce78f318e10633c47f500237d9d9
2014-07-09 16:56:11 -07:00
henry.uh_chen
42856eb4f1 [Bitmap] Add null pointer protection in Bitmap_sameAs()
Symptom: SkBitmap::getAddr(int, int) may return NULL due to unrecognized config 
(ex: kRLE_Index8_Config). This will cause memcmp method to crash. Since bm0 and 
bm1 both have pixel data() (have passed NULL == getPixels() check), those 2 
bitmaps should be valid (only unrecognized), we return JNI_FALSE to warn user 
those 2 unrecognized config bitmaps may be different.


Change-Id: I6970c27de412110a3035d0a783112c4cd3ebc35b
2014-07-03 12:44:47 +00:00
Brian Carlstrom
6d77eb99bf Make dex2oat heap size product configurable [frameworks/base]
Bug: 15919420
Change-Id: I9b7b4f60826fc9b0cc6bb3765ceaa36542425006
2014-07-08 15:05:41 -07:00
Eric Laurent
90d0b9e1bb fix AudioTrack and AudioRecord JNI
AudioTrack and AudioRecord JNI should not cast
jshortArray to jbyteArray. This appeared to work with Dalvik
but causes data corruption with ART.

(cherry picked from commit 9d02848e902d04417df616354db3a18c03e639b7)

Change-Id: Ie36624d3ea06042373c64edced4b5e30b7b1ee86
2014-07-04 09:37:28 +01:00
Narayan Kamath
3fa99ec77e Merge "Remove bogus 2 char limit for locales and countries." 2014-07-01 17:52:00 +00:00
Narayan Kamath
37151b5032 Remove bogus 2 char limit for locales and countries.
Locale settings are persisted to system properties
and not to system settings, so the values read here
are used pretty much everywhere.

bug: 15873165
bug: 10090157

Change-Id: Ie7cda166439112c615afbd38253cf4fbb5791242
2014-07-01 13:50:18 +01:00
Wei Jin
54fc18b925 Add profiler type options
This is related to the CL that adds a new type of profile data.

Change-Id: I3e4e502da8e1b0dd9b32ddcbc5d11eca0d1ba2e5
2014-06-24 12:16:55 -07:00
Calin Juravle
a06f5fa656 Merge "Fix the initialization of some profile properties" 2014-06-20 03:03:45 +00:00
Elliott Hughes
f18961066b Merge "Fixed VM memory leak in AudioSystem JNI interface" 2014-06-20 02:09:57 +00:00
Calin Juravle
e279cd6d21 Fix the initialization of some profile properties
Change-Id: I959cb53f262cfb9d1621e4cd99bec05514f7f11f
2014-06-19 18:51:47 +01:00
Colin Cross
88b37edaea Merge "Fix reading memory usage for 64-bit processes" 2014-06-17 21:47:03 +00:00
Colin Cross
0c6bc73c5e Fix reading memory usage for 64-bit processes
64-bit process will have virtual addresses that don't fit in an
unsigned long if ActivityManagerService is in a 32-bit process,
and the locations of the '-' and ' ' characters in the maps
are not predictable.  Fix the sscanf for finding the start of the
mapping, and use it again to find the end of the mapping.  Also
fix a few 64-bit warnings.

Change-Id: I8855c76085142768be1d45346f1032fd37cbe4eb
2014-06-17 15:25:45 -07:00
Colin Cross
18cd9f5762 clean up native com.android.internal.os.Zygote
This is never compiled for the host any more, so remove all the
unnecesarry ifdefs.

Change-Id: I757e6d604b7f41476ac1021f5bdbc777eac6f99e
2014-06-16 12:22:56 -07:00
Colin Cross
cb634bda7b Merge "clean up native com.android.internal.os.Zygote" 2014-06-16 15:34:52 +00:00
Nick Kralevich
195b23ef71 update mLastSlash for gdbserver
the gdbserver special case wasn't updating mLastSlash. Fix it.

Change-Id: I63d64bb5f543bd2df6183649cf727e830731e144
2014-06-13 16:24:58 -07:00
Calin Juravle
994cd28e72 Shrink profiler.start-immediately to fit in the maximum property size
Change-Id: I25f24f5e5b128aa6a300bdc1008427451bd9cecf
2014-06-11 18:21:41 +01:00
Calin Juravle
3f967910d9 Improved profile.start-immediately comment
Change-Id: I41bda6a1cd99cb0a8230961e0462a41cb552887e
2014-06-10 14:52:24 +01:00
Calin Juravle
de99f08f65 Fixed comments related to profile properties.
Change-Id: Idd6de8fe2a193a36cf1ea6bcadacb3289973c5ab
2014-06-09 10:13:55 +01:00
Calin Juravle
9828d067fb Add missing profiler options.
Bug: 12877748

Change-Id: I311b8fb7e15d512e65631bc2a52c443a271d3d3f
2014-06-06 12:55:23 +01:00
Narayan Kamath
d47e38b634 Scan for renderscript files before deciding ABIs.
The presence of ".bc" files in an APK implies
incompatibility with any of the 64 bit ABIs.

bug: 14900093

Change-Id: I66ca339a9a149cb3b7e7b349033d80acdeb4140a
2014-06-03 12:58:35 +01:00
Viorel Suman
b637ccffd8 Fixed VM memory leak in AudioSystem JNI interface
The function android_media_AudioSystem_error_callback from AudioSystem
JNI interface is using FindClass function but does not delete the
reference created by VM in this function.
By doing this call, VM will add a local reference in IndirectRefTable
and it's the caller's job to delete this reference.
By not doing this, everytime this callback is called, a new reference is
added and never deleted.
The effect is crashing the VM running system_server:

E/dalvikvm( 3071): JNI ERROR (app bug): local reference table overflow (max=512)
W/dalvikvm( 3071): JNI local reference table (0x732da288) dump:
W/dalvikvm( 3071):   Last 10 entries (of 512):
W/dalvikvm( 3071):       511: 0x42a90008 java.lang.Class<android.os.Parcel>
W/dalvikvm( 3071):       510: 0x4381fd90 android.view.KeyEvent
W/dalvikvm( 3071):       509: 0x439b9808 android.view.KeyEvent
W/dalvikvm( 3071):       508: 0x42d2fe18 java.lang.Class<com.android.server.input.InputManagerService>
W/dalvikvm( 3071):       507: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       506: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       505: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       504: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       503: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       502: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):   Summary:
W/dalvikvm( 3071):       510 of java.lang.Class (3 unique instances)
W/dalvikvm( 3071):         2 of android.view.KeyEvent (2 unique instances)
E/dalvikvm( 3071): Failed adding to JNI local ref table (has 512 entries)
...
E/dalvikvm( 3071): VM aborting

In this case, PID 3071 is system server.

Change-Id: I0c113eb72256984854d59a3ccef11a8d23f96e79
Signed-off-by: Robert Chiras <robert.chiras@intel.com>
2014-05-30 16:51:07 +03:00
Brian Carlstrom
452c592191 am 197565e0: Merge "Move to dalvik.vm.lib.2 to force default to libart"
* commit '197565e0e800be3c731e679914f40afa1aab98fd':
  Move to dalvik.vm.lib.2 to force default to libart
2014-05-28 22:31:39 +00:00
Brian Carlstrom
5bc93866b0 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)

Change-Id: Icd91982c09076e87092906106cbff4a81589e8de
2014-05-28 14:53:40 -07:00
Mathieu Chartier
c0f18b9d0c am c4c77d63: Merge "Add property for background GC type"
* commit 'c4c77d63d889baca2abbdce6326077f0911b279e':
  Add property for background GC type
2014-05-14 23:52:02 +00:00
Mathieu Chartier
c01936a686 Add property for background GC type
To disable background compaction do:
adb shell setprop dalvik.vm.backgroundgctype CMS

To enable:
adb shell setprop dalvik.vm.backgroundgctype SS

Change-Id: I1d87b95fceaedac4df5ce6e718d7c14b35d524cc
2014-05-14 15:45:48 -07:00
Ying Wang
4463cbc61d am 3b9600b6: Merge "Remove unused LOCAL_LDLIBS."
* commit '3b9600b673ad6a83481dcf88db6c9b2dc5bc9ba3':
  Remove unused LOCAL_LDLIBS.
2014-05-08 00:21:38 +00:00
Ying Wang
b38e3fdf5a Remove unused LOCAL_LDLIBS.
Change-Id: I01346e76f4ac6402af0ef33e3b2eef4a69e704a2
2014-05-07 15:23:37 -07:00
Narayan Kamath
7034422382 am fbb0ab02: Merge "Fix broken logging in Zygote.cpp."
* commit 'fbb0ab02bed5c49159acb3dba6848a154e524169':
  Fix broken logging in Zygote.cpp.
2014-05-01 10:18:11 +00:00
Narayan Kamath
160992da04 Fix broken logging in Zygote.cpp.
- Differentiate between clean exits and signals.
- Change the logic for the waitpid warning. We should log it
  only if the *first* call to waitpid returned ECHILD.

Change-Id: I6bc50e4ffd100fb7f3f526d6b4056bed10b8045f
2014-05-01 10:11:57 +00:00
Elliott Hughes
91ff3c18db am 7d3f9e97: Merge "Fix for native leaks in YuvToJpegEncoder.cpp"
* commit '7d3f9e9730b100de4c0e643e13bf59bf54ef7819':
  Fix for native leaks in YuvToJpegEncoder.cpp
2014-04-30 19:02:53 +00:00
Elliott Hughes
7d3f9e9730 Merge "Fix for native leaks in YuvToJpegEncoder.cpp" 2014-04-30 18:59:54 +00:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Mark Salyzyn
c6a410164e jni: android_util_Process 64 bit issues
- critical issue with using %lld to scanf into a jlong
- subsidiary issues with mix jint, jsize and jlong printing

Change-Id: I77c6b3d3a202fec741cacc540fc39ad6cba25f52
2014-04-24 13:09:15 -07:00
Mark Salyzyn
5b6da1aee8 jni: binder ptrdiff_t compile issues
Change-Id: Ibdd82479d3f9fb53cf1d6793c4f7353e8f1c3646
2014-04-17 17:25:36 -07:00
Mark Salyzyn
cfd91e7852 jni: binder 64-bit compile issues
Change-Id: I8a3083e7e9389bbb84c2dd061fef059e0595800d
2014-04-17 15:40:01 -07:00
Mark Salyzyn
853940331f frameworks: 64 bit compile issues
ToDo: core/jni/com_android_internal_net_NetworkStatsFactory.cpp (merge issues)

Change-Id: I5cf0bbb868e6c18e86c97c6491b6ee983a8ee1a2
2014-04-16 10:43:48 -07:00
Narayan Kamath
80413c9fe1 Merge "Re-implement native library search and copies." 2014-04-10 09:19:38 +00:00
Ramin Zaghi
1378aba7ae Re-implement native library search and copies.
We now use a two step approach :

- First we look through the list of shared libraries in an
  APK, and choose an ABI based on the (priority)  list of ABIs
  a given device supports.
- Then we look through the list of shared libraries and copy
  all shared libraries that match the ABI we've selected.

This fixes a long-standing bug where we would sometimes copy
a mixture of different ABIs to the device, and also allows us
to clearly pick an ABI to run an app with.

The code in NativeLibraryHelper has been refactored so that all
file name validation & matching logic is done in a single place
(NativeLibrariesIterator). This allows us to avoid a lot of
redundant logic and straightens out a few corner cases (for eg.
where the abi determination & copying logic do not agree on
what files to skip).

bug: https://code.google.com/p/android/issues/detail?id=65053
bug: 13647418

Change-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef
Co-Authored-By: Zhenghua Wang <zhenghua.wang0923@gmail.com>
Co-Authored-By: Ramin Zaghi <ramin.zaghi@arm.com>
Co-Authored-By: Narayan Kamath <narayan@google.com>
2014-04-09 17:16:40 +01:00
Mark Salyzyn
ecdf9b199a Merge "jni: liblog reading error API incorrect" 2014-04-09 16:07:48 +00:00
Narayan Kamath
22ec1eefa4 Clean up argc / argv processing for runtime args.
- Make copies of argc, argv before argv is potentially
  overwritten with the process name.
- Allow multiple command line arguments to be passed to
  ZygoteInit (this is required for some of the 64 bit
  zygote work).
- Add an explanatory comment about how these argments
  are processed.

Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
2014-04-09 13:39:41 +01:00
Mark Salyzyn
b519aeca47 jni: liblog reading error API incorrect
- return value contains -errno on error.

Bug: 13907124
Change-Id: I91f12db5749fac2ae8ed5b0f033d4eaf83e666f5
2014-04-08 16:17:51 -07:00
Narayan Kamath
a23fcd7be8 Remove ProcessState::mArgc,mArgV,mArgLen
These look like historical oddities, and weren't really being
used for anything useful.

Process:setArgV0 was being called by android.util.Process, but
that functionality can be moved directly into the implementation
of that class.

bug: 13647418

Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
2014-04-03 12:29:07 +00:00
Narayan Kamath
973b4663b0 Move zygote startup logic to the frameworks.
The Zygote class is now in com.android.internal.os. It is
responsible for the vast majority of work before and after
the call to fork(). It calls back into the Runtime via
the new dalvik.system.ZygoteHooks class to allow the Runtime
to perform pre fork cleanup and post fork initialization.

The native code in Zygote.cpp is a direct and straightforward
port of the existing code in art. Most differences are
superficial, for example :
- We use C style logging (ALOGE) instead of stream based
  logging.
- We call env->FatalError() instead of using LOG(FATAL)

Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
2014-04-02 10:18:43 +01:00
Ashok Bhat
f5df700e6c AArch64: Make frameworks/base code more portable
Changes in this patch include

[x] Use %zu for size_t, %zd for ssize_t

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-27 12:30:42 +00:00
Narayan Kamath
ab9efda69f am ea96d791: am 5f0d44f6: Merge "Fix scaleNinePatch."
* commit 'ea96d791c7eca3eb5d003b8559b89a573f81dac9':
  Fix scaleNinePatch.
2014-03-25 14:31:45 +00:00