OSDN Git Service
Mathieu Chartier [Tue, 23 Jun 2015 03:35:17 +0000 (03:35 +0000)]
am
da0e224d: Merge "Restore DDMS recent allocation tracking\'s behavior"
* commit '
da0e224d79262b11fbac9e7b1fdc11c4df31b77f':
Restore DDMS recent allocation tracking's behavior
Mathieu Chartier [Tue, 23 Jun 2015 03:35:15 +0000 (03:35 +0000)]
am
3355963c: Merge "Fix another miranda method moving GC bug"
* commit '
3355963cee00fe97cc7aaeaab2c6e31c5657ff6a':
Fix another miranda method moving GC bug
Mathieu Chartier [Tue, 23 Jun 2015 03:27:44 +0000 (03:27 +0000)]
Merge "Restore DDMS recent allocation tracking's behavior"
Mathieu Chartier [Tue, 23 Jun 2015 03:27:18 +0000 (03:27 +0000)]
Merge "Fix another miranda method moving GC bug"
Mathieu Chartier [Sat, 20 Jun 2015 03:24:45 +0000 (20:24 -0700)]
Fix another miranda method moving GC bug
Need to copy miranda methods over before we allocate the new vtable
or else we may have stale miranda gc roots.
(cherry picked from commit
6e80460bdf0aa9bd273d4a4d665d679c651b5f4f)
Bug:
21664466
Change-Id: Ib3e415bb9e7df7abfa18c98fe01f790fa39622dc
Man Cao [Fri, 12 Jun 2015 05:47:35 +0000 (22:47 -0700)]
Restore DDMS recent allocation tracking's behavior
Make the allocation tracker mark recently allocated objects as roots,
so the allocation records are not swept. Because DDMS needs recent
allocation tracking records even for dead objects. This should fix
the flaky failures for 098-ddmc test, but it cannot pass GC stress
test (OOM). Re-enabled 098-ddmc for other tests.
There should be an option to not mark them as roots, when user only
needs HPROF dump with traces but not DDMS's recent allocation tracking.
Probably need to add a new JNI API function for this option.
There could be another way to keep a second list of recent allocation
records and maintain a type cache for them, so not to make the objects
roots. But it's more complex, and not sure which is better.
Also reduce memory usage for AllocRecordStackTrace objects, and change
default stack depth to 16. Rename the property that controls the stack
depth to "debug.allocTracker.maxStackDepth" so developer can change it.
Bug:
20037135
Change-Id: Ic6b9ae87bdcda558be6f14ded8057e763439881c
Igor Murashkin [Mon, 22 Jun 2015 23:44:53 +0000 (23:44 +0000)]
am
336b0b1b: Merge "base: Fix an infinite loop in HashSet::Insert"
* commit '
336b0b1baaf2b3eccb26ccf1b7d502c90c3f33fd':
base: Fix an infinite loop in HashSet::Insert
Igor Murashkin [Mon, 22 Jun 2015 23:36:14 +0000 (23:36 +0000)]
Merge "base: Fix an infinite loop in HashSet::Insert"
Igor Murashkin [Mon, 22 Jun 2015 22:57:38 +0000 (15:57 -0700)]
base: Fix an infinite loop in HashSet::Insert
Also adds a test for HashSet::ShrinkToMaximumLoad
(This bug was only reachable when using ShrinkToMaximumLoad, which is not
called from anywhere other than the new test)
Change-Id: I5276b4b3f4ecf6090bb545ddd1752758b11609dd
Mathieu Chartier [Mon, 22 Jun 2015 23:17:59 +0000 (23:17 +0000)]
am
ac854d27: Merge "New experimental GC stress mode"
* commit '
ac854d27aeafb3dca04dfc5c716d0436f1d5ffc1':
New experimental GC stress mode
Mathieu Chartier [Mon, 22 Jun 2015 22:58:54 +0000 (22:58 +0000)]
Merge "New experimental GC stress mode"
Jeff Hao [Mon, 22 Jun 2015 22:47:11 +0000 (22:47 +0000)]
am
5aa39bb7: Merge "Change GC to allow strings to use large object space."
* commit '
5aa39bb7f93cf2e8f73d06980b588519825c0ebe':
Change GC to allow strings to use large object space.
Mathieu Chartier [Sun, 14 Jun 2015 21:14:37 +0000 (14:14 -0700)]
New experimental GC stress mode
Tries to do a GC for every unique call stack (up to 16 frames).
The goal is to catch moving GC bugs and lock violations without being
rediculously slow. Some tests fail on 64 bits, 32 bit host doesn't
work. N5 is booting.
Added runtime -Xgc options: gcstress and nogcstress.
Bug:
21664466
Change-Id: Icb8e420f2048e8ee83bcca7937563166a2638f5c
Jeff Hao [Mon, 22 Jun 2015 22:42:22 +0000 (22:42 +0000)]
am
d423552a: Merge "Make large string use large object space."
* commit '
d423552afd00bac3cdb523b9f8681f3f58163564':
Make large string use large object space.
Jeff Hao [Mon, 22 Jun 2015 22:39:55 +0000 (22:39 +0000)]
Merge "Change GC to allow strings to use large object space."
Jeff Hao [Mon, 22 Jun 2015 22:14:49 +0000 (15:14 -0700)]
Change GC to allow strings to use large object space.
Bug:
21209641
(cherry-picked from commit
37fd5275c665b483f2d990634a500c4e79aae87f)
Change-Id: I043f59eeb601a95c7d01b10a844c2237167ee862
Jeff Hao [Mon, 22 Jun 2015 22:27:56 +0000 (22:27 +0000)]
Merge "Make large string use large object space."
Jeff Hao [Mon, 22 Jun 2015 21:29:54 +0000 (14:29 -0700)]
Make large string use large object space.
Bug:
21209641
(cherry-picked from commit
38fafa18f0fcf610f6314a0fc4165e04e6e5d017)
Change-Id: If6d708307ba1ecdde6bf856d31dceac9ee782fb7
Igor Murashkin [Mon, 22 Jun 2015 21:25:27 +0000 (21:25 +0000)]
am
ec3a4e7c: Merge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"
* commit '
ec3a4e7cdc4f268b40d923227c125429f4ee4884':
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes
Andreas Gampe [Mon, 22 Jun 2015 21:25:25 +0000 (21:25 +0000)]
am
11dc78c8: Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"
* commit '
11dc78c8d36b4a65f4d955bc4303cc8279f1151e':
ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes
Igor Murashkin [Mon, 22 Jun 2015 21:15:01 +0000 (21:15 +0000)]
Merge "runtime: Partially implement box-lambda and unbox-lambda experimental opcodes"
Andreas Gampe [Mon, 22 Jun 2015 21:14:43 +0000 (21:14 +0000)]
Merge "ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes"
Igor Murashkin [Thu, 18 Jun 2015 17:05:11 +0000 (10:05 -0700)]
runtime: Partially implement box-lambda and unbox-lambda experimental opcodes
These opcodes are not yet fully specified, and *will* change before they become shippable.
Do not write production code against experimental opcodes.
--
Implement partial interpreter support for new dex instructions box/unbox-lambda.
* box-lambda will take a closure and convert it into an Object
* unbox-lambda will take an Object and convert it to a closure
(Currently does not implement object identity or variable capture).
All new opcodes are disabled by default, use runtime option -Xexperimental-lambdas to enable them.
Change-Id: I3c15ccf8a26ccecd1d35808a8c1b4149220f6019
Hiroshi Yamauchi [Mon, 22 Jun 2015 19:50:41 +0000 (19:50 +0000)]
am
f7012291: Merge "Run an empty checkpoint before marking ends in the CC collector."
* commit '
f7012291ed9c984e2b50d83d7a2d5758cd64c99a':
Run an empty checkpoint before marking ends in the CC collector.
Hiroshi Yamauchi [Mon, 22 Jun 2015 19:40:00 +0000 (19:40 +0000)]
Merge "Run an empty checkpoint before marking ends in the CC collector."
Andreas Gampe [Mon, 22 Jun 2015 18:35:46 +0000 (11:35 -0700)]
ART: Allow checking RETURN_VOID_NO_BARRIER on unresolved classes
We must check that all fields are non-final, even for unresolved
classes. Fall back to the dex file for this information.
Bug:
22005084
Bug: https://code.google.com/p/android/issues/detail?id=177694
Change-Id: If2126d1be5dccadbbedcdccabde7398688d6e5ca
Andreas Gampe [Mon, 22 Jun 2015 17:28:15 +0000 (17:28 +0000)]
am
ae393c3b: Merge "ART: Avoid recursive abort in barrier"
* commit '
ae393c3b24cfdad97aaded8c0ff1ee7262b46ffe':
ART: Avoid recursive abort in barrier
Andreas Gampe [Mon, 22 Jun 2015 17:18:57 +0000 (17:18 +0000)]
Merge "ART: Avoid recursive abort in barrier"
Calin Juravle [Mon, 22 Jun 2015 17:06:52 +0000 (17:06 +0000)]
am
59cb5218: Merge "Fix in ReferenceTypePropagation"
* commit '
59cb52189d350fa9fb38b767fa9b25d971375833':
Fix in ReferenceTypePropagation
Andreas Gampe [Mon, 22 Jun 2015 17:04:39 +0000 (10:04 -0700)]
ART: Avoid recursive abort in barrier
Try to avoid recursive abort in barrier. May lead to a segfault
instead of a nested abort in bad cases.
Change-Id: I0e7976b77c243956dbcf81142bd5df81d5927ce0
Calin Juravle [Mon, 22 Jun 2015 16:57:04 +0000 (16:57 +0000)]
Merge "Fix in ReferenceTypePropagation"
Vladimir Marko [Mon, 22 Jun 2015 16:10:45 +0000 (16:10 +0000)]
am
c30e721b: Merge "ART: Don\'t do pre-linked calls to the interpreter bridge."
* commit '
c30e721b5ddcb4ba6835c5b721e1c5095f4a3d7f':
ART: Don't do pre-linked calls to the interpreter bridge.
Vladimir Marko [Mon, 22 Jun 2015 15:57:16 +0000 (15:57 +0000)]
Merge "ART: Don't do pre-linked calls to the interpreter bridge."
Andreas Gampe [Mon, 22 Jun 2015 15:02:49 +0000 (15:02 +0000)]
am
f91fb4a6: Merge "ART: Disallow classes that are abstract and final"
* commit '
f91fb4a6a565809dd077ee128d11f30b67e6f2ff':
ART: Disallow classes that are abstract and final
Andreas Gampe [Mon, 22 Jun 2015 14:50:42 +0000 (14:50 +0000)]
Merge "ART: Disallow classes that are abstract and final"
Vladimir Marko [Mon, 22 Jun 2015 13:35:42 +0000 (14:35 +0100)]
ART: Don't do pre-linked calls to the interpreter bridge.
Bug:
21897404
Change-Id: I6cca9d3b436df2eed2b0192607de0faf5cc2ecf7
Nicolas Geoffray [Mon, 22 Jun 2015 13:53:58 +0000 (13:53 +0000)]
am
2d655f1c: Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""
* commit '
2d655f1ce89a714094a4f55ac75edcf9a34c7e24':
Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 13:47:02 +0000 (13:47 +0000)]
Merge "Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness."""
Nicolas Geoffray [Mon, 22 Jun 2015 10:06:43 +0000 (11:06 +0100)]
Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Don't use IsAssignableFrom, but check beforehand if the referrer is an
interface. Otherwise, we are being too aggressive on removing clinit
checks on interfaces (being a subclass doesn't imply the interface
has been initialized).
bug:
21870666
This reverts commit
463580ca5a1e75e27ad0207537ffc6252091326a.
Change-Id: I2a13974d28477ee3e5224142cc260cbf46d19aa9
Narayan Kamath [Mon, 22 Jun 2015 11:42:49 +0000 (11:42 +0000)]
am
a63d8f44: Merge "fault_handler : debug output sp in hex and not decimal."
* commit '
a63d8f44740a8406adda6aaff7ed75ef923c085f':
fault_handler : debug output sp in hex and not decimal.
Narayan Kamath [Mon, 22 Jun 2015 11:28:17 +0000 (11:28 +0000)]
Merge "fault_handler : debug output sp in hex and not decimal."
Narayan Kamath [Fri, 19 Jun 2015 14:23:46 +0000 (15:23 +0100)]
fault_handler : debug output sp in hex and not decimal.
Easier to compare against hex values in tombstones and debuggerd
dumps.
Change-Id: I4a4512ea1ce5872fdb6b41e824fa3475dfcfb71d
Nicolas Geoffray [Mon, 22 Jun 2015 11:16:42 +0000 (11:16 +0000)]
am
ae370391: Merge "Use compiling class instead of outer class for access checks."
* commit '
ae370391057b88607b0e451fdea020b257684b91':
Use compiling class instead of outer class for access checks.
David Brazdil [Mon, 22 Jun 2015 11:10:39 +0000 (11:10 +0000)]
am
a948b1a0: Merge "Opt compiler: Add disassembly to the \'.cfg\' output."
* commit '
a948b1a0a917b9fd4bbd10a5ba4823594b78373d':
Opt compiler: Add disassembly to the '.cfg' output.
Nicolas Geoffray [Mon, 22 Jun 2015 11:09:24 +0000 (11:09 +0000)]
Merge "Use compiling class instead of outer class for access checks."
David Brazdil [Mon, 22 Jun 2015 10:58:32 +0000 (10:58 +0000)]
Merge "Opt compiler: Add disassembly to the '.cfg' output."
Alexandre Rames [Fri, 19 Jun 2015 13:47:01 +0000 (14:47 +0100)]
Opt compiler: Add disassembly to the '.cfg' output.
This is automatically added to the '.cfg' output when using the usual
`--dump-cfg` option.
Change-Id: I864bfc3a8299c042e72e451cc7730ad8271e4deb
David Brazdil [Mon, 22 Jun 2015 10:28:02 +0000 (10:28 +0000)]
am
8ec0e203: Merge "ART: Simplify (Not)Equal bool vs. int to true/false"
* commit '
8ec0e20347e13592539a8c0786b1db1735149800':
ART: Simplify (Not)Equal bool vs. int to true/false
Nicolas Geoffray [Mon, 22 Jun 2015 10:17:26 +0000 (10:17 +0000)]
am
0f0be726: Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
* commit '
0f0be7261c68ebb701677b70d40e373accef4d09':
Revert "Use IsAssignableFrom instead of IsSubclass for robustness."
David Brazdil [Mon, 22 Jun 2015 10:16:45 +0000 (10:16 +0000)]
Merge "ART: Simplify (Not)Equal bool vs. int to true/false"
David Brazdil [Mon, 22 Jun 2015 09:26:45 +0000 (10:26 +0100)]
ART: Simplify (Not)Equal bool vs. int to true/false
Optimizations on the HGraph may produce comparisons of bool and ints.
Instruction simplifier will simplify these only for 0/1 int constants.
Since the range of bool is known, comparison against all other int
constants can always be determined statically.
Change-Id: I502651b7a08edf71ee0b2589069f00def6aacf66
Nicolas Geoffray [Mon, 22 Jun 2015 10:05:58 +0000 (10:05 +0000)]
Merge "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
Nicolas Geoffray [Mon, 22 Jun 2015 10:04:29 +0000 (10:04 +0000)]
Revert "Use IsAssignableFrom instead of IsSubclass for robustness."
Not correct for Quick.
Bug:
21870666
This reverts commit
af268bbc4fbd0b9847acf1f7b79c038806118467.
Change-Id: Id44849cc877a42495619fd71bfd2db75159b6868
Nicolas Geoffray [Sat, 20 Jun 2015 21:44:47 +0000 (22:44 +0100)]
Use compiling class instead of outer class for access checks.
bug:
21869678
Change-Id: Ica6ecc759adc76950dcfe9d4d859dd593a742c62
Nicolas Geoffray [Mon, 22 Jun 2015 08:00:51 +0000 (08:00 +0000)]
am
e85647ed: Merge "Use IsAssignableFrom instead of IsSubclass for robustness."
* commit '
e85647ed00d07169193cc07ffa09e3b70ce38f59':
Use IsAssignableFrom instead of IsSubclass for robustness.
Nicolas Geoffray [Mon, 22 Jun 2015 08:00:50 +0000 (08:00 +0000)]
am
8cf7cbf7: Merge "Fix wrong DCHECK in bounds check elimination."
* commit '
8cf7cbf7854199cfd5001fa9503c78c3b15f0b58':
Fix wrong DCHECK in bounds check elimination.
Nicolas Geoffray [Mon, 22 Jun 2015 07:53:43 +0000 (07:53 +0000)]
Merge "Use IsAssignableFrom instead of IsSubclass for robustness."
Nicolas Geoffray [Mon, 22 Jun 2015 07:52:58 +0000 (07:52 +0000)]
Merge "Fix wrong DCHECK in bounds check elimination."
Nicolas Geoffray [Mon, 22 Jun 2015 07:42:44 +0000 (07:42 +0000)]
am
7aa55725: Merge "Fix String Change baseline compiler errors."
* commit '
7aa557256a87a8a7ad4be7d9ff90aee54a99124c':
Fix String Change baseline compiler errors.
Nicolas Geoffray [Mon, 22 Jun 2015 07:32:14 +0000 (07:32 +0000)]
Merge "Fix String Change baseline compiler errors."
Nicolas Geoffray [Sun, 21 Jun 2015 17:57:02 +0000 (18:57 +0100)]
Fix String Change baseline compiler errors.
The String Change adds multiple move results if the uninitialized string
is in multiple registers. This adds StoreLocals on the same instruction,
which isn't allowed. Now, a LoadLocal is added for each extra move
needed.
Change-Id: I49f676cb85de051e737e0653138cbb947a73e48b
Brian Carlstrom [Sun, 21 Jun 2015 00:17:24 +0000 (00:17 +0000)]
am
74f774f0: Merge "Make dump-oat-target work with second architecture"
* commit '
74f774f0d6389c432122ca262c6705118f5ebd6e':
Make dump-oat-target work with second architecture
Brian Carlstrom [Sun, 21 Jun 2015 00:08:20 +0000 (00:08 +0000)]
Merge "Make dump-oat-target work with second architecture"
Nicolas Geoffray [Sat, 20 Jun 2015 22:49:01 +0000 (23:49 +0100)]
Fix wrong DCHECK in bounds check elimination.
The lower range of an array length instruction can
be changed by other instructions than HBoundsCheck,
like HNewArray.
bug:
21862741
Change-Id: Idbe50ac114287ea6d852fb6fe9f9e2d440d18af5
David Srbecky [Sat, 20 Jun 2015 06:04:40 +0000 (06:04 +0000)]
am
883ac209: Merge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."
* commit '
883ac209066d61404627a8820770755d60068a2b':
Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.
Calin Juravle [Thu, 18 Jun 2015 17:38:29 +0000 (18:38 +0100)]
Fix in ReferenceTypePropagation
Take into account that we might not be able to resolve the method when
we visit the invoke, or the field when we visit a field-access.
Bug:
21914925
Change-Id: Ie4bcfeddaa78780d8cfe28e77d1135ee219a15ad
Andreas Gampe [Sat, 20 Jun 2015 05:58:47 +0000 (22:58 -0700)]
ART: Disallow classes that are abstract and final
Make the verifier fail such classes.
Bug:
21873151
Change-Id: I217f3d71f44bccdcee7ca830e092c807928bed39
David Srbecky [Sat, 20 Jun 2015 05:56:48 +0000 (05:56 +0000)]
Merge "Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity."
David Srbecky [Sat, 20 Jun 2015 05:03:53 +0000 (06:03 +0100)]
Move LD_USE_LOAD_BIAS to run-test-jar to reduce log verbosity.
LD_USE_LOAD_BIAS is needed so that we can use dlopen.
Without it, we will fallback to our own loader and
dump all mmap for diagnostics which makes the tests verbose.
Change-Id: Ib12e9834b3454ffd726642859550545826ce38bf
Brian Carlstrom [Sat, 20 Jun 2015 05:05:35 +0000 (22:05 -0700)]
Make dump-oat-target work with second architecture
Bug:
19909409
Change-Id: Iff21c5d3ce0e6b057a677da6726ee42af64463e7
David Srbecky [Sat, 20 Jun 2015 04:40:51 +0000 (04:40 +0000)]
am
1e73a95d: Merge "Use signed encoding when using relative CFI addresses."
* commit '
1e73a95d74848020fab512a95a7f9a7ada72497b':
Use signed encoding when using relative CFI addresses.
David Srbecky [Sat, 20 Jun 2015 04:30:29 +0000 (04:30 +0000)]
Merge "Use signed encoding when using relative CFI addresses."
Andreas Gampe [Sat, 20 Jun 2015 04:11:47 +0000 (04:11 +0000)]
am
a60bd747: Merge "ART: Check for expected args for instance methods"
* commit '
a60bd74737fcd1b3737bc523741efa1097bbd782':
ART: Check for expected args for instance methods
David Srbecky [Sat, 20 Jun 2015 04:01:22 +0000 (05:01 +0100)]
Use signed encoding when using relative CFI addresses.
This is required for gdb to work.
libunwind works with either encoding.
Bug:
21924613
Change-Id: I4e4f1cf9c65d48fa885a5993eeeed0253a3f2579
Andreas Gampe [Sat, 20 Jun 2015 04:03:20 +0000 (04:03 +0000)]
Merge "ART: Check for expected args for instance methods"
Andreas Gampe [Sat, 20 Jun 2015 03:37:46 +0000 (20:37 -0700)]
ART: Check for expected args for instance methods
Don't assume that the receiver is expected. This was writing out
of bounds (or triggering a DCHECK).
Bug:
21817284
Bug:
21872240
Bug: https://code.google.com/p/android/issues/detail?id=176571
Bug: https://code.google.com/p/android/issues/detail?id=176572
Change-Id: I7cad2c1dfc39feb0b1b4660deeb43afdcb844ba3
Andreas Gampe [Sat, 20 Jun 2015 00:54:49 +0000 (00:54 +0000)]
am
ba7837b2: Merge "ART: Check var-arg count earlier in method verifier"
* commit '
ba7837b2308aeaaa613383297737488af558aed7':
ART: Check var-arg count earlier in method verifier
Andreas Gampe [Sat, 20 Jun 2015 00:43:39 +0000 (00:43 +0000)]
Merge "ART: Check var-arg count earlier in method verifier"
Hiroshi Yamauchi [Sat, 20 Jun 2015 00:39:45 +0000 (17:39 -0700)]
Run an empty checkpoint before marking ends in the CC collector.
To avoid a race condition between the end of marking and a mutator
still in the middle of a read barrier.
Bug:
12687968
Bug:
21564728
Change-Id: I4962d895b4df89d2bcde97cbabdb98a14a19dd6b
Taiju Tsuiki [Mon, 13 Apr 2015 05:21:00 +0000 (14:21 +0900)]
ART: Check var-arg count earlier in method verifier
Check the count in vararg instructions before filling the temp
array. Avoids a DCHECK.
Bug:
21869663
Bug:
20170976
Change-Id: I1ff93502ab84c5967ad54d1b50dba517da791637
Mathieu Chartier [Fri, 19 Jun 2015 22:54:44 +0000 (22:54 +0000)]
am
d1a06338: Merge "Fix GC map generation edge case"
* commit '
d1a06338b9aa818b730ef1d46549a09af8f35c5b':
Fix GC map generation edge case
Mathieu Chartier [Fri, 19 Jun 2015 22:42:21 +0000 (22:42 +0000)]
Merge "Fix GC map generation edge case"
Mathieu Chartier [Fri, 19 Jun 2015 20:55:27 +0000 (13:55 -0700)]
Fix GC map generation edge case
Previously we checked the number of bits, but then rounded up to a
byte boundary. If ref_bitmap_bits was 65535, it would pass the check
but not actually fit in the 13 bits for ref_bitmap_bytes since we
rounded up to 8192 bytes.
(cherry picked from commit
1626b919005df42ccc90ebe68fc57b7c56d44029)
Regression test infeasible due to smali limitations.
Bug:
21888453
Change-Id: If4b769431f27ecca14fe7852d017bcde01b3e146
Jeff Hao [Fri, 19 Jun 2015 18:31:00 +0000 (18:31 +0000)]
am
d5ff8c58: Merge "Fix case where block has no predecessor for StringChange."
* commit '
d5ff8c584b230da350f4ebfffec1d245c09bf26b':
Fix case where block has no predecessor for StringChange.
Jeff Hao [Fri, 19 Jun 2015 18:15:00 +0000 (18:15 +0000)]
Merge "Fix case where block has no predecessor for StringChange."
Jeff Hao [Wed, 17 Jun 2015 23:04:26 +0000 (16:04 -0700)]
Fix case where block has no predecessor for StringChange.
Removes part that checks for throwing half of instruction. It's no
longer necessary. Also adds regression test.
Bug:
21902684
(cherry-picked from commit
3e91a44bc9063f7f69b5415e3cf162991f73283f)
Change-Id: I8d7308ff227816fb475341c2b74ed84d5695a2f5
Jeff Hao [Fri, 19 Jun 2015 17:50:54 +0000 (17:50 +0000)]
am
e102f193: Merge "Fix StringChange for optimizing compiler."
* commit '
e102f1937ca14df87594469430d2e6e0ebe0f357':
Fix StringChange for optimizing compiler.
Nicolas Geoffray [Fri, 19 Jun 2015 17:35:41 +0000 (18:35 +0100)]
Use IsAssignableFrom instead of IsSubclass for robustness.
We can get interface methods as referrer. Instead of crashing,
just use IsAssignableFrom.
bug:
21870666
Change-Id: I7978e36fb981d44611635fbaf3899138bae60672
Jeff Hao [Fri, 19 Jun 2015 17:38:55 +0000 (17:38 +0000)]
Merge "Fix StringChange for optimizing compiler."
Vladimir Marko [Fri, 19 Jun 2015 16:51:34 +0000 (16:51 +0000)]
am
e4bb626f: Merge "Quick: Handle total high/low register overlap on arm/mips."
* commit '
e4bb626ff09e409c9482e515716de7cd595ea466':
Quick: Handle total high/low register overlap on arm/mips.
Vladimir Marko [Fri, 19 Jun 2015 16:39:29 +0000 (16:39 +0000)]
Merge "Quick: Handle total high/low register overlap on arm/mips."
Nicolas Geoffray [Fri, 19 Jun 2015 16:00:41 +0000 (16:00 +0000)]
am
87a135e8: Merge "Be careful with predecessor/successor index."
* commit '
87a135e8699119c9ef99b0221acf481d7d6501d4':
Be careful with predecessor/successor index.
Vladimir Marko [Fri, 19 Jun 2015 15:53:16 +0000 (15:53 +0000)]
am
ff3fd957: Merge "Quick: Fix optimizations for empty if blocks."
* commit '
ff3fd957020f0e5cf5cc279f4bbbca3545ce8745':
Quick: Fix optimizations for empty if blocks.
Nicolas Geoffray [Fri, 19 Jun 2015 15:52:24 +0000 (15:52 +0000)]
Merge "Be careful with predecessor/successor index."
Nicolas Geoffray [Fri, 19 Jun 2015 15:17:05 +0000 (16:17 +0100)]
Be careful with predecessor/successor index.
When we simplify the CFG, we must preserve things that were already
simplified. For example, the index in the predecessor list or
successor list of a block must be preserved for ensuring the
first block is a loop pre header.
bug:
21867463
Change-Id: Ic3fcb3eb2c3fb109d8a57ee2a6b6d4d65fdb9410
Vladimir Marko [Fri, 19 Jun 2015 15:44:22 +0000 (15:44 +0000)]
Merge "Quick: Fix optimizations for empty if blocks."
Roland Levillain [Fri, 19 Jun 2015 15:22:37 +0000 (15:22 +0000)]
am
dbc0345e: Merge "Opt compiler: Add a description to MIP64 slow paths."
* commit '
dbc0345e7a066726fda6dbfe47592963f4602c56':
Opt compiler: Add a description to MIP64 slow paths.
Roland Levillain [Fri, 19 Jun 2015 15:09:31 +0000 (15:09 +0000)]
Merge "Opt compiler: Add a description to MIP64 slow paths."
Roland Levillain [Fri, 19 Jun 2015 15:07:18 +0000 (16:07 +0100)]
Opt compiler: Add a description to MIP64 slow paths.
Change-Id: I773a543cd4f146d64819cc347e57e6472dea0b38
Roland Levillain [Fri, 19 Jun 2015 15:04:43 +0000 (15:04 +0000)]
am
7ed9cec8: Merge "MIPS: Initial version of optimizing compiler for MIPS64R6."
* commit '
7ed9cec8bc302a0b4fe5a127b58bfddd702a70e8':
MIPS: Initial version of optimizing compiler for MIPS64R6.