OSDN Git Service

android-x86/dalvik.git
11 years agoMove multi-user OBB under user-specific path.
Jeff Sharkey [Mon, 24 Sep 2012 21:10:02 +0000 (14:10 -0700)]
Move multi-user OBB under user-specific path.

Support apps that may manually build OBB paths using
getExternalStorageDirectory() by making multi-user OBB paths live
under user-specific path.

This new structure means we can simplify the emulated_legacy paths
to be a single recursive bind mount.

Bug: 7212801
Change-Id: I85a0caebca52a6ff3bfe61c961518a91f0b8f8ff

11 years agoam 9bd5a9db: Reconcile jb-dev and AOSP
Jean-Baptiste Queru [Fri, 21 Sep 2012 20:19:04 +0000 (13:19 -0700)]
am 9bd5a9db: Reconcile jb-dev and AOSP

* commit '9bd5a9db106863069dd6c12de881acca6103f8d7':
  Fix an ugly bug where try/catch offsets weren't being mapped properly. do not merge.
  Fix a bug where the max blowup of annotations was incorrect. do not merge.
  Fix a bug where debugInfos' size wasn't being computed. do not merge.
  Make dex merging stateless. do not merge.
  Support debug info in dexmerge. do not merge.

11 years agoReconcile jb-dev and AOSP
Jean-Baptiste Queru [Fri, 21 Sep 2012 20:15:15 +0000 (13:15 -0700)]
Reconcile jb-dev and AOSP

Change-Id: If3d2ce0f23b929f92d49649e015386670ed16863

11 years agoam 74d4652e: am e64cfc1c: am b79d90eb: Merge "Log when the native trace is unavailable"
Elliott Hughes [Thu, 20 Sep 2012 19:58:45 +0000 (12:58 -0700)]
am 74d4652e: am e64cfc1c: am b79d90eb: Merge "Log when the native trace is unavailable"

* commit '74d4652ebd432295a5442b024f51bce531abea15':
  Log when the native trace is unavailable

11 years agoam e64cfc1c: am b79d90eb: Merge "Log when the native trace is unavailable"
Elliott Hughes [Thu, 20 Sep 2012 19:53:14 +0000 (12:53 -0700)]
am e64cfc1c: am b79d90eb: Merge "Log when the native trace is unavailable"

* commit 'e64cfc1cdacd8a820acce596f6986e17e2f5e330':
  Log when the native trace is unavailable

11 years agoam b79d90eb: Merge "Log when the native trace is unavailable"
Elliott Hughes [Thu, 20 Sep 2012 19:49:45 +0000 (12:49 -0700)]
am b79d90eb: Merge "Log when the native trace is unavailable"

* commit 'b79d90ebd197b9040c06d73f5dc8bbc8fdad1d54':
  Log when the native trace is unavailable

11 years agoMerge "Log when the native trace is unavailable"
Elliott Hughes [Thu, 20 Sep 2012 18:34:32 +0000 (11:34 -0700)]
Merge "Log when the native trace is unavailable"

11 years agoLog when the native trace is unavailable
Andy McFadden [Wed, 19 Sep 2012 00:50:59 +0000 (17:50 -0700)]
Log when the native trace is unavailable

This should allow us to differentiate between "couldn't get the
stack" and "didn't try to get the stack".  Also show the thread's
state (e.g. 'R' for running, 'D' for uninterruptible syscall).

Bug 7053953

(cherry-pick of b3667a19f5c573b7785876979af4781292d27327.)

Change-Id: I0a40cb3d3cdd9aef8589a39586cccd9c229aa8cb

11 years agoLog when the native trace is unavailable
Andy McFadden [Wed, 19 Sep 2012 00:50:59 +0000 (17:50 -0700)]
Log when the native trace is unavailable

This should allow us to differentiate between "couldn't get the
stack" and "didn't try to get the stack".  Also show the thread's
state (e.g. 'R' for running, 'D' for uninterruptible syscall).

Bug 7053953

Change-Id: Ibc9e6a6f0fc855a4e5e8e133122232dc939bcb16

11 years agoam 90f12e0b: am 4535e29e: am a177aa50: Merge "Use 0xde as the poison value after...
Elliott Hughes [Mon, 17 Sep 2012 22:54:47 +0000 (15:54 -0700)]
am 90f12e0b: am 4535e29e: am a177aa50: Merge "Use 0xde as the poison value after JIT code cache reset."

* commit '90f12e0b4b08b9776b02580b223ec8968a5725b0':
  Use 0xde as the poison value after JIT code cache reset.

11 years agoam 4535e29e: am a177aa50: Merge "Use 0xde as the poison value after JIT code cache...
Elliott Hughes [Mon, 17 Sep 2012 22:52:48 +0000 (15:52 -0700)]
am 4535e29e: am a177aa50: Merge "Use 0xde as the poison value after JIT code cache reset."

* commit '4535e29e384a400a62fe259674565c0e21c4c182':
  Use 0xde as the poison value after JIT code cache reset.

11 years agoam a177aa50: Merge "Use 0xde as the poison value after JIT code cache reset."
Elliott Hughes [Mon, 17 Sep 2012 22:50:19 +0000 (15:50 -0700)]
am a177aa50: Merge "Use 0xde as the poison value after JIT code cache reset."

* commit 'a177aa50c665e97f92ee7519ed9d32b0e89e84d3':
  Use 0xde as the poison value after JIT code cache reset.

11 years agoMerge "Use 0xde as the poison value after JIT code cache reset."
Elliott Hughes [Mon, 17 Sep 2012 22:47:11 +0000 (15:47 -0700)]
Merge "Use 0xde as the poison value after JIT code cache reset."

11 years agoUse 0xde as the poison value after JIT code cache reset.
Ben Cheng [Mon, 17 Sep 2012 19:17:59 +0000 (12:17 -0700)]
Use 0xde as the poison value after JIT code cache reset.

(cherry-pick of 60497bbcee68d98b2bdcb3fb64682b00d61b942d.)

Change-Id: I4f8c1bac2ac3bdc1d931e91f3e2e8038fe4c2b5a

11 years agoMerge "Use 0xde as the poison value after JIT code cache reset." into jb-mr1-dev
Ben Cheng [Mon, 17 Sep 2012 19:22:40 +0000 (12:22 -0700)]
Merge "Use 0xde as the poison value after JIT code cache reset." into jb-mr1-dev

11 years agoUse 0xde as the poison value after JIT code cache reset.
Ben Cheng [Mon, 17 Sep 2012 19:17:59 +0000 (12:17 -0700)]
Use 0xde as the poison value after JIT code cache reset.

Change-Id: Ic25ede5bcd988f240d8c24df6bc5da81e2b03249

11 years agoam 8e80f76a: am d207be35: am f31a0600: Merge "Optimize those StrictMath routines...
Elliott Hughes [Fri, 14 Sep 2012 21:11:53 +0000 (14:11 -0700)]
am 8e80f76a: am d207be35: am f31a0600: Merge "Optimize those StrictMath routines that are identical to Math routines."

* commit '8e80f76abdeedb75ca0837545f6c33c2c452a928':
  Optimize those StrictMath routines that are identical to Math routines.

11 years agoam d207be35: am f31a0600: Merge "Optimize those StrictMath routines that are identica...
Elliott Hughes [Fri, 14 Sep 2012 21:10:03 +0000 (14:10 -0700)]
am d207be35: am f31a0600: Merge "Optimize those StrictMath routines that are identical to Math routines."

* commit 'd207be351aa5f8707a7829fc5cfd602b69b5bcc5':
  Optimize those StrictMath routines that are identical to Math routines.

11 years agoam f31a0600: Merge "Optimize those StrictMath routines that are identical to Math...
Elliott Hughes [Fri, 14 Sep 2012 21:08:24 +0000 (14:08 -0700)]
am f31a0600: Merge "Optimize those StrictMath routines that are identical to Math routines."

* commit 'f31a0600bb84e04280440c84a5966a624a89e117':
  Optimize those StrictMath routines that are identical to Math routines.

11 years agoMerge "Optimize those StrictMath routines that are identical to Math routines."
Elliott Hughes [Fri, 14 Sep 2012 20:51:18 +0000 (13:51 -0700)]
Merge "Optimize those StrictMath routines that are identical to Math routines."

11 years agoOptimize those StrictMath routines that are identical to Math routines.
Elliott Hughes [Fri, 14 Sep 2012 18:54:57 +0000 (11:54 -0700)]
Optimize those StrictMath routines that are identical to Math routines.

We can just use the existing Math intinsics.

Bug: 7146208
Change-Id: I9e78d33cf65a5dcc5a7c0133e67bd9c3c1e43f23

11 years agoMerge "Missing EMULATED_STORAGE_TARGET isn't an error." into jb-mr1-dev
Jeff Sharkey [Wed, 12 Sep 2012 17:58:20 +0000 (10:58 -0700)]
Merge "Missing EMULATED_STORAGE_TARGET isn't an error." into jb-mr1-dev

11 years agoam 91a17e5e: (-s ours) Reconcile with jb-release - do not merge
The Android Open Source Project [Wed, 12 Sep 2012 14:51:45 +0000 (07:51 -0700)]
am 91a17e5e: (-s ours) Reconcile with jb-release - do not merge

* commit '91a17e5e78ddc49b761133151831770379dc777f':
  Test if new build is kicked off.

11 years agoReconcile with jb-release - do not merge
The Android Open Source Project [Wed, 12 Sep 2012 14:49:15 +0000 (07:49 -0700)]
Reconcile with jb-release - do not merge

Change-Id: I20cffa47e360af1eac86d8a04aa53441f9260bc6

11 years agoMissing EMULATED_STORAGE_TARGET isn't an error.
Jeff Sharkey [Wed, 12 Sep 2012 06:40:42 +0000 (23:40 -0700)]
Missing EMULATED_STORAGE_TARGET isn't an error.

Devices without emulated storage should just skip the tmpfs.

Bug: 7131382
Change-Id: I9c697e4faf7864ec3a2695cd3770fbf0c9a5cce3

11 years agoTest if new build is kicked off.
Ben Cheng [Tue, 11 Sep 2012 23:20:25 +0000 (16:20 -0700)]
Test if new build is kicked off.

Change-Id: Ia6a25f00cb28e80111b78d87180575d57c55b062

11 years agoInclude user identifier in external storage paths.
Jeff Sharkey [Sat, 8 Sep 2012 05:58:13 +0000 (22:58 -0700)]
Include user identifier in external storage paths.

When building external storage paths, always include user in path
to enable cross-user paths and aid debugging.

Each Zygote process continues to only have access to the appropriate
user-specific emulated storage through bind mounts. A second set of
mounts continue supporting legacy /sdcard-style paths. For example,
a process running as owner has these mount points:

/storage/emulated_legacy
/storage/emulated_legacy/Android/obb
/storage/emulated/0
/storage/emulated/obb

This change also creates two nested namespaces around zygote. The
first namespace is created when the zygote starts, and it holds a
single writable tmpfs, since rootfs is ro. The second namespace is
created quickly after forking, and is used to hold the private
user-specific bind mounts. (This design saves us from creating a
tmpfs-per-process.)

Bug: 7131382
Change-Id: Id80403ec956f0bff6997411cb1f82f273c76b85f

11 years agoFix an ugly bug where try/catch offsets weren't being mapped properly. do not merge.
Jesse Wilson [Sat, 1 Sep 2012 04:37:56 +0000 (00:37 -0400)]
Fix an ugly bug where try/catch offsets weren't being mapped properly. do not merge.

In dex files, there are several places where one object refers
to another object by its position in the file. The dex merger
is generally very careful to adjust these mappings when combining
dex files.

Unfortunately one of these cases was broken. Each try_item refers
to a corresponding encoded_catch_handler by its byte offset in a
list. Most of the time this byte offset is the same in the input
dex file and the output dex file. But encoded_catch_handlers are
variable-length because they use a variable-length uleb128 encoding
to address the type_idx being caught. When dex files are merged,
some exception types may go from having a small index to having
a large index, increasing the number of bytes required to encode
that index. This breaks our ability to directly copy over offsets
as we were doing previously.

Bug: http://code.google.com/p/android/issues/detail?id=36490

(cherry picked from commit d43341a24abe339d474b0b0d92669917ae2eb9bf)

Change-Id: I4e6ab791925a918513122b46e039c02dfef62ace

11 years agoFix a bug where the max blowup of annotations was incorrect. do not merge.
Jesse Wilson [Sat, 1 Sep 2012 05:01:05 +0000 (01:01 -0400)]
Fix a bug where the max blowup of annotations was incorrect. do not merge.

I'm not sure where the 1.34 number comes from but it's incorrect.
From the spec, the encoded_annotation is made up of a single byte
plus an unlimited number of uleb128 values. Each of these values
can double in width in the worst case. I received (personal) email
from one user who'd run into a case worse than the incorrect 1.34
limit.

(cherry picked from commit bf7dfeea94f21dd0e097cf5f786f9995722fd70d)

Change-Id: I033a0d76ea0324d434d732e7757df0c3fd925b68

11 years agoFix a bug where debugInfos' size wasn't being computed. do not merge.
Jesse Wilson [Thu, 23 Aug 2012 06:20:26 +0000 (23:20 -0700)]
Fix a bug where debugInfos' size wasn't being computed. do not merge.

Previously debugInfos' size of 0 caused a malformed dex file
because debug data was present but not mentioned in the table
of contents.

(cherry picked from commit 55ac44b64744cd5692d6495bca99dfc8181e0cfc)

Change-Id: I2084c06521ea200772c523cdaa28c8019fa76025

11 years agoRemove /sdcard hack for shell users.
Jeff Sharkey [Wed, 5 Sep 2012 22:49:39 +0000 (15:49 -0700)]
Remove /sdcard hack for shell users.

Using a /storage/sdcard0 symlink and a tmpfs staging area was used
to enable "/sdcard" paths for both zygote processes and the shell
user, but it breaks on devices with both emulated and physical
external storage.

Specifically, vold can't mount a physical sdcard onto the primary
storage symlink, and zygote can't re-bind-mount when secondary
storage is remounted after dropping privileges.

Bug: 70948587064600
Change-Id: Id91e3b3e521a3b3e1bb5358920adc66a0a43917f

11 years agoam e599c468: am cfeacbdd: Merge "Remove unnecessary compiler pragma."
Ian Rogers [Wed, 5 Sep 2012 14:52:13 +0000 (07:52 -0700)]
am e599c468: am cfeacbdd: Merge "Remove unnecessary compiler pragma."

* commit 'e599c4684ac47fe6417b9c482b7ff651513988ff':
  Remove unnecessary compiler pragma.

11 years agoam cfeacbdd: Merge "Remove unnecessary compiler pragma."
Ian Rogers [Wed, 5 Sep 2012 14:48:15 +0000 (07:48 -0700)]
am cfeacbdd: Merge "Remove unnecessary compiler pragma."

* commit 'cfeacbdd0cdd71a7974ac623e6534d0221d93ed9':
  Remove unnecessary compiler pragma.

11 years agoMerge "Remove unnecessary compiler pragma."
Ian Rogers [Wed, 5 Sep 2012 14:41:00 +0000 (07:41 -0700)]
Merge "Remove unnecessary compiler pragma."

11 years agoam 86e036a8: am e6516a53: Merge "Fix an ugly bug where try/catch offsets weren\'t...
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:59:27 +0000 (00:59 -0700)]
am 86e036a8: am e6516a53: Merge "Fix an ugly bug where try/catch offsets weren\'t being mapped properly."

* commit '86e036a83d596ebacb20c87c8f7bd8a8dfa98d9c':
  Fix an ugly bug where try/catch offsets weren't being mapped properly.

11 years agoam e6516a53: Merge "Fix an ugly bug where try/catch offsets weren\'t being mapped...
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:51:54 +0000 (00:51 -0700)]
am e6516a53: Merge "Fix an ugly bug where try/catch offsets weren\'t being mapped properly."

* commit 'e6516a5395a20f2bf923753e4dd87ffd304074fb':
  Fix an ugly bug where try/catch offsets weren't being mapped properly.

11 years agoMerge "Fix an ugly bug where try/catch offsets weren't being mapped properly."
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:47:38 +0000 (00:47 -0700)]
Merge "Fix an ugly bug where try/catch offsets weren't being mapped properly."

11 years agoam 93ee4913: am f3b60d2f: Merge "Fix a bug where the max blowup of annotations was...
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:39:22 +0000 (00:39 -0700)]
am 93ee4913: am f3b60d2f: Merge "Fix a bug where the max blowup of annotations was incorrect."

* commit '93ee4913aa3d9a6b23f303fe0d03a0d07a8ae4d2':
  Fix a bug where the max blowup of annotations was incorrect.

11 years agoam f3b60d2f: Merge "Fix a bug where the max blowup of annotations was incorrect."
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:35:15 +0000 (00:35 -0700)]
am f3b60d2f: Merge "Fix a bug where the max blowup of annotations was incorrect."

* commit 'f3b60d2f07280dd6b0753223d4590e11e18a3985':
  Fix a bug where the max blowup of annotations was incorrect.

11 years agoMerge "Fix a bug where the max blowup of annotations was incorrect."
Jean-Philippe Lesot [Wed, 5 Sep 2012 07:30:46 +0000 (00:30 -0700)]
Merge "Fix a bug where the max blowup of annotations was incorrect."

11 years agoFix a bug where the max blowup of annotations was incorrect.
Jesse Wilson [Sat, 1 Sep 2012 05:01:05 +0000 (01:01 -0400)]
Fix a bug where the max blowup of annotations was incorrect.

I'm not sure where the 1.34 number comes from but it's incorrect.
From the spec, the encoded_annotation is made up of a single byte
plus an unlimited number of uleb128 values. Each of these values
can double in width in the worst case. I received (personal) email
from one user who'd run into a case worse than the incorrect 1.34
limit.

Change-Id: I3b676e6d2b274aaa538ca61ce23945b3d49aff04

11 years agoFix an ugly bug where try/catch offsets weren't being mapped properly.
Jesse Wilson [Sat, 1 Sep 2012 04:37:56 +0000 (00:37 -0400)]
Fix an ugly bug where try/catch offsets weren't being mapped properly.

In dex files, there are several places where one object refers
to another object by its position in the file. The dex merger
is generally very careful to adjust these mappings when combining
dex files.

Unfortunately one of these cases was broken. Each try_item refers
to a corresponding encoded_catch_handler by its byte offset in a
list. Most of the time this byte offset is the same in the input
dex file and the output dex file. But encoded_catch_handlers are
variable-length because they use a variable-length uleb128 encoding
to address the type_idx being caught. When dex files are merged,
some exception types may go from having a small index to having
a large index, increasing the number of bytes required to encode
that index. This breaks our ability to directly copy over offsets
as we were doing previously.

Bug: http://code.google.com/p/android/issues/detail?id=36490
Change-Id: I3bdadf20899fdb5d4d074e69103b33c0404a31f8

11 years agoMake dex merging stateless. do not merge.
Xavier Ducrohet [Mon, 11 Jun 2012 22:17:31 +0000 (15:17 -0700)]
Make dex merging stateless. do not merge.

This is required to run dx in Eclipse which doesn't unload the dx
library after each run.

(cherry-pick of 7aa5ce7e990dc3766eba97cd0932b62e4de21503.)

(cherry picked from commit 5e90165d5918f18aec0964bc475f4064e9143599)

Change-Id: Id5818f516539d13423b7cef4b2b1af30a9686b45

11 years agoSupport debug info in dexmerge. do not merge.
Elliott Hughes [Thu, 7 Jun 2012 23:47:38 +0000 (16:47 -0700)]
Support debug info in dexmerge. do not merge.

Bug: 4090053

Signed-off-by: Jesse Wilson <jesse@swank.ca>
(cherry picked from commit bc23c4f3ebaefebb3f1be7732767631f91e165ea)

Change-Id: Ic59d3cc1866c2e4328e406f22cb23fc08d5c6d91

11 years agoMerge "Access to all users' external storage." into jb-mr1-dev
Jeff Sharkey [Thu, 30 Aug 2012 17:38:52 +0000 (10:38 -0700)]
Merge "Access to all users' external storage." into jb-mr1-dev

11 years agoMerge "Shared OBB storage across users." into jb-mr1-dev
Jeff Sharkey [Thu, 30 Aug 2012 17:28:52 +0000 (10:28 -0700)]
Merge "Shared OBB storage across users." into jb-mr1-dev

11 years agoam 8e98f776: am 3e46814d: Merge "Don\'t crash in dvmQuasiAtomicsShutdown if we never...
Elliott Hughes [Wed, 29 Aug 2012 23:35:42 +0000 (16:35 -0700)]
am 8e98f776: am 3e46814d: Merge "Don\'t crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."

* commit '8e98f7761d88d0230305d1855e4f418fe3554398':
  Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.

11 years agoam 3e46814d: Merge "Don\'t crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiA...
Elliott Hughes [Wed, 29 Aug 2012 23:31:07 +0000 (16:31 -0700)]
am 3e46814d: Merge "Don\'t crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."

* commit '3e46814d8984243612176c9b15d8d012dcca2143':
  Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.

11 years agoMerge "Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."
Elliott Hughes [Wed, 29 Aug 2012 23:24:47 +0000 (16:24 -0700)]
Merge "Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup."

11 years agoDon't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.
Elliott Hughes [Wed, 29 Aug 2012 22:46:18 +0000 (15:46 -0700)]
Don't crash in dvmQuasiAtomicsShutdown if we never ran dvmQuasiAtomicsStartup.

dalvikvm --help would fail here:

  #0  __pthread_mutex_destroy (mutex=0x0) at pthread_mutex_destroy.c:28
  #1  0xf7b36e13 in dvmDestroyMutex (pMutex=0x0) at dalvik/vm/Thread.h:465
  #2  dvmQuasiAtomicsShutdown () at dalvik/vm/Atomic.cpp:188
  #3  0xf7b65781 in dvmShutdown () at dalvik/vm/Init.cpp:1889
  #4  0xf7b65f31 in ~ScopedShutdown (this=<synthetic pointer>, __in_chrg=<optimized out>) at dalvik/vm/Init.cpp:1317
  #5  dvmStartup (argc=11, argv=0x804b360, ignoreUnrecognized=false, pEnv=0x804b398) at dalvik/vm/Init.cpp:1548
  #6  0xf7b790e2 in JNI_CreateJavaVM (p_vm=0xffffc758, p_env=0xffffc75c, vm_args=0xffffc760) at dalvik/vm/Jni.cpp:3502
  #7  0x08048958 in main (argc=13, argv=0xffffc8b8) at dalvik/dalvikvm/Main.cpp:212

Change-Id: I8c833ca5ea454d9b2d1714a569fb728562088659

11 years agoRemove unnecessary compiler pragma.
Ian Rogers [Wed, 29 Aug 2012 21:07:21 +0000 (14:07 -0700)]
Remove unnecessary compiler pragma.

With dlmalloc 2.8.6 the compiler pragmas to suppress warnings are not
necessary.
Remove unnecessary dlmalloc dl prefix #define.

Depends upon: https://android-review.googlesource.com/42351

Change-Id: Idc45cee9342efec0aab63d5172b3308a0fca3c4f

11 years agoAccess to all users' external storage.
Jeff Sharkey [Tue, 28 Aug 2012 23:23:22 +0000 (16:23 -0700)]
Access to all users' external storage.

System services holding this permission have external storage bound
one level higher, giving them access to all users' files.

Bug: 7003520
Change-Id: Id95d6d5b2fa2ff75c0c94f18f81cb118f837f665

11 years agoRevert "Revert "Trim pre-Zygote fork, fix under-estimate of heap limit.""
Ian Rogers [Tue, 28 Aug 2012 22:54:19 +0000 (15:54 -0700)]
Revert "Revert "Trim pre-Zygote fork, fix under-estimate of heap limit.""

This reverts commit 4c7e27186d87ccd40646fd4f514dc982ff5b40b1.

11 years agoRevert "Revert "Upgrade to dlmalloc 2.8.5.""
Ian Rogers [Tue, 28 Aug 2012 22:54:09 +0000 (15:54 -0700)]
Revert "Revert "Upgrade to dlmalloc 2.8.5.""

This reverts commit 729eebbb4e4ec5b826b7230b4c02267da341b70b.

11 years agoShared OBB storage across users.
Jeff Sharkey [Mon, 27 Aug 2012 22:47:24 +0000 (15:47 -0700)]
Shared OBB storage across users.

To avoid downloading large OBB files separately for each user,
provide a shared view of /sdcard/Android/obb to all apps.  This new
shared view is read-only by default, but it's mounted writable if
an app requests the WRITE_EXTERNAL_OBB_STORAGE permission.

Bug: 7008879
Change-Id: Ibc6a3dbf360bf1b9d356bf52595201d155ff73b8

11 years agoam 4014e152: am a5731795: Merge "Correctly handle switches on values in a high register"
Jean-Philippe Lesot [Tue, 28 Aug 2012 17:06:20 +0000 (10:06 -0700)]
am 4014e152: am a5731795: Merge "Correctly handle switches on values in a high register"

* commit '4014e152c86a0a6929382f8ac767d572ada21042':
  Correctly handle switches on values in a high register

11 years agoam a5731795: Merge "Correctly handle switches on values in a high register"
Jean-Philippe Lesot [Tue, 28 Aug 2012 17:01:52 +0000 (10:01 -0700)]
am a5731795: Merge "Correctly handle switches on values in a high register"

* commit 'a57317952de3fc37876f97e8655cc773b97df891':
  Correctly handle switches on values in a high register

11 years agoMerge "Correctly handle switches on values in a high register"
Jean-Philippe Lesot [Tue, 28 Aug 2012 16:58:20 +0000 (09:58 -0700)]
Merge "Correctly handle switches on values in a high register"

11 years agoam cc686898: am f6104618: Merge "Fix a bug where debugInfos\' size wasn\'t being...
Elliott Hughes [Mon, 27 Aug 2012 22:17:33 +0000 (15:17 -0700)]
am cc686898: am f6104618: Merge "Fix a bug where debugInfos\' size wasn\'t being computed."

* commit 'cc68689852b84b244ca393d748836f54cae5b5a7':
  Fix a bug where debugInfos' size wasn't being computed.

11 years agoam f6104618: Merge "Fix a bug where debugInfos\' size wasn\'t being computed."
Elliott Hughes [Mon, 27 Aug 2012 22:13:56 +0000 (15:13 -0700)]
am f6104618: Merge "Fix a bug where debugInfos\' size wasn\'t being computed."

* commit 'f610461867348df0c5a624d75f39b34071044fb2':
  Fix a bug where debugInfos' size wasn't being computed.

11 years agoMerge "Fix a bug where debugInfos' size wasn't being computed."
Elliott Hughes [Mon, 27 Aug 2012 21:57:24 +0000 (14:57 -0700)]
Merge "Fix a bug where debugInfos' size wasn't being computed."

11 years agoam f76ab40f: am ecda5d85: Merge "Fix for 6994917 GC is slower since JOO33B per Framew...
Ian Rogers [Fri, 24 Aug 2012 17:35:51 +0000 (10:35 -0700)]
am f76ab40f: am ecda5d85: Merge "Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test"

* commit 'f76ab40f7065b4e0202b83b8a7a0c4175d695801':
  Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test

11 years agoam ecda5d85: Merge "Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test"
Ian Rogers [Fri, 24 Aug 2012 17:33:41 +0000 (10:33 -0700)]
am ecda5d85: Merge "Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test"

* commit 'ecda5d8585466d63f185ff09047643e9bd9cb261':
  Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test

11 years agoMerge "Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test"
Ian Rogers [Fri, 24 Aug 2012 17:15:37 +0000 (10:15 -0700)]
Merge "Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test"

11 years agoRevert "Trim pre-Zygote fork, fix under-estimate of heap limit."
Ian Rogers [Fri, 24 Aug 2012 16:40:26 +0000 (09:40 -0700)]
Revert "Trim pre-Zygote fork, fix under-estimate of heap limit."

This reverts commit 2f8d5e11f735e9ee8e235c31b3f113f6c90ad63c.

11 years agoam 6464661f: am b48569ac: Merge "Fix build warning."
Brian Carlstrom [Fri, 24 Aug 2012 14:30:34 +0000 (07:30 -0700)]
am 6464661f: am b48569ac: Merge "Fix build warning."

* commit '6464661ff5ca7dd83f60f68e7b40af0ed3ec8760':
  Fix build warning.

11 years agoam bd561cbf: am a9dd9337: Merge "Trim pre-Zygote fork, fix under-estimate of heap...
Ian Rogers [Fri, 24 Aug 2012 14:29:48 +0000 (07:29 -0700)]
am bd561cbf: am a9dd9337: Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."

* commit 'bd561cbffebbff1a8b17e031841ab2fcd2777cff':
  Trim pre-Zygote fork, fix under-estimate of heap limit.

11 years agoam b48569ac: Merge "Fix build warning."
Brian Carlstrom [Fri, 24 Aug 2012 03:35:43 +0000 (20:35 -0700)]
am b48569ac: Merge "Fix build warning."

* commit 'b48569acbb7b3702f1071befa5ebfeae7a46303b':
  Fix build warning.

11 years agoMerge "Fix build warning."
Brian Carlstrom [Fri, 24 Aug 2012 03:20:47 +0000 (20:20 -0700)]
Merge "Fix build warning."

11 years agoFix build warning.
Ying Wang [Thu, 23 Aug 2012 18:12:12 +0000 (11:12 -0700)]
Fix build warning.

Change-Id: I1f9813c9dc1dfc388f82f37584fe60256b6a8b12

11 years agoam a9dd9337: Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."
Ian Rogers [Thu, 23 Aug 2012 20:48:25 +0000 (13:48 -0700)]
am a9dd9337: Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."

* commit 'a9dd9337605a610841c86fe1bd90a8fa9b8d28c9':
  Trim pre-Zygote fork, fix under-estimate of heap limit.

11 years agoMerge "Trim pre-Zygote fork, fix under-estimate of heap limit."
Ian Rogers [Thu, 23 Aug 2012 20:35:23 +0000 (13:35 -0700)]
Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."

11 years agoFix for 6994917 GC is slower since JOO33B per FrameworkPerf test
Mathieu Chartier [Wed, 22 Aug 2012 01:14:19 +0000 (18:14 -0700)]
Fix for 6994917 GC is slower since JOO33B per FrameworkPerf test

Fixes the GC aspect of the regression in FrameworkTest for Gc.
Large bitmap test seems to be unaffected.

Changes are:
We now have minimum sleep of 1ms instead of 10ms in dvmSuspendAll.
Some heuristics to avoid doing extra GCs if an allocation waited for a concurrent Gc.

Change-Id: I3797c7dc813e26bd1f7bb0a9dbe55eb70dd1c9c9

11 years agoMerge "Fix build warning." into jb-mr1-dev
Ying Wang [Thu, 23 Aug 2012 18:27:01 +0000 (11:27 -0700)]
Merge "Fix build warning." into jb-mr1-dev

11 years agoFix build warning.
Ying Wang [Thu, 23 Aug 2012 18:12:12 +0000 (11:12 -0700)]
Fix build warning.

Change-Id: I1f9813c9dc1dfc388f82f37584fe60256b6a8b12

11 years agoOne more errno for encrypted devices.
Jeff Sharkey [Thu, 23 Aug 2012 17:32:20 +0000 (10:32 -0700)]
One more errno for encrypted devices.

Bug: 7017585
Change-Id: I4c2cc95a5c3a44bab4a93f3a1f8907869f0ce8e6

11 years agoFix a bug where debugInfos' size wasn't being computed.
Jesse Wilson [Thu, 23 Aug 2012 06:20:26 +0000 (23:20 -0700)]
Fix a bug where debugInfos' size wasn't being computed.

Previously debugInfos' size of 0 caused a malformed dex file
because debug data was present but not mentioned in the table
of contents.

Change-Id: I07171aaee12fef9f303fc505909f44ef1a714114

11 years agoTrim pre-Zygote fork, fix under-estimate of heap limit.
Ian Rogers [Thu, 23 Aug 2012 05:14:32 +0000 (22:14 -0700)]
Trim pre-Zygote fork, fix under-estimate of heap limit.

Card scanning uses dvmHeapSourceGetValue to scan from the heap base to
the total foot print of the heap. Trimming the Zygote may lower the
footprint of the heap by creating a hole in the middle. This hole is
unaccounted for in the card scanning leading to missed dirty cards.

This was a regression introduced by:
https://android-review.googlesource.com/#/c/41728/
as it didn't #define MORECORE_CANNOT_TRIM 1 that was previously defined
here:
https://android-review.googlesource.com/#/c/41731/4/libcutils/mspace.c

Introduce a notion of dvmHeapSourceGetLimit so that card scanning
doesn't rely on footprint. Trim the heap before forking the Zygote. This
change continues to enable morecore trimming of mspaces.

Change-Id: I3f0b12371097f50a1f920cac25846ca08685e7ed

11 years agoCorrectly handle switches on values in a high register
Ben Gruver [Thu, 23 Aug 2012 01:45:25 +0000 (18:45 -0700)]
Correctly handle switches on values in a high register

When dx generates a switch on a value in a high register, it prepends a move
instruction, to move the value to a low register. However, this causes the
switch data pseudo-instruction to use address of the move instruction as the
base address of the switch targets, rather than the address of the switch
instruction

Change-Id: I0708d35ec3059c30221cd0a64f426244411d31ea

11 years agoMerge "Iteration on multi-user external storage." into jb-mr1-dev
Jeff Sharkey [Thu, 23 Aug 2012 01:17:30 +0000 (18:17 -0700)]
Merge "Iteration on multi-user external storage." into jb-mr1-dev

11 years agoIteration on multi-user external storage.
Jeff Sharkey [Wed, 22 Aug 2012 21:08:31 +0000 (14:08 -0700)]
Iteration on multi-user external storage.

Zygote now mounts a tmpfs over any existing /storage contents, giving
it a clean slate for its bind mounts.  This supports a symlink that
enables legacy /sdcard paths for shell users.  Move to using paths
defined from environment variables, instead of header files.

Bug: 6925012
Change-Id: Ia4a2ac35ecfe98b617c27ff3bd73deb29e395e55

11 years agoRevert "Upgrade to dlmalloc 2.8.5."
Brian Carlstrom [Wed, 22 Aug 2012 19:11:40 +0000 (12:11 -0700)]
Revert "Upgrade to dlmalloc 2.8.5."

This reverts commit bba37bd191843ef29ef9c7a8839e98b73debfffa.

11 years agoRevert "Ensure we fence the writing of clazz to an Object post allocation."
Brian Carlstrom [Wed, 22 Aug 2012 19:11:29 +0000 (12:11 -0700)]
Revert "Ensure we fence the writing of clazz to an Object post allocation."

This reverts commit 821ab588af4566a800d4b5608092ccc1dd3764af.

11 years agoEnsure we fence the writing of clazz to an Object post allocation.
Ian Rogers [Wed, 22 Aug 2012 00:26:13 +0000 (17:26 -0700)]
Ensure we fence the writing of clazz to an Object post allocation.

We hold the heap lock during the calloc of an object in the GCed heap.
We do a non-volatile store following this for the clazz, this may lead to a
race where an object is allocated but appears to have no clazz.

Found investigating Bug: 7028104

Change-Id: I390ad4c7b9632127bd27393742be347b84d9269a

11 years agoam 1129f6a7: am b931f906: Merge "Upgrade to dlmalloc 2.8.5."
Brian Carlstrom [Mon, 20 Aug 2012 23:29:58 +0000 (16:29 -0700)]
am 1129f6a7: am b931f906: Merge "Upgrade to dlmalloc 2.8.5."

* commit '1129f6a78708a8d8861f8053616c3961aefdc1ef':
  Upgrade to dlmalloc 2.8.5.

11 years agoam b931f906: Merge "Upgrade to dlmalloc 2.8.5."
Brian Carlstrom [Mon, 20 Aug 2012 23:28:17 +0000 (16:28 -0700)]
am b931f906: Merge "Upgrade to dlmalloc 2.8.5."

* commit 'b931f9065990520bf34b8c6128e069b4cca4a7ec':
  Upgrade to dlmalloc 2.8.5.

11 years agoMerge "Upgrade to dlmalloc 2.8.5."
Brian Carlstrom [Mon, 20 Aug 2012 23:12:37 +0000 (16:12 -0700)]
Merge "Upgrade to dlmalloc 2.8.5."

11 years agoUpgrade to dlmalloc 2.8.5.
Ian Rogers [Sat, 18 Aug 2012 00:01:51 +0000 (17:01 -0700)]
Upgrade to dlmalloc 2.8.5.

Switch to using dlmalloc 2.8.5. Define mspace functionality directly
using dlmalloc rather than taking from libcutils.
Remove growth limit check in tryMalloc that only checks initial growth
limit.
Implement trimming at the end of the mspace.

Depends upon: https://android-review.googlesource.com/41717

Change-Id: Ia2c6b50bdb0b0d5aae4b18deefbd1bf50dfa49d5

11 years agoMerge "Multi-user external storage support." into jb-mr1-dev
Jeff Sharkey [Thu, 16 Aug 2012 21:32:58 +0000 (14:32 -0700)]
Merge "Multi-user external storage support." into jb-mr1-dev

11 years agoMulti-user external storage support.
Jeff Sharkey [Sat, 11 Aug 2012 21:11:44 +0000 (14:11 -0700)]
Multi-user external storage support.

When a specialized zygote process needs external storage access,
create a private mount namespace and create a bind mount to give
them access.  Support both single-user and multi-user modes, which
dictate the bind mount source.

Bug: 6925012
Change-Id: Ib987ba09f59ce03a6aeb9ee8bcb522965a2dfb67

11 years agoam 031072f0: am 57573862: Merge "hardening: eliminate all text relocations from lidbvm"
Elliott Hughes [Mon, 13 Aug 2012 18:44:02 +0000 (11:44 -0700)]
am 031072f0: am 57573862: Merge "hardening: eliminate all text relocations from lidbvm"

* commit '031072f007d3ffd0d2facd6277005f2dac93c19c':
  hardening: eliminate all text relocations from lidbvm

11 years agoam 57573862: Merge "hardening: eliminate all text relocations from lidbvm"
Elliott Hughes [Mon, 13 Aug 2012 18:40:32 +0000 (11:40 -0700)]
am 57573862: Merge "hardening: eliminate all text relocations from lidbvm"

* commit '57573862ca6b377c73958d5ba876a406445b4490':
  hardening: eliminate all text relocations from lidbvm

11 years agoMerge "hardening: eliminate all text relocations from lidbvm"
Elliott Hughes [Mon, 13 Aug 2012 18:25:22 +0000 (11:25 -0700)]
Merge "hardening: eliminate all text relocations from lidbvm"

11 years agohardening: eliminate all text relocations from lidbvm
Ard Biesheuvel [Sat, 11 Aug 2012 10:45:01 +0000 (12:45 +0200)]
hardening: eliminate all text relocations from lidbvm

This patch consists of:
- changes to mterp/ that turn all literals from absolute
  to PC relative, so the relocations can be resolved at
  (build) link time
- changes to compiler/template/ that result in the
  compiler templates to live in the non-executable
  .data.rel.ro section (this code is never executed
  directly, only from the jit heap, so there is no
  reason to put it in the .text section)

Change-Id: I2dc97bd4720b393a74b7277a188f0c7b681fc932
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
11 years agoam 219a3f5f: am 21212cbd: Merge "Fix ALOGV bit rot."
Elliott Hughes [Tue, 7 Aug 2012 01:38:14 +0000 (18:38 -0700)]
am 219a3f5f: am 21212cbd: Merge "Fix ALOGV bit rot."

* commit '219a3f5fdb4a8b85646037e2c09b3c7e408b1ec8':
  Fix ALOGV bit rot.

11 years agoam 21212cbd: Merge "Fix ALOGV bit rot."
Elliott Hughes [Tue, 7 Aug 2012 01:36:44 +0000 (18:36 -0700)]
am 21212cbd: Merge "Fix ALOGV bit rot."

* commit '21212cbd65aa7ec7d69f0c6f5b98794045f750a5':
  Fix ALOGV bit rot.

11 years agoMerge "Fix ALOGV bit rot."
Elliott Hughes [Tue, 7 Aug 2012 01:34:10 +0000 (18:34 -0700)]
Merge "Fix ALOGV bit rot."

11 years agoFix ALOGV bit rot.
Elliott Hughes [Tue, 7 Aug 2012 00:40:02 +0000 (17:40 -0700)]
Fix ALOGV bit rot.

Change-Id: Ia182af8f5ca3967a21003b3d1513145f8e6e5db0

11 years agoam aa1d0261: am 464388e8: Merge "Don\'t crash on invalid string/type ids."
Elliott Hughes [Mon, 6 Aug 2012 17:34:30 +0000 (10:34 -0700)]
am aa1d0261: am 464388e8: Merge "Don\'t crash on invalid string/type ids."

* commit 'aa1d026167c9024bf08784527b5c4176ee8c6523':
  Don't crash on invalid string/type ids.

11 years agoam 464388e8: Merge "Don\'t crash on invalid string/type ids."
Elliott Hughes [Mon, 6 Aug 2012 17:33:05 +0000 (10:33 -0700)]
am 464388e8: Merge "Don\'t crash on invalid string/type ids."

* commit '464388e8756d362f91d110b5741ba785ea3d44bd':
  Don't crash on invalid string/type ids.