| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I4112bf62c69b4f28ca369c4bf3c626be43692afd
|
|
|
|
| |
Change-Id: I5c078a197c5026e9bd886d0ba1e188054b5ffa75
|
|\ |
|
| |
| |
| |
| |
| | |
Bug: 12687968
Change-Id: Ie1d28658e16e09f6a983cb5c1f0d5b375b7ae069
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| | |
Necessary for proper cross-compiling.
Change-Id: I852901ee6ca5121e480b83a8e318bdc9c7d615e8
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Do not visit_end in the VisitMarkedRange code.
Change-Id: Iaf02788509b21a102cd1c0e2db3cbd09d0522bfa
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This method aborts on failure (as it should) and unconditionally
returns true, so making it return void simplifies callers.
Change-Id: Iae39bd327f20311579ece47efa8afd1be7defce9
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| | |
This mode skips all verification and compilation.
Public bug: https://code.google.com/p/android/issues/detail?id=67664
Change-Id: Idd00ab8e9e46d129c02988b063c41a507e07bf5b
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I1727af7beb9f710c29124d4d6bc9175e4856f3cc
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| |/
|/|
| |
| |
| | |
Bug: 13757855
Change-Id: Ied83a7fc43e2b9a89a8b99aa4f74069ef8a369b1
|
| |
| |
| |
| | |
Change-Id: I0e487f8191e284052d8b82eb942d723147d780a1
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Bug: 13323656
Change-Id: I902825a847af9aa570ed79701409298e3532bebf
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I8d0516091b5a865f415e1446425203785e607f8a
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Bug: 13748830
Bug: 13744490
Change-Id: Ieec97cf58ebf9864a40ee85aae582cdcf3f27c0c
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also updates field access test.
Bug: 13740995
Change-Id: I224712cfcb0c05429b831c26980cabad7bdef49a
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reverts commit b59b2c8dbdea2a6a3086378f2cf65adc9bc282cd.
Change-Id: I718658b8450a5ce6249df317b635f63356b1ce3c
|
|\ \ \ \ \ \ |
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
Change-Id: I3191e5e92d30e9bee24051fd305296ddcf143e18
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add an option for Baker in addition to Brooks.
Bug: 12687968
Change-Id: I8a31db817ff6686c72951b6534f588228e270b11
|
|\ \ \ \ \ |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Begin a more full implementation x86-64 REX prefixes.
Doesn't implement 64bit thread offset support for the JNI compiler.
Change-Id: If9af2f08a1833c21ddb4b4077f9b03add1a05147
|
|\ \ \ \ \ |
|