OSDN Git Service
Jeff Brown [Thu, 31 May 2012 01:07:55 +0000 (18:07 -0700)]
am
89cf125c: Report GC pause times more accurately.
* commit '
89cf125cd95a7df3a713cb3d3d39a033304e474c':
Report GC pause times more accurately.
Jeff Brown [Thu, 31 May 2012 00:09:27 +0000 (17:09 -0700)]
Report GC pause times more accurately.
Include the time that it actually took to pause or suspend
threads in the reported time.
Also report the amount of time that other threads spend blocked
waiting for a concurrent GC to complete.
Change-Id: I80af351c2dc3171fc7db48dbbb361f3d92bbca80
Elliott Hughes [Wed, 30 May 2012 21:18:12 +0000 (14:18 -0700)]
am
07901d5e: Merge "Running rebuild.sh found a few changes to be updated to vm/mterp/out/InterpAsm-mips.S and vm/mterp/out/InterpC-mips.cpp"
* commit '
07901d5e8d0be0130d92b626f0b92d177ba8f460':
Running rebuild.sh found a few changes to be updated to vm/mterp/out/InterpAsm-mips.S and vm/mterp/out/InterpC-mips.cpp
Elliott Hughes [Wed, 30 May 2012 21:08:08 +0000 (14:08 -0700)]
Merge "Running rebuild.sh found a few changes to be updated to vm/mterp/out/InterpAsm-mips.S and vm/mterp/out/InterpC-mips.cpp"
Raghu Gandham [Mon, 21 May 2012 19:31:11 +0000 (12:31 -0700)]
Running rebuild.sh found a few changes to be updated to
vm/mterp/out/InterpAsm-mips.S and
vm/mterp/out/InterpC-mips.cpp
The Android Open Source Project [Tue, 22 May 2012 20:04:55 +0000 (13:04 -0700)]
Reconcile with jb-release
Change-Id: I9be82c25a57356698a04628abbbb0a18f95a9ca2
The Android Automerger [Sun, 20 May 2012 14:39:37 +0000 (07:39 -0700)]
merge in jb-release history after reset to jb-dev
The Android Automerger [Sat, 19 May 2012 18:42:45 +0000 (11:42 -0700)]
merge in jb-release history after reset to jb-dev
The Android Automerger [Sat, 19 May 2012 17:05:41 +0000 (10:05 -0700)]
merge in jb-release history after reset to jb-dev
Brian Carlstrom [Fri, 18 May 2012 00:17:09 +0000 (17:17 -0700)]
am
6fb6f30d: Update test 089 expectations
* commit '
6fb6f30d1d079724bc6107c4c68eabf2d8cadefb':
Update test 089 expectations
Brian Carlstrom [Thu, 17 May 2012 23:14:09 +0000 (16:14 -0700)]
Update test 089 expectations
Change-Id: I9023d20d1bc68204f932449b5e90fcb455da7a0b
The Android Open Source Project [Wed, 16 May 2012 15:40:00 +0000 (08:40 -0700)]
Reconcile with jb-release nakasi-factoryrom-release
Change-Id: I805eea05d6c4840fe471dbfbfb5624a7fdc78235
The Android Automerger [Mon, 14 May 2012 13:59:59 +0000 (06:59 -0700)]
merge in jb-release history after reset to jb-dev
Elliott Hughes [Sat, 12 May 2012 04:56:02 +0000 (21:56 -0700)]
am
3492e8ab: Merge " Trim after explicit gc."
* commit '
3492e8ab5939ebdbec642ad284bce015937e60d9':
Trim after explicit gc.
Elliott Hughes [Fri, 11 May 2012 22:29:32 +0000 (15:29 -0700)]
Merge " Trim after explicit gc."
SangWook Han [Fri, 11 May 2012 11:58:01 +0000 (20:58 +0900)]
Trim after explicit gc.
On Gingerbread, dvmHeapSourceTrim() is called 5 seconds
after every kind of GC. Current AOSP do trim only for
concurrent GC. That makes OOM killer too busy.
At least explicit GC need trim and in case of explicit
GC, there are no need to delay 5 seconds before trim.
Change-Id: I8fde8f773398bf20c674cfa6f686d7d745d56492
SangWook Han [Fri, 11 May 2012 22:18:21 +0000 (15:18 -0700)]
am
0cea134b: Fix: Issue 26627: Dalvik Heap Trim timer value after GC
* commit '
0cea134bef68f348225178dacf03716d4907bdbe':
Fix: Issue 26627: Dalvik Heap Trim timer value after GC
SangWook Han [Fri, 11 May 2012 11:45:33 +0000 (20:45 +0900)]
Fix: Issue 26627: Dalvik Heap Trim timer value after GC
dvmRelativeCondWait need millisecods not seconds.
With this fix, trim will begins 5 seconds after concurrent GC
Bug: http://code.google.com/p/android/issues/detail?id=26627
Bug:
6482868
Change-Id: I3802b48e345725fb78e4ef2c999dd243ef30a138
Elliott Hughes [Fri, 11 May 2012 21:14:07 +0000 (14:14 -0700)]
am
07cfd74d: Merge " Fix: Issue 26627: Dalvik Heap Trim timer value after GC"
* commit '
07cfd74d766d821196fa2451604af25cfa9767de':
Fix: Issue 26627: Dalvik Heap Trim timer value after GC
Elliott Hughes [Fri, 11 May 2012 18:56:15 +0000 (11:56 -0700)]
Merge " Fix: Issue 26627: Dalvik Heap Trim timer value after GC"
SangWook Han [Fri, 11 May 2012 11:45:33 +0000 (20:45 +0900)]
Fix: Issue 26627: Dalvik Heap Trim timer value after GC
dvmRelativeCondWait need millisecods not seconds.
With this fix, trim will begins 5 seconds after concurrent GC
Bug: http://code.google.com/p/android/issues/detail?id=26627
Change-Id: I3802b48e345725fb78e4ef2c999dd243ef30a138
Elliott Hughes [Thu, 10 May 2012 16:25:55 +0000 (09:25 -0700)]
am
259298d9: Make sure we have room for future Maps builds.
* commit '
259298d964e55be9f2afbd9e145311895ed920da':
Make sure we have room for future Maps builds.
The Android Automerger [Thu, 10 May 2012 14:00:15 +0000 (07:00 -0700)]
merge in jb-release history after reset to jb-dev
Elliott Hughes [Thu, 10 May 2012 00:45:01 +0000 (17:45 -0700)]
Make sure we have room for future Maps builds.
They're worried that the Honeycomb increase to 8MiB won't last them very long.
Bug:
6423582
Change-Id: I5f35add9f370548415c0a5e6aed42ec5bd943a03
The Android Automerger [Sun, 6 May 2012 21:21:23 +0000 (14:21 -0700)]
merge in jb-release history after reset to jb-dev
Elliott Hughes [Fri, 4 May 2012 23:59:59 +0000 (16:59 -0700)]
am
2b02fef4: Lose libnativehelper to its own project for the PDK.
* commit '
2b02fef409ebf91d3a9e6a624ab4f60ef540dbc9':
Lose libnativehelper to its own project for the PDK.
Elliott Hughes [Fri, 4 May 2012 04:50:07 +0000 (21:50 -0700)]
am
20aeca6e: Merge "Pad the 8 and 16 bit Jvalue members"
* commit '
20aeca6e2b18c07d3840f4b09f09186511148d8c':
Pad the 8 and 16 bit Jvalue members
Elliott Hughes [Fri, 4 May 2012 01:35:53 +0000 (18:35 -0700)]
resolved conflicts for merge of
93a44a28 to jb-dev-plus-aosp
Change-Id: I9c1f2e37602bea86e70333d2b274665e99fcbd92
Elliott Hughes [Fri, 4 May 2012 00:18:25 +0000 (17:18 -0700)]
Lose libnativehelper to its own project for the PDK.
Bug:
6369821
Change-Id: Iae06cf1570a14ddefad6b31eec904d9fa598d89f
Elliott Hughes [Thu, 3 May 2012 17:49:51 +0000 (10:49 -0700)]
Merge "Pad the 8 and 16 bit Jvalue members"
Chris Dearman [Tue, 31 Jan 2012 02:10:35 +0000 (18:10 -0800)]
Pad the 8 and 16 bit Jvalue members
This allows them to be consistently accessed as either 8-bit,
16-bit or 32-bit values in bigendian and little-endian mode.
Change-Id: I1be5519f3666a3553b404368075f5a7b5d9e6b32
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Raghu Gandham <raghu@mips.com>
Elliott Hughes [Thu, 3 May 2012 16:42:38 +0000 (09:42 -0700)]
Merge "[MIPS] Dalvik fast interpreter support and JIT implementation"
Elliott Hughes [Thu, 3 May 2012 14:20:21 +0000 (07:20 -0700)]
am
e6bdc430: Merge "Fix a bug in dvmQuasiAtomicsShutdown."
* commit '
e6bdc430f38ef9c2e74ecdb0cee5aa04848e71fc':
Fix a bug in dvmQuasiAtomicsShutdown.
Elliott Hughes [Thu, 3 May 2012 06:21:27 +0000 (23:21 -0700)]
Merge "Fix a bug in dvmQuasiAtomicsShutdown."
Elliott Hughes [Thu, 3 May 2012 00:06:58 +0000 (17:06 -0700)]
am
a14639df: Merge "Support architectures that require correctly aligned doubles"
* commit '
a14639df65cc0aefafcddda5aae8b591204e45f9':
Support architectures that require correctly aligned doubles
Elliott Hughes [Wed, 2 May 2012 23:07:36 +0000 (16:07 -0700)]
Fix a bug in dvmQuasiAtomicsShutdown.
Spotted visually when merging to an internal branch.
Change-Id: Ic130608bfa46036cec0684cd50706178cfefd2a0
Elliott Hughes [Wed, 2 May 2012 22:08:08 +0000 (15:08 -0700)]
resolved conflicts for merge of
323d9152 to jb-dev-plus-aosp
Change-Id: Ie94542150dad725ca09ad2824cddd034cd6a149b
Raghu Gandham [Wed, 2 May 2012 21:27:16 +0000 (14:27 -0700)]
[MIPS] Dalvik fast interpreter support and JIT implementation
Change-Id: I9bb4f6875b7061d3ffaee73f204026cb8ba3ed39
Signed-off-by: Raghu Gandham <raghu@mips.com>
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Douglas Leung <douglas@mips.com>
Signed-off-by: Don Padgett <don@mips.com>
Elliott Hughes [Wed, 2 May 2012 20:47:18 +0000 (13:47 -0700)]
Merge "Support architectures that require correctly aligned doubles"
Elliott Hughes [Wed, 2 May 2012 17:25:07 +0000 (10:25 -0700)]
Merge "Simplify the quasi-atomic stuff and add MIPS support."
Elliott Hughes [Wed, 2 May 2012 00:24:51 +0000 (17:24 -0700)]
Simplify the quasi-atomic stuff and add MIPS support.
Change-Id: Iac896c03ef707c998cc714628adea0255f21c035
Elliott Hughes [Tue, 1 May 2012 05:46:12 +0000 (22:46 -0700)]
resolved conflicts for merge of
5a1fcc8a to jb-dev-plus-aosp
Change-Id: I229e532e3c2892251244bde61290ff40e7b95b4e
Elliott Hughes [Tue, 1 May 2012 05:15:31 +0000 (22:15 -0700)]
resolved conflicts for merge of
4c5f9711 to jb-dev-plus-aosp
Change-Id: I4c724c3df990a5abf42cec748bbbba25ee5bc112
Elliott Hughes [Tue, 1 May 2012 04:04:50 +0000 (21:04 -0700)]
am
8b946491: Merge "Fixed bug in x86-atom fast interpreter. Adds guard for potential null pointer. Adds guard for potential null pointer when checking for debugger active on return from method."
* commit '
8b946491bd4d09229dc342c0be78ef36a56e7f78':
Fixed bug in x86-atom fast interpreter. Adds guard for potential null pointer. Adds guard for potential null pointer when checking for debugger active on return from method.
Elliott Hughes [Tue, 1 May 2012 01:43:30 +0000 (18:43 -0700)]
Merge changes I8669dfbc,I0ffb15b7,Ib2b8e87a,Ifc7de30e
* changes:
Use old frame for dvmReportPreNativeInvoke/dvmReportPostNativeInvoke
Restore fp after calling JNI method in allstubs interpreter
Fix the warning emitted by codesourcery compiler 4.5.2
Fix instruction logging messages
Elliott Hughes [Tue, 1 May 2012 01:42:05 +0000 (18:42 -0700)]
Merge "Fix the portable interpreter build"
Elliott Hughes [Tue, 1 May 2012 00:47:55 +0000 (17:47 -0700)]
Merge "Fixed bug in x86-atom fast interpreter. Adds guard for potential null pointer. Adds guard for potential null pointer when checking for debugger active on return from method."
The Android Automerger [Wed, 25 Apr 2012 14:47:10 +0000 (07:47 -0700)]
merge in jb-release history after reset to jb-dev
Elliott Hughes [Tue, 24 Apr 2012 21:31:33 +0000 (14:31 -0700)]
am
0cdf3934: am
d2a4bb85: Merge "Fix a leak in the JIT."
* commit '
0cdf3934d334805fd6f22040fa781a86515ad2bf':
Fix a leak in the JIT.
Elliott Hughes [Tue, 24 Apr 2012 21:25:11 +0000 (14:25 -0700)]
resolved conflicts for merge of
156f3159 to master
Change-Id: I2f954597257df43d3c6367bbab40f1fdad229502
Glenn Kasten [Sun, 22 Apr 2012 18:26:01 +0000 (11:26 -0700)]
apps forked from zygote run in default cgroup
zygote and it's children, including system_server and all app processes,
currently start in root cgroup. Most app threads eventually join either
bg_noninteractive or foreground cgroups, but we can't depend on that.
This change puts system_server and all app processes in the system
default cgroup aka foreground instead.
See also bug
6376294 which will provide a more general way of configuring cgroups.
Excerpt of ps -P -t before fix. Note that app u0_a7 has some threads in root cgroup:
USER PID PPID VSIZE RSS PCY WCHAN PC NAME
root 91 1 441308 35052
ffffffff 400d4bf8 S zygote
root 1838 91 441308 35052
c009c0c4 400d5bdc S ReferenceQueueD
root 1840 91 441308 35052
c009c0c4 400d5bdc S FinalizerDaemon
root 1842 91 441308 35052
c009c0c4 400d5bdc S FinalizerWatchd
u0_a7 1378 91 461036 28676
ffffffff 400d59b0 S com.google.android.calendar
u0_a7 1380 1378 461036 28676
c009c0c4 400d5bdc S GC
u0_a7 1383 1378 461036 28676
c00827fc 400d5494 S Signal Catcher
u0_a7 1384 1378 461036 28676
c0408d14 400d569c S JDWP
u0_a7 1385 1378 461036 28676
c009c0c4 400d5bdc S Compiler
u0_a7 1386 1378 461036 28676
c009c0c4 400d5bdc S ReferenceQueueD
u0_a7 1387 1378 461036 28676
c009c0c4 400d5bdc S FinalizerDaemon
u0_a7 1388 1378 461036 28676
c009c0c4 400d5bdc S FinalizerWatchd
u0_a7 1389 1378 461036 28676 fg
c035ac7c 400d4ad4 S Binder_1
u0_a7 1390 1378 461036 28676 fg
c035ac7c 400d4ad4 S Binder_2
u0_a7 1393 1378 461036 28676
c009c0c4 400d5bdc S pool-1-thread-1
u0_a7 1395 1378 461036 28676 bg
c009c0c4 400d5bdc S AsyncTask #1
u0_a7 1410 1378 461036 28676
c009c0c4 400d5bdc S pool-2-thread-1
u0_a7 1411 1378 461036 28676 bg
c009c0c4 400d5bdc S AsyncTask #2
u0_a7 1428 1378 461036 28676
c01258cc 400d59b0 S AsyncQueryWorke
u0_a7 1469 1378 461036 28676 bg
c009c0c4 400d5bdc S AsyncTask #3
u0_a7 1563 1378 461036 28676
c009c0c4 400d5bdc S pool-3-thread-1
u0_a7 1564 1378 461036 28676 bg
c009c0c4 400d5bdc S AsyncTask #4
After the fix, now only kernel workers and native system services run in root cgroup:
USER PID PPID VSIZE RSS PCY WCHAN PC NAME
root 91 1 441304 35048
ffffffff 4007abf8 S zygote
root 1490 91 441304 35048
c009c0c4 4007bbdc S ReferenceQueueD
root 1491 91 441304 35048
c009c0c4 4007bbdc S FinalizerDaemon
root 1493 91 441304 35048
c009c0c4 4007bbdc S FinalizerWatchd
u0_a7 1335 91 460032 32124 bg
ffffffff 4007b9b0 S com.google.android.calendar
u0_a7 1337 1335 460032 32124 bg
c009c0c4 4007bbdc S GC
u0_a7 1338 1335 460032 32124 bg
c00827fc 4007b494 S Signal Catcher
u0_a7 1341 1335 460032 32124 bg
c0408d14 4007b69c S JDWP
u0_a7 1342 1335 460032 32124 bg
c009c0c4 4007bbdc S Compiler
u0_a7 1343 1335 460032 32124 bg
c009c0c4 4007bbdc S ReferenceQueueD
u0_a7 1344 1335 460032 32124 bg
c009c0c4 4007bbdc S FinalizerDaemon
u0_a7 1345 1335 460032 32124 bg
c009c0c4 4007bbdc S FinalizerWatchd
u0_a7 1346 1335 460032 32124 fg
c035ac7c 4007aad4 S Binder_1
u0_a7 1347 1335 460032 32124 fg
c035ac7c 4007aad4 S Binder_2
u0_a7 1351 1335 460032 32124 bg
c009c0c4 4007bbdc S AsyncTask #1
u0_a7 1380 1335 460032 32124 bg
c01258cc 4007b9b0 S AsyncQueryWorke
u0_a7 1417 1335 460032 32124 bg
c009c0c4 4007bbdc S AsyncTask #2
u0_a7 1452 1335 460032 32124 bg
c009c0c4 4007bbdc S AsyncTask #3
u0_a7 1555 1335 460032 32124 bg
c01258cc 4007b9b0 S Thread-134
u0_a7 1691 1335 460032 32124 bg
c009c0c4 4007bbdc S pool-3-thread-1
u0_a7 1692 1335 460032 32124 bg
c009c0c4 4007bbdc S AsyncTask #4
Not shown, but system_server also runs in fg (it already did; this change
didn't affect that).
Change-Id: I516960a102c9d59fc9bfb5888d90a7645d178dcf
Elliott Hughes [Fri, 20 Apr 2012 23:47:54 +0000 (16:47 -0700)]
am
d2a4bb85: Merge "Fix a leak in the JIT."
* commit '
d2a4bb85573f20edd751557dfdca2033652b9f36':
Fix a leak in the JIT.
Elliott Hughes [Fri, 20 Apr 2012 17:11:41 +0000 (10:11 -0700)]
Merge "Fix a leak in the JIT."
Elliott Hughes [Fri, 20 Apr 2012 05:56:08 +0000 (22:56 -0700)]
am
53b07f7b: Merge "Fix a small memory leak."
* commit '
53b07f7bc2fb344727511e3a1f7ce8f10e36e7b0':
Fix a small memory leak.
Elliott Hughes [Fri, 20 Apr 2012 00:16:08 +0000 (17:16 -0700)]
Fix a leak in the JIT.
We should use the JIT's arena rather than explicit allocation/deallocation.
Change-Id: I12b78cb1586222b082b140e4a1db00969ce23e3c
Elliott Hughes [Thu, 19 Apr 2012 22:45:10 +0000 (15:45 -0700)]
Merge "Fix a small memory leak."
Elliott Hughes [Sat, 7 Jan 2012 01:25:14 +0000 (17:25 -0800)]
Fix a small memory leak.
Found by someone reading the code, rather than because we saw a crash. This is
only a small leak, and you'd have to be dumping threads (because of an ANR) or
creating a new thread to provoke it.
(cherry picked from commit
6d1a1dfd0ef006e19067b6ffd927160d0c6d9647)
Change-Id: Id857efca8d34b20d1acaa452c3fe5d2975e2572b
The Android Automerger [Tue, 17 Apr 2012 13:59:46 +0000 (06:59 -0700)]
merge in jb-release history after reset to master
jeffhao [Mon, 16 Apr 2012 18:12:46 +0000 (11:12 -0700)]
Merge "Output number of bytes used by LinearAlloc during dexopt."
The Android Automerger [Mon, 16 Apr 2012 14:00:14 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
jeffhao [Fri, 13 Apr 2012 23:55:01 +0000 (16:55 -0700)]
Output number of bytes used by LinearAlloc during dexopt.
Maps is exceeding the LinearAlloc limit set in Gingerbread (5MB). They
wanted a way to know how close they were from going over, so this added
output can tell them how much room is left.
Change-Id: I0b78ce24accc05746bc396398086ce695bd7ba57
Ben Cheng [Fri, 13 Apr 2012 23:35:41 +0000 (16:35 -0700)]
Fix an array out-of-bound read in the JIT compiler.
Without the fix the compiler is still safe since the offending memory access
is a read, though the hoisted distance is non-deterministic. The easiest and
safest fix is to unconditionally hoist a load when it can reach the
scheduling barrier.
BUG:
6300640
Change-Id: Ic83de6dd1e3f602bda6809bfe840db3a097a5176
Elliott Hughes [Thu, 12 Apr 2012 23:01:09 +0000 (16:01 -0700)]
Add a -XX:mainThreadStackSize= option.
Similar to -Xss, but for the main thread only.
Bug:
6315322
Change-Id: I84bd5974f830f348fd9a0486ae972520b4a02cc4
Elliott Hughes [Thu, 12 Apr 2012 23:01:09 +0000 (16:01 -0700)]
Add a -XX:mainThreadStackSize= option.
Similar to -Xss, but for the main thread only.
Bug:
6315322
Change-Id: I84bd5974f830f348fd9a0486ae972520b4a02cc4
Bill Buzbee [Thu, 12 Apr 2012 18:04:13 +0000 (11:04 -0700)]
Merge "Support building Dalvik with AddressSanitizer."
Jeff Brown [Wed, 11 Apr 2012 03:34:39 +0000 (20:34 -0700)]
Make sure we rethrow the same exception we started with.
Bug:
6312938
Change-Id: I41d8adf27fd32103c55d9eeafa28a25c37f5029d
Evgeniy Stepanov [Wed, 4 Apr 2012 16:23:54 +0000 (20:23 +0400)]
Support building Dalvik with AddressSanitizer.
Change-Id: I007c5080081a4a66b39fa6b539afd8f00fd8ce0f
Jeff Brown [Wed, 11 Apr 2012 03:34:39 +0000 (20:34 -0700)]
Make sure we rethrow the same exception we started with.
Bug:
6312938
Change-Id: I41d8adf27fd32103c55d9eeafa28a25c37f5029d
The Android Automerger [Mon, 9 Apr 2012 14:00:15 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
jeffhao [Fri, 6 Apr 2012 17:53:11 +0000 (10:53 -0700)]
Make indexOfCommon clamp start to count when start > count.
This fixes bug http://b/
6299423
Change-Id: Ib41166d021eac9cc47830ecce30fe9c58f2cec39
Elliott Hughes [Thu, 5 Apr 2012 23:27:26 +0000 (16:27 -0700)]
Throw ArrayStoreException instead of corrupting the heap.
Protect against bad calls to SetObjectArrayElement. Found while debugging
a Chrome crash. (This will make Chrome fail at the point where it does the
invalid operation rather than later, but we already merged the fix upstream.)
Change-Id: Ie7b2238d99f2ee4dde46342eb77cfec0495a30e7
Elliott Hughes [Thu, 5 Apr 2012 22:30:42 +0000 (15:30 -0700)]
Dump the native stacks of threads in VmWait as well Native.
Mostly these are boring, but when they're boring they're also short.
And sometimes they're interesting.
Bug:
6294717
Change-Id: I1bf9e32a5cc237efda365abe39ad84ac59fd5c8f
Mike Lockwood [Tue, 3 Apr 2012 17:34:41 +0000 (10:34 -0700)]
Merge remote-tracking branch 'goog/ics-aah'
The Android Automerger [Mon, 2 Apr 2012 14:00:27 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
Elliott Hughes [Sat, 31 Mar 2012 05:35:24 +0000 (22:35 -0700)]
am
6353fe2f: am
2a3cc744: Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
* commit '
6353fe2fbb380551a576fb38ad68dbc1566d250c':
Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
Elliott Hughes [Sat, 31 Mar 2012 05:33:22 +0000 (22:33 -0700)]
am
2a3cc744: Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
* commit '
2a3cc744730ec76a05b31df8ac5b6de538d6d70b':
Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
Elliott Hughes [Sat, 31 Mar 2012 03:02:23 +0000 (20:02 -0700)]
Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"
The Android Automerger [Wed, 28 Mar 2012 14:00:21 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
Elliott Hughes [Wed, 28 Mar 2012 01:00:47 +0000 (18:00 -0700)]
am
b9f5c7aa: am
3ddb30bd: am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
b9f5c7aa88c3c731501bd1c61baefa5c761947a1':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 01:00:46 +0000 (18:00 -0700)]
am
92ab8d50: am
531f7273: am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
92ab8d5069c51de75903a5b4768d4d94563bceb1':
Compact merged dexes on their byte aligned size
Elliott Hughes [Wed, 28 Mar 2012 00:57:43 +0000 (17:57 -0700)]
am
3ddb30bd: am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
3ddb30bd32fd2abe06741f001411479c2d4ee416':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 00:57:42 +0000 (17:57 -0700)]
am
531f7273: am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
531f7273925a1de8d13fe89d5b6409d7c64b5b56':
Compact merged dexes on their byte aligned size
Elliott Hughes [Wed, 28 Mar 2012 00:53:40 +0000 (17:53 -0700)]
am
6bcf5d20: Merge "Obvious mix of = and =="
* commit '
6bcf5d200bc9d1be6c3d766005c19694a325da61':
Obvious mix of = and ==
Elliott Hughes [Wed, 28 Mar 2012 00:53:39 +0000 (17:53 -0700)]
am
54ff31a5: Merge "Compact merged dexes on their byte aligned size"
* commit '
54ff31a5f467aea7352b034f37406a6f4fe6a253':
Compact merged dexes on their byte aligned size
Elliott Hughes [Tue, 27 Mar 2012 19:25:33 +0000 (12:25 -0700)]
Merge "Obvious mix of = and =="
Elliott Hughes [Tue, 13 Mar 2012 17:30:29 +0000 (10:30 -0700)]
Merge "Compact merged dexes on their byte aligned size"
Mark Gordon [Tue, 27 Mar 2012 19:16:32 +0000 (15:16 -0400)]
Obvious mix of = and ==
Change-Id: I52183924c287b80e9ca7c20df6edfe132b43e088
The Android Automerger [Tue, 27 Mar 2012 14:00:18 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
Jesse Wilson [Mon, 26 Mar 2012 18:53:18 +0000 (14:53 -0400)]
Transform static values eagerly rather than on use.
Apparently there is some situations where a single static value
may be referenced by multiple sites. Not transforming them eagerly
lead to oversized dex files (and could crash the merge).
Change-Id: I4ac5b9cd621b0fff1e5ba247c9590aa0d562cd65
The Android Automerger [Mon, 19 Mar 2012 14:00:39 +0000 (07:00 -0700)]
merge in jb-release history after reset to master
Jeff Brown [Fri, 16 Mar 2012 00:40:31 +0000 (17:40 -0700)]
Always call the native exit hook, even for halt().
Change-Id: I6990d66175c4075ab3357c9be1486c11eceb41e5
Charlie Groves [Sun, 11 Mar 2012 07:40:47 +0000 (23:40 -0800)]
Compact merged dexes on their byte aligned size
Previously, if a merged dex had too much free space, the compaction step
would subtract the unused space from the section sizes generated by
adding the merged dexes section sizes. The merged sizes weren't 4-byte
aligned, which meant if a section had been bumped in size for the
boundary, the compaction would fail when loading into a section eg
'Section limit
3665072 exceeded by string data'.
This gets the compacted section size from the actual used space instead
of from the non-aligned estimate, so everything fits.
Change-Id: I1aee1abd721ec21998bb3ea78f6f424e7421b614
The Android Automerger [Mon, 20 Feb 2012 15:00:13 +0000 (07:00 -0800)]
merge in jb-release history after reset to master
Iliyan Malchev [Thu, 16 Feb 2012 19:23:36 +0000 (11:23 -0800)]
Replace malloc() followed by memset() to zero with calloc()
Bionic's calloc() is smart enough to not zero out memory if it gets that memory
from an anonyous mmap. Thus, if we use malloc for large allocations, we cause
unnecessary memory duplication by following the malloc() with a memset().
An even better approach would be to replace the known large calloc() calls with
dvmAllocRegion() allocation.
Change-Id: Id308f541c9a040d5929bf991b6c2bfdefb823c3c
Iliyan Malchev [Wed, 15 Feb 2012 18:47:24 +0000 (10:47 -0800)]
Replace large calloc() with ashmem-backed anonymous mmap
This change eliminates a large amount of memory duplication arising from the
use of a calloc() to initialize auxiliary data structures. Calloc() calls
memset() to zero out memory after it has been allocated. That memory may
either be gotten via an anonymous mmap (in which case the memset() is
unnecessary, as the kernel zeros out the memory before handing it to user
space), or it can get recycled by the heap (in which case the memset() is
necessary.)
This becomes a problem for large callocs in any case. In addition, when
initializing aux structures, we create a large sparse array for each DEX file.
The data in each array tends to remain mostly zeroed out, which leads to a lot
of duplicated zero pages.
By switching to anonymous mmaps() instead of calloc(), we keep the zeroed-out
pages together and minimize duplication.
Change-Id: Ic38b78e54acc782a863513a7b1972492e50e099c
Signed-off-by: Iliyan Malchev <malchev@google.com>
Chris Dearman [Tue, 31 Jan 2012 01:44:28 +0000 (17:44 -0800)]
Use old frame for dvmReportPreNativeInvoke/dvmReportPostNativeInvoke
The portable and standard interpreters were using different values.
The portable interpeter is correct...
Change-Id: I8669dfbc979f161666e6b7f63aae16f48612a0c6
Signed-off-by: Chris Dearman <chris@mips.com>
Chris Dearman [Tue, 31 Jan 2012 01:44:28 +0000 (17:44 -0800)]
Restore fp after calling JNI method in allstubs interpreter
The allstubs interpreter uses self->interpSave.curFrame as fp.
The invokeMethod native code sets self->interpSave.curFrame directly
effectively updating fp, so restore fp after the call has completed.
Change-Id: I0ffb15b71a48c2780251bbcd66e551bb0a52fe94
Signed-off-by: Chris Dearman <chris@mips.com>
Raghu Gandham [Tue, 31 Jan 2012 01:44:28 +0000 (17:44 -0800)]
Fix the warning emitted by codesourcery compiler 4.5.2
Change-Id: Ib2b8e87afff7af56281d83961edf79c17cbcf940
Chris Dearman [Tue, 31 Jan 2012 01:44:28 +0000 (17:44 -0800)]
Fix instruction logging messages
Change-Id: Ifc7de30ea1c1221f7838523a5ebd269eec622e03
Signed-off-by: Chris Dearman <chris@mips.com>
Chris Dearman [Wed, 1 Feb 2012 01:19:49 +0000 (17:19 -0800)]
Fix the portable interpreter build
Change-Id: Ibf08d50c7a01a4c30559dd2ee9511c28fb1365a5
Signed-off-by: Chris Dearman <chris@mips.com>