OSDN Git Service

android-x86/art.git
8 years agoMerge "Recognize for (int i = 0; i != x.length; i++) loops"
Aart Bik [Thu, 25 Feb 2016 18:49:54 +0000 (18:49 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops"
am: 9ec486cc08

* commit '9ec486cc08ad658eee33f9bde405b97502562840':
  Recognize for (int i = 0; i != x.length; i++) loops

8 years agoMerge "Recognize for (int i = 0; i != x.length; i++) loops"
Aart Bik [Thu, 25 Feb 2016 18:48:50 +0000 (18:48 +0000)]
Merge "Recognize for (int i = 0; i != x.length; i++) loops"

8 years agoMerge "Disable test 097-duplicate-method for investigation"
Sebastien Hertz [Thu, 25 Feb 2016 18:39:31 +0000 (18:39 +0000)]
Merge "Disable test 097-duplicate-method for investigation"
am: 03550b6cdc

* commit '03550b6cdc9366d872e4e6ac5a9f6615f7a14e2c':
  Disable test 097-duplicate-method for investigation

8 years agoMerge "Disable test 097-duplicate-method for investigation"
Sebastien Hertz [Thu, 25 Feb 2016 18:36:09 +0000 (18:36 +0000)]
Merge "Disable test 097-duplicate-method for investigation"

8 years agoDisable test 097-duplicate-method for investigation
Sebastien Hertz [Thu, 25 Feb 2016 17:50:23 +0000 (18:50 +0100)]
Disable test 097-duplicate-method for investigation

Broekn by latest Jack release (1.2-a19)

Bug: 27358065
Change-Id: Ifd66522bde4c5b93435c6d9ab11ebb407f842df6

8 years agoMerge "Make sure constantIndexing2 is optimized with DEOPT."
Aart Bik [Thu, 25 Feb 2016 17:42:41 +0000 (17:42 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."
am: 9ca7d203f2

* commit '9ca7d203f2452366c50ce4cdff60b412f8c35710':
  Make sure constantIndexing2 is optimized with DEOPT.

8 years agoMerge "Make sure constantIndexing2 is optimized with DEOPT."
Aart Bik [Thu, 25 Feb 2016 17:38:08 +0000 (17:38 +0000)]
Merge "Make sure constantIndexing2 is optimized with DEOPT."

8 years agoRecognize for (int i = 0; i != x.length; i++) loops
Aart Bik [Wed, 24 Feb 2016 22:17:53 +0000 (14:17 -0800)]
Recognize for (int i = 0; i != x.length; i++) loops

Rationale:
Idiom occurs in real-life and is very straightforwardly
recognized by existing induction/range machinery.

Change-Id: I965a16e9de72f3523ea5023d30ed1c4e47ed5010

8 years agoMerge "Dump the number of OSR compiled code."
Nicolas Geoffray [Thu, 25 Feb 2016 16:50:40 +0000 (16:50 +0000)]
Merge "Dump the number of OSR compiled code."
am: 6d17995db0

* commit '6d17995db00460fbb4519adc7496897dbfad373e':
  Dump the number of OSR compiled code.

8 years agoMerge "Dump the number of OSR compiled code."
Nicolas Geoffray [Thu, 25 Feb 2016 16:46:48 +0000 (16:46 +0000)]
Merge "Dump the number of OSR compiled code."

8 years agoMerge "Optimizing: ARM64 negated bitwise operations simplification"
Roland Levillain [Thu, 25 Feb 2016 16:40:35 +0000 (16:40 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification"
am: 87265b4af8

* commit '87265b4af8cdc7258a8f90360cca9fc655548ac5':
  Optimizing: ARM64 negated bitwise operations simplification

8 years agoMerge "Optimizing: ARM64 negated bitwise operations simplification"
Roland Levillain [Thu, 25 Feb 2016 16:36:21 +0000 (16:36 +0000)]
Merge "Optimizing: ARM64 negated bitwise operations simplification"

8 years agoOptimizing: ARM64 negated bitwise operations simplification
Kevin Brodsky [Mon, 11 Jan 2016 13:43:31 +0000 (13:43 +0000)]
Optimizing: ARM64 negated bitwise operations simplification

Use negated instructions on ARM64 to replace [bitwise operation + not]
patterns, that is:
a & ~b (BIC)
a | ~b (ORN)
a ^ ~b (EON)

The simplification only happens if the Not is only used by the bitwise
operation. It does not happen if both inputs are Not's (this should be
handled by a generic simplification applying De Morgan's laws).

Change-Id: I0e112b23fd8b8e10f09bfeff5994508a8ff96e9c

8 years agoMerge "ART: Profile all branches for on-stack replacement"
Bill Buzbee [Thu, 25 Feb 2016 15:57:05 +0000 (15:57 +0000)]
Merge "ART: Profile all branches for on-stack replacement"
am: 950d063395

* commit '950d063395c7cecbbe372fd607468018d661a35c':
  ART: Profile all branches for on-stack replacement

8 years agoMerge "ART: Profile all branches for on-stack replacement"
Bill Buzbee [Thu, 25 Feb 2016 15:54:27 +0000 (15:54 +0000)]
Merge "ART: Profile all branches for on-stack replacement"

8 years agoMerge "Verify encoded stack maps in debug builds."
David Srbecky [Thu, 25 Feb 2016 15:48:18 +0000 (15:48 +0000)]
Merge "Verify encoded stack maps in debug builds."
am: ebd486978e

* commit 'ebd486978e005c994aac3aff90b0a4e0927f1b0a':
  Verify encoded stack maps in debug builds.

8 years agoMerge "Verify encoded stack maps in debug builds."
David Srbecky [Thu, 25 Feb 2016 15:45:58 +0000 (15:45 +0000)]
Merge "Verify encoded stack maps in debug builds."

8 years agoMerge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
Vladimir Marko [Thu, 25 Feb 2016 15:39:50 +0000 (15:39 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
am: 1de3bb289b

* commit '1de3bb289ba5e8a249840c634ad5eb108b827d69':
  Revert "Revert "ARM/ARM64: Extend support of instruction combining.""

8 years agoMerge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""
Vladimir Marko [Thu, 25 Feb 2016 15:37:05 +0000 (15:37 +0000)]
Merge "Revert "Revert "ARM/ARM64: Extend support of instruction combining."""

8 years agoMerge "Implement << operator for DexRegisterLocation::Kind."
David Srbecky [Thu, 25 Feb 2016 15:19:53 +0000 (15:19 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind."
am: dcedaaa4dc

* commit 'dcedaaa4dc6d05b6044ecef50f2d9bb95575d49c':
  Implement << operator for DexRegisterLocation::Kind.

8 years agoMerge "Implement << operator for DexRegisterLocation::Kind."
David Srbecky [Thu, 25 Feb 2016 15:15:58 +0000 (15:15 +0000)]
Merge "Implement << operator for DexRegisterLocation::Kind."

8 years agoVerify encoded stack maps in debug builds.
David Srbecky [Wed, 24 Feb 2016 16:39:26 +0000 (16:39 +0000)]
Verify encoded stack maps in debug builds.

Read all stack map data back after we write it and DCHECK the content.

Change-Id: Ia679594ac9e5805f6d4c56686030af153b45ea8b

8 years agoImplement << operator for DexRegisterLocation::Kind.
David Srbecky [Thu, 25 Feb 2016 13:23:56 +0000 (13:23 +0000)]
Implement << operator for DexRegisterLocation::Kind.

This makes it comparable in DCHECK_EQ and similar methods.

Change-Id: I6b5b237be89325850ae6860d011fd6741189ab01

8 years agoART: Profile all branches for on-stack replacement
buzbee [Wed, 24 Feb 2016 22:24:24 +0000 (14:24 -0800)]
ART: Profile all branches for on-stack replacement

Change the switch, goto and mterp interpreters to profile
not-taken as well as taken branches.  This allows for on-stack
replacement when the cfg has been rearranged such that the loop
header was originally the fallthrough of a Dalvik byte-code branch.

Note that this increases the already-heavy cost of branch profiling.
Measuring on a Nexus 6 using a very branchy benchmark (logic subtest
from Caffeinemark), we see:

            No profiling     Taken only     Taken & not-taken
mterp          9728            3434              2384
C++ goto       3914            2422              2037
C++ switch     2986            2411              2112

As measured, the cost of branch profiling is dominating execution
time.  This will be addressed in follow-up CLs.

Change-Id: Ibc858f317398dd991ed8e4f3c3d72bd4c9a60594

8 years agoMerge "Revert "ART: Support interpreter switching in x86 mterp""
Nicolas Geoffray [Thu, 25 Feb 2016 13:40:46 +0000 (13:40 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp""
am: 7d66ac5038

* commit '7d66ac5038a81554d89f79b419e3a80e63ca1f92':
  Revert "ART: Support interpreter switching in x86 mterp"

8 years agoMerge "Revert "ART: Support interpreter switching in x86 mterp""
Nicolas Geoffray [Thu, 25 Feb 2016 13:35:36 +0000 (13:35 +0000)]
Merge "Revert "ART: Support interpreter switching in x86 mterp""

8 years agoRevert "ART: Support interpreter switching in x86 mterp"
Nicolas Geoffray [Thu, 25 Feb 2016 13:34:18 +0000 (13:34 +0000)]
Revert "ART: Support interpreter switching in x86 mterp"

Fails:
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-304-method-tracing32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-545-tracing-and-jit32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-570-checker-osr32
test-art-host-run-test-ndebug-prebuild-interpreter-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-802-deoptimization32

This reverts commit 4429b110c7b4d9bda2c31b4df257e840831d01f6.

Change-Id: I30c42e22b44bb9c9bbd6efaedbc97516d575bf11

8 years agoDump the number of OSR compiled code.
Nicolas Geoffray [Thu, 25 Feb 2016 13:27:47 +0000 (13:27 +0000)]
Dump the number of OSR compiled code.

Change-Id: I20efc80e8556da8220dab92c3a7947f883d48cf8

8 years agoMerge "Split 530-checker-loops to please our run-test file size limit."
Nicolas Geoffray [Thu, 25 Feb 2016 12:46:17 +0000 (12:46 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit."
am: 1470073c3a

* commit '1470073c3a9ce17a0f7d3167345746d0b8d2202b':
  Split 530-checker-loops to please our run-test file size limit.

8 years agoMerge "ART: Support interpreter switching in x86 mterp"
Bill Buzbee [Thu, 25 Feb 2016 12:46:10 +0000 (12:46 +0000)]
Merge "ART: Support interpreter switching in x86 mterp"
am: 7f4ea48953

* commit '7f4ea4895380d9a7fbced84da7af5113de631706':
  ART: Support interpreter switching in x86 mterp

8 years agoMerge "Split 530-checker-loops to please our run-test file size limit."
Nicolas Geoffray [Thu, 25 Feb 2016 12:43:58 +0000 (12:43 +0000)]
Merge "Split 530-checker-loops to please our run-test file size limit."

8 years agoMerge "ART: Support interpreter switching in x86 mterp"
Bill Buzbee [Thu, 25 Feb 2016 12:43:23 +0000 (12:43 +0000)]
Merge "ART: Support interpreter switching in x86 mterp"

8 years agoSplit 530-checker-loops to please our run-test file size limit.
Nicolas Geoffray [Thu, 25 Feb 2016 12:40:27 +0000 (12:40 +0000)]
Split 530-checker-loops to please our run-test file size limit.

Change-Id: Ib03303435918b333691625f3999b937072f8ec31

8 years agoMerge "Forgot to initialize JIT memory use fields."
Nicolas Geoffray [Thu, 25 Feb 2016 10:22:38 +0000 (10:22 +0000)]
Merge "Forgot to initialize JIT memory use fields."
am: 489b1f2264

* commit '489b1f226466925685cf61466319f9e9024c6e2f':
  Forgot to initialize JIT memory use fields.

8 years agoMerge "Forgot to initialize JIT memory use fields."
Nicolas Geoffray [Thu, 25 Feb 2016 10:21:34 +0000 (10:21 +0000)]
Merge "Forgot to initialize JIT memory use fields."

8 years agoRevert "Revert "ARM/ARM64: Extend support of instruction combining.""
Artem Udovichenko [Tue, 26 Jan 2016 09:28:31 +0000 (12:28 +0300)]
Revert "Revert "ARM/ARM64: Extend support of instruction combining.""

This reverts commit 6b5afdd144d2bb3bf994240797834b5666b2cf98.

Change-Id: Ic27a10f02e21109503edd64e6d73d1bb0c6a8ac6

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()""
Nicolas Geoffray [Thu, 25 Feb 2016 08:54:49 +0000 (08:54 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()""
am: 57bb557954

* commit '57bb557954c58f63de0f065f4d1f1519ef33b090':
  Revert "Preload public libraries on Runtime::Start()"

8 years agoMerge "Revert "Preload public libraries on Runtime::Start()""
Nicolas Geoffray [Thu, 25 Feb 2016 08:51:04 +0000 (08:51 +0000)]
Merge "Revert "Preload public libraries on Runtime::Start()""

8 years agoRevert "Preload public libraries on Runtime::Start()"
Nicolas Geoffray [Thu, 25 Feb 2016 08:50:50 +0000 (08:50 +0000)]
Revert "Preload public libraries on Runtime::Start()"

Breaks anyone not working on up-to-date devices/trees. I'll work on a revert of the revert.

Bug: http://b/27245894

This reverts commit ea9fc5bd31781fb380ace74ccddf2137c7dcc5d9.

Change-Id: Ie8fc286a64de4db2c905502a528005022803ed94

8 years agoMerge "Revert "Disable test due to toybox update.""
Nicolas Geoffray [Thu, 25 Feb 2016 08:48:19 +0000 (08:48 +0000)]
Merge "Revert "Disable test due to toybox update.""
am: 4559e72589

* commit '4559e7258986807dcdf368807167284331999684':
  Revert "Disable test due to toybox update."

8 years agoMerge "Revert "Disable test due to toybox update.""
Nicolas Geoffray [Thu, 25 Feb 2016 08:42:33 +0000 (08:42 +0000)]
Merge "Revert "Disable test due to toybox update.""

8 years agoRevert "Disable test due to toybox update."
Nicolas Geoffray [Thu, 25 Feb 2016 08:41:31 +0000 (08:41 +0000)]
Revert "Disable test due to toybox update."

Bug: 26395656

This reverts commit 3e9be9904a7a3dfce076ba64a5f27e87c38e027d.

Change-Id: Ia994d695fdcebf00d6663aec3943539ab1347f87

8 years agoMerge "Preload public libraries on Runtime::Start()"
Dimitry Ivanov [Thu, 25 Feb 2016 02:11:04 +0000 (02:11 +0000)]
Merge "Preload public libraries on Runtime::Start()"
am: 42c50dd7b6

* commit '42c50dd7b661381f5927156ee01128297ad906d3':
  Preload public libraries on Runtime::Start()

8 years agoMerge "Preload public libraries on Runtime::Start()"
Dimitry Ivanov [Thu, 25 Feb 2016 01:05:56 +0000 (01:05 +0000)]
Merge "Preload public libraries on Runtime::Start()"

8 years agoPreload public libraries on Runtime::Start()
Dimitry Ivanov [Mon, 22 Feb 2016 22:26:48 +0000 (14:26 -0800)]
Preload public libraries on Runtime::Start()

Preloading public libraries on Runtime::Start()
instead of doing it in native_loader c-tor
ensures that the libraries are loaded only for
binaries that are using Android Runtime, and not
just linking against libandroid_runtime or libart.

Loading public libraries on Runtime::Start()
also helps some apps to save startup time and space
by ensuring that all NDK libraries are loaded
and ready to use.

Bug: http://b/27245894
Change-Id: I15679a72450f3d18a7dd503d0ae977cebcfd7f52
(cherry picked from commit 7bca74e53d3665bcd243d4e0277f6561c0c80271)

8 years agoMerge "Avoid single expensive test in 530-checker-loops."
Aart Bik [Wed, 24 Feb 2016 23:48:02 +0000 (23:48 +0000)]
Merge "Avoid single expensive test in 530-checker-loops."
am: 4e4e64511e

* commit '4e4e64511e530db37b33f450016afe49db3c4b20':
  Avoid single expensive test in 530-checker-loops.

8 years agoMerge "Avoid single expensive test in 530-checker-loops."
Aart Bik [Wed, 24 Feb 2016 23:35:08 +0000 (23:35 +0000)]
Merge "Avoid single expensive test in 530-checker-loops."

8 years agoAvoid single expensive test in 530-checker-loops.
Aart Bik [Wed, 24 Feb 2016 23:18:55 +0000 (15:18 -0800)]
Avoid single expensive test in 530-checker-loops.

Rationale:
All tests run in "no time", except one instance
that iterates over full iteration space before
going OOB. Protect that instance with a HEAVY
boolean to avoid timing out in interpretation mode.

Impact on interpreted runtime:

1m6.936s   ->   0m0.031s

Change-Id: I413939b683c76b7be0f1259da8533d4b069eac6d

8 years agoART: Support interpreter switching in x86 mterp
buzbee [Wed, 24 Feb 2016 23:16:46 +0000 (15:16 -0800)]
ART: Support interpreter switching in x86 mterp

Because mterp only supports a subset of special modes and
instrumentation, it needs to recognize when new instrumentation
is added and bail out to the reference interpreter if needed.

The arm and arm64 mterp targets do this.  This CL adds the
functionality to x86 mterp.

Change-Id: I72783577e6f26b2695677b07d8fa57fb887a36c8

8 years agoMerge "Made art/runtime/arch/stub_test.cc compile with -O2 again."
Andreas Gampe [Wed, 24 Feb 2016 21:46:20 +0000 (21:46 +0000)]
Merge "Made art/runtime/arch/stub_test.cc compile with -O2 again."
am: db11e7ecc9

* commit 'db11e7ecc9c902ffde6336c261fe236299a81944':
  Made art/runtime/arch/stub_test.cc compile with -O2 again.

8 years agoMerge "image: Allow methods with code in another oat file to work correctly"
Igor Murashkin [Wed, 24 Feb 2016 21:46:07 +0000 (21:46 +0000)]
Merge "image: Allow methods with code in another oat file to work correctly"
am: f5a28f77ab

* commit 'f5a28f77abefc080a870869ae933106435af4232':
  image: Allow methods with code in another oat file to work correctly

8 years agoMerge "Use range analysis for better trip count analysis"
Aart Bik [Wed, 24 Feb 2016 21:39:24 +0000 (21:39 +0000)]
Merge "Use range analysis for better trip count analysis"
am: dcf7db26bd

* commit 'dcf7db26bdf098b507623b5bf99c4e2bd045b2d1':
  Use range analysis for better trip count analysis

8 years agoMerge "Add MapAnonymous handling for null error_str"
Mathieu Chartier [Wed, 24 Feb 2016 21:39:15 +0000 (21:39 +0000)]
Merge "Add MapAnonymous handling for null error_str"
am: 0c0a7a326b

* commit '0c0a7a326b3a76846d2a0b0e039cff877d43b588':
  Add MapAnonymous handling for null error_str

8 years agoMerge "Made art/runtime/arch/stub_test.cc compile with -O2 again."
Andreas Gampe [Wed, 24 Feb 2016 21:37:29 +0000 (21:37 +0000)]
Merge "Made art/runtime/arch/stub_test.cc compile with -O2 again."

8 years agoMerge "image: Allow methods with code in another oat file to work correctly"
Igor Murashkin [Wed, 24 Feb 2016 21:35:31 +0000 (21:35 +0000)]
Merge "image: Allow methods with code in another oat file to work correctly"

8 years agoimage: Allow methods with code in another oat file to work correctly
Igor Murashkin [Sat, 20 Feb 2016 00:41:44 +0000 (16:41 -0800)]
image: Allow methods with code in another oat file to work correctly

This fixes an issue when classes with default methods are in the boot
image and are used by an app image.

(cherry picked from commit 6e2237d6615c8f7b09c99d196e5effcfd087943b)

Bug: 27315287
Change-Id: Iaa66848fc07a0c779bc6e047bd154e2a4b87e1c8

8 years agoMerge "Use range analysis for better trip count analysis"
Aart Bik [Wed, 24 Feb 2016 21:01:45 +0000 (21:01 +0000)]
Merge "Use range analysis for better trip count analysis"

8 years agoMerge "Add MapAnonymous handling for null error_str"
Mathieu Chartier [Wed, 24 Feb 2016 19:44:11 +0000 (19:44 +0000)]
Merge "Add MapAnonymous handling for null error_str"

8 years agoUse range analysis for better trip count analysis
Aart Bik [Sat, 20 Feb 2016 04:14:38 +0000 (20:14 -0800)]
Use range analysis for better trip count analysis

Rationale:
Marking more loops as always-taken avoids generating
unnecessary new top tests while marking more loops
are non-infinite enables more optimizations. This
CL helps with these improvements. Also, some more
code is shared between induction and range analysis
and a bug with refining ranges has been fixed.

Bug: 27151190

Change-Id: Iecc0d7f32ae4779ee5424cda9dcc20816220935e

8 years agoAdd MapAnonymous handling for null error_str
Mathieu Chartier [Wed, 24 Feb 2016 18:09:23 +0000 (10:09 -0800)]
Add MapAnonymous handling for null error_str

We use MapAnonymous with null error_str for app image loading when
we want to fail quickly. Also avoid doing CheckNonOverlapping in
CheckMapRequest if error_msg is null. The result from
CheckNonOverlapping is unused and CheckNonOverlapping is slow since
it creates a backtrace map.

Bug: 22858531
Bug: 26746779
Change-Id: I8605ec0b9d9ae554a4b74f2606fa7dd81ade9021

8 years agoMake sure constantIndexing2 is optimized with DEOPT.
Aart Bik [Wed, 24 Feb 2016 18:49:37 +0000 (10:49 -0800)]
Make sure constantIndexing2 is optimized with DEOPT.

Rationale:
This particular method is also used in foo() to see if
assertIsManaged() holds after going out of bounds.
During my last rewrite (which added a driver to make
sure more code is actually executed), I changed the
method to show a non-deopt case. However, that would
miss this test. I moved the non-deopt case into a new test.

Change-Id: Iaf3e77e33a82ff6cd300753f9e5211529353401c

8 years agoMerge "Don\'t make this script fail a buildbot run."
Nicolas Geoffray [Wed, 24 Feb 2016 18:07:09 +0000 (18:07 +0000)]
Merge "Don\'t make this script fail a buildbot run."
am: 8ff01690eb

* commit '8ff01690eb2796604b8927076fdde7452b4c8a60':
  Don't make this script fail a buildbot run.

8 years agoMerge "Don't make this script fail a buildbot run."
Nicolas Geoffray [Wed, 24 Feb 2016 17:59:37 +0000 (17:59 +0000)]
Merge "Don't make this script fail a buildbot run."

8 years agoDon't make this script fail a buildbot run.
Nicolas Geoffray [Wed, 24 Feb 2016 17:52:08 +0000 (17:52 +0000)]
Don't make this script fail a buildbot run.

Change-Id: I000d69c1a33eca6ca98f7fd1096bc9af7d22b4e8

8 years agoMerge "ARM: Implement Reverse bits and bytes intrinsic."
Vladimir Marko [Wed, 24 Feb 2016 17:41:45 +0000 (17:41 +0000)]
Merge "ARM: Implement Reverse bits and bytes intrinsic."
am: cc544f3b3a

* commit 'cc544f3b3ad69449354a8596a1df5d2623e8c7d8':
  ARM: Implement Reverse bits and bytes intrinsic.

8 years agoMerge "ARM: Implement Reverse bits and bytes intrinsic."
Vladimir Marko [Wed, 24 Feb 2016 17:34:41 +0000 (17:34 +0000)]
Merge "ARM: Implement Reverse bits and bytes intrinsic."

8 years agoForgot to initialize JIT memory use fields.
Nicolas Geoffray [Wed, 24 Feb 2016 17:18:25 +0000 (17:18 +0000)]
Forgot to initialize JIT memory use fields.

Change-Id: I82ae97adffd8e633de048f044cdbdb953b2f9763

8 years agoMerge "MIPS32: Implement intrinsics from java.lang.Math:"
Roland Levillain [Wed, 24 Feb 2016 16:10:10 +0000 (16:10 +0000)]
Merge "MIPS32: Implement intrinsics from java.lang.Math:"
am: a6be605d83

* commit 'a6be605d83473c8c97245f823f3da2596cb63817':
  MIPS32: Implement intrinsics from java.lang.Math:

8 years agoMerge "MIPS32: Implement intrinsics from java.lang.Math:"
Roland Levillain [Wed, 24 Feb 2016 16:05:37 +0000 (16:05 +0000)]
Merge "MIPS32: Implement intrinsics from java.lang.Math:"

8 years agoMerge "Remove unreachable code paths in constant folding."
Roland Levillain [Wed, 24 Feb 2016 15:52:18 +0000 (15:52 +0000)]
Merge "Remove unreachable code paths in constant folding."
am: d9ad7463ed

* commit 'd9ad7463eda39d9b8bee204f91a3b7b7fa6b0a1a':
  Remove unreachable code paths in constant folding.

8 years agoMerge "Fix indentation of copyright headers in some ART run-tests."
Roland Levillain [Wed, 24 Feb 2016 15:48:06 +0000 (15:48 +0000)]
Merge "Fix indentation of copyright headers in some ART run-tests."
am: 8b2c636a28

* commit '8b2c636a28148c09a64b8fbbd9afe7ea11cfe59b':
  Fix indentation of copyright headers in some ART run-tests.

8 years agoMerge "Remove unreachable code paths in constant folding."
Roland Levillain [Wed, 24 Feb 2016 15:46:01 +0000 (15:46 +0000)]
Merge "Remove unreachable code paths in constant folding."

8 years agoMerge "Fix indentation of copyright headers in some ART run-tests."
Roland Levillain [Wed, 24 Feb 2016 15:45:01 +0000 (15:45 +0000)]
Merge "Fix indentation of copyright headers in some ART run-tests."

8 years agoFix indentation of copyright headers in some ART run-tests.
Roland Levillain [Wed, 24 Feb 2016 15:41:20 +0000 (15:41 +0000)]
Fix indentation of copyright headers in some ART run-tests.

Reported by Kevin Brodsky <kevin.brodsky@linaro.org>.

Change-Id: Iec3d69aa33d3b6a31f1298607e0ee6bc4cb6d9c0

8 years agoMerge "ART: Enable JitProfiling for x86 Mterp"
Bill Buzbee [Wed, 24 Feb 2016 15:01:50 +0000 (15:01 +0000)]
Merge "ART: Enable JitProfiling for x86 Mterp"
am: 29c612299d

* commit '29c612299d50b52a1a4b2716a07232a1dad67bc1':
  ART: Enable JitProfiling for x86 Mterp

8 years agoMerge "ART: Enable JitProfiling for x86 Mterp"
Bill Buzbee [Wed, 24 Feb 2016 14:59:07 +0000 (14:59 +0000)]
Merge "ART: Enable JitProfiling for x86 Mterp"

8 years agoRemove unreachable code paths in constant folding.
Roland Levillain [Wed, 24 Feb 2016 14:54:18 +0000 (14:54 +0000)]
Remove unreachable code paths in constant folding.

Change-Id: I7ffb361711c87f6b1b98d172d2cfdf9b2ba65607

8 years agoMade art/runtime/arch/stub_test.cc compile with -O2 again.
Bilyan Borisov [Wed, 10 Feb 2016 11:51:17 +0000 (11:51 +0000)]
Made art/runtime/arch/stub_test.cc compile with -O2 again.

The test file art/runtime/arch/stub_test.cc wasn't compiling with -O2
as the optimisations interacted with -fstack-protector-strong. The
aarch64 _asm_ block in the Invoke3WithReferrerAndHidden function was
clobbering all possible registers, and clang requires at least one
register to be live across an _asm_ block to do the checking.

The fix was to remove a callee-saved register, x20, from the clobber
list of the aarch64 asm block of Invoke3WithReferrerAndHidden. The
block was also modified to save and restore x20 to ensure that it
won't be clobbered by the stubs invoked by the blr instruction. Also
added some comments above the clobber list.

Change-Id: I03597fd2d14cf2d6e32edf02835aee2eb68bab17

8 years agoARM: Implement Reverse bits and bytes intrinsic.
Artem Serov [Tue, 2 Feb 2016 13:49:43 +0000 (13:49 +0000)]
ARM: Implement Reverse bits and bytes intrinsic.

 - IntegerReverse
 - LongReverse
 - IntegerReverseBytes
 - LongReverseBytes
 - ShortReverseBytes

Change-Id: I3ec202696b245148a0237ff6e46ac3f1a3f8402a

8 years agoMerge "Add a script to symbolize buildbot crashes."
Nicolas Geoffray [Wed, 24 Feb 2016 12:15:56 +0000 (12:15 +0000)]
Merge "Add a script to symbolize buildbot crashes."
am: d15ede2df7

* commit 'd15ede2df7d157ea5480614fd18c2bf0d37a6c2a':
  Add a script to symbolize buildbot crashes.

8 years agoMerge "Add a script to symbolize buildbot crashes."
Nicolas Geoffray [Wed, 24 Feb 2016 12:14:35 +0000 (12:14 +0000)]
Merge "Add a script to symbolize buildbot crashes."

8 years agoAdd a script to symbolize buildbot crashes.
Nicolas Geoffray [Wed, 24 Feb 2016 12:04:23 +0000 (12:04 +0000)]
Add a script to symbolize buildbot crashes.

Change-Id: I6e85a2f37db84a8d06c7258de1c60eaffc78e44b

8 years agoMerge "ART: Allow method references across oat files for multi-image, 2nd attempt."
Vladimir Marko [Wed, 24 Feb 2016 11:54:19 +0000 (11:54 +0000)]
Merge "ART: Allow method references across oat files for multi-image, 2nd attempt."
am: bf63303f8a

* commit 'bf63303f8a98c88fb8f0a726ab9431660f26df5a':
  ART: Allow method references across oat files for multi-image, 2nd attempt.

8 years agoMerge "ART: Allow method references across oat files for multi-image, 2nd attempt."
Vladimir Marko [Wed, 24 Feb 2016 11:52:14 +0000 (11:52 +0000)]
Merge "ART: Allow method references across oat files for multi-image, 2nd attempt."

8 years agoART: Allow method references across oat files for multi-image, 2nd attempt.
Vladimir Marko [Fri, 19 Feb 2016 12:27:55 +0000 (12:27 +0000)]
ART: Allow method references across oat files for multi-image, 2nd attempt.

These were disabled because we didn't have sufficient
information about the multi-image layout when processing
link-time patches in OatWriter. This CL refactors the
ELF file creation so that the information is available.

Also clean up ImageWriter to use oat file indexes instead
of filenames and avoid reopening the oat file to retrieve
the checksum.

Change-Id: Icc7b528deca29da1e473c8f079521a36d6c4892f

8 years agoMerge "Please Clang with respect to stack frame limits in dex2oat."
Roland Levillain [Wed, 24 Feb 2016 10:54:38 +0000 (10:54 +0000)]
Merge "Please Clang with respect to stack frame limits in dex2oat."
am: 9baccdc75e

* commit '9baccdc75ee01dd96ac4e57e17965635f96def27':
  Please Clang with respect to stack frame limits in dex2oat.

8 years agoMerge "Please Clang with respect to stack frame limits in dex2oat."
Roland Levillain [Wed, 24 Feb 2016 10:53:24 +0000 (10:53 +0000)]
Merge "Please Clang with respect to stack frame limits in dex2oat."

8 years agoMerge "Introduce partial code cache collection."
Nicolas Geoffray [Wed, 24 Feb 2016 10:37:28 +0000 (10:37 +0000)]
Merge "Introduce partial code cache collection."
am: dddfaa5ec5

* commit 'dddfaa5ec5eee11b6ca8c489ed5e92f10a334b22':
  Introduce partial code cache collection.

8 years agoMerge "Introduce partial code cache collection."
Nicolas Geoffray [Wed, 24 Feb 2016 10:35:01 +0000 (10:35 +0000)]
Merge "Introduce partial code cache collection."

8 years agoMerge "Associate slow paths with the instruction that they belong to."
David Srbecky [Wed, 24 Feb 2016 10:32:05 +0000 (10:32 +0000)]
Merge "Associate slow paths with the instruction that they belong to."
am: 21ce0dae31

* commit '21ce0dae31a72cee459dba352b4aa1ccb5157a5d':
  Associate slow paths with the instruction that they belong to.

8 years agoMerge "Associate slow paths with the instruction that they belong to."
David Srbecky [Wed, 24 Feb 2016 10:30:04 +0000 (10:30 +0000)]
Merge "Associate slow paths with the instruction that they belong to."

8 years agoMerge "Remove HNativeDebugInfo from start of basic blocks."
David Srbecky [Wed, 24 Feb 2016 10:26:46 +0000 (10:26 +0000)]
Merge "Remove HNativeDebugInfo from start of basic blocks."
am: 0e02ee9efb

* commit '0e02ee9efbf1dbdde05d2b10f7307bbe191c52f5':
  Remove HNativeDebugInfo from start of basic blocks.

8 years agoAssociate slow paths with the instruction that they belong to.
David Srbecky [Tue, 9 Feb 2016 15:24:47 +0000 (15:24 +0000)]
Associate slow paths with the instruction that they belong to.

Almost all slow paths already know the instruction they belong to,
this CL just moves the knowledge to the base class as well.

This is needed to be be able to get the corresponding dex pc for
slow path, which allows us generate better native line numbers,
which in turn fixes some native debugging stepping issues.

Change-Id: I568dbe78a7cea6a43a4a71a014b3ad135782c270

8 years agoMerge "Remove HNativeDebugInfo from start of basic blocks."
David Srbecky [Wed, 24 Feb 2016 10:23:50 +0000 (10:23 +0000)]
Merge "Remove HNativeDebugInfo from start of basic blocks."

8 years agoRemove HNativeDebugInfo from start of basic blocks.
David Srbecky [Tue, 9 Feb 2016 14:30:11 +0000 (14:30 +0000)]
Remove HNativeDebugInfo from start of basic blocks.

We do not require full environment at the start of basic block.
The dex pc contained in basic block is sufficient for line mapping.

Change-Id: I5ba9e5f5acbc4a783ad544769f9a73bb33e2bafa

8 years agoMerge "Show battery level fo devices on buildbot."
Nicolas Geoffray [Wed, 24 Feb 2016 10:15:59 +0000 (10:15 +0000)]
Merge "Show battery level fo devices on buildbot."
am: 72ca09cc2d

* commit '72ca09cc2dd350adb932ef4a50eff668cca99c5e':
  Show battery level fo devices on buildbot.

8 years agoMerge "Show battery level fo devices on buildbot."
Nicolas Geoffray [Wed, 24 Feb 2016 10:12:30 +0000 (10:12 +0000)]
Merge "Show battery level fo devices on buildbot."

8 years agoART: Enable JitProfiling for x86 Mterp
buzbee [Tue, 23 Feb 2016 21:25:00 +0000 (13:25 -0800)]
ART: Enable JitProfiling for x86 Mterp

Adds branch profiling and enables for x86.

Change-Id: I875034d5bc6b639df08a0236e415195521994238

8 years agoShow battery level fo devices on buildbot.
Nicolas Geoffray [Wed, 24 Feb 2016 09:53:09 +0000 (09:53 +0000)]
Show battery level fo devices on buildbot.

Change-Id: Ic8279d1905c8a6efe08ca190f1bb7332842e1904

8 years agoMerge "Make JNI work correctly with default methods."
Alex Light [Tue, 23 Feb 2016 22:42:48 +0000 (22:42 +0000)]
Merge "Make JNI work correctly with default methods."
am: 028d1027f9

* commit '028d1027f9b6ea6c80982407984171204458ff9b':
  Make JNI work correctly with default methods.