summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
* Please clang by making explicit instantiations non-static.Nicolas Geoffray2014-04-041-4/+4
| | | | Change-Id: I4112bf62c69b4f28ca369c4bf3c626be43692afd
* Explicitly instantiate artInvokeCommon to please analysis tool.Nicolas Geoffray2014-04-041-7/+26
| | | | Change-Id: I5c078a197c5026e9bd886d0ba1e188054b5ffa75
* Merge "Insert an empty read barrier call."Hiroshi Yamauchi2014-04-048-37/+131
|\
| * Insert an empty read barrier call.Hiroshi Yamauchi2014-04-038-37/+131
| | | | | | | | | | Bug: 12687968 Change-Id: Ie1d28658e16e09f6a983cb5c1f0d5b375b7ae069
* | Merge "Fix Object::Clone()'s pre-fence barrier."Hiroshi Yamauchi2014-04-048-28/+80
|\ \
| * | Fix Object::Clone()'s pre-fence barrier.Hiroshi Yamauchi2014-04-038-28/+80
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Pass in a pre-fence barrier object that sets in the array length instead of setting it after returning from AllocObject(). Fix another potential bug due to the wrong default pre-fence barrier parameter value. Since this appears error-prone, removed the default parameter value and make it an explicit parameter. Fix another potential moving GC bug due to a lack of a SirtRef. Bug: 13097759 Change-Id: I466aa0e50f9e1a5dbf20be5a195edee619c7514e
* | Merge "Restore the args in the invoke trampoline slow paths."Mathieu Chartier2014-04-043-249/+229
|\ \
| * | Restore the args in the invoke trampoline slow paths.Mathieu Chartier2014-04-033-249/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, there were errors caused by not restoring the args for the slow path in artInvokeInterfaceTrampoline and artInvokeCommon. The slow path in artInvokeInterfaceTrampoline occurs when you attempt to do an interface dispatch of a method in another dex file. The slow path in artInvokeCommon occurs when the method in dex cache is not already resolved. Since FindMethodFromCode may resolve a method, it can occasionally cause thread suspension/GC. If a moving GC occurred at this point it resulted in this_object being invalid after the trampoline returned the code pointer. This caused a native crash in one of the money runs since there was an unbundeled app which did a List.iterator call. Bug: 12934910 Change-Id: Ib454faad14bef0d7732a6d7f1ca5803472d502a6
* | | Make frame size dependent on arch-specific constants.Andreas Gampe2014-04-033-5/+23
|/ / | | | | | | | | | | Necessary for proper cross-compiling. Change-Id: I852901ee6ca5121e480b83a8e318bdc9c7d615e8
* | Merge "Fix off-by-1 error in new SpaceBitmap"Andreas Gampe2014-04-033-2/+93
|\ \
| * | Fix off-by-1 error in new SpaceBitmapAndreas Gampe2014-04-033-2/+93
| | | | | | | | | | | | | | | | | | Do not visit_end in the VisitMarkedRange code. Change-Id: Iaf02788509b21a102cd1c0e2db3cbd09d0522bfa
* | | Add monitor_enter_object as root.Mathieu Chartier2014-04-031-0/+3
|/ / | | | | | | | | | | | | | | | | The monitor enter object was not a root, this caused issues with compactions since the object could move and then verify object would fail. Bug: 13769139 Change-Id: Ia732376fb9d1de8bf137ef9894cb2bb3241d8bb2
* | Merge "Runtime::PreZygoteFork returns void, not boolean."Narayan Kamath2014-04-033-6/+4
|\ \
| * | Runtime::PreZygoteFork returns void, not boolean.Narayan Kamath2014-04-023-6/+4
| | | | | | | | | | | | | | | | | | | | | This method aborts on failure (as it should) and unconditionally returns true, so making it return void simplifies callers. Change-Id: Iae39bd327f20311579ece47efa8afd1be7defce9
* | | Merge "Make SpaceBitmap cross-compiling tolerant"Andreas Gampe2014-04-033-79/+85
|\ \ \ | |_|/ |/| |
| * | Make SpaceBitmap cross-compiling tolerantAndreas Gampe2014-04-023-79/+85
| | | | | | | | | | | | | | | | | | | | | | | | Change the order of bits in SpaceBitmap to be the intuitive one: Offset 0 is bit 0, instead of the MSB. Then compiling on 32b for 64b works as expected. Change-Id: Iee2491eaf06d4b5f8b534b7c980d5719633cb64c
* | | Add support for -Xverify:none mode.Jeff Hao2014-04-025-2/+33
|/ / | | | | | | | | | | | | This mode skips all verification and compilation. Public bug: https://code.google.com/p/android/issues/detail?id=67664 Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b
* | Merge "Keep the symbol table in the shared libraries."Christopher Ferris2014-04-021-0/+5
|\ \
| * | Keep the symbol table in the shared libraries.Christopher Ferris2014-04-011-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to allow the unwinder code to have meaningful names for art functions, leave the symbol table. Here are the size increases: Platform Size Increase -------- ------------- arm ~631K arm64 ~631K mips ~424K x86 ~565K x86_64 ~565K Bug: 12958251 Change-Id: Ib8bf11bef648f8296f4d6544f7b2af0d7f969ad8
* | | Merge "Pass instruction-set from runtime through to spawned dex2oat."Ian Rogers2014-04-027-82/+108
|\ \ \
| * | | Pass instruction-set from runtime through to spawned dex2oat.Ian Rogers2014-04-027-82/+108
| | | | | | | | | | | | | | | | Change-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc
* | | | Add r4 as promotable register if implicit suspend checksDave Allison2014-04-021-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | If we are doing implicit suspend checks we should be able to use r4 as a target for promotion. Also bump OAT version Change-Id: Ia27d14ece3b3259dbb74bcf89feaa9da2cda6db8
* | | Avoid debug check violation in thread registration.Ian Rogers2014-04-022-13/+14
| |/ |/| | | | | | | Bug: 13757855 Change-Id: Ied83a7fc43e2b9a89a8b99aa4f74069ef8a369b1
* | Include <sys/resource.h> for rlimit.Narayan Kamath2014-04-021-0/+2
| | | | | | | | Change-Id: I0e487f8191e284052d8b82eb942d723147d780a1
* | Merge "Move most zygote related code to frameworks/base."Narayan Kamath2014-04-024-608/+120
|\ \
| * | Move most zygote related code to frameworks/base.Narayan Kamath2014-04-014-608/+120
| | | | | | | | | | | | | | | | | | | | | | | | Avoids code duplication across art/dalvik. Also, most of this code is not directly related to the runtime (mounting external storage, multi user etc.) and therefore belongs in the frameworks. Change-Id: Icf4723dd0ec4521ef6b1f785c99d50aebca7779a
* | | Merge "Fix ClassHelper::GetDirectInterface for proxy class"Sebastien Hertz2014-04-022-11/+64
|\ \ \
| * | | Fix ClassHelper::GetDirectInterface for proxy classSebastien Hertz2014-04-012-11/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returns only the direct interfaces implemented by the proxy class. We collect them from the "interfaces" field in the synthesized proxy class instead of looking into the iftable. Also updates proxy_test to reflect this change. Bug: 13689930 Change-Id: I926e2ed30f9e65972d700a378671cec82dedaa7c
* | | | Merge "Cleanup transaction support"Sebastien Hertz2014-04-0215-80/+56
|\ \ \ \ | |_|_|/ |/| | |
| * | | Cleanup transaction supportSebastien Hertz2014-04-0215-80/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updates Thread::CreateInternalStackTrace to support both transactional and non-transactional modes using template. Generalizes non-transactional mode for invariant fields (which are set only once). Removes ArrayLog::VisitRoots as we never create Array logs of ObjectArray. As ObjectArray elements are set using Object::SetFieldObject, they are already recorded in the object logs: the object is the array itself and the offset corresponds to the element index in this array. And also checks we never log ObjectArray in array logs. Fixes location of thrown exception when calling native method during class initialization. Change-Id: Idbc368d3b8292b85ff40bc8a7c559e085477bf89
* | | | Merge "Fix ThreadStress, unify ANR lock descriptions."Ian Rogers2014-04-012-36/+51
|\ \ \ \
| * | | | Fix ThreadStress, unify ANR lock descriptions.Ian Rogers2014-04-012-36/+51
| | | | | | | | | | | | | | | | | | | | | | | | | Bug: 13323656 Change-Id: I902825a847af9aa570ed79701409298e3532bebf
* | | | | Merge "Fix Thread offsets for ARM64 assembly"Andreas Gampe2014-04-011-3/+3
|\ \ \ \ \
| * | | | | Fix Thread offsets for ARM64 assemblyAndreas Gampe2014-04-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8d0516091b5a865f415e1446425203785e607f8a
* | | | | | Merge "Fix running with DlMalloc instead of RosAlloc."Mathieu Chartier2014-04-015-4/+11
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Fix running with DlMalloc instead of RosAlloc.Mathieu Chartier2014-04-015-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 13748830 Bug: 13744490 Change-Id: Ieec97cf58ebf9864a40ee85aae582cdcf3f27c0c
* | | | | | Build changes to build multilib testsAndreas Gampe2014-04-011-0/+4
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test files will be emitted into directories for both first and second target architectures. Going with the naming scheme for binaries, single-architecture and 32b cases have the standard name, and 64b goes into a directory with "64" suffix. In multi-architecture setups, the default concrete test targets are extended with a "32" and "64" suffix, e.g., test-art-target-oat-JniTest64. The suffix-less form is linked to the primary architecture target (usually 64). That means running combined targets, e.g., test-art-target-oat, will only test the primary architecture right now. Fixed target run tests calling the right dalvikvm. Fixed library search path for tests derived from CommonRuntimeTest. Missing in this work-in-progress is correct handling of dex2oat for the secondary architecture. To make it work on 64b, comment out line 101 in build/Android.executable.mk Change-Id: I3d260994e6efe8b73b56c71994053cc9392943a9
* | | | | Fix reflection access checks for app compatibility.Jeff Hao2014-04-011-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also updates field access test. Bug: 13740995 Change-Id: I224712cfcb0c05429b831c26980cabad7bdef49a
* | | | | Merge "Revert "Fix access checks for app compatibility.""Jeff Hao2014-04-011-1/+2
|\ \ \ \ \
| * | | | | Revert "Fix access checks for app compatibility."Jeff Hao2014-04-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b59b2c8dbdea2a6a3086378f2cf65adc9bc282cd. Change-Id: I718658b8450a5ce6249df317b635f63356b1ce3c
* | | | | | Merge "Add handler for printing java stack traces for compiled code SIGSEGV."Mathieu Chartier2014-04-0110-74/+148
|\ \ \ \ \ \
| * | | | | | Add handler for printing java stack traces for compiled code SIGSEGV.Mathieu Chartier2014-04-0110-74/+148
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a new FaultHandler which attempts to print a java stack trace when a SIGSEGV occurse in generated code. This should help debugging compiler and GC related heap corruption. Bug: 13725693 Bug: 12934910 Change-Id: Id54d83ea180c222eb86d449c61926e83f0b026ad
* | | | | | Merge "Fix access checks for app compatibility."Jeff Hao2014-04-011-2/+1
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Fix access checks for app compatibility.Jeff Hao2014-04-011-2/+1
| | |_|_|/ | |/| | | | | | | | | | | | | Change-Id: I3191e5e92d30e9bee24051fd305296ddcf143e18
* | | | | Merge "Make the support code for read barriers a bit more general."Hiroshi Yamauchi2014-04-0114-69/+99
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Make the support code for read barriers a bit more general.Hiroshi Yamauchi2014-03-3114-69/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an option for Baker in addition to Brooks. Bug: 12687968 Change-Id: I8a31db817ff6686c72951b6534f588228e270b11
* | | | | Merge "Fix stack overflow slow path error."Mathieu Chartier2014-04-011-1/+1
|\ \ \ \ \
| * | | | | Fix stack overflow slow path error.Mathieu Chartier2014-03-311-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The frame size without spill was being passed into the slow path instead of the spill size. This was incorrect since only the spills will have been pushed at the point of the overflow check. Also addressed an other comment. Change-Id: Ic6e455122473a8f796b291d71f945bcf72788662
* | | | | Allow mixing of thread offsets between 32 and 64bit architectures.Ian Rogers2014-04-0131-799/+948
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Begin a more full implementation x86-64 REX prefixes. Doesn't implement 64bit thread offset support for the JNI compiler. Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147
* | | | | Merge "art: Make calling convention immune to SIRT structure change"Andreas Gampe2014-04-011-2/+7
|\ \ \ \ \