OSDN Git Service
Roland Levillain [Wed, 8 Jul 2015 10:36:47 +0000 (10:36 +0000)]
Merge "Fuse long and FP compare & condition on x86/x86-64 in Optimizing."
Nicolas Geoffray [Wed, 8 Jul 2015 09:42:05 +0000 (09:42 +0000)]
Merge "Revert "Remove interpreter entrypoint in ArtMethod.""
Nicolas Geoffray [Wed, 8 Jul 2015 09:41:54 +0000 (09:41 +0000)]
Revert "Remove interpreter entrypoint in ArtMethod."
Build failures on bots. Investigating.
This reverts commit
fa2c054b28d4b540c1b3651401a7a091282a015f.
Change-Id: Id65b2009aa66cb291fb8c39758a58e0b0d22616c
Nicolas Geoffray [Wed, 8 Jul 2015 08:56:49 +0000 (08:56 +0000)]
Merge "Remove interpreter entrypoint in ArtMethod."
Nicolas Geoffray [Wed, 1 Jul 2015 13:32:54 +0000 (14:32 +0100)]
Remove interpreter entrypoint in ArtMethod.
Saves 4/8 bytes for each ArtMethod.
Change-Id: I110ecdddf8516b0759a31fa157609643e6d60b15
Aart Bik [Tue, 7 Jul 2015 17:52:34 +0000 (17:52 +0000)]
Merge "Build rule for dexdump regression test on host."
Andreas Gampe [Tue, 7 Jul 2015 16:46:06 +0000 (16:46 +0000)]
Merge "ART: Fix opsize in LoadArgDirect"
Andreas Gampe [Mon, 6 Jul 2015 21:00:39 +0000 (14:00 -0700)]
ART: Fix opsize in LoadArgDirect
If the destination register is a reference, use kReference for the
op size.
Bug:
22244733
Change-Id: Idf52f2ee4c65b5dc41cb66257d95281dc6f32255
Mark Mendell [Fri, 10 Apr 2015 17:18:51 +0000 (13:18 -0400)]
Fuse long and FP compare & condition on x86/x86-64 in Optimizing.
This is a preliminary implementation of fusing long/float/double
compares with conditions to avoid materializing the result from the
compare and condition.
The information from a HCompare is transferred to the HCondition if it
is legal. There must be only a single use of the HCompare, the HCompare
and HCondition must be in the same block, the HCondition must not need
materialization.
Added GetOppositeCondition() to HCondition to return the flipped
condition.
Bug:
21120453
Change-Id: I1f1db206e6dc336270cd71070ed3232dedc754d6
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Nicolas Geoffray [Tue, 7 Jul 2015 10:48:12 +0000 (10:48 +0000)]
Merge "Improve code generation for ARM64 VisitArrayGet/Set."
Alexandre Rames [Tue, 7 Jul 2015 10:34:16 +0000 (11:34 +0100)]
Improve code generation for ARM64 VisitArrayGet/Set.
We prefer the code sequence
add temp, obj, #offset
ldr out, [temp, index LSL #shift_amount]
to
add temp, obj, index LSL #shift_amount
ldr out, [temp, #offset]
Change-Id: I98f51a1b5a5ecd84c677d6dbd4c4bfc0f157f5e2
Nicolas Geoffray [Tue, 7 Jul 2015 09:13:48 +0000 (09:13 +0000)]
Merge "Make dexdump2 compile for 64bit devices."
Nicolas Geoffray [Tue, 7 Jul 2015 09:12:10 +0000 (10:12 +0100)]
Make dexdump2 compile for 64bit devices.
Change-Id: I4c990272b20062632d236671415cfb3dbb26c867
Roland Levillain [Tue, 7 Jul 2015 09:09:06 +0000 (09:09 +0000)]
Merge "Added next condition check to branch instruction"
Roland Levillain [Tue, 7 Jul 2015 08:52:10 +0000 (08:52 +0000)]
Merge "Make oatdump work with .art files and code generated by Optimizing."
Aart Bik [Tue, 7 Jul 2015 00:45:30 +0000 (17:45 -0700)]
Build rule for dexdump regression test on host.
Bug:
17442393
Change-Id: I7795ba014e57080572769286cb3f8e3d4931e706
Evgenii Stepanov [Mon, 6 Jul 2015 23:20:48 +0000 (23:20 +0000)]
Merge "Disable sanitization of dex2oat on device."
Evgenii Stepanov [Mon, 6 Jul 2015 21:01:25 +0000 (14:01 -0700)]
Disable sanitization of dex2oat on device.
Bug:
22233158
Change-Id: I54990bb167a65275ed28e0cbbab56b936eb70ca4
Aart Bik [Mon, 6 Jul 2015 22:24:11 +0000 (22:24 +0000)]
Merge "List dependence of dexdump gtest on dexdump binary."
Aart Bik [Mon, 6 Jul 2015 21:27:27 +0000 (14:27 -0700)]
List dependence of dexdump gtest on dexdump binary.
Change-Id: I1293009a370eff808b5e31cc89110eb9fe3ce32f
Aart Bik [Mon, 6 Jul 2015 20:25:55 +0000 (20:25 +0000)]
Merge "Migrated dexdump from Dalvik (libdex) into Art (libart)"
Aart Bik [Wed, 1 Jul 2015 21:52:26 +0000 (14:52 -0700)]
Migrated dexdump from Dalvik (libdex) into Art (libart)
Rationale:
The new dexdump (temporarily called dexdump2 until we are
satisfied with the migration) is a re-implementation of the
original dexdump utility that was based on Dalvik functions
in libdex into a new dexdump that is now based on Art functions
in libart instead.
The output is identical to the original for *correct* DEX files.
Output in error messages and the usage() may differ, however,
since the new utility relies on Art parsing and verification.
NOTE 1:
ODEX files are no longer supported.
NOTE 2:
Where possible, I kept the file as close to the original
as possible, including some archaic C idioms on memory
allocation; those can be improved over time.
NOTE 3:
I used the standard Android.mk format for the new dexdump,
but this probably needs to be Art-i-fied.
NOTE 4:
Some minor issues that need resolution are marked with a TODO.
Bug:
17442393
Change-Id: I753743f64afcf4b84b8d33efbd1cfcb7908f0c3e
Nicolas Geoffray [Mon, 6 Jul 2015 15:28:24 +0000 (15:28 +0000)]
Merge "Revert "Revert "Fix LSRA bug with explicit register temporaries"""
Andreas Gampe [Mon, 6 Jul 2015 15:25:27 +0000 (15:25 +0000)]
Merge "ART: Check switch and array data better in the verifier"
Andreas Gampe [Thu, 2 Jul 2015 05:05:59 +0000 (22:05 -0700)]
ART: Check switch and array data better in the verifier
Incorrect padding (or just malformed code) can lead to pseudo
instructions for data payload not being correctly discoverable in
a linear scan. This is problematic for the optimizing compiler,
which uses such a scan to build its graph.
Use the opcode flag in the insn_flags_ to ensure that a pseudo
instruction referenced from a base instruction was actually
correctly discovered. This does not ensure the letter of the dex
specification for now, which calls for nops for padding. However,
it is unclear what the difference between unreachable code and
padding is.
Bug:
22237618
Bug: https://code.google.com/p/android/issues/detail?id=178522
Change-Id: I823b3f541f326e6e77b15f3e13a7608a39d4b1fb
Andreas Gampe [Mon, 6 Jul 2015 15:21:45 +0000 (15:21 +0000)]
Merge "ART: Unlink old file in OS::CreateEmptyFile"
Andreas Gampe [Mon, 6 Jul 2015 15:21:35 +0000 (15:21 +0000)]
Merge "Revert "ART: Unlink target oat file before compiling""
Nicolas Geoffray [Mon, 6 Jul 2015 15:12:53 +0000 (15:12 +0000)]
Revert "Revert "Fix LSRA bug with explicit register temporaries""
This reverts commit
a5fc140ff315dda9bc0a8e59963ed547676cd941.
Change-Id: Ic322484176e55d0c7cd7250d629b9e5046006a4f
Calin Juravle [Mon, 6 Jul 2015 15:10:41 +0000 (15:10 +0000)]
Merge "Revert "Fix LSRA bug with explicit register temporaries""
Calin Juravle [Mon, 6 Jul 2015 15:09:54 +0000 (15:09 +0000)]
Revert "Fix LSRA bug with explicit register temporaries"
register_allocator_test32 fails.
This reverts commit
283b8541546e7673d33d104241623d07c91cf500.
Change-Id: I2a46f3c68de3e8273e402102065c13797045c481
Nicolas Geoffray [Mon, 6 Jul 2015 13:51:54 +0000 (13:51 +0000)]
Merge "Fix LSRA bug with explicit register temporaries"
Mark Mendell [Fri, 3 Jul 2015 12:26:41 +0000 (08:26 -0400)]
Fix LSRA bug with explicit register temporaries
A temporary with an explicit RegisterLocation, such as ESI on x86 didn't
have the register marked as allocated. This caused it to not be
saved/restored in the prologue/epilogue, causing problems in the caller
routine, which expected it to be saved. Found while implementing
https://android-review.googlesource.com/#/c/157522/.
Change-Id: I22ca2b24c2d21b1c6ab6cfb7dec26cb38034a891
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
David Brazdil [Mon, 6 Jul 2015 09:29:27 +0000 (09:29 +0000)]
Merge "ART: Fix graph for switch leaving a try block"
David Brazdil [Fri, 3 Jul 2015 09:34:57 +0000 (10:34 +0100)]
ART: Fix graph for switch leaving a try block
Blocks that GraphBuilder creates for switch-case logic are given
a dex_pc of the branch targets they serve, while in fact they should
be considered part of the switch instruction itself and get its pc.
This caused the try/catch algorithm to either miss try boundaries or
create bogus edges.
This patch fixed the dex_pc of the switch-case blocks and modifies
the try/catch logic to iterate over all blocks as opposed to just
branch targets since multiple blocks can now cover the same dex_pc.
Change-Id: I30fe4f8db0647b869979197a3bc847cf212a7315
Narayan Kamath [Mon, 6 Jul 2015 08:49:50 +0000 (08:49 +0000)]
Merge "Supress OsTest#test_xattr on the bots."
Narayan Kamath [Fri, 3 Jul 2015 12:20:51 +0000 (13:20 +0100)]
Supress OsTest#test_xattr on the bots.
bug:
22258911
Change-Id: Iba57eb8660e0f46e2b152ca05f49f64a233e0f44
Roland Levillain [Fri, 3 Jul 2015 16:18:00 +0000 (16:18 +0000)]
Merge "Add implicit null pointer and stack overflow checks for Mips."
Douglas Leung [Thu, 2 Jul 2015 23:42:08 +0000 (16:42 -0700)]
Add implicit null pointer and stack overflow checks for Mips.
Bug:
21555893
Change-Id: I2a995be128a5603d08753c14956dd8c8240ac63c
Calin Juravle [Thu, 2 Jul 2015 17:23:56 +0000 (17:23 +0000)]
Merge "Disable static builds for mac and asan."
Calin Juravle [Thu, 2 Jul 2015 17:21:14 +0000 (18:21 +0100)]
Disable static builds for mac and asan.
- asan doesn't support static linkage
- we don't need a static build of dex2oat for mac
Change-Id: I7eddd19f1f47e8b2a67ecc0aaf40cb70941febdd
Nicolas Geoffray [Thu, 2 Jul 2015 17:01:02 +0000 (17:01 +0000)]
Merge "Do not create a HBoundType when the instruction is non-null."
Nicolas Geoffray [Thu, 2 Jul 2015 14:48:27 +0000 (15:48 +0100)]
Do not create a HBoundType when the instruction is non-null.
We don't need to refine the type after a null check, if the
instruction is known non null or null. As a side effect, this
avoids replacing HLoadClass instructions with HBoundType instructions.
bug:
22116987
(cherry picked from commit
3abd437507f8ba30a238a52c273c9944dcb9d5a1)
Change-Id: I5e56de293554534195ade9770b7d1e4b078d685b
Calin Juravle [Thu, 2 Jul 2015 12:52:48 +0000 (12:52 +0000)]
Merge "Fix mac build: use -lrt only on linux."
Calin Juravle [Thu, 2 Jul 2015 12:48:37 +0000 (13:48 +0100)]
Fix mac build: use -lrt only on linux.
Change-Id: I25e6058d9003fa52ef3c8bd153c2108712ce7f96
Calin Juravle [Thu, 2 Jul 2015 11:02:38 +0000 (11:02 +0000)]
Merge "Enable ART_BUILD_HOST_STATIC for check builds."
Calin Juravle [Thu, 2 Jul 2015 10:51:22 +0000 (11:51 +0100)]
Enable ART_BUILD_HOST_STATIC for check builds.
Change-Id: Id888c3b0c544ea6a85799f2264b13f1d035fc754
Calin Juravle [Thu, 2 Jul 2015 10:30:06 +0000 (10:30 +0000)]
Merge "Build statically linked version of dex2oat."
Calin Juravle [Thu, 2 Jul 2015 10:29:48 +0000 (10:29 +0000)]
Merge "Allow for sig chain to be disabled."
Roland Levillain [Thu, 2 Jul 2015 09:59:15 +0000 (10:59 +0100)]
Make oatdump work with .art files and code generated by Optimizing.
When inspecting an .art file with oatdump (using `--image'),
do not try to compute size stats about the vmap table if the
method has been compiled with Optimizing.
Change-Id: I1204b53c91ac8bf98665ed357d8509a4a01a52f9
Roland Levillain [Thu, 2 Jul 2015 08:44:21 +0000 (08:44 +0000)]
Merge "Implement heap poisoning in ART's Optimizing compiler."
Andreas Gampe [Wed, 1 Jul 2015 20:27:06 +0000 (20:27 +0000)]
Merge "Added index type of dex byte instructions."
Roland Levillain [Wed, 1 Jul 2015 14:41:14 +0000 (15:41 +0100)]
Implement heap poisoning in ART's Optimizing compiler.
- Instrument ARM, ARM64, x86 and x86-64 code generators.
- Note: To turn heap poisoning on in Optimizing, set the
environment variable `ART_HEAP_POISONING' to "true"
before compiling ART.
Bug:
12687968
Change-Id: Ib3120b38cf805a8a50207a314b9ccc90c8d93740
Nicolas Geoffray [Wed, 1 Jul 2015 15:20:35 +0000 (15:20 +0000)]
Merge "Don't print signatures to avoid spaces."
David Brazdil [Wed, 1 Jul 2015 15:16:14 +0000 (15:16 +0000)]
Merge "Address additional comments on try-catch CL"
Nicolas Geoffray [Wed, 1 Jul 2015 15:10:44 +0000 (16:10 +0100)]
Don't print signatures to avoid spaces.
Change-Id: I64340fbd08282acb0eb4142d17d37e69bba507cf
David Brazdil [Wed, 1 Jul 2015 14:28:26 +0000 (15:28 +0100)]
Address additional comments on try-catch CL
Extra documentation of try-catch building.
Change-Id: I5048c5fcb354c76fa4a60c3d8d21dd216bc9f6cd
David Brazdil [Wed, 1 Jul 2015 13:54:32 +0000 (13:54 +0000)]
Merge "ART: Changes to try-catch in GraphBuilder"
David Brazdil [Tue, 30 Jun 2015 14:41:36 +0000 (15:41 +0100)]
ART: Changes to try-catch in GraphBuilder
This patch adds an additional case into the insertion algorithm for
HTryBoundary inside HGraphBuilder in order to better handle catch
blocks covered by a TryItem.
Building SSA form also required to stop combining HTryBoundaries for
neighbouring TryItems because it was not clear which exception
handlers belong to which try block.
Change-Id: Ic68bd6ef98fee784609fa593cb08dca1f00a15e0
Nicolas Geoffray [Wed, 1 Jul 2015 13:00:46 +0000 (13:00 +0000)]
Merge "Do not do a type check when setting null to an array."
Nicolas Geoffray [Wed, 1 Jul 2015 11:56:46 +0000 (12:56 +0100)]
Do not do a type check when setting null to an array.
Change-Id: I7387d45aea697d4a3de273335647220a815a992b
Nicolas Geoffray [Wed, 1 Jul 2015 12:50:28 +0000 (12:50 +0000)]
Merge "Emit method name at invokes in the graph visualizer."
Calin Juravle [Mon, 8 Jun 2015 09:35:24 +0000 (10:35 +0100)]
Build statically linked version of dex2oat.
Change-Id: Icde39b770781095af7bd87ae6b907ad97a8a05da
Sebastien Hertz [Wed, 1 Jul 2015 12:14:44 +0000 (12:14 +0000)]
Merge "Properly delete temp files during run-test"
Nicolas Geoffray [Wed, 1 Jul 2015 12:00:15 +0000 (13:00 +0100)]
Emit method name at invokes in the graph visualizer.
Change-Id: I832f823463569724fca9c38cd70d9dd552f15b3a
Roland Levillain [Wed, 1 Jul 2015 11:58:21 +0000 (11:58 +0000)]
Merge "Fix a MOV instruction in Optimizing's x86-64 code generator."
Roland Levillain [Wed, 1 Jul 2015 11:47:25 +0000 (12:47 +0100)]
Fix a MOV instruction in Optimizing's x86-64 code generator.
Use `movl' instead of `movw' to store a 32-bit immediate
(integer or reference) into a field.
Also fix art::Location::RegisterOrInt32LongConstant to
properly handle non-long constants.
Change-Id: I34c6ec8eaa1632822a31969f87c9c2d6c5b96326
Nicolas Geoffray [Wed, 1 Jul 2015 11:46:48 +0000 (11:46 +0000)]
Merge "Use CompareAndBranchIf(Non)Zero when applicable."
Nicolas Geoffray [Wed, 1 Jul 2015 11:22:56 +0000 (12:22 +0100)]
Use CompareAndBranchIf(Non)Zero when applicable.
Now that we relocate branches, we can try make more use of cbz/cbnz.
Change-Id: I93ca64107f34eb3c43f2e7102ea90453113dad7a
Calin Juravle [Fri, 19 Jun 2015 21:05:39 +0000 (22:05 +0100)]
Allow for sig chain to be disabled.
Tools like dex2oat or patchoat don't need the sig chain or the fault
manager. This also enables building a statically link version of
dex2oat.
Change-Id: I9897728cac48acade854bb027bfde860628ebf84
Andreas Gampe [Wed, 1 Jul 2015 05:17:24 +0000 (05:17 +0000)]
Merge "Quick: Fix a DCHECK to take type conflicts into account."
Andreas Gampe [Wed, 1 Jul 2015 05:06:20 +0000 (05:06 +0000)]
Merge "ART: Symbolize all oat files in /data folder."
Zheng Xu [Tue, 21 Apr 2015 09:35:25 +0000 (17:35 +0800)]
ART: Symbolize all oat files in /data folder.
Now we store oat files not only in /data/dalvik-cache, but also in
other places. This patch tries to pull all oat files from device
/data folder.
Change-Id: Icf81cf28c29da2e248e4fbd84f5920f46ddc4cd6
agicsaki [Wed, 1 Jul 2015 00:10:03 +0000 (17:10 -0700)]
Added next condition check to branch instruction
Since branch 'b' instructions currently do not support being part of
an it block, I added a dcheck to the branch instruction in the Thumb2
assembler to ensure that the instruction is not part of an it block.
Change-Id: Ie09f687906add471274a4029cb59a7d90b5feba4
Evgenii Stepanov [Tue, 30 Jun 2015 22:19:13 +0000 (22:19 +0000)]
Merge "Explicitly link libz-host to libart."
Andreas Gampe [Tue, 30 Jun 2015 21:10:50 +0000 (21:10 +0000)]
Merge "ART: Remove bad FindSymbol call"
Andreas Gampe [Tue, 30 Jun 2015 18:23:44 +0000 (11:23 -0700)]
ART: Remove bad FindSymbol call
The removed call is superfluous under normal operation and harmful
when running a native-bridged library.
Bug:
22194296
Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2367
Change-Id: I3eb8f435a6a974a3e87a370b254ba8752f2a59b3
Andreas Gampe [Tue, 30 Jun 2015 17:52:46 +0000 (10:52 -0700)]
ART: Unlink old file in OS::CreateEmptyFile
Update the documentation to make clear that a new file is expected
to be returned. A potentially existing file will not be reused
(and cleared).
Bug:
22047255
Change-Id: I0eb8601c7696d6f7b81547abcc06ff605826dc26
Andreas Gampe [Tue, 30 Jun 2015 17:47:40 +0000 (10:47 -0700)]
Revert "ART: Unlink target oat file before compiling"
Change to the old code before changing CreateEmptyFile.
This reverts commit
4591ae27de90988fbcb9af0c942e633f97ab454e.
Bug:
22047255
Andreas Gampe [Tue, 30 Jun 2015 17:44:01 +0000 (17:44 +0000)]
Merge "ART: Unlink target oat file before compiling"
Andreas Gampe [Tue, 30 Jun 2015 17:42:23 +0000 (17:42 +0000)]
Merge "Change ART_TEST_GC_STRESS to use new gcstress mode"
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
Change ART_TEST_GC_STRESS to use new gcstress mode
Enable new gcstress mode that checks at each allocation site
(with some tracking of stack traces to only do one check per
unique site).
Disable 137-cfi for gcstress, as it's sleeping to "synchronize"
with a forked process, which doesn't work with the slower mode.
Bug:
22014525
Change-Id: Ife70308e45b04f5d97267b4d98f8c75fa96492a1
Andreas Gampe [Tue, 30 Jun 2015 17:37:26 +0000 (17:37 +0000)]
Merge "ART: Fix test 036-finalizer"
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
ART: Fix test 036-finalizer
Need to fix bug in test 036 where some allocation sites could cause
GC to run which caused the test to fail due to a weak reference
getting cleared. This change is required for the new GCSTRESS mode.
Bug:
22014525
Change-Id: I8099d2f03bc2f14f4ca6d49133f0d17d8aa49a7b
Andreas Gampe [Sat, 27 Jun 2015 01:58:42 +0000 (18:58 -0700)]
ART: Unlink target oat file before compiling
Dex2oat must create a new file (new inode) when writing to a target
given by name, as the existing file may be in use. So unlink any
existing file first.
Bug:
22047255
(cherry picked from commit
52f0aeb8e9f16fa5c3067f6a36be701354448924)
Change-Id: Ief942c71564076e39c1e8340d5c4c55286f75896
Roland Levillain [Tue, 30 Jun 2015 15:05:03 +0000 (15:05 +0000)]
Merge "Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER."
Roland Levillain [Tue, 30 Jun 2015 13:16:48 +0000 (14:16 +0100)]
Make compiler-related gtests honor ART_USE_OPTIMIZING_COMPILER.
Previously, gtests using the art::CommonCompilerTest
class were using Quick as compiler. Now, setting the
environment variable ART_USE_OPTIMIZING_COMPILER to `true`
before building and running these tests will use Optimizing
instead.
Change-Id: I724a3215d2eb1841089745fbabb5cb58b0422ef3
Sebastien Hertz [Tue, 30 Jun 2015 11:57:39 +0000 (13:57 +0200)]
Properly delete temp files during run-test
Bug:
22190679
Change-Id: Ic5cb98d296df924d9ee724c757c526ad70744612
Evgenii Stepanov [Mon, 29 Jun 2015 23:23:34 +0000 (16:23 -0700)]
Explicitly link libz-host to libart.
A change in system/core/libziparchive will make libziparchive-host
depend on libz-host as a shared library instead of a static library.
As a result, only on MacOS, libziparchive-host will stop re-exporting
libz-host interface. Libart uses both and must link both.
Change-Id: Ie4ae9b27903cbcbdb2d2043969a7fceba32249be
Aart Bik [Mon, 29 Jun 2015 18:03:55 +0000 (11:03 -0700)]
Added index type of dex byte instructions.
Rationale:
The information was already in the instruction_list but not
exposed as enum through a getter. This CL adds that ability.
This information is needed by the upcoming Art-based dexdump.
NOTE:
Added "Index" to the enum constants naming convention.
NOTE:
Fixed few incorrect quickened entries in instruction_list.
Bug:
17442393
Change-Id: Ica18ae43135f78f29e9832f5a101d497e54724cf
Andreas Gampe [Mon, 29 Jun 2015 21:01:14 +0000 (21:01 +0000)]
Merge "ART: Fix CFI annotation for art_quick_aput_obj"
Yusuke Sato [Mon, 29 Jun 2015 17:49:28 +0000 (17:49 +0000)]
Merge "Rename ZipEntryName to ZipString"
Mathieu Chartier [Sat, 27 Jun 2015 22:42:27 +0000 (15:42 -0700)]
ART: Fix CFI annotation for art_quick_aput_obj
Fix the CFI state after an early return.
Bug:
22014525
Change-Id: I56b9ba8cf8c47d70a642f064e59c7e04a476dd2f
Nicolas Geoffray [Mon, 29 Jun 2015 14:03:00 +0000 (14:03 +0000)]
Merge "Do not replace a live phi with a dead phi."
Nicolas Geoffray [Mon, 29 Jun 2015 13:34:46 +0000 (14:34 +0100)]
Do not replace a live phi with a dead phi.
A dead phi is not properly typed. Therefore, always use the live phi
equivalent instead.
bug:
21865466
Change-Id: Id5e26ae4062cc18f5532d5b95cc024480652d5b2
Nicolas Geoffray [Mon, 29 Jun 2015 13:04:19 +0000 (13:04 +0000)]
Merge "Revert "Revert "Do not update the type of something we already know."""
Nicolas Geoffray [Mon, 29 Jun 2015 12:43:54 +0000 (13:43 +0100)]
Revert "Revert "Do not update the type of something we already know.""
This reverts commit
63107a804ce17db9789051e1fe310d99d1dae1cb.
bug:
22116987
Change-Id: I49a376a5bd2073a69babe122ec0d26e5d2f82461
Calin Juravle [Mon, 29 Jun 2015 11:43:39 +0000 (11:43 +0000)]
Merge "Revert "Do not update the type of something we already know.""
Calin Juravle [Mon, 29 Jun 2015 11:43:16 +0000 (11:43 +0000)]
Revert "Do not update the type of something we already know."
This reverts commit
30eb58c548bee08468f68eb140a74a51dd7d9b43.
Change-Id: Icd959e868160fc3ee7031dd2927554ac5b21d40f
Nicolas Geoffray [Mon, 29 Jun 2015 11:03:34 +0000 (11:03 +0000)]
Merge "Do not update the type of something we already know."
Nicolas Geoffray [Mon, 29 Jun 2015 09:56:34 +0000 (10:56 +0100)]
Do not update the type of something we already know.
This is both an optimization to avoid unneeded nodes,
and correctness to avoid replacing the second input
of `HInstanceOf` and `HCheckCast` to something that is
not `HLoadClass`.
bug:
22116987
Change-Id: I4907197a9002883d7cae8265a9642512b6201396