3050 Commits

Author SHA1 Message Date
Calin Juravle
6a4d2369e5 Use native brige only if we have a private data directory.
Bug: 18027433

Change-Id: I59b1b1cbe1d7d14b93d8bb6d4255c951d9e469b6
2014-10-29 12:40:03 +00:00
Calin Juravle
79ec4c15ab PreInitializeNativeBridge only if its Available
Also, assert that we always have a private application directory for non
system_server case.

Change-Id: I8397d7f7b04cde0bf65b60ca415bf3f4b349783c
2014-10-27 14:45:33 +00:00
Nick Kralevich
7b3db39aa4 Replacing FloatMath native implementation with calls to Math
On modern versions of Android running in AOT mode
FloatMath is slower than Math. Calls to Math.sqrt(),
etc. are replaced by intrinsics which can be as small
as a single CPU opcode.

When running in interpreted mode the new
implementation is unfortunately slower, but I'm
judging this acceptable and likely to be improved
over time. This change saves a small amount of native
code.

Example timings:

Mako AOSP AOT:

Method: Original / New / Direct call to Math
ceil: 596ns / 146.ns / 111ns
sqrt: 694ns / 56ns / 25ns

Mako AOSP interpreted:

Method: Original / New / Direct call to Math
ceil: 1900ns / 2307ns / 1485ns
sqrt: 1998ns / 2603ns / 1788ns

Other calls Mako AOT:

Method: Original / New
cos: 635ns / 270ns
exp: 566ns / 324ns
floor: 604ns / 150ns
hypot: 631ns / 232ns
pow: 936ns / 643ns
sin: 641ns / 299ns

The advice to use Math directly, in preference to
FloatMath, is still good. FloatMath will be deprecated
separately.

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: If07fcbd78543d13bc6d75f9743f999860e8d58d7
2014-10-20 09:24:11 +01:00
Elliott Hughes
960e83185e Use strerror(3) when reporting zygote failures.
Bug: 17700596
Change-Id: I39a72ab6f19063de3c90c9fccdb749dc9a86324e
2014-09-30 08:49:01 -07:00
Dan Albert
e08bd64184 Allow AOSP to boot.
HAVE_OOM_ADJ is really __linux__, and this code should never be run on
another platform.

Bug: 17641445
Change-Id: Ib8174106b6d03c9c2429794a4f582c09cb308646
2014-09-25 11:48:11 -07:00
Andreas Gampe
6f954cf2eb Merge "Frameworks/base: Early init native bridge" 2014-09-24 21:59:51 +00:00
jgu21
2eacd06bfb Frameworks/base: Early init native bridge
Add the app directory to the arguments for starting a process.
Add a check for NeedsNativeBridge and a call to PreInitializeBridge
in the native fork code.

Change-Id: I0b93da93251c6b4638de786bf98cf99df07c3fc2
2014-09-22 16:04:37 -07:00
Christopher Ferris
8b1dfddf50 Remove MALLOC_LEAK_CHECK references.
Bug: 17378595
Change-Id: Ib9680ef97dfea6bc20d96f0bed90f4553186315c
2014-09-19 12:24:59 -07:00
Dan Albert
88ba339aef Clean up makefile cruft.
The build system already takes care of all these things.

Change-Id: Idef80b554e07cef5e5ed2adf1b5740a76f13ef6d
2014-09-11 16:21:19 -07:00
Dan Albert
2ffa4aabd7 Merge "Use char16_t for char things." 2014-09-09 04:30:35 +00:00
Dan Albert
f348c15ecf Use char16_t for char things.
When compiling in C++ mode, the compiler will complain about conversions
from uint16_t to char16_t. Be consistent in using char16_t for strings.

Change-Id: I052b6176ced635162920b31560052d9a64f92764
2014-09-08 18:30:08 -07:00
Christopher Ferris
f4eaaadb8c Merge "Fix use of %llx for sscanf 64 bit values." 2014-09-06 16:55:50 +00:00
Christopher Ferris
bebb26725a Add new header to support 32 bit/64 bit dumps.
Bug: 17319589

(cherry picked from commit 0d3c045a0d48193150689e5924bd04c511380a8a)

Change-Id: I79aa035098115de7b02171a9432ff7e9393328ab
2014-09-05 17:17:04 -07:00
Andreas Gampe
aec67dcc02 Frameworks/base: Add native bridge post-fork initialization
Change-Id: I5a20de1cb68dd1802937b369b14c50c9c1031c67
2014-09-03 21:38:34 -07:00
Christopher Ferris
c70b5e66f7 Fix use of %llx for sscanf 64 bit values.
Change-Id: Ie7a0e243dfcf24722783fe7d697a1412de7efe68
2014-09-03 19:59:08 -07:00
Calin Juravle
2d3571cc17 Merge "Fix the length of a profiler system property" 2014-08-27 16:36:53 +00:00
Wei Jin
4d033e1c44 Fix the length of a profiler system property
This patch changes the profiler system property
"dalvik.vm.profile.max-stack-depth" to "dalvik.vm.profile.stack-depth"
so that the length of the option is less than PROP_NAME_MAX.

Bug: 17294224
Change-Id: I5723883d7fa38dd5eaa276182e5d680d152cedad
2014-08-27 15:50:17 +01:00
Calin Juravle
d71de10c42 Update the handling of the native bridge property.
ro.dalvik.vm.native.bridge is expected to be always be set. A value of
"0" means that the native bridge is disabled and that no value should be
passed to the runtime.

Bug: 17104449

(cherry picked from commit 831bd75b2bbc126f02578a967e925271b9cac6d3)

Change-Id: Ib483ac8e96bdc66af2725815807d4deb36fb36ab
2014-08-27 15:00:55 +01:00
Calin Juravle
9b5112c36b Merge "Make native bridge property read-only." 2014-08-27 13:19:20 +00:00
Mathieu Chartier
98671c34fa Clean up ExceptionOccurred.
Use ExceptionCheck before ExceptionOccurred since ExceptionCheck
doesn't acquire any locks and is faster.

Change-Id: Ibd87fd1e33b339bd2a6effa1d20d3253c8a61bdc
2014-08-20 16:24:47 -07:00
Calin Juravle
53db6ae781 Make native bridge property read-only.
Bug: 17104449
Change-Id: If2e2a0c2cd1783883ef34d25a527ee93f9eadfa5
2014-08-18 16:56:08 +01:00
Elliott Hughes
06451fe081 Use gettid directly in frameworks JNI.
Bug: 17048545
Change-Id: I1cd45d85368c799b75f76e778722979cbbb68ed2
2014-08-18 10:39:55 -07:00
Brian Carlstrom
21d1b115a1 Merge "Disable verification based on vold.decrypt. [frameworks/base]" 2014-08-15 15:23:41 +00:00
Brian Carlstrom
1567d2f0b7 Disable verification based on vold.decrypt. [frameworks/base]
Bug: 15165413

(cherry picked from commit 6d05323e97e98022be7fc1a803115e2628f2d1f4)

Change-Id: I5454488a9db0fd70c64e8fc78b622c56ea96e6fd
2014-08-15 10:08:16 -07:00
Yong WU
03c866020b Integrate NativeActivity with NativeBridge interfaces
Bug: 16884833

Change-Id: I73aab8e212860ba5aee9444d801806d3da326a41
2014-08-15 10:18:40 +01:00
Calin Juravle
508e768d95 Merge "Integrate NativeActivity with NativeBridge interfaces" 2014-08-15 04:45:59 +00:00
Calin Juravle
2f4cf2cfd1 Pass the name of the native bridge library to the runtime
Bug: 16843953
Change-Id: Ia0f57a9b3e30a74fe4e93eb4453f841c1ef512eb
2014-08-08 18:45:19 +01:00
Calin Juravle
3d274434c7 Merge "Pass the name of the native bridge library to the runtime" 2014-08-07 18:51:06 +00:00
Mathieu Chartier
cf6775eece Fix JNI error in exception reporting.
There was a JNI error where when you got an OOM and called
report_exception, it would call two NewStringUTF in a row without
checking the return values. This could mean that the first one
threw a new OOME and the second one would cause a JNI error when
it also attempted to throw an OOME with a pending OOME.

Bug: 16843627
Change-Id: Ie4f9f9a5f8b7993cd3655d42a6718c0a5e1199f8
2014-08-06 13:41:19 -07:00
Brian Carlstrom
108166c749 Move image classes options from art to AndroidRuntime [frameworks/base]
Bug: 15165413
Change-Id: I69c064b05f62a2e8a3801dc924f5b032dedc8e51
2014-07-31 14:27:29 -07:00
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