OSDN Git Service
David Brazdil [Wed, 29 Apr 2015 17:55:36 +0000 (17:55 +0000)]
am
395086f0: ART: Fix loop information after dead code elimination
* commit '
395086f0a9e0658a2d33eeade7121db55c1f5dc8':
ART: Fix loop information after dead code elimination
David Brazdil [Wed, 29 Apr 2015 16:16:07 +0000 (17:16 +0100)]
ART: Fix loop information after dead code elimination
Compilation failed when only some blocks of a loop were removed during
dead code elimination.
Bug:
20680703
(cherry picked from commit
69a2804c3bb48cf4fd00a66080f613a4fd96c422)
Change-Id: If9988381236e4d8d8c3b508dfce1376b27c20d75
Nicolas Geoffray [Wed, 29 Apr 2015 17:36:13 +0000 (17:36 +0000)]
am
401b8ea4: am
ed51747a: Merge "Add synthesize uses at back edge."
* commit '
401b8ea4c56678cfa0b2d3bdae5cb9e208711f88':
Add synthesize uses at back edge.
Nicolas Geoffray [Wed, 29 Apr 2015 17:23:33 +0000 (17:23 +0000)]
am
ed51747a: Merge "Add synthesize uses at back edge."
* commit '
ed51747ae96a0c7fac452e95a1607200a5494b28':
Add synthesize uses at back edge.
Nicolas Geoffray [Wed, 29 Apr 2015 17:10:08 +0000 (17:10 +0000)]
Merge "Add synthesize uses at back edge."
David Brazdil [Wed, 29 Apr 2015 17:06:11 +0000 (17:06 +0000)]
am
c1849c58: am
0430fc92: Merge "ART: Fix loop information after dead code elimination"
* commit '
c1849c58ce2a35c37f19e75038e034df47815ecd':
ART: Fix loop information after dead code elimination
Nicolas Geoffray [Tue, 21 Apr 2015 13:28:41 +0000 (14:28 +0100)]
Add synthesize uses at back edge.
This reduces the cost of linearizing the graph (hence removing
the notion of back edge). Since linear scan allocates/spills registers
based on next use, adding a use at a back edge ensures we do count
for loop uses.
Change-Id: Idaa882cb120edbdd08ca6bff142d326a8245bd14
David Brazdil [Wed, 29 Apr 2015 16:51:50 +0000 (16:51 +0000)]
am
0430fc92: Merge "ART: Fix loop information after dead code elimination"
* commit '
0430fc9216dddf6a6967cfffd37dfa99d73c2c68':
ART: Fix loop information after dead code elimination
David Brazdil [Wed, 29 Apr 2015 16:42:48 +0000 (16:42 +0000)]
Merge "ART: Fix loop information after dead code elimination"
David Brazdil [Wed, 29 Apr 2015 16:16:07 +0000 (17:16 +0100)]
ART: Fix loop information after dead code elimination
Compilation failed when only some blocks of a loop were removed during
dead code elimination.
Bug:
20680703
Change-Id: If31025169ca493f0d7f7f2788576e98d05f03394
Roland Levillain [Wed, 29 Apr 2015 15:51:07 +0000 (15:51 +0000)]
am
4c176ef5: am
0829d9de: Merge "Factor MoveArguments methods in Optimizing\'s intrinsics handlers."
* commit '
4c176ef5ecd5a28354b9f98e5bafb848b0399a63':
Factor MoveArguments methods in Optimizing's intrinsics handlers.
Roland Levillain [Wed, 29 Apr 2015 15:38:43 +0000 (15:38 +0000)]
am
0829d9de: Merge "Factor MoveArguments methods in Optimizing\'s intrinsics handlers."
* commit '
0829d9de97b92bcd575f4d5c1f717abf7405d8e2':
Factor MoveArguments methods in Optimizing's intrinsics handlers.
Roland Levillain [Wed, 29 Apr 2015 15:30:17 +0000 (15:30 +0000)]
Merge "Factor MoveArguments methods in Optimizing's intrinsics handlers."
Narayan Kamath [Wed, 29 Apr 2015 14:57:53 +0000 (14:57 +0000)]
am
40e18300: am
36ad3f1c: Merge "Add dependency on libbase."
* commit '
40e183005ecf05938f27a9722f419e71bb0e4257':
Add dependency on libbase.
Narayan Kamath [Wed, 29 Apr 2015 14:44:43 +0000 (14:44 +0000)]
am
36ad3f1c: Merge "Add dependency on libbase."
* commit '
36ad3f1c3c08a49680a8f5d34bba43199ab9dd5b':
Add dependency on libbase.
Narayan Kamath [Wed, 29 Apr 2015 14:31:27 +0000 (14:31 +0000)]
Merge "Add dependency on libbase."
Narayan Kamath [Tue, 28 Apr 2015 08:56:28 +0000 (09:56 +0100)]
Add dependency on libbase.
Used by the static libziparchive dependency on target.
Change-Id: Ib88dd67941f0679682bcae01346277ffe8d6df9b
Roland Levillain [Tue, 28 Apr 2015 14:50:20 +0000 (15:50 +0100)]
Factor MoveArguments methods in Optimizing's intrinsics handlers.
Also add a precondition similar to the one present in code
generators, regarding static invoke related explicit clinit
check elimination in non-baseline compilations.
Change-Id: I26f4dcb5d02824d7556f90b4b0c85b08b737fa53
Roland Levillain [Wed, 29 Apr 2015 14:01:00 +0000 (14:01 +0000)]
am
abc574c1: am
b6829c2e: Merge "Refactor InvokeDexCallingConventionVisitor in Optimizing."
* commit '
abc574c14d86ab629d507da42155fa6ec125d7eb':
Refactor InvokeDexCallingConventionVisitor in Optimizing.
Roland Levillain [Wed, 29 Apr 2015 13:48:42 +0000 (13:48 +0000)]
am
b6829c2e: Merge "Refactor InvokeDexCallingConventionVisitor in Optimizing."
* commit '
b6829c2ee05124d64a19c7a52ada4a23f624fb91':
Refactor InvokeDexCallingConventionVisitor in Optimizing.
Roland Levillain [Wed, 29 Apr 2015 13:37:57 +0000 (13:37 +0000)]
Merge "Refactor InvokeDexCallingConventionVisitor in Optimizing."
Roland Levillain [Tue, 28 Apr 2015 14:48:45 +0000 (15:48 +0100)]
Refactor InvokeDexCallingConventionVisitor in Optimizing.
Change-Id: I7ede0f59d5109644887bf5d39201d4e1bf043f34
nikolay serdjuk [Wed, 29 Apr 2015 12:31:35 +0000 (12:31 +0000)]
am
dd17bc38: Fix for incorrect encode and parse of PEXTRW instruction
* commit '
dd17bc3806e800d3b82d5cb27e85ccc1c4e2ee1d':
Fix for incorrect encode and parse of PEXTRW instruction
Vladimir Marko [Wed, 29 Apr 2015 12:18:33 +0000 (12:18 +0000)]
am
588f1f3c: am
f073a36d: Merge "Fix for incorrect encode and parse of PEXTRW instruction"
* commit '
588f1f3ca8026485cff4e9d5b37d6eca913bf8b7':
Fix for incorrect encode and parse of PEXTRW instruction
nikolay serdjuk [Mon, 27 Apr 2015 11:52:57 +0000 (17:52 +0600)]
Fix for incorrect encode and parse of PEXTRW instruction
The instruction PEXTRW encoded by sequence 66 0F 3A 15
was incorrectly encoded in compiler table and incorrectly
parsed by disassembler.
Signed-off-by: nikolay serdjuk <nikolay.y.serdjuk@intel.com>
(cherry picked from commit
e0705f51fdc71e9670a29f8c3a47168f50724b35)
Change-Id: I7f051e23789aa3745d6eb854c97f80c475748b74
Vladimir Marko [Wed, 29 Apr 2015 12:07:57 +0000 (12:07 +0000)]
am
f073a36d: Merge "Fix for incorrect encode and parse of PEXTRW instruction"
* commit '
f073a36d1ed866e786f7d7784c709c86b00bc58e':
Fix for incorrect encode and parse of PEXTRW instruction
Vladimir Marko [Wed, 29 Apr 2015 11:56:55 +0000 (11:56 +0000)]
Merge "Fix for incorrect encode and parse of PEXTRW instruction"
Roland Levillain [Wed, 29 Apr 2015 11:36:42 +0000 (11:36 +0000)]
am
48372b54: am
e761b911: Merge "Revert "Revert "Revert "[optimizing] Improve x86 shifts""""
* commit '
48372b543cbf77835b2df66b1a8a0d88fe1d16f6':
Revert "Revert "Revert "[optimizing] Improve x86 shifts"""
Roland Levillain [Wed, 29 Apr 2015 11:25:06 +0000 (11:25 +0000)]
am
e761b911: Merge "Revert "Revert "Revert "[optimizing] Improve x86 shifts""""
* commit '
e761b911b24e9001ac50667462b4f936ebee7369':
Revert "Revert "Revert "[optimizing] Improve x86 shifts"""
Roland Levillain [Wed, 29 Apr 2015 11:12:59 +0000 (11:12 +0000)]
Merge "Revert "Revert "Revert "[optimizing] Improve x86 shifts""""
Roland Levillain [Wed, 29 Apr 2015 11:12:33 +0000 (11:12 +0000)]
Revert "Revert "Revert "[optimizing] Improve x86 shifts"""
This reverts commit
9b95a057ee20e4b1ca2e9c663726482172dc9ba3.
Reverting this CL as it breaks libcore tests:
org.apache.harmony.tests.java.lang.DoubleTest#test_compare
junit.framework.AssertionFailedError: compare() -0.0 should be less 0.0
at junit.framework.Assert.assertTrue(Assert.java:140)
at org.apache.harmony.tests.java.lang.DoubleTest.test_compare(DoubleTest.java:258)
org.apache.harmony.tests.java.lang.DoubleTest#test_compare FAIL (EXEC_FAILED)
org.apache.harmony.tests.java.lang.DoubleTest#test_compareToLjava_lang_Double
junit.framework.AssertionFailedError: Assert 2: compare() -0.0 should be less 0.0
at junit.framework.Assert.assertTrue(Assert.java:140)
at org.apache.harmony.tests.java.lang.DoubleTest.test_compareToLjava_lang_Double(DoubleTest.java:1320)
org.apache.harmony.tests.java.lang.DoubleTest#test_compareToLjava_lang_Double FAIL (EXEC_FAILED)
Change-Id: I10f0ec8cc9495cc225fef1940b3f1a9fe87d996f
Nicolas Geoffray [Wed, 29 Apr 2015 10:57:20 +0000 (10:57 +0000)]
am
a3bfc429: am
7386f983: Merge "Bugs have been fixed, so run the tests."
* commit '
a3bfc429e59927ef12c0901539010ad8fd174a66':
Bugs have been fixed, so run the tests.
Nicolas Geoffray [Wed, 29 Apr 2015 10:45:14 +0000 (10:45 +0000)]
am
7386f983: Merge "Bugs have been fixed, so run the tests."
* commit '
7386f983a67cf73c91cfb9a69a3919f95b25f276':
Bugs have been fixed, so run the tests.
Roland Levillain [Wed, 29 Apr 2015 10:42:02 +0000 (10:42 +0000)]
am
0a3e6543: am
fadf977d: Merge "Add InsertInstructionAfter in HBasicBlock."
* commit '
0a3e65439311f24c534a7b5640cc4918a5293c45':
Add InsertInstructionAfter in HBasicBlock.
Roland Levillain [Wed, 29 Apr 2015 10:42:00 +0000 (10:42 +0000)]
am
519873f3: am
d474b1d0: Merge "Revert "Revert "[optimizing] Improve x86 shifts"""
* commit '
519873f3306fbf0c4a33f0b666e4fefcd66f6aa1':
Revert "Revert "[optimizing] Improve x86 shifts""
Nicolas Geoffray [Wed, 29 Apr 2015 10:34:20 +0000 (10:34 +0000)]
Merge "Bugs have been fixed, so run the tests."
Roland Levillain [Wed, 29 Apr 2015 10:29:08 +0000 (10:29 +0000)]
am
fadf977d: Merge "Add InsertInstructionAfter in HBasicBlock."
* commit '
fadf977d85bfbf3f9d5d4730afb660cbed34f989':
Add InsertInstructionAfter in HBasicBlock.
Roland Levillain [Wed, 29 Apr 2015 10:29:05 +0000 (10:29 +0000)]
am
d474b1d0: Merge "Revert "Revert "[optimizing] Improve x86 shifts"""
* commit '
d474b1d0fd69fdeb481adda8c0814512956f2d51':
Revert "Revert "[optimizing] Improve x86 shifts""
Roland Levillain [Wed, 29 Apr 2015 10:23:07 +0000 (10:23 +0000)]
Merge "Add InsertInstructionAfter in HBasicBlock."
Roland Levillain [Wed, 29 Apr 2015 10:18:40 +0000 (10:18 +0000)]
Merge "Revert "Revert "[optimizing] Improve x86 shifts"""
Nicolas Geoffray [Wed, 29 Apr 2015 09:57:50 +0000 (10:57 +0100)]
Bugs have been fixed, so run the tests.
Change-Id: I6769cf244d246160b65d6dd4e4df0efb0aa8a7e5
Vladimir Marko [Wed, 29 Apr 2015 09:31:27 +0000 (09:31 +0000)]
am
a81a746c: Merge "Quick: Fix crash on fall-through out of method code." into mnc-dev
* commit '
a81a746cad998e4cbfb7b18193879d8d1e1f8772':
Quick: Fix crash on fall-through out of method code.
Roland Levillain [Wed, 29 Apr 2015 09:22:37 +0000 (10:22 +0100)]
Revert "Revert "[optimizing] Improve x86 shifts""
This reverts commit
f9aac1e9f442c2486cd54f045d43e15791601205.
Don't use Location::Any() for the first input if the output is
Location::SameAsFirstInput().
Change-Id: I400834052b114abf0d616da1b4b6506f7bba10ab
Vladimir Marko [Wed, 29 Apr 2015 08:27:39 +0000 (08:27 +0000)]
Merge "Quick: Fix crash on fall-through out of method code." into mnc-dev
Andreas Gampe [Wed, 29 Apr 2015 06:53:38 +0000 (06:53 +0000)]
am
19ad5824: ART: Move dex2oat watchdog output to LogLine
* commit '
19ad58245b5fac4bdf02045ac47472935b0717cd':
ART: Move dex2oat watchdog output to LogLine
Andreas Gampe [Wed, 29 Apr 2015 06:51:59 +0000 (06:51 +0000)]
am
c878efbc: am
57f6bee4: Merge "ART: Move dex2oat watchdog output to LogLine"
* commit '
c878efbc3ed1e602d41737f7a3208f995d288a93':
ART: Move dex2oat watchdog output to LogLine
Andreas Gampe [Wed, 29 Apr 2015 06:40:14 +0000 (06:40 +0000)]
am
57f6bee4: Merge "ART: Move dex2oat watchdog output to LogLine"
* commit '
57f6bee40489842c0461140935f900ed88281592':
ART: Move dex2oat watchdog output to LogLine
Andreas Gampe [Wed, 29 Apr 2015 06:16:03 +0000 (23:16 -0700)]
ART: Move dex2oat watchdog output to LogLine
The fprintf isn't visible on device, as it doesn't end up in the
logcat.
Also increase the watchdog timeout to 10 minutes.
Bug:
20658562
(cherry picked from commit
d687e375cf7507b5c36df63cf03c991038b1c218)
Change-Id: I1fec8dae25f9282f72e762bda934fceb948bbd5f
Andreas Gampe [Wed, 29 Apr 2015 06:30:40 +0000 (06:30 +0000)]
Merge "ART: Move dex2oat watchdog output to LogLine"
Andreas Gampe [Wed, 29 Apr 2015 06:16:03 +0000 (23:16 -0700)]
ART: Move dex2oat watchdog output to LogLine
The fprintf isn't visible on device, as it doesn't end up in the
logcat.
Also increase the watchdog timeout to 10 minutes.
Bug:
20658562
Change-Id: I1fec8dae25f9282f72e762bda934fceb948bbd5f
nikolay serdjuk [Mon, 27 Apr 2015 11:52:57 +0000 (17:52 +0600)]
Fix for incorrect encode and parse of PEXTRW instruction
The instruction PEXTRW encoded by sequence 66 0F 3A 15
was incorrectly encoded in compiler table and incorrectly
parsed by disassembler.
Change-Id: Ib4d4db923cb15a76e74f13f6b5514cb0d1cbe164
Signed-off-by: nikolay serdjuk <nikolay.y.serdjuk@intel.com>
Andreas Gampe [Wed, 29 Apr 2015 05:33:59 +0000 (05:33 +0000)]
am
c7bc9ad6: am
b0300bad: Merge "ART: Remove multidex limit"
* commit '
c7bc9ad6a932fc912c71102e2bb0190efdd92733':
ART: Remove multidex limit
Andreas Gampe [Wed, 29 Apr 2015 05:19:44 +0000 (05:19 +0000)]
am
b0300bad: Merge "ART: Remove multidex limit"
* commit '
b0300bad88e6295217a53ff96db6170a727997a9':
ART: Remove multidex limit
Andreas Gampe [Wed, 29 Apr 2015 05:10:04 +0000 (05:10 +0000)]
Merge "ART: Remove multidex limit"
Andreas Gampe [Tue, 28 Apr 2015 03:01:52 +0000 (20:01 -0700)]
ART: Remove multidex limit
Remove the arbitrary multidex limit. If users want to use many
files, allow them, but print a warning after a considerable amount.
Bug:
20071800
(cherry picked from commit
32c26b8f9b995250479c185172f4ffd881a59996)
Change-Id: Ic51c96b84042f769a7d33ec53fe587b68cd69df4
Andreas Gampe [Wed, 29 Apr 2015 04:50:46 +0000 (04:50 +0000)]
am
b349274a: Merge "ART: Remove multidex limit" into mnc-dev
* commit '
b349274af4e568d8f6932d92fcc1768eaaa99c56':
ART: Remove multidex limit
Andreas Gampe [Wed, 29 Apr 2015 04:28:36 +0000 (04:28 +0000)]
Merge "ART: Remove multidex limit" into mnc-dev
Mathieu Chartier [Wed, 29 Apr 2015 04:12:57 +0000 (04:12 +0000)]
am
3d5e5f90: am
4a3fff8f: (-s ours) am
471b7cb6: HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
* commit '
3d5e5f903f6068a889fe6532f9b51fcf28185c72':
HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
Mathieu Chartier [Wed, 29 Apr 2015 03:51:31 +0000 (03:51 +0000)]
am
4a3fff8f: (-s ours) am
471b7cb6: HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
* commit '
4a3fff8fc5021da3ef0b10850ac4ffbdef11c27c':
HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
Mathieu Chartier [Wed, 29 Apr 2015 02:11:03 +0000 (02:11 +0000)]
am
626ecd09: Fix possible null deference in Throwable::Dump
* commit '
626ecd092f22c9ecab3c86f9235e74e975862609':
Fix possible null deference in Throwable::Dump
Mathieu Chartier [Tue, 28 Apr 2015 23:27:58 +0000 (23:27 +0000)]
am
471b7cb6: HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
* commit '
471b7cb6c1b8128bb343b49198f2654f9f5b8f86':
HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
Mathieu Chartier [Tue, 28 Apr 2015 22:07:07 +0000 (15:07 -0700)]
HACK: Disable native stack trace dumping for tetra. DO NOT MERGE
Hopefully stops deadlocks.
Bug:
20640601
Change-Id: I3e19217b6da002d328ffa7d941e14bfe734442c3
Mathieu Chartier [Tue, 28 Apr 2015 21:33:54 +0000 (21:33 +0000)]
am
bc8ec546: am
13d38aab: Merge "Fix possible null deference in Throwable::Dump"
* commit '
bc8ec5462f9fb14b4e9c78b4d3c1590f41b32a54':
Fix possible null deference in Throwable::Dump
Mathieu Chartier [Tue, 28 Apr 2015 21:17:15 +0000 (21:17 +0000)]
am
13d38aab: Merge "Fix possible null deference in Throwable::Dump"
* commit '
13d38aabf01f8391946730b7c2e8d077b1ec7d13':
Fix possible null deference in Throwable::Dump
Jeff Hao [Tue, 28 Apr 2015 21:10:39 +0000 (21:10 +0000)]
am
889c0983: am
b8df6601: Merge "Change ddmc run-test to make new objects instead of strings."
* commit '
889c0983fe4c9d95b3ee41757a5bffbbd3b0586a':
Change ddmc run-test to make new objects instead of strings.
Vladimir Marko [Tue, 28 Apr 2015 21:10:29 +0000 (21:10 +0000)]
am
511eb743: am
edede5c6: Merge "Quick: Fix crash on fall-through out of method code."
* commit '
511eb743e362ca0cb97221074109dbc93d76f27d':
Quick: Fix crash on fall-through out of method code.
Mathieu Chartier [Tue, 28 Apr 2015 20:53:02 +0000 (13:53 -0700)]
Fix possible null deference in Throwable::Dump
Bug:
20640601
(cherry picked from commit
4a24858d432331049c416ae6a5993762bfe5e438)
Change-Id: I42a34510798aeb492f375dbb8edb7efeae0ae339
Mathieu Chartier [Tue, 28 Apr 2015 21:06:33 +0000 (21:06 +0000)]
Merge "Fix possible null deference in Throwable::Dump"
Mathieu Chartier [Tue, 28 Apr 2015 20:53:02 +0000 (13:53 -0700)]
Fix possible null deference in Throwable::Dump
Bug:
20640601
Change-Id: Ibd6081ed9ea16f320e505e06e690b8eddb1228ef
Andreas Gampe [Tue, 28 Apr 2015 03:01:52 +0000 (20:01 -0700)]
ART: Remove multidex limit
Remove the arbitrary multidex limit. If users want to use many
files, allow them, but print a warning after a considerable amount.
Bug:
20071800
Change-Id: Ic51c96b84042f769a7d33ec53fe587b68cd69df4
Jeff Hao [Tue, 28 Apr 2015 19:25:26 +0000 (19:25 +0000)]
am
b8df6601: Merge "Change ddmc run-test to make new objects instead of strings."
* commit '
b8df6601f2119fd90150761388057dbe893bb6ae':
Change ddmc run-test to make new objects instead of strings.
Jeff Hao [Tue, 28 Apr 2015 19:15:05 +0000 (19:15 +0000)]
Merge "Change ddmc run-test to make new objects instead of strings."
Jeff Hao [Tue, 28 Apr 2015 19:11:22 +0000 (12:11 -0700)]
Change ddmc run-test to make new objects instead of strings.
Before, the test was creating new strings until overflowing allocations,
which was half string objects and half character arrays. Now, it
allocates all strings with the character data, which is larger than
before, causing the test to run out of memory. Allocating only objects
prevents the test from running out of memory.
Change-Id: Icf3f0fd2ae847e76a9b8d5dfb762be92de16aaa3
Vladimir Marko [Tue, 28 Apr 2015 18:50:39 +0000 (18:50 +0000)]
am
edede5c6: Merge "Quick: Fix crash on fall-through out of method code."
* commit '
edede5c67daa2a6890067da0934e0ba6e14661b9':
Quick: Fix crash on fall-through out of method code.
Calin Juravle [Tue, 7 Apr 2015 18:43:36 +0000 (19:43 +0100)]
Quick: Fix crash on fall-through out of method code.
Fix Quick crash when the last insn has a fall-through out of
the method's code. Allow creation of an out-of-method block
and at the end of MIRGraph::InlineMethod() check if that
block is reachable. If it is, punt to interpreter. Add tests
for unreachable if-lt and packed-switch as the last insn.
Also fix MIRGraph::ProcessCanSwitch() to treat the offset to
the data as signed. Jumping over the data with a goto and
using it from a switch further down is valid. This was also
crashing (presumably only on 64-bit dex2oat).
Thanks to Stephen Kyle (stephenckyle@googlemail.com) for the
bug report.
Bug:
19988134
(cherry picked from commit
2bee20b5f0d783b43c1bbbe281f69a6f9b9e0a98)
Change-Id: I8cff7105a66aeb79a91689c3adb216f61ab57e40
Vladimir Marko [Tue, 28 Apr 2015 18:35:17 +0000 (18:35 +0000)]
Merge "Quick: Fix crash on fall-through out of method code."
Dan Albert [Tue, 28 Apr 2015 18:33:22 +0000 (18:33 +0000)]
am
805f4061: am
458d91b0: Merge "Prevent undefined behavior in RosAlloc."
* commit '
805f4061d43b2617df7a235fa2e79e583925b111':
Prevent undefined behavior in RosAlloc.
Calin Juravle [Tue, 7 Apr 2015 18:43:36 +0000 (19:43 +0100)]
Quick: Fix crash on fall-through out of method code.
Fix Quick crash when the last insn has a fall-through out of
the method's code. Allow creation of an out-of-method block
and at the end of MIRGraph::InlineMethod() check if that
block is reachable. If it is, punt to interpreter. Add tests
for unreachable if-lt and packed-switch as the last insn.
Also fix MIRGraph::ProcessCanSwitch() to treat the offset to
the data as signed. Jumping over the data with a goto and
using it from a switch further down is valid. This was also
crashing (presumably only on 64-bit dex2oat).
Thanks to Stephen Kyle (stephenckyle@googlemail.com) for the
bug report.
Bug:
19988134
Change-Id: I627f4137f61901897bfb9a5252741c6ded3a1adb
Dan Albert [Tue, 28 Apr 2015 18:23:35 +0000 (18:23 +0000)]
am
458d91b0: Merge "Prevent undefined behavior in RosAlloc."
* commit '
458d91b0f72293c9dd347feecf535db0682ccd71':
Prevent undefined behavior in RosAlloc.
Mathieu Chartier [Tue, 28 Apr 2015 18:17:09 +0000 (18:17 +0000)]
am
7aa231a1: am
2b9b0de4: Merge "Fix some compaction bugs in string allocation"
* commit '
7aa231a188a62a6f6053ae9ae0f632366499fa97':
Fix some compaction bugs in string allocation
Dan Albert [Tue, 28 Apr 2015 18:11:38 +0000 (18:11 +0000)]
Merge "Prevent undefined behavior in RosAlloc."
Dan Albert [Thu, 16 Apr 2015 18:50:30 +0000 (11:50 -0700)]
Prevent undefined behavior in RosAlloc.
In cases where remain == 0, the 32-bit value would be left shifted
32-bits, which is undefined behavior.
Change-Id: I6277279341b168536f928ce87375c395a1aa865c
Mathieu Chartier [Tue, 28 Apr 2015 18:03:18 +0000 (18:03 +0000)]
am
2b9b0de4: Merge "Fix some compaction bugs in string allocation"
* commit '
2b9b0de424146c8b654b3fa05b14c48d3b2b0b13':
Fix some compaction bugs in string allocation
Mathieu Chartier [Tue, 28 Apr 2015 17:47:45 +0000 (17:47 +0000)]
Merge "Fix some compaction bugs in string allocation"
Vladimir Marko [Tue, 28 Apr 2015 17:28:24 +0000 (17:28 +0000)]
am
6996ce22: Merge "Quick: Avoid unnecessary GVN work in release builds." into mnc-dev
* commit '
6996ce22986ddf19b89c7582973d55b329b1436e':
Quick: Avoid unnecessary GVN work in release builds.
Vladimir Marko [Tue, 28 Apr 2015 17:28:22 +0000 (17:28 +0000)]
am
3863b43d: Merge "Quick: Rely on inferred types in GVN/LVN/DCE." into mnc-dev
* commit '
3863b43dc55786a655157c446af8f5ceea61b61a':
Quick: Rely on inferred types in GVN/LVN/DCE.
Mathieu Chartier [Tue, 28 Apr 2015 17:01:28 +0000 (10:01 -0700)]
Fix some compaction bugs in string allocation
Change-Id: I2b8499c60de7690e1012d71bccba4ecd589da9af
Vladimir Marko [Tue, 28 Apr 2015 17:07:03 +0000 (17:07 +0000)]
Merge "Quick: Avoid unnecessary GVN work in release builds." into mnc-dev
Vladimir Marko [Sat, 25 Apr 2015 16:00:45 +0000 (17:00 +0100)]
Quick: Avoid unnecessary GVN work in release builds.
In GVN's post-processing phase, compare LVNs only in debug
builds as they should be equal anyway.
Remove the Gate() from GVN cleanup pass and remove the
DCHECK() from MIRGraph::GlobalValueNumberingCleanup()
to make it a no-op if the GVN didn't run.
Bug:
16398693
(cherry picked from commit
f725550c8df90f8ec07395d9be5177a4be591c12)
Change-Id: I518fba4a06c8d6d5ab16a6c122dc680b6d44814b
Vladimir Marko [Tue, 28 Apr 2015 17:00:09 +0000 (17:00 +0000)]
Merge "Quick: Rely on inferred types in GVN/LVN/DCE." into mnc-dev
Sebastien Hertz [Tue, 28 Apr 2015 15:57:18 +0000 (15:57 +0000)]
am
c71d9218: Fix constructor access check through reflection
* commit '
c71d9218b640224af9ab73c088263a454ddd3b34':
Fix constructor access check through reflection
Sudheer Shanka [Tue, 28 Apr 2015 14:58:59 +0000 (14:58 +0000)]
Merge branch 'mnc-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/art into mnc-dev-plus-aosp
Sebastien Hertz [Tue, 28 Apr 2015 14:54:18 +0000 (14:54 +0000)]
am
52c234b2: am
1c5808c0: Merge "Fix constructor access check through reflection"
* commit '
52c234b2f8b9422c2318710aa0f7421f05c06869':
Fix constructor access check through reflection
Andreas Gampe [Tue, 28 Apr 2015 14:54:12 +0000 (14:54 +0000)]
am
0dd76cd3: ART: Fix constructor access checking
* commit '
0dd76cd3f09f495a1b9a0e4f8712c09ff885c6fd':
ART: Fix constructor access checking
Sebastien Hertz [Tue, 28 Apr 2015 14:42:23 +0000 (14:42 +0000)]
am
1c5808c0: Merge "Fix constructor access check through reflection"
* commit '
1c5808c0fa83155565f5319808a2949e0a3f5789':
Fix constructor access check through reflection
Sebastien Hertz [Tue, 28 Apr 2015 13:00:41 +0000 (15:00 +0200)]
Fix constructor access check through reflection
We must not throw IllegalAccessException if the constructor has been
made accessible by a previous call to Constructor.setAccessible, even
if the caller cannot access the constructor.
Bug:
20639158
(cherry picked from commit
2d2f2a9c665b02ca5139f71e37ca5e08389e4191)
Change-Id: Ic5cb54256f11aefcfaa99f2ee85c4a32f30e693a
Sebastien Hertz [Tue, 28 Apr 2015 14:33:00 +0000 (14:33 +0000)]
Merge "Fix constructor access check through reflection"
Vladimir Marko [Tue, 28 Apr 2015 14:01:50 +0000 (14:01 +0000)]
am
93ef27d3: am
d4667dea: Merge "ART: Add FOUR_ARG_DOWNCALL macro for MIPS64 entry points."
* commit '
93ef27d3baa206805108ec7afbac9bcd50352bca':
ART: Add FOUR_ARG_DOWNCALL macro for MIPS64 entry points.
Vladimir Marko [Fri, 24 Apr 2015 18:03:51 +0000 (19:03 +0100)]
Quick: Rely on inferred types in GVN/LVN/DCE.
Fix LVN::GetEndingVregValueNumberImpl() to check whether
the requested wideness matches the SSA register type as
recorded in MIRGraph::reg_location_.
Add DCHECKs that the wideness matches when getting/setting
sreg values, update Phi handling in LVN/DCE to use the type
from MIRGraph::reg_location_ instead of determining it from
the sreg value maps which would now trigger the DCHECKs.
Update tests to initialize MIRGraph::reg_location_.
Reenable DCE.
Bug:
20572509
(cherry picked from commit
a5e69e87c630c08c0de1740427e60d531ce851b9)
Change-Id: Ieb97ac9e3672b977e36fd7f369a975bae7d5271e
Vladimir Marko [Tue, 28 Apr 2015 13:51:27 +0000 (13:51 +0000)]
am
d4667dea: Merge "ART: Add FOUR_ARG_DOWNCALL macro for MIPS64 entry points."
* commit '
d4667dea87e68ee3ee64581af138f59300a5c510':
ART: Add FOUR_ARG_DOWNCALL macro for MIPS64 entry points.