OSDN Git Service
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
Elliott Hughes [Wed, 29 Aug 2012 23:24:47 +0000 (16:24 -0700)]
Merge "Don'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
Jean-Philippe Lesot [Tue, 28 Aug 2012 16:58:20 +0000 (09:58 -0700)]
Merge "Correctly handle switches on values in a high register"
Elliott Hughes [Mon, 27 Aug 2012 21:57:24 +0000 (14:57 -0700)]
Merge "Fix a bug where debugInfos' size wasn't being computed."
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"
Brian Carlstrom [Fri, 24 Aug 2012 03:20:47 +0000 (20:20 -0700)]
Merge "Fix build warning."
Ying Wang [Thu, 23 Aug 2012 18:12:12 +0000 (11:12 -0700)]
Fix build warning.
Change-Id: I1f9813c9dc1dfc388f82f37584fe60256b6a8b12
Ian Rogers [Thu, 23 Aug 2012 20:35:23 +0000 (13:35 -0700)]
Merge "Trim pre-Zygote fork, fix under-estimate of heap limit."
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
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
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
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
Brian Carlstrom [Mon, 20 Aug 2012 23:12:37 +0000 (16:12 -0700)]
Merge "Upgrade 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
Elliott Hughes [Mon, 13 Aug 2012 18:25:22 +0000 (11:25 -0700)]
Merge "hardening: 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>
Elliott Hughes [Tue, 7 Aug 2012 01:34:10 +0000 (18:34 -0700)]
Merge "Fix ALOGV bit rot."
Elliott Hughes [Tue, 7 Aug 2012 00:40:02 +0000 (17:40 -0700)]
Fix ALOGV bit rot.
Change-Id: Ia182af8f5ca3967a21003b3d1513145f8e6e5db0
Elliott Hughes [Mon, 6 Aug 2012 17:27:35 +0000 (10:27 -0700)]
Merge "Don't crash on invalid string/type ids."
Elliott Hughes [Mon, 6 Aug 2012 16:51:21 +0000 (09:51 -0700)]
Don't crash on invalid string/type ids.
Bug: http://code.google.com/p/android/issues/detail?id=35934
Change-Id: I7bf31f6c80c794beb3554ad2f60ed5ebbca0c65e
Elliott Hughes [Mon, 6 Aug 2012 16:34:31 +0000 (09:34 -0700)]
Merge "RETURN_VOID_BARRIER is also a return."
Elliott Hughes [Mon, 6 Aug 2012 16:16:08 +0000 (09:16 -0700)]
RETURN_VOID_BARRIER is also a return.
Bug: http://code.google.com/p/android/issues/detail?id=36003
Change-Id: I7fb53b0898158a3ad7b0eb4f8385674ddaeffd60
Brian Carlstrom [Fri, 3 Aug 2012 00:36:55 +0000 (17:36 -0700)]
Merge "Change dalvik script to use exec"
Brian Carlstrom [Fri, 3 Aug 2012 00:05:25 +0000 (17:05 -0700)]
Change dalvik script to use exec
Change-Id: I0a82ced8ce31ae0e6916509a1c79b738c475ae18
Elliott Hughes [Wed, 1 Aug 2012 21:33:30 +0000 (14:33 -0700)]
Merge "Fix an array out-of-bound read in the JIT compiler."
Douglas Leung [Wed, 1 Aug 2012 19:00:33 +0000 (12:00 -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.
Change-Id: I021161cb2a6e011301ab65ba62bc2a74af1cb552
Signed-off-by: Douglas Leung <douglas@mips.com>
Elliott Hughes [Tue, 31 Jul 2012 21:31:32 +0000 (14:31 -0700)]
Merge "Fix the MIPS build: 1. LOG->ALOG conversion 2. Remove Jumbo opcodes support"
Raghu Gandham [Mon, 30 Jul 2012 21:46:12 +0000 (14:46 -0700)]
Fix the MIPS build:
1. LOG->ALOG conversion
2. Remove Jumbo opcodes support
Change-Id: Ifbd1eae2f5e7a1cab5828ebfbdba380ad499abfd
Elliott Hughes [Tue, 24 Jul 2012 00:30:21 +0000 (17:30 -0700)]
Merge "Fix Method.getParameterAnnotations."
Elliott Hughes [Mon, 23 Jul 2012 17:49:56 +0000 (10:49 -0700)]
Fix Method.getParameterAnnotations.
The dex format represents parameter annotations using an
annotation_set_ref_item for each parameter. According to the spec,
the item's annotation_offset can be "0 if there are no annotations for this
element". The Dalvik VM accepts 0 values in the verification step,
but Method#getParameterAnnotations then crashes with a segmentation fault.
Bug: http://code.google.com/p/android/issues/detail?id=35304
Change-Id: I0ac7336d369894520c8e17848ab6a91dbbd905e9
Elliott Hughes [Fri, 20 Jul 2012 19:34:16 +0000 (12:34 -0700)]
Merge "[X86] X86 trace JIT compiler support"
Dong-Yuan Chen [Tue, 3 Jul 2012 20:13:07 +0000 (13:13 -0700)]
[X86] X86 trace JIT compiler support
This patch provides a fully functional x86 trace JIT compiler for Dalvik
VM. It is built on top of the existing x86 fast interpreter
with bug fixes and needed extension to support trace JIT interface. The
x86 trace JIT code generator was developed independent of the existing
template-based code generator and thus does not share exactly the same
infrastructure. Included in this patch are:
* Deprecated and removed the x86-atom fast interpreter that is no
longer functional since ICS.
* Augmented x86 fast interpreter to provide interfaces for x86 trace JIT
compiler.
* Added x86 trace JIT code generator with full JDWP debugging support.
* Method JIT and self-verification mode are not supported.
The x86 code generator uses the x86 instruction encoder/decoder library
from the Apache Harmony project. Additional wrapper extension and bug
fixes were added to support the x86 trace JIT code generator. The x86
instruction encoder/decoder is embedded inside the x86 code generator
under the libenc subdirectory.
Change-Id: I241113681963a16c13a3562390813cbaaa6eedf0
Signed-off-by: Dong-Yuan Chen <dong-yuan.chen@intel.com>
Signed-off-by: Yixin Shou <yixin.shou@intel.com>
Signed-off-by: Johnnie Birch <johnnie.l.birch.jr@intel.com>
Signed-off-by: Udayan <udayan.banerji@intel.com>
Signed-off-by: Sushma Kyasaralli Thimmappa <sushma.kyasaralli.thimmappa@intel.com>
Signed-off-by: Bijoy Jose <bijoy.a.jose@intel.com>
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Signed-off-by: Tim Hartley <timothy.d.hartley@intel.com>
Elliott Hughes [Thu, 19 Jul 2012 00:14:50 +0000 (17:14 -0700)]
Merge "Use uintptr_t for cast pointer to integer."
SangWook Han [Sun, 15 Jul 2012 13:42:28 +0000 (22:42 +0900)]
Use uintptr_t for cast pointer to integer.
On 64bit host, sizeof pointer is not equal to sizeof int/u4.
Need for host tools.
Change-Id: Id8d9418787e79523226b9c9e3f67277f9ac7c6aa
Elliott Hughes [Wed, 18 Jul 2012 20:41:54 +0000 (13:41 -0700)]
Merge "Remove untested SH "support"; bionic long since stopped supporting SH."
Elliott Hughes [Wed, 18 Jul 2012 16:55:15 +0000 (09:55 -0700)]
Remove untested SH "support"; bionic long since stopped supporting SH.
Hello world!
Change-Id: I4660c8905b2641f90d90987938498e8693dc33da
Elliott Hughes [Wed, 18 Jul 2012 01:11:59 +0000 (18:11 -0700)]
Merge "Avoid sign extension in packed-switch."
Elliott Hughes [Tue, 17 Jul 2012 23:31:30 +0000 (16:31 -0700)]
Avoid sign extension in packed-switch.
This code (at least in the ARM version) is trying to assign to r0 and r1
from C by returning a 64-bit result. The mistaken use of signed integers
for pointers can lead to sign extension if the JIT code cache is at a
sufficiently high address.
Bug:
6799823
Bug:
6703991
(cherry-pick from
2d0c1c2dbe44458ebb199c47ce1047f266db5349.)
Change-Id: I79e72228b60e195272d11899ac69bb4a76b7402f
Elliott Hughes [Tue, 17 Jul 2012 23:25:20 +0000 (16:25 -0700)]
Merge "Fix a small and unlikely memory leak."
Elliott Hughes [Tue, 17 Jul 2012 23:19:09 +0000 (16:19 -0700)]
Fix a small and unlikely memory leak.
Change-Id: I131b9f2f8ae4a4b2bb3bb00bc2cd1e607d979bb5
Elliott Hughes [Tue, 17 Jul 2012 22:14:37 +0000 (15:14 -0700)]
Merge "Remove some dead code in the MIPS stuff, and run rebuild.sh."
Elliott Hughes [Tue, 17 Jul 2012 22:11:25 +0000 (15:11 -0700)]
Remove some dead code in the MIPS stuff, and run rebuild.sh.
Change-Id: I7c3226efe97e6e5678b757eb2350d0eeb2efd8b5
Elliott Hughes [Mon, 16 Jul 2012 20:26:43 +0000 (13:26 -0700)]
Merge "Don't log "WAIT_FOR_CONCURRENT_GC blocked 0ms"."
Elliott Hughes [Mon, 16 Jul 2012 18:44:52 +0000 (11:44 -0700)]
Don't log "WAIT_FOR_CONCURRENT_GC blocked 0ms".
Stupid to spend more time logging than we spent waiting. (Highly visible
in the zygote's preloading phase.)
Change-Id: If2d6b6093b3bebae0887aa385745b7ed9225216b
Elliott Hughes [Fri, 13 Jul 2012 19:09:42 +0000 (12:09 -0700)]
Merge "Warn if we see a class whose behavior has changed because of https://android-review.googlesource.com/#/c/32480/."
Elliott Hughes [Fri, 13 Jul 2012 18:41:50 +0000 (11:41 -0700)]
Warn if we see a class whose behavior has changed because of https://android-review.googlesource.com/#/c/32480/.
Change-Id: Ic7ca229a92c8d1bd666ecf64209d061301dcb0c9
Elliott Hughes [Thu, 12 Jul 2012 17:16:39 +0000 (10:16 -0700)]
Merge "s/LOGE/ALOGE/ in HAVE_SELINUX blocks"
Joshua Brindle [Tue, 10 Jul 2012 14:22:09 +0000 (10:22 -0400)]
s/LOGE/ALOGE/ in HAVE_SELINUX blocks
The latest push changed LOGE to ALOGE but it was not updated in HAVE_SELINUX blocks.
Change-Id: If64c6beeb1d7c24e1b610acb8ccb195e00c777da
Signed-off-by: Joshua Brindle <jbrindle@tresys.com>
Elliott Hughes [Wed, 11 Jul 2012 00:20:00 +0000 (17:20 -0700)]
Merge "Avoid method overriding if its super method is inaccessible."
Im Sooin [Thu, 9 Feb 2012 06:39:05 +0000 (15:39 +0900)]
Avoid method overriding if its super method is inaccessible.
A call to package private method could be redirected to subclass which
was not in the same package.
Modified vtable to retain virtual super methods which cannot be accessed.
This change affects vtable index in optimized dex.
Change-Id: I9cc7e309c305bca12e5061009c4245fb70014681
Signed-off-by: Im Sooin <ciecet@gmail.com>
Elliott Hughes [Tue, 10 Jul 2012 23:54:46 +0000 (16:54 -0700)]
Merge "Missing zero-checks in JIT compiler"
Mattias Petersson [Thu, 7 Jun 2012 14:39:21 +0000 (16:39 +0200)]
Missing zero-checks in JIT compiler
Zero-checks were not generated by the JIT compiler for
some instructions. This caused crashes instead of
the expected ArithmeticException.
Change-Id: Ic8041741a7cccc1bd6b8c3c0723ba55a55af856b
Jean-Baptiste Queru [Mon, 9 Jul 2012 20:31:08 +0000 (13:31 -0700)]
Merge from AOSP
Change-Id: I8ac8ecf5d57b4d852957a0c4498e3e304e8e2e17
Elliott Hughes [Mon, 9 Jul 2012 18:53:01 +0000 (11:53 -0700)]
Merge "hprof generation, not writing the first record"
Elliott Hughes [Tue, 3 Jul 2012 16:25:29 +0000 (09:25 -0700)]
am
7798a614: Merge "Fix a possible off-by-one in the verifier."
* commit '
7798a614753251adf7a77835792d78db2e93f5ff':
Fix a possible off-by-one in the verifier.
Johan Erlandsson [Mon, 11 Jun 2012 16:18:59 +0000 (18:18 +0200)]
hprof generation, not writing the first record
We miss some roots since the first record isn't initialized.
Change-Id: I50c80a701a4ee142c52602b9015f6e93be54da9f
Elliott Hughes [Mon, 2 Jul 2012 05:11:48 +0000 (22:11 -0700)]
Merge "Fix a possible off-by-one in the verifier."
Elliott Hughes [Fri, 29 Jun 2012 23:45:06 +0000 (16:45 -0700)]
Fix a possible off-by-one in the verifier.
Bug: http://code.google.com/p/android/issues/detail?id=10863
Change-Id: I604f9a5ea08b6a6934b3ba522e1fda0bb738f81c
Elliott Hughes [Thu, 21 Jun 2012 21:15:11 +0000 (14:15 -0700)]
resolved conflicts for merge of
7c03fb79 to jb-dev-plus-aosp
Change-Id: Icedbe5a6d7cbcedde53e05249f7e90a390f2f0ea
Kenny Root [Thu, 21 Jun 2012 18:05:52 +0000 (11:05 -0700)]
Merge "Extend forkAndSpecialize to take additional inputs and to set the SELinux security context."
Jean-Baptiste Queru [Wed, 20 Jun 2012 20:43:24 +0000 (13:43 -0700)]
am
44292346: Merge "Switched code to blx <reg>"
* commit '
44292346f4935cd078ca7b931042809af80f9d95':
Switched code to blx <reg>
Jean-Baptiste Queru [Wed, 20 Jun 2012 16:41:12 +0000 (09:41 -0700)]
Merge "Switched code to blx <reg>"
David Butcher [Wed, 20 Jun 2012 13:31:33 +0000 (14:31 +0100)]
Switched code to blx <reg>
ldr ip,<addr> blx ip is preferred over mov lr,pc ldr pc,<addr> from armv5te,
and will typically perform better on later ARM processors.
Change-Id: I8f2e5e794c644faafd767037ad56579f2934de47
Elliott Hughes [Tue, 12 Jun 2012 00:43:14 +0000 (17:43 -0700)]
am
effc95cb: Merge "Make dex merging stateless."
* commit '
effc95cb732d8d5453930e647240a1665b6dc71a':
Make dex merging stateless.
Elliott Hughes [Tue, 12 Jun 2012 00:43:13 +0000 (17:43 -0700)]
am
a9ac3a9d: Merge "Support debug info in dexmerge."
* commit '
a9ac3a9d1f8de71bcdc39d1f4827c04a952a0c29':
Support debug info in dexmerge.
Elliott Hughes [Mon, 11 Jun 2012 23:41:26 +0000 (16:41 -0700)]
Merge "Make dex merging stateless."
Xavier Ducrohet [Mon, 11 Jun 2012 22:17:31 +0000 (15:17 -0700)]
Make dex merging stateless.
This is required to run dx in Eclipse which doesn't unload the dx
library after each run.
(cherry-pick of
7aa5ce7e990dc3766eba97cd0932b62e4de21503.)
Change-Id: I7a69a3015d448ddd5558c307cd01346156cbc739
Elliott Hughes [Mon, 11 Jun 2012 23:30:30 +0000 (16:30 -0700)]
Merge "Support debug info in dexmerge."
Elliott Hughes [Thu, 7 Jun 2012 23:47:38 +0000 (16:47 -0700)]
Support debug info in dexmerge.
Bug:
4090053
(cherry-pick of
bc23c4f3ebaefebb3f1be7732767631f91e165ea.)
Change-Id: I1108933fc03330ff91be3a2edef8b4966977dcd7
Signed-off-by: Jesse Wilson <jesse@swank.ca>
Elliott Hughes [Mon, 11 Jun 2012 18:22:17 +0000 (11:22 -0700)]
am
bf11122d: Merge "Revert " Trim after explicit gc.""
* commit '
bf11122d175d1315783b313897ee8ecae63f0278':
Revert " Trim after explicit gc."
Elliott Hughes [Mon, 11 Jun 2012 16:03:36 +0000 (09:03 -0700)]
Merge "Revert " Trim after explicit gc.""
Elliott Hughes [Mon, 11 Jun 2012 15:41:06 +0000 (08:41 -0700)]
Revert " Trim after explicit gc."
This reverts commit
ea4c6e57a48e08eacbf08520c64133175e7d5da0
The Android Open Source Project [Thu, 7 Jun 2012 14:48:51 +0000 (07:48 -0700)]
Reconcile with jb-release
Change-Id: I3e7e63e5d19d73ece11951f9cc3f85589c72adbe
Elliott Hughes [Tue, 5 Jun 2012 22:16:27 +0000 (15:16 -0700)]
am
53bc3719: Merge "Fixing a crash when doing lock profiling"
* commit '
53bc3719bab6f0a075dd3f968a6d9a630fb81476':
Fixing a crash when doing lock profiling
Elliott Hughes [Tue, 5 Jun 2012 21:33:14 +0000 (14:33 -0700)]
Merge "Fixing a crash when doing lock profiling"
Elliott Hughes [Tue, 5 Jun 2012 21:13:59 +0000 (14:13 -0700)]
am
90d3e3b3: Merge "Add test cases for concurrent gc and System.arraycopy"
* commit '
90d3e3b3999aa22d0cecc4f064e5686c555ad700':
Add test cases for concurrent gc and System.arraycopy
Elliott Hughes [Tue, 5 Jun 2012 20:16:11 +0000 (13:16 -0700)]
Merge "Add test cases for concurrent gc and System.arraycopy"
Johannes Carlsson [Thu, 3 Feb 2011 14:12:46 +0000 (15:12 +0100)]
Add test cases for concurrent gc and System.arraycopy
When System.arraycopy runs at the same time as a concurrent gc
the phone will sometimes crash since System.arraycopy was implemented
using memmove and memcpy. In current implementation of mememove bytes
are copied one at a time. If for instance only 3 out of 4 bytes
to an object reference were copied when the thread switch to the
gc thread occurred and the gc was scanning the marked objects the
gc read an invalid address. The parameters to dvmWriteBarrierArray
in one case was also corrected (they are currently not used).
The fix itself for this crash is made elsewhere, this commit just
adds test cases to verify that this works.
Change-Id: I0a8cfd43561b3d5de4bba818993bcf8b40413045
Mattias Petersson [Tue, 5 Jun 2012 08:43:01 +0000 (10:43 +0200)]
Fixing a crash when doing lock profiling
This is a fix for a crash that can happen when logging Contention
events. This logging is performed when lock profiling is enabled.
This is by default enabled on userdebug builds. The crash happened
when a thread was being destroyed. When a thread is being
destroyed it is normal that the frame depth is zero, and thus the
current frame is null. logContentionEvent() requires that the
current frame is not null, or it will crash.
The fix is to check if the current frame is null.
Change-Id: I4c2b9ad94b663398645497fdffa1ec6f7ea86a51
The Android Automerger [Thu, 31 May 2012 14:00:08 +0000 (07:00 -0700)]
merge in jb-release history after reset to jb-dev
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