OSDN Git Service

android-x86/art.git
8 years agoMerge "Add patchoat check that input oat file has patch section." into nyc-dev
Jeff Hao [Fri, 18 Mar 2016 23:26:51 +0000 (23:26 +0000)]
Merge "Add patchoat check that input oat file has patch section." into nyc-dev

8 years agoFix incorrect dex2oat check
Mathieu Chartier [Fri, 18 Mar 2016 22:29:16 +0000 (15:29 -0700)]
Fix incorrect dex2oat check

Should have been VerifyOnlyProfile.

Bug: 27688727
Change-Id: Ieec38904196ce756c2b1d8057dbf6d1e8a58c81d

8 years agoAdd patchoat check that input oat file has patch section.
Jeff Hao [Fri, 18 Mar 2016 04:32:45 +0000 (21:32 -0700)]
Add patchoat check that input oat file has patch section.

Do this check before opening the output file in case this could be
causing the file to become truncated.

Bug: 27723864

(cherry-picked from commit 99503b9805def2ed7d4fe4bf285c6fdd8ddce6ed)

Change-Id: I2134ec65fb6d9582f4eb4c2619a5ffb7b987eaa6

8 years agoMerge "Add verify-profile compiler filter" into nyc-dev
Mathieu Chartier [Fri, 18 Mar 2016 22:07:10 +0000 (22:07 +0000)]
Merge "Add verify-profile compiler filter" into nyc-dev

8 years agoMerge "ART: Speed up stack guard page install" into nyc-dev
Andreas Gampe [Fri, 18 Mar 2016 20:05:01 +0000 (20:05 +0000)]
Merge "ART: Speed up stack guard page install" into nyc-dev

8 years agoAdd verify-profile compiler filter
Mathieu Chartier [Thu, 17 Mar 2016 02:08:31 +0000 (19:08 -0700)]
Add verify-profile compiler filter

Only verifies and dex2dex compiles classes in the profile. Goal
is to reduce application launch time.

~2x faster than interpret-only for Facebook.

Bug: 27688727
Change-Id: Ic9979c4f7ba4930298d0983c4e3c70c63500213f

8 years agoART: Speed up stack guard page install
Andreas Gampe [Fri, 18 Mar 2016 04:27:19 +0000 (21:27 -0700)]
ART: Speed up stack guard page install

Only the main thread doesn't have its stack mapped in under normal
conditions. Reading each page is a lot of overhead and we should
try to avoid it.

Rewrite to first try a (non-fatal) protect. If the outcome is a
success, finish. Otherwise do the stack mapping, and try again.

Bug: 27718174

(cherry picked from commit 2c2d2a05eaf81d07df27418f8dfd68de6fa28ac1)

Change-Id: I16b214567585ed2f09970f618ccdec7eed219fd3

8 years agoMerge "Improve resolved classes saving strategy" into nyc-dev
Calin Juravle [Fri, 18 Mar 2016 16:26:32 +0000 (16:26 +0000)]
Merge "Improve resolved classes saving strategy" into nyc-dev

8 years agoImprove resolved classes saving strategy
Calin Juravle [Thu, 17 Mar 2016 17:07:52 +0000 (17:07 +0000)]
Improve resolved classes saving strategy

If we already have a non empty profile file it means that we already
saved once the resolved classes. So there's no need to hurry up and
start the profile saver eagerly after 2s.

Bug: 27600652
Change-Id: I92ac5869bf68c8d6cbac8fc1503fe3c4930241b4

8 years agoRevert "Revert "Fix issue with proxy invocation on default methods""
Alex Light [Wed, 16 Mar 2016 23:09:45 +0000 (16:09 -0700)]
Revert "Revert "Fix issue with proxy invocation on default methods""

This reverts commit daf58c80d42f024aae0cb94ebd2c0bd61ebbf240.

Bug: 27621360

(cherry picked from commit e9dd04f633fcffc485f8d74861f39f66fc8bc522)

Change-Id: I56fccf19ae80451be4c316ba14911c667cbe9e47

8 years agoFix zygote handling of when secondary image is out of date.
Jeff Hao [Tue, 15 Mar 2016 01:50:49 +0000 (18:50 -0700)]
Fix zygote handling of when secondary image is out of date.

Simple fix for case when primary image is current, but a secondary image
is out of date. Will want to do a cleaner fix in the future.

Bug: 27340451

(cherry-picked from commit b8510d2311964489342d8875ef7f5b681ba874b4)

Change-Id: I034f001834d84b2a4aa367da722543091a2a7b3a

8 years agoAdd ProfileSaver stats and dump them during SigQuit
Calin Juravle [Wed, 9 Mar 2016 15:37:48 +0000 (15:37 +0000)]
Add ProfileSaver stats and dump them during SigQuit

Bug: 27516906
Change-Id: I7d2b1091c3523805ef0f87df42feed1098678aad

8 years agoRe-enable checker tests 536 and 537
Sebastien Hertz [Wed, 16 Mar 2016 15:20:10 +0000 (16:20 +0100)]
Re-enable checker tests 536 and 537

They were disabled due to a bug in Jack that is fixed now.

Bug: 25635944

(cherry picked from commit 2385d09d254ba3aafb2ee77178f16758e9685682)

Change-Id: I3c21e1dee81a148bf5725dea451bd63c97413fd5

8 years agoMerge "ART: Mterp arm64 2-operand double rem fix" into nyc-dev
Bill Buzbee [Wed, 16 Mar 2016 23:13:53 +0000 (23:13 +0000)]
Merge "ART: Mterp arm64 2-operand double rem fix" into nyc-dev

8 years agoMerge "Revert "Fix issue with proxy invocation on default methods"" into nyc-dev
Alex Light [Wed, 16 Mar 2016 23:00:24 +0000 (23:00 +0000)]
Merge "Revert "Fix issue with proxy invocation on default methods"" into nyc-dev

8 years agoRevert "Fix issue with proxy invocation on default methods"
Alex Light [Wed, 16 Mar 2016 22:59:42 +0000 (22:59 +0000)]
Revert "Fix issue with proxy invocation on default methods"

This reverts commit 4b34bf5b242dce5ee20db08b7781bbbaf0d25969.

Change-Id: If072fdbaafd0ee1877e8281a83ba4a598adb3355

8 years agoART: Mterp arm64 2-operand double rem fix
buzbee [Wed, 16 Mar 2016 21:39:50 +0000 (14:39 -0700)]
ART: Mterp arm64 2-operand double rem fix

An instruction ordering bug caused 2-operand double-precision
rem operations to be performed incorrectly on the arm64 fast
interpreter.  Also, fixes the existing omnibus-opcodes smoke test
to better catch 2-operand float and double operation problems
(the problem was masked in the existing test).

Bug: 27604215

(cherry picked from commit 908c0b28517c2d21f9ddd231e91cdd2c339aeb16)

Change-Id: I1856d914a0cb76c6034d0c0e021525b095e33452

8 years agoAdd verify-art-runtime usage to dex2oat
Mathieu Chartier [Wed, 16 Mar 2016 21:29:17 +0000 (14:29 -0700)]
Add verify-art-runtime usage to dex2oat

Bug: 27688793

Change-Id: I290f59df003ba241a6b71fb628351312b431ec4c

8 years agoFix issue with proxy invocation on default methods
Alex Light [Tue, 15 Mar 2016 18:35:18 +0000 (11:35 -0700)]
Fix issue with proxy invocation on default methods

Bug: 27621360

(cherry picked from commit ec3b7ab8f008f36f1072d4ba03da204229b95976)

Change-Id: I617eee243f475872235fd75b6a401e056111ea23

8 years agoFix race in AllocEntrypointsInstrumented
Mathieu Chartier [Wed, 16 Mar 2016 18:25:29 +0000 (11:25 -0700)]
Fix race in AllocEntrypointsInstrumented

We were using the quick_alloc_entry_points_instrumentation_counter_,
this counter is updated before the threads are suspended. The
allocator could come out of a suspend point, see that threads are
supposedly still no instrumented, continue the allocation, then
suddenly quick_alloc_entry_points_instrumentation_counter_ becomes
1 and alloc_tracking_enabled_ becomes true resulting in a failing
DCHECK.

The fix is to add a boolean that is updated only when the threads
are suspended.

Bug: 27506909
Change-Id: Ic3c6716d2af9c00189ce9271f7a2825b03cdd8a0

8 years agoruntime: delete native/java_lang_Runtime.cc
Narayan Kamath [Tue, 15 Mar 2016 14:47:29 +0000 (14:47 +0000)]
runtime: delete native/java_lang_Runtime.cc

We're now using Runtime.c from ojluni, which does the same set
of things via the JVM interface. This removes unnecessary duplication
of code between Runtime.cc and OpenJdkJvm.cc.

Also includes a few changes to JVM_NativeLoad to bring it in sync
with the version in Runtime.cc.

bug: 27387202

(cherry picked from commit 5f97157263d1b52bf4aea523b28294b21d694da1)

Change-Id: Ic2848755505a0cb25da8237150b07dadf0a42929

8 years agoMerge "Add oatdump support for app images" into nyc-dev
Mathieu Chartier [Mon, 14 Mar 2016 23:29:34 +0000 (23:29 +0000)]
Merge "Add oatdump support for app images" into nyc-dev

8 years agoAdd oatdump support for app images
Mathieu Chartier [Wed, 9 Mar 2016 00:49:58 +0000 (16:49 -0800)]
Add oatdump support for app images

Example usage on host:
oatdumpd --app-oat=art/plus32.odex --app-image=art/plus32.art
--image=art/oats/system@framework@boot.art --instruction-set=arm

TODO: Add to oatdump test.

Bug: 27408512
Bug: 22858531

Change-Id: I320db8b76c780c6eadabcb45ce88f45950741484

8 years agoMerge "ART: Remember whether the cache was pruned" into nyc-dev
Andreas Gampe [Mon, 14 Mar 2016 21:03:47 +0000 (21:03 +0000)]
Merge "ART: Remember whether the cache was pruned" into nyc-dev

8 years agoMerge "Do not include image header in decompressed size" into nyc-dev
Mathieu Chartier [Mon, 14 Mar 2016 20:28:30 +0000 (20:28 +0000)]
Merge "Do not include image header in decompressed size" into nyc-dev

8 years agoDo not include image header in decompressed size
Mathieu Chartier [Mon, 14 Mar 2016 18:02:59 +0000 (11:02 -0700)]
Do not include image header in decompressed size

Could cause a buffer overflow since we told LZ4 to decompress more
bytes than necessary.

Bug: 27561308
Change-Id: Ic938f3e67f8c0627f203ad7261d4342ce43157cd

8 years agoMerge "Don't be so agressive in quering the code cache for new methods" into nyc-dev
Calin Juravle [Mon, 14 Mar 2016 19:30:07 +0000 (19:30 +0000)]
Merge "Don't be so agressive in quering the code cache for new methods" into nyc-dev

8 years agoDon't be so agressive in quering the code cache for new methods
Calin Juravle [Mon, 14 Mar 2016 17:32:49 +0000 (17:32 +0000)]
Don't be so agressive in quering the code cache for new methods

Interim fix for apps which JIT a lot and trigger a lot of I/O because of
profile data (e.g. gmscore).

This reduces the amount of data re-written to disk by a few order of
magnitude. (e.g. 43k instead of 3.5MB)

Proper fix which will make the writing smarter is coming.

Bug:27600652
Change-Id: I7582bfab9abee6efebfe99da6979f7e118f82915

8 years agoMerge "Fix cases where we miss instrumentation changes" into nyc-dev
Mathieu Chartier [Mon, 14 Mar 2016 18:33:43 +0000 (18:33 +0000)]
Merge "Fix cases where we miss instrumentation changes" into nyc-dev

8 years agoART: Remember whether the cache was pruned
Andreas Gampe [Sat, 12 Mar 2016 01:44:04 +0000 (17:44 -0800)]
ART: Remember whether the cache was pruned

Remember (and expose) whether the cache was pruned when initializing
the runtime.

Bug: 27618311
Change-Id: I178d18d731a9dce5cb11ed0874c9c9c9d36d7d8e

8 years agoFix cases where we miss instrumentation changes
Mathieu Chartier [Sat, 12 Mar 2016 01:22:23 +0000 (17:22 -0800)]
Fix cases where we miss instrumentation changes

Moved allocation stack push to after we record the allocation since
it can cause thread suspension.

Added handling in entrypoint utils for thread suspension cases.

Keep the AllocRecordObjectMap around since we do not want to delete
it if there are any threads waiting on new_record_condition_. The
condition guards adding stack traces while the GC is running. If we
delete the map and there are still waiters that did not resume, it
caused a CHECK failure. This could happen in cases where one thread
disables allocation tracking while other threads are about to
resume from the condition.

Bug: 27506909
Change-Id: I097689ca35ad408121c6b8dabd28e75cce1a43a0

8 years agoART: Check alignment of section offsets
Andreas Gampe [Sat, 20 Feb 2016 03:45:34 +0000 (19:45 -0800)]
ART: Check alignment of section offsets

Make sure the sections mentioned in the header are aligned according
to the Dalvik File Format specification.

Ensure the same for annotations.

Bug: 27275385
Bug: https://code.google.com/p/android/issues/detail?id=201384

(cherry picked from commit b512c0e5da0767d00a0ee9b7201668ab9977e21b)

Change-Id: Ifdd98377f8468e78c1c2198223ad58cab302dd37

8 years agoMerge remote-tracking branch 'goog/master' into nyc-dev
Nicolas Geoffray [Mon, 14 Mar 2016 08:52:56 +0000 (08:52 +0000)]
Merge remote-tracking branch 'goog/master' into nyc-dev

bug:27398183
bug:26846185
bug:27424509

8 years agoEnable clang for ARM builds.
Stephen Hines [Sat, 12 Mar 2016 01:06:06 +0000 (01:06 +0000)]
Enable clang for ARM builds.
am: 48c3ce6733

* commit '48c3ce6733efbc545605b1bfe2ddbdf95a04edf3':
  Enable clang for ARM builds.

8 years agoART: Allow unwinding unattached threads
Andreas Gampe [Sat, 12 Mar 2016 00:07:46 +0000 (00:07 +0000)]
ART: Allow unwinding unattached threads
am: b9d4f99977

* commit 'b9d4f999773754ab4e84496edf60af60b05119de':
  ART: Allow unwinding unattached threads

8 years agoMerge "ART: mterp arm/arm64 cleanup"
buzbee [Fri, 11 Mar 2016 23:13:56 +0000 (23:13 +0000)]
Merge "ART: mterp arm/arm64 cleanup"
am: e717e2c2c4

* commit 'e717e2c2c436da1d6daa572bd3142e34aef25b1c':
  ART: mterp arm/arm64 cleanup

8 years agoMerge "ART: mterp arm/arm64 cleanup"
Bill Buzbee [Fri, 11 Mar 2016 23:05:59 +0000 (23:05 +0000)]
Merge "ART: mterp arm/arm64 cleanup"

8 years agoEnable clang for ARM builds.
Stephen Hines [Thu, 3 Mar 2016 02:26:29 +0000 (18:26 -0800)]
Enable clang for ARM builds.

Bug: http://b/25130937

We disable the integrated assembler for the ARM interpreter because
Clang can't handle the syntax present.

(cherry picked from commit a388c5a6291dbfb9a8366181a752050f4898d4ff)

Change-Id: Iefd5ba922eec54a2167e8a057c459b289aaf2ef3

8 years agoART: mterp arm/arm64 cleanup
buzbee [Fri, 11 Mar 2016 17:51:11 +0000 (09:51 -0800)]
ART: mterp arm/arm64 cleanup

Assembly code cleanup in response to comments from already-submitted
CL: https://android-review.googlesource.com/#/c/188977/

Change-Id: I0ea85c5759a08cb50ef3e97dc5cf79b3ba041640

8 years agoMerge "Enable clang for ARM builds."
Stephen Hines [Fri, 11 Mar 2016 21:27:36 +0000 (21:27 +0000)]
Merge "Enable clang for ARM builds."
am: 2f74be0856

* commit '2f74be0856b56942614ec65896853a58a37b7aff':
  Enable clang for ARM builds.

8 years agoMerge "Assembly region TLAB allocation fast path for arm."
Hiroshi Yamauchi [Fri, 11 Mar 2016 21:27:36 +0000 (21:27 +0000)]
Merge "Assembly region TLAB allocation fast path for arm."
am: 91cdf71e16

* commit '91cdf71e166630eb5e28e02298b0ba6ed4037553':
  Assembly region TLAB allocation fast path for arm.

8 years agoMerge "Enable clang for ARM builds."
Stephen Hines [Fri, 11 Mar 2016 21:19:48 +0000 (21:19 +0000)]
Merge "Enable clang for ARM builds."

8 years agoMerge "Assembly region TLAB allocation fast path for arm."
Hiroshi Yamauchi [Fri, 11 Mar 2016 21:18:21 +0000 (21:18 +0000)]
Merge "Assembly region TLAB allocation fast path for arm."

8 years agoAssembly region TLAB allocation fast path for arm.
Hiroshi Yamauchi [Wed, 24 Feb 2016 20:51:18 +0000 (12:51 -0800)]
Assembly region TLAB allocation fast path for arm.

This is for the CC collector.

Share the common fast path code with the tlab fast path code.

Speedup (on N5):
        BinaryTrees:  2291 ->  902 ms (-60%)
        MemAllocTest: 2137 -> 1845 ms (-14%)

Bug: 9986565
Bug: 12687968

Change-Id: Ica63094ec2f85eaa4fd04d202a20090399275d85

8 years agoMerge "ART: Allow unwinding unattached threads"
Andreas Gampe [Fri, 11 Mar 2016 20:22:27 +0000 (20:22 +0000)]
Merge "ART: Allow unwinding unattached threads"
am: 43bad209f9

* commit '43bad209f99df82412dadab5e3b735bb12d257ab':
  ART: Allow unwinding unattached threads

8 years agoART: Allow unwinding unattached threads
Andreas Gampe [Tue, 1 Mar 2016 22:38:37 +0000 (14:38 -0800)]
ART: Allow unwinding unattached threads

Partial revert of commit ed8b723c5f3989d2593ec21c65c96d6d8bf25579.

Make it (constexpr) configurable whether we allow unwinding native
stacks of unattached threads.

Bug: 27449879

(cherry picked from commit 8d1594da6e97cd11580baf30ee4b75d4e7e2616a)

Change-Id: Iad3f3dde63155993bb4efb7bbbbde3e36f1379cc

8 years agoMerge "ART: Allow unwinding unattached threads"
Christopher Ferris [Fri, 11 Mar 2016 20:14:18 +0000 (20:14 +0000)]
Merge "ART: Allow unwinding unattached threads"

8 years agoMerge "Integrate BitwiseNegated into shared framework."
Artem Serov [Fri, 11 Mar 2016 19:57:39 +0000 (19:57 +0000)]
Merge "Integrate BitwiseNegated into shared framework."
am: 95f931eefd

* commit '95f931eefd6a694a27548c3503ca56559a2b868b':
  Integrate BitwiseNegated into shared framework.

8 years agoMerge "Integrate BitwiseNegated into shared framework."
Vladimir Marko [Fri, 11 Mar 2016 19:48:08 +0000 (19:48 +0000)]
Merge "Integrate BitwiseNegated into shared framework."

8 years agoMerge "Typo in comment in art::mirror::Object::IdentityHashCode."
Roland Levillain [Fri, 11 Mar 2016 19:36:56 +0000 (19:36 +0000)]
Merge "Typo in comment in art::mirror::Object::IdentityHashCode."
am: cdd3991f82

* commit 'cdd3991f821f027c9ac6674057603ba4ad9c2bb0':
  Typo in comment in art::mirror::Object::IdentityHashCode.

8 years agoMerge "Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()"
David Srbecky [Fri, 11 Mar 2016 19:30:58 +0000 (19:30 +0000)]
Merge "Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()"
am: 5e447d872a

* commit '5e447d872a9529e5002d08dd97643c400ba9176c':
  Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()

8 years agoMerge "Typo in comment in art::mirror::Object::IdentityHashCode."
Roland Levillain [Fri, 11 Mar 2016 19:28:44 +0000 (19:28 +0000)]
Merge "Typo in comment in art::mirror::Object::IdentityHashCode."

8 years agoMerge "Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()"
David Srbecky [Fri, 11 Mar 2016 19:25:45 +0000 (19:25 +0000)]
Merge "Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()"

8 years agoFix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()
David Srbecky [Fri, 11 Mar 2016 18:48:55 +0000 (18:48 +0000)]
Fix DCHECK in OatQuickMethodHeader::GetFrameSizeInBytes()

We should check whether the frame is divisible by kStackAlignment.

Change-Id: I5936a6e90b38c09775b4c3a8212641e639c4181c

8 years agoMerge "Tests for round() method."
Aart Bik [Fri, 11 Mar 2016 18:49:16 +0000 (18:49 +0000)]
Merge "Tests for round() method."
am: fe9242b97d

* commit 'fe9242b97d3270e28d88971be71593787342cc4f':
  Tests for round() method.

8 years agoMerge "Tests for round() method."
Aart Bik [Fri, 11 Mar 2016 18:43:28 +0000 (18:43 +0000)]
Merge "Tests for round() method."

8 years agoMerge "Suppress a valgrind libc issue."
Hiroshi Yamauchi [Fri, 11 Mar 2016 18:31:02 +0000 (18:31 +0000)]
Merge "Suppress a valgrind libc issue."
am: 24129be9f8

* commit '24129be9f8cb6a80d246eeda20b2ef1397190f29':
  Suppress a valgrind libc issue.

8 years agoMerge "Suppress a valgrind libc issue."
Hiroshi Yamauchi [Fri, 11 Mar 2016 18:24:22 +0000 (18:24 +0000)]
Merge "Suppress a valgrind libc issue."

8 years agoMerge "Revert "Revert "Allow duplicated methods in different DWARF line tables."""
David Srbecky [Fri, 11 Mar 2016 18:23:44 +0000 (18:23 +0000)]
Merge "Revert "Revert "Allow duplicated methods in different DWARF line tables."""
am: 2de1e8a52e

* commit '2de1e8a52ef8d4b2e033f3404ca9cc970bb5149c':
  Revert "Revert "Allow duplicated methods in different DWARF line tables.""

8 years agoMerge "DWARF: Compensate for compiler\'s off-by-one instruction."
David Srbecky [Fri, 11 Mar 2016 18:23:44 +0000 (18:23 +0000)]
Merge "DWARF: Compensate for compiler\'s off-by-one instruction."
am: 9faab4dd50

* commit '9faab4dd50d2bdda12284c6b8d3837943a73b5da':
  DWARF: Compensate for compiler's off-by-one instruction.

8 years agoSuppress a valgrind libc issue.
Hiroshi Yamauchi [Thu, 10 Mar 2016 21:49:14 +0000 (13:49 -0800)]
Suppress a valgrind libc issue.

To prevent our valgrind tests from failing.

Bug: 27596582
Bug: 27156726
Change-Id: Ic55256bd09fdffcf2a0c8fa4fa7951bc648b86a8

8 years agoMerge "Revert "Revert "Allow duplicated methods in different DWARF line tables."""
David Srbecky [Fri, 11 Mar 2016 18:19:11 +0000 (18:19 +0000)]
Merge "Revert "Revert "Allow duplicated methods in different DWARF line tables."""

8 years agoRevert "Revert "Allow duplicated methods in different DWARF line tables.""
David Srbecky [Fri, 11 Mar 2016 14:35:45 +0000 (14:35 +0000)]
Revert "Revert "Allow duplicated methods in different DWARF line tables.""

This reverts commit 8862fac4a0b97d827d2808146d2d79b8d799b998.

Change-Id: I4d5629df4580b7ac08a5cb04924c56eecad3ad25

8 years agoMerge "DWARF: Compensate for compiler's off-by-one instruction."
David Srbecky [Fri, 11 Mar 2016 18:16:35 +0000 (18:16 +0000)]
Merge "DWARF: Compensate for compiler's off-by-one instruction."

8 years agoMerge "Symbolize native debug information for AOTed methods in boot.oat."
David Srbecky [Fri, 11 Mar 2016 17:48:57 +0000 (17:48 +0000)]
Merge "Symbolize native debug information for AOTed methods in boot.oat."
am: 6030b15ce8

* commit '6030b15ce83ac2a9fb78cd9d137b6f4b441e6417':
  Symbolize native debug information for AOTed methods in boot.oat.

8 years agoMerge "Add trampoline symbols to native debug info."
David Srbecky [Fri, 11 Mar 2016 17:42:59 +0000 (17:42 +0000)]
Merge "Add trampoline symbols to native debug info."
am: b2359d4fb2

* commit 'b2359d4fb2c9de12830301faede59f4d5fa46278':
  Add trampoline symbols to native debug info.

8 years agoMerge "Symbolize native debug information for AOTed methods in boot.oat."
David Srbecky [Fri, 11 Mar 2016 17:41:52 +0000 (17:41 +0000)]
Merge "Symbolize native debug information for AOTed methods in boot.oat."

8 years agoSymbolize native debug information for AOTed methods in boot.oat.
David Srbecky [Mon, 7 Mar 2016 20:47:29 +0000 (20:47 +0000)]
Symbolize native debug information for AOTed methods in boot.oat.

The oatdump symbolizer will produce all DWARF information now,
not just the symtab. This allows us to recover almost all native
debug information after the fact, even for non-debuggable oat files.

The main drawback is that non-debuggable oat files do not have
enough stackmaps to provide reasonable line stepping experience.
We might also be missing inlined methods from backtraces.

Change-Id: I73ff6f43a3a0e5a0907af353f74f04e9b0129590

8 years agoMerge "Minor optimizations of debug::WriteCFISection."
David Srbecky [Fri, 11 Mar 2016 17:38:55 +0000 (17:38 +0000)]
Merge "Minor optimizations of debug::WriteCFISection."
am: fdaa583e78

* commit 'fdaa583e785383cca68df63c7ef53fcaf667b8e2':
  Minor optimizations of debug::WriteCFISection.

8 years agoMerge "Add trampoline symbols to native debug info."
David Srbecky [Fri, 11 Mar 2016 17:35:48 +0000 (17:35 +0000)]
Merge "Add trampoline symbols to native debug info."

8 years agoAdd trampoline symbols to native debug info.
David Srbecky [Fri, 11 Mar 2016 17:11:44 +0000 (17:11 +0000)]
Add trampoline symbols to native debug info.

The debugger needs them to unwind through the trampolines and to
understand what is happening in the call stack.

Change-Id: Ia554058c3796788adcd7336d620a7734eb366905

8 years agoMerge "Minor optimizations of debug::WriteCFISection."
David Srbecky [Fri, 11 Mar 2016 17:33:22 +0000 (17:33 +0000)]
Merge "Minor optimizations of debug::WriteCFISection."

8 years agoMinor optimizations of debug::WriteCFISection.
David Srbecky [Fri, 11 Mar 2016 16:54:22 +0000 (16:54 +0000)]
Minor optimizations of debug::WriteCFISection.

The method might be passed method infos without CFI in some cases.
Use the sorting phase as a chance to filter them out.
This makes sure we do not allocate memory and sort methods if there
is in fact no work to do.

Also change the sort to stable - for the sake of determinism.

Change-Id: I97d57d77e8b709d0d49d6971f66b955efcbb57b0

8 years agoTypo in comment in art::mirror::Object::IdentityHashCode.
Roland Levillain [Fri, 11 Mar 2016 16:27:27 +0000 (16:27 +0000)]
Typo in comment in art::mirror::Object::IdentityHashCode.

Change-Id: I5380d1c34deda32c668e48ed5f80e96b29f5b0b5

8 years agoMerge "MIPS: Don\'t use for calling entrypoints"
Goran Jakovljevic [Fri, 11 Mar 2016 16:54:12 +0000 (16:54 +0000)]
Merge "MIPS: Don\'t use  for calling entrypoints"
am: fa3857ee61

* commit 'fa3857ee61e193471ad3547e02bafccdc712b556':
  MIPS: Don't use $t8 for calling entrypoints

8 years agoMerge "MIPS: Don't use $t8 for calling entrypoints"
Roland Levillain [Fri, 11 Mar 2016 16:47:02 +0000 (16:47 +0000)]
Merge "MIPS: Don't use $t8 for calling entrypoints"

8 years agoMerge "Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constan...
Anton Shamin [Fri, 11 Mar 2016 16:44:03 +0000 (16:44 +0000)]
Merge "Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constant"""""
am: a9e68021a8

* commit 'a9e68021a88566f31b0ba1a997ac3c61d3081c40':
  Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constant""""

8 years agoMerge "Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constan...
Nicolas Geoffray [Fri, 11 Mar 2016 16:37:23 +0000 (16:37 +0000)]
Merge "Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constant"""""

8 years agoMerge "Fix invariant in reference type propagation."
Nicolas Geoffray [Fri, 11 Mar 2016 16:22:46 +0000 (16:22 +0000)]
Merge "Fix invariant in reference type propagation."
am: 62a9841469

* commit '62a9841469f99810b2b39b0748cb113af0e8913a':
  Fix invariant in reference type propagation.

8 years agoDWARF: Compensate for compiler's off-by-one instruction.
David Srbecky [Fri, 11 Mar 2016 14:25:00 +0000 (14:25 +0000)]
DWARF: Compensate for compiler's off-by-one instruction.

The compiler generates stackmaps with PC value which is *after*
the instruction rather PC of the instruction itself. This causes
trouble when generating native line number mapping since the
branch instruction itself will not be mapped, and consequently
we get incorrect line number in backtraces. Add code to compensate
for this. See the in-code comment for more details.

Change-Id: I72c992e6d08a767f314290d562421b251ae60732

8 years agoMIPS: Don't use $t8 for calling entrypoints
Goran Jakovljevic [Fri, 11 Mar 2016 14:22:18 +0000 (15:22 +0100)]
MIPS: Don't use $t8 for calling entrypoints

When jumping to entrypoints, $t9 register must be used. Value of $gp
is calculated based on value from $t9 and it should contain the
address of the first instruction of the entrypoint.

This CL enables MIPS32 and MIPS64 to boot.

Change-Id: Idf0f7f479cceafabb88b1b087da190dbda86e1c3

8 years agoMerge "Fix invariant in reference type propagation."
Nicolas Geoffray [Fri, 11 Mar 2016 16:15:32 +0000 (16:15 +0000)]
Merge "Fix invariant in reference type propagation."

8 years agoMerge "Revert "Allow duplicated methods in different DWARF line tables.""
David Srbecky [Fri, 11 Mar 2016 14:43:35 +0000 (14:43 +0000)]
Merge "Revert "Allow duplicated methods in different DWARF line tables.""
am: 60e10c8564

* commit '60e10c8564f47de0b7f29b26d040c591d5a396b5':
  Revert "Allow duplicated methods in different DWARF line tables."

8 years agoMerge "Revert "Allow duplicated methods in different DWARF line tables.""
David Srbecky [Fri, 11 Mar 2016 14:35:33 +0000 (14:35 +0000)]
Merge "Revert "Allow duplicated methods in different DWARF line tables.""

8 years agoRevert "Allow duplicated methods in different DWARF line tables."
David Srbecky [Fri, 11 Mar 2016 14:34:47 +0000 (14:34 +0000)]
Revert "Allow duplicated methods in different DWARF line tables."

This reverts commit 3c5462364daee17e651299f1c370f965f34baed8.

Change-Id: Icc63c47cd53abeff2a470ae84715012a1ef988ac

8 years agoMerge "Allow duplicated methods in different DWARF line tables."
David Srbecky [Fri, 11 Mar 2016 14:33:20 +0000 (14:33 +0000)]
Merge "Allow duplicated methods in different DWARF line tables."
am: 8583b44f8b

* commit '8583b44f8b5788b57be4d4738072dc6a99c49823':
  Allow duplicated methods in different DWARF line tables.

8 years agoMerge "Allow generation of native debug info for multiple methods."
David Srbecky [Fri, 11 Mar 2016 14:33:19 +0000 (14:33 +0000)]
Merge "Allow generation of native debug info for multiple methods."
am: cc22d41d4d

* commit 'cc22d41d4de2514cc3cb4ed569764a35f15da48d':
  Allow generation of native debug info for multiple methods.

8 years agoMerge "Refactor MethodDebugInfo (input of DWARF writer)."
David Srbecky [Fri, 11 Mar 2016 14:33:19 +0000 (14:33 +0000)]
Merge "Refactor MethodDebugInfo (input of DWARF writer)."
am: 1a008a1277

* commit '1a008a127730710f8f56c1ca66385e1b062a2dcb':
  Refactor MethodDebugInfo (input of DWARF writer).

8 years agoMerge "Allow duplicated methods in different DWARF line tables."
David Srbecky [Fri, 11 Mar 2016 14:28:00 +0000 (14:28 +0000)]
Merge "Allow duplicated methods in different DWARF line tables."

8 years agoMerge "Allow generation of native debug info for multiple methods."
David Srbecky [Fri, 11 Mar 2016 14:25:56 +0000 (14:25 +0000)]
Merge "Allow generation of native debug info for multiple methods."

8 years agoMerge "Refactor MethodDebugInfo (input of DWARF writer)."
David Srbecky [Fri, 11 Mar 2016 14:25:40 +0000 (14:25 +0000)]
Merge "Refactor MethodDebugInfo (input of DWARF writer)."

8 years agoAllow duplicated methods in different DWARF line tables.
David Srbecky [Fri, 11 Mar 2016 11:49:20 +0000 (11:49 +0000)]
Allow duplicated methods in different DWARF line tables.

This makes the compilation units more self-contained.
If method is mentioned in the compilation unit, we can
also find its line table there. Otherwise, we would have
to search through all of them.

Change-Id: I0cdfb9006e796e41e123fc1f4fecd15312570068

8 years agoFix invariant in reference type propagation.
Nicolas Geoffray [Fri, 11 Mar 2016 13:35:51 +0000 (13:35 +0000)]
Fix invariant in reference type propagation.

Also some cleanups.

Change-Id: I7f0ec7d06b4bab10dbfa230c757447d311658f93

8 years agoIntegrate BitwiseNegated into shared framework.
Artem Serov [Tue, 9 Feb 2016 17:15:29 +0000 (17:15 +0000)]
Integrate BitwiseNegated into shared framework.

Share implementation between arm and arm64.

Change-Id: I0dd12e772cb23b4c181fd0b1e2a447470b1d8702

8 years agoRevert "Revert "Revert "Revert "Change condition to opposite if lhs is constant""""
Anton Shamin [Mon, 15 Feb 2016 06:48:36 +0000 (12:48 +0600)]
Revert "Revert "Revert "Revert "Change condition to opposite if lhs is constant""""

This reverts commit d4aee949b3dd976295201b5310f13aa2df40afa1.

Change-Id: I505b8c9863c310a3a708f580b00d425b750c9541

8 years agoMerge "Fix thread race when fetching the ProfilingInfo object."
Nicolas Geoffray [Fri, 11 Mar 2016 11:51:18 +0000 (11:51 +0000)]
Merge "Fix thread race when fetching the ProfilingInfo object."
am: 2af7213a4e

* commit '2af7213a4e0d395fe22dcdce6ec10a3bd131023d':
  Fix thread race when fetching the ProfilingInfo object.

8 years agoMerge "Fix thread race when fetching the ProfilingInfo object."
Nicolas Geoffray [Fri, 11 Mar 2016 11:33:13 +0000 (11:33 +0000)]
Merge "Fix thread race when fetching the ProfilingInfo object."

8 years agoFix thread race when fetching the ProfilingInfo object.
Nicolas Geoffray [Fri, 11 Mar 2016 09:57:57 +0000 (09:57 +0000)]
Fix thread race when fetching the ProfilingInfo object.

Problem is:
1) Compiler fetches the ProfilingInfo of A, it's null.
2) Mutator creates the ProfilingInfo.
3) Compiler notifies it's not using A anymore, calls
   ProfilingInfo::DecrementInlineUse -> Crash as we expected
   ProfilingInfo::IncrementUse to be called before.

Also update some namings to better reflect what is going on.

Change-Id: I55ea4c5d81988131467095e18a0d13a8be9d0ef7

8 years agoART: Allow unwinding unattached threads
Andreas Gampe [Tue, 1 Mar 2016 22:38:37 +0000 (14:38 -0800)]
ART: Allow unwinding unattached threads

Partial revert of commit ed8b723c5f3989d2593ec21c65c96d6d8bf25579.

Make it (constexpr) configurable whether we allow unwinding native
stacks of unattached threads.

Bug: 27449879

Change-Id: I307a80c9a0166f33fa8a41e492d7eb0d77d0e44f

8 years agoMerge "Log when why an Unwind failed."
Christopher Ferris [Thu, 10 Mar 2016 22:50:36 +0000 (22:50 +0000)]
Merge "Log when why an Unwind failed."
am: b7f257f353

* commit 'b7f257f353b1eb2db2732939a0404c118316891d':
  Log when why an Unwind failed.