OSDN Git Service

android-x86/art.git
8 years agoMerge "Revert "Workaround JDWP failures""
Sebastien Hertz [Mon, 22 Feb 2016 15:48:24 +0000 (15:48 +0000)]
Merge "Revert "Workaround JDWP failures""
am: 506cf19829

* commit '506cf19829ba61e9ad6e34e2c811cff097c2a6b5':
  Revert "Workaround JDWP failures"

8 years agoMerge "Revert "Workaround JDWP failures""
Sebastien Hertz [Mon, 22 Feb 2016 15:43:30 +0000 (15:43 +0000)]
Merge "Revert "Workaround JDWP failures""

8 years agoMerge "Add profman tool: responsible to process profiles"
Calin Juravle [Mon, 22 Feb 2016 15:12:04 +0000 (15:12 +0000)]
Merge "Add profman tool: responsible to process profiles"
am: b7f9aa85a3

* commit 'b7f9aa85a3e138440f392a9f0921fcaff8761d20':
  Add profman tool: responsible to process profiles

8 years agoMerge "Add profman tool: responsible to process profiles"
Calin Juravle [Mon, 22 Feb 2016 15:05:03 +0000 (15:05 +0000)]
Merge "Add profman tool: responsible to process profiles"

8 years agoAdd profman tool: responsible to process profiles
Calin Juravle [Mon, 1 Feb 2016 12:06:18 +0000 (12:06 +0000)]
Add profman tool: responsible to process profiles

This pulls out profile parsing from dex2oat into a separate tool.
Some additional refactoring:
- better return codes
- dex2oat now accepts only one profile file

This is the first step towards support secondary dex files and
extracting profiles out of the code_cache directory.

Bug: 26719109
Bug: 26563023

(cherry picked from commit d81c289e58f4ced8ec7674fd377c356669f97227)

Change-Id: I34d408faa318e866e1a23d4d04c369131ee5012b

8 years agoMerge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"
Narayan Kamath [Mon, 22 Feb 2016 13:53:41 +0000 (13:53 +0000)]
Merge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"
am: 32e9299fa6

* commit '32e9299fa6dbb82fc23c7b6eac6834f5081a62b1':
  Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f

8 years agoMerge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"
Narayan Kamath [Mon, 22 Feb 2016 13:50:02 +0000 (13:50 +0000)]
Merge "Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f"

8 years agoTrack libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f
Narayan Kamath [Mon, 22 Feb 2016 13:34:07 +0000 (13:34 +0000)]
Track libcore change b5d045f7e4023c0ba9a42fb95efad4c30dfc085f

Change-Id: I40bfd7f85c3972cb21c1ddde07ae9b5727df8909

8 years agoRevert "Workaround JDWP failures"
Sebastien Hertz [Mon, 22 Feb 2016 10:55:24 +0000 (10:55 +0000)]
Revert "Workaround JDWP failures"

This reverts commit 8af4d1c84682a3108b1e5b66fd7442a69eb715c0.

Bug: 27262745
Change-Id: I4254fad87cfdd2f9c044722c2f5766c8b14aaa9c

8 years agoMerge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."
Roland Levillain [Mon, 22 Feb 2016 10:49:11 +0000 (10:49 +0000)]
Merge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."
am: e8b4c1d9b3

* commit 'e8b4c1d9b33c489bb82a00d89b5a6fb9912e79de':
  Ignore GZIPInputStreamTest#testLongMessage failures with CC.

8 years agoMerge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."
Roland Levillain [Mon, 22 Feb 2016 10:45:59 +0000 (10:45 +0000)]
Merge "Ignore GZIPInputStreamTest#testLongMessage failures with CC."

8 years agoIgnore GZIPInputStreamTest#testLongMessage failures with CC.
Roland Levillain [Mon, 22 Feb 2016 10:20:57 +0000 (10:20 +0000)]
Ignore GZIPInputStreamTest#testLongMessage failures with CC.

This test sometimes fails with a
java.util.concurrent.TimeoutException on ART Builbot's
x86-64 concurrent collector configuration:
* libcore.java.util.zip.GZIPInputStreamTest#testLongMessage

Disable it while we investigate.

Bug: 26507762
Change-Id: I319a812ff7e6e95857879b2e653c886020cb462b

8 years agoMerge "Track memory usage of code cache."
Nicolas Geoffray [Mon, 22 Feb 2016 09:08:31 +0000 (09:08 +0000)]
Merge "Track memory usage of code cache."
am: c6cce704de

* commit 'c6cce704de94ebbd0953bee00f6eb87fa6fa4ac1':
  Track memory usage of code cache.

8 years agoMerge "Track memory usage of code cache."
Nicolas Geoffray [Mon, 22 Feb 2016 09:06:00 +0000 (09:06 +0000)]
Merge "Track memory usage of code cache."

8 years agoMerge "Use adds instead of add to set the N flag."
Nicolas Geoffray [Mon, 22 Feb 2016 06:57:44 +0000 (06:57 +0000)]
Merge "Use adds instead of add to set the N flag."
am: 25633b09df

* commit '25633b09df6747d19d1cb30ea2f34d443027c006':
  Use adds instead of add to set the N flag.

8 years agoMerge "Use adds instead of add to set the N flag."
Nicolas Geoffray [Mon, 22 Feb 2016 06:56:01 +0000 (06:56 +0000)]
Merge "Use adds instead of add to set the N flag."

8 years agoUse adds instead of add to set the N flag.
Nicolas Geoffray [Sun, 21 Feb 2016 17:19:18 +0000 (17:19 +0000)]
Use adds instead of add to set the N flag.

That flag will be used by the following bmi instruction.

Fixes 109-suspend-check on arm32.

Change-Id: I07ee069294e7a0d9709718375bce1e21e3db6529

8 years agoMerge "Enable bytecode tracing in ART FI"
Bill Buzbee [Sun, 21 Feb 2016 14:54:56 +0000 (14:54 +0000)]
Merge "Enable bytecode tracing in ART FI"
am: 0b38d6ab37

* commit '0b38d6ab37bfc9ce42fda4c15d9634463b1d4584':
  Enable bytecode tracing in ART FI

8 years agoMerge "x86 ART FI clean-up"
Bill Buzbee [Sun, 21 Feb 2016 14:54:46 +0000 (14:54 +0000)]
Merge "x86 ART FI clean-up"
am: 4ed2e43bd4

* commit '4ed2e43bd40fb203f54661ce42366e8e86581864':
  x86 ART FI clean-up

8 years agoMerge "Enable bytecode tracing in ART FI"
Bill Buzbee [Sun, 21 Feb 2016 14:53:05 +0000 (14:53 +0000)]
Merge "Enable bytecode tracing in ART FI"

8 years agoMerge "x86 ART FI clean-up"
Bill Buzbee [Sun, 21 Feb 2016 14:52:27 +0000 (14:52 +0000)]
Merge "x86 ART FI clean-up"

8 years agoEnable bytecode tracing in ART FI
Serguei Katkov [Sat, 20 Feb 2016 06:55:24 +0000 (12:55 +0600)]
Enable bytecode tracing in ART FI

Trace bytecode execution in Fast Interpreter similar to
other interpreters.

Update TraceExecutionEnabled function to switch on tracing.

Change-Id: Icabc17871c8198b11cd4c3dbfaa901e4fbf67946
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Support image classes filtering in image writer"
Mathieu Chartier [Fri, 19 Feb 2016 23:12:30 +0000 (23:12 +0000)]
Merge "Support image classes filtering in image writer"
am: ea6e755688

* commit 'ea6e7556887716b806f377c018fb6514bdae5bca':
  Support image classes filtering in image writer

8 years agoMerge "Support image classes filtering in image writer"
Mathieu Chartier [Fri, 19 Feb 2016 23:06:16 +0000 (23:06 +0000)]
Merge "Support image classes filtering in image writer"

8 years agoSupport image classes filtering in image writer
Mathieu Chartier [Fri, 19 Feb 2016 21:42:48 +0000 (13:42 -0800)]
Support image classes filtering in image writer

New logic prunes classes that have any dependency on a non-image
class. This enables creating smaller images with class profiling.
Code is from class profiling CL.

Added a CHECK for guarding against creating an app boot image with
existing boot image(s).

Bug: 22858531

(cherry picked from commit 7fccc2de5a7ea1bb8241d50869a2a4e44b35767f)

Change-Id: Idcc1de4367b5368bbbd2881cbd63975a646d0831

8 years agoMerge "Add VLOG(collector) to reduce log spam"
Mathieu Chartier [Fri, 19 Feb 2016 19:24:00 +0000 (19:24 +0000)]
Merge "Add VLOG(collector) to reduce log spam"
am: 365cbe7088

* commit '365cbe7088b013982389a6f1f78641de6940aeba':
  Add VLOG(collector) to reduce log spam

8 years agoMerge "Add VLOG(collector) to reduce log spam"
Mathieu Chartier [Fri, 19 Feb 2016 19:16:20 +0000 (19:16 +0000)]
Merge "Add VLOG(collector) to reduce log spam"

8 years agoAdd VLOG(collector) to reduce log spam
Mathieu Chartier [Fri, 19 Feb 2016 18:25:39 +0000 (10:25 -0800)]
Add VLOG(collector) to reduce log spam

VLOG(gc) is enabled from AndroidRuntime, using it too much produces
log spam.

Bug: 22858531

(cherry picked from commit a6e1c126299586932ecd3c1133a55a6f8e1107fc)

Change-Id: If60902a8d7855cdabd80208b9b385ce4ba4d9e5f

8 years agoMerge "Revert "Do not build art with clang for mips64""
Andreas Gampe [Fri, 19 Feb 2016 18:45:54 +0000 (18:45 +0000)]
Merge "Revert "Do not build art with clang for mips64""
am: eeb3b0bf53

* commit 'eeb3b0bf5339e24b6f5e22c5a884910000c9bcfb':
  Revert "Do not build art with clang for mips64"

8 years agoMerge "Revert "Do not build art with clang for mips64""
Andreas Gampe [Fri, 19 Feb 2016 18:38:22 +0000 (18:38 +0000)]
Merge "Revert "Do not build art with clang for mips64""

8 years agoMerge "Workaround JDWP failures"
Nicolas Geoffray [Fri, 19 Feb 2016 17:43:09 +0000 (17:43 +0000)]
Merge "Workaround JDWP failures"
am: a64c281ae7

* commit 'a64c281ae741bf35de36ac6ea9437e3f5be678b2':
  Workaround JDWP failures

8 years agoMerge "Workaround JDWP failures"
Nicolas Geoffray [Fri, 19 Feb 2016 17:39:37 +0000 (17:39 +0000)]
Merge "Workaround JDWP failures"

8 years agoRevert "Do not build art with clang for mips64"
Andreas Gampe [Fri, 19 Feb 2016 17:33:08 +0000 (09:33 -0800)]
Revert "Do not build art with clang for mips64"

This reverts commit 610a1420fe400d3f638fc0dadb1a012d2ac3ad19.

Bug: 25928358
Change-Id: I3fe8777ead2bd067c071277a7c15b2442f15567f

8 years agoWorkaround JDWP failures
Sebastien Hertz [Fri, 19 Feb 2016 17:31:06 +0000 (18:31 +0100)]
Workaround JDWP failures

Compile JDWP tests in 1.7 to workaround debug info issues.

Bug: 27262745
Change-Id: I4630a0346d5a99f94895557d705dad310735b45f

8 years agoMerge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm...
Bill Buzbee [Fri, 19 Feb 2016 17:01:01 +0000 (17:01 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""""
am: 29db7525e7

* commit '29db7525e7fe6e065c343c8ea762589bab88fd23':
  Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""

8 years agoMerge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm...
Bill Buzbee [Fri, 19 Feb 2016 16:58:41 +0000 (16:58 +0000)]
Merge "Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""""

8 years agoTrack memory usage of code cache.
Nicolas Geoffray [Fri, 19 Feb 2016 16:25:57 +0000 (16:25 +0000)]
Track memory usage of code cache.

Needed once we start having a strategy based on how full the code
cache is.

Change-Id: I181ad05e1c216afabf106f91ac54bbf144d7406a

8 years agoMerge "The JIT does not need VerifedMethod nor CompilerCallbacks."
Nicolas Geoffray [Fri, 19 Feb 2016 16:07:40 +0000 (16:07 +0000)]
Merge "The JIT does not need VerifedMethod nor CompilerCallbacks."
am: 219830939a

* commit '219830939ac94af8bbf019cbf4fdb65f05992713':
  The JIT does not need VerifedMethod nor CompilerCallbacks.

8 years agoMerge "The JIT does not need VerifedMethod nor CompilerCallbacks."
Nicolas Geoffray [Fri, 19 Feb 2016 16:01:49 +0000 (16:01 +0000)]
Merge "The JIT does not need VerifedMethod nor CompilerCallbacks."

8 years agoRevert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Bill Buzbee [Thu, 11 Feb 2016 22:37:42 +0000 (22:37 +0000)]
Revert "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""

This reverts commit 5d03317a834efdf3b5240c401f1bc2ceac7a2f25.

We need to catch all possible cases in which new instrumentation appears
or the debugger is attached, and then switch to the reference interpreter
if necessary.  We may, in a future CL, use the alt-mterp mechanism to accompish
this (as did Dalvik).

Only enables Arm64 for now.  Once it survives extended testing, will enable
arm and update x86.

Updated OSR handling to match other interpreters.

Change-Id: I076f1d752d6f59899876bab26b18e2221cd92f69

8 years agoMerge "Fix braino in single frame deopt."
Nicolas Geoffray [Fri, 19 Feb 2016 13:47:44 +0000 (13:47 +0000)]
Merge "Fix braino in single frame deopt."
am: 05d77c2673

* commit '05d77c2673082b371129f8d854439688533cfff2':
  Fix braino in single frame deopt.

8 years agoMerge "Fix braino in single frame deopt."
Nicolas Geoffray [Fri, 19 Feb 2016 13:41:08 +0000 (13:41 +0000)]
Merge "Fix braino in single frame deopt."

8 years agoFix braino in single frame deopt.
Nicolas Geoffray [Fri, 19 Feb 2016 12:43:12 +0000 (12:43 +0000)]
Fix braino in single frame deopt.

handler_method_header_ is actually the OatQuickMethodHeader
of the caller of the method that is deoptimizing (as we will
resume at its call site). We should use the OatQuickMethodHeader
of the method that is deoptimizing and pass it to the code cache
to invalidate the method.

Change-Id: I2b61a96b8415e9477e3ac902c54a314aeb0811a0

8 years agoMerge "Use image oat file instead of image header for immune spaces"
Mathieu Chartier [Fri, 19 Feb 2016 02:34:09 +0000 (02:34 +0000)]
Merge "Use image oat file instead of image header for immune spaces"
am: 52d9c2f0c5

* commit '52d9c2f0c584877e9c7f9e859d8068b3a2ccb12f':
  Use image oat file instead of image header for immune spaces

8 years agoMerge "Fix rosalloc issues with valgrind."
Hiroshi Yamauchi [Fri, 19 Feb 2016 02:34:00 +0000 (02:34 +0000)]
Merge "Fix rosalloc issues with valgrind."
am: ad736f19b4

* commit 'ad736f19b4ab0b1767fba9ed124f12e74313fcbb':
  Fix rosalloc issues with valgrind.

8 years agoMerge "Don\'t pass in oat file name to NativeLocationInImage"
Mathieu Chartier [Fri, 19 Feb 2016 02:33:49 +0000 (02:33 +0000)]
Merge "Don\'t pass in oat file name to NativeLocationInImage"
am: 5532365a28

* commit '5532365a289c8c2e8cb827c07058d72eb38f2e1c':
  Don't pass in oat file name to NativeLocationInImage

8 years agoMerge "Use image oat file instead of image header for immune spaces"
Mathieu Chartier [Fri, 19 Feb 2016 02:19:24 +0000 (02:19 +0000)]
Merge "Use image oat file instead of image header for immune spaces"

8 years agoUse image oat file instead of image header for immune spaces
Mathieu Chartier [Thu, 18 Feb 2016 00:19:53 +0000 (16:19 -0800)]
Use image oat file instead of image header for immune spaces

The old immune spaces logic used the oat file information in the
image header instead of the actual oat file pointer. This was
incorrect for the app image case since the app image oat file is
not necessarily at the address specified in the header. This bug
could cause an incorrect immune region that caused large objects
to get freed if they were within this immune region.

Added test.

Bug: 22858531
Change-Id: I243253e61ea1afd42c3bb2414c02ce6dd36d0f9c

8 years agoMerge "Fix rosalloc issues with valgrind."
Hiroshi Yamauchi [Fri, 19 Feb 2016 01:52:38 +0000 (01:52 +0000)]
Merge "Fix rosalloc issues with valgrind."

8 years agoMerge "Don't pass in oat file name to NativeLocationInImage"
Mathieu Chartier [Fri, 19 Feb 2016 01:16:50 +0000 (01:16 +0000)]
Merge "Don't pass in oat file name to NativeLocationInImage"

8 years agoDon't pass in oat file name to NativeLocationInImage
Mathieu Chartier [Thu, 18 Feb 2016 02:02:40 +0000 (18:02 -0800)]
Don't pass in oat file name to NativeLocationInImage

We already have the oat file name stored in the relocation, using
the one passed in for the image info can cause a mismatch.

I suspect this fixes a bug repated to copied methods where there
was a oat file name mismatch. When we assign the native object
relocation for the methods of a class, we use the dex cache from
that class.

However, we use method's declaring class in NativeLocationVisitor
by using ArtMethod::GetDexCache. This could result in using the
wrong ImageInfo if the declaring class is in another image.

Change-Id: I753207f7b773fac182f84ba57c640c09f9ce911f

8 years agoMerge "Disable read barriers in GC VisitReferences calls."
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:25:11 +0000 (00:25 +0000)]
Merge "Disable read barriers in GC VisitReferences calls."
am: 6a6a75305d

* commit '6a6a75305dcc3344eb51e342e84f32fce9421522':
  Disable read barriers in GC VisitReferences calls.

8 years agoMerge "Disable read barriers in GC VisitReferences calls."
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:17:37 +0000 (00:17 +0000)]
Merge "Disable read barriers in GC VisitReferences calls."

8 years agoDisable read barriers in GC VisitReferences calls.
Hiroshi Yamauchi [Wed, 17 Feb 2016 21:29:59 +0000 (13:29 -0800)]
Disable read barriers in GC VisitReferences calls.

It's safe to disable read barriers in the CC collector's
VisitReferences calls. It speeds up the collector by some amount,
eg. Ritzperf EAAC GC time on N5 decreases by ~4.2%.

This is based on Mathieu Chartier's idea.

Bug: 12687968

Change-Id: I884dee7018f92761fad54269f4cd01db4fa82f2a

8 years agoFix rosalloc issues with valgrind.
Hiroshi Yamauchi [Thu, 18 Feb 2016 23:01:17 +0000 (15:01 -0800)]
Fix rosalloc issues with valgrind.

The issue was that the MemoryToolMallocSpace constructor was
explicitly undefining the tail of the mem map, and when RosAlloc
expanded the space beyond the initial size, it gets errors from using
the zero but undefined (due to the above undefining) memory
content. RosAlloc zeroes memory on free (as opposed to zeroes on
allocation) and relied on the zero-initialized (hence defined in terms
of valgrind) mem map at the initialization time.

Change RosAlloc so that it does explicitly zeroes the entire mem map at
the initialization time and it does not rely on the zero-initialized of
the mem map.

Also, avoid explicitly changing the valgrind state in the
MemoryToolMallocSpace constructor, which happens after the allocator is
initialized because that may interfere with the allocator internal
initialization.

Bug: 27156726
Bug: 9986565

Change-Id: I3b36d2d987c25ce9ff5213278109c425f480b0d9

8 years agoMerge "Fix issue with copied methods not being checked."
Alex Light [Thu, 18 Feb 2016 21:15:40 +0000 (21:15 +0000)]
Merge "Fix issue with copied methods not being checked."
am: 70e2d7e52a

* commit '70e2d7e52ad1ed3226fdfcd3a2439c837f39c334':
  Fix issue with copied methods not being checked.

8 years agoMerge "Fix issue with copied methods not being checked."
Alex Light [Thu, 18 Feb 2016 21:13:19 +0000 (21:13 +0000)]
Merge "Fix issue with copied methods not being checked."

8 years agoMerge "Fix build aflter conflicting changes got in."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:52 +0000 (18:23 +0000)]
Merge "Fix build aflter conflicting changes got in."
am: 07f7affb33

* commit '07f7affb338b529d34e4e18b7e8a631c16bd9765':
  Fix build aflter conflicting changes got in.

8 years agoMerge "Small inlining improvements."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:42 +0000 (18:23 +0000)]
Merge "Small inlining improvements."
am: 1d01ef7f0f

* commit '1d01ef7f0f79b032449c35203ca9543fb8a0b22f':
  Small inlining improvements.

8 years agoMerge "Add statistics support for some optimizations"
Calin Juravle [Thu, 18 Feb 2016 18:23:32 +0000 (18:23 +0000)]
Merge "Add statistics support for some optimizations"
am: afe8400458

* commit 'afe84004583488ded7f99bb703ed4c1a601ff034':
  Add statistics support for some optimizations

8 years agoMerge "Implement polymorphic inlining."
Nicolas Geoffray [Thu, 18 Feb 2016 18:23:21 +0000 (18:23 +0000)]
Merge "Implement polymorphic inlining."
am: f8a08735f6

* commit 'f8a08735f6c60ddee2bb5646dcad561361cce079':
  Implement polymorphic inlining.

8 years agoMerge "Implement Optimizing\'s constant folding as a visitor."
Roland Levillain [Thu, 18 Feb 2016 18:23:12 +0000 (18:23 +0000)]
Merge "Implement Optimizing\'s constant folding as a visitor."
am: 99da8cd881

* commit '99da8cd8818e015b21d1c2af73ac40749698c930':
  Implement Optimizing's constant folding as a visitor.

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol on aarch64"
Tamas Berghammer [Thu, 18 Feb 2016 18:23:03 +0000 (18:23 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol on aarch64"
am: d9c05309e8

* commit 'd9c05309e8fab26a6087abd5773859f112cdefe9':
  Mark __jit_debug_register_code as a unique symbol on aarch64

8 years agoMerge "Remove string init map."
Nicolas Geoffray [Thu, 18 Feb 2016 18:22:54 +0000 (18:22 +0000)]
Merge "Remove string init map."
am: 7d9ddcc909

* commit '7d9ddcc909e3a76ce516649c93a8d854b1cf2fb4':
  Remove string init map.

8 years agoMerge "Fix build aflter conflicting changes got in."
Nicolas Geoffray [Thu, 18 Feb 2016 16:56:42 +0000 (16:56 +0000)]
Merge "Fix build aflter conflicting changes got in."

8 years agoFix build aflter conflicting changes got in.
Nicolas Geoffray [Thu, 18 Feb 2016 16:55:42 +0000 (16:55 +0000)]
Fix build aflter conflicting changes got in.

Change-Id: Ia3846e9a0dad137fe797bf3f2ece0cb78c106ec0

8 years agoMerge "Small inlining improvements."
Nicolas Geoffray [Thu, 18 Feb 2016 16:33:37 +0000 (16:33 +0000)]
Merge "Small inlining improvements."

8 years agoMerge "Add statistics support for some optimizations"
Calin Juravle [Thu, 18 Feb 2016 16:16:34 +0000 (16:16 +0000)]
Merge "Add statistics support for some optimizations"

8 years agoAdd statistics support for some optimizations
Jean-Philippe Halimi [Thu, 18 Feb 2016 15:42:03 +0000 (16:42 +0100)]
Add statistics support for some optimizations

This patch adds support for the --dump-stats facility with some
optimizations
and fixes all build issues introduced by the patch:
I68751b119a030952a11057cb651a3c63e87e73ea (which got reverted)

Change-Id: I5af1f2a8cced0a1a55c2bb4d8c88e6f0a24ec879
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
8 years agoMerge "Implement polymorphic inlining."
Nicolas Geoffray [Thu, 18 Feb 2016 15:56:59 +0000 (15:56 +0000)]
Merge "Implement polymorphic inlining."

8 years agoSmall inlining improvements.
Nicolas Geoffray [Thu, 18 Feb 2016 14:43:42 +0000 (14:43 +0000)]
Small inlining improvements.

- Use the type_index in the current dex file for classes not
  defined in the current dex file.
- Make the loading of the vtable field of a class have no side effects
  to enable gvn'ing it.

Note that those improvements only affect the JIT, where we don't have
checker support.

Change-Id: I519f52bd8270f2b828f0920a1214da33cf788f41

8 years agoImplement polymorphic inlining.
Nicolas Geoffray [Thu, 18 Feb 2016 11:12:31 +0000 (11:12 +0000)]
Implement polymorphic inlining.

For example, before:
HInvokeVirtual

After:
If (receiver == Foo) {
  // inlined code.
} else if (receiver == Bar) {
  // inlined code
} else {
  // HInvokeVirtual or HDeoptimize(receiver != Baz)
}

Change-Id: I5ce305aef8f39f8294bf2b2bcfe60e0dddcfdbec

8 years agoThe JIT does not need VerifedMethod nor CompilerCallbacks.
Nicolas Geoffray [Thu, 18 Feb 2016 14:22:32 +0000 (14:22 +0000)]
The JIT does not need VerifedMethod nor CompilerCallbacks.

bug:27173201

Change-Id: I971659f9ff6a8b780c94a7bed84de90fa9fc3456

8 years agoMerge "Implement Optimizing's constant folding as a visitor."
Roland Levillain [Thu, 18 Feb 2016 11:23:43 +0000 (11:23 +0000)]
Merge "Implement Optimizing's constant folding as a visitor."

8 years agoMerge "Mark __jit_debug_register_code as a unique symbol on aarch64"
Tamas Berghammer [Thu, 18 Feb 2016 10:40:13 +0000 (10:40 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol on aarch64"

8 years agoMerge "Remove string init map."
Nicolas Geoffray [Thu, 18 Feb 2016 10:37:33 +0000 (10:37 +0000)]
Merge "Remove string init map."

8 years agoRemove string init map.
Nicolas Geoffray [Tue, 16 Feb 2016 18:42:15 +0000 (18:42 +0000)]
Remove string init map.

Partial revert of the String init change.

- Make Quick bailout in the presence of String allocation.
- Rely on the compiler for knowing when dex registers alias.

bug:27173201

Change-Id: I0bf58ba3825c71cef110b53f3a0a6f567cb2ef9a

8 years agox86 ART FI clean-up
Serguei Katkov [Wed, 17 Feb 2016 05:30:23 +0000 (11:30 +0600)]
x86 ART FI clean-up

The following is changed:
  - Treat C-bool as 1 byte value
  - Remove redundant spills in imul handlers
  - Separate REFRESH_IBASE and RESTORE_IBASE

Change-Id: I84de2522cb3898300a5f43781b4f151be39875b8
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Set bias on != comparison for isNaN."
Aart Bik [Thu, 18 Feb 2016 00:13:38 +0000 (00:13 +0000)]
Merge "Set bias on != comparison for isNaN."
am: a1f65135cd

* commit 'a1f65135cd2315159ac302f904ba0c5ba0d7fd0e':
  Set bias on != comparison for isNaN.

8 years agoMerge "Set bias on != comparison for isNaN."
Aart Bik [Thu, 18 Feb 2016 00:06:17 +0000 (00:06 +0000)]
Merge "Set bias on != comparison for isNaN."

8 years agoSet bias on != comparison for isNaN.
Aart Bik [Wed, 17 Feb 2016 23:13:56 +0000 (15:13 -0800)]
Set bias on != comparison for isNaN.

Change-Id: I83969ecf7252b5e001bdd501c4ca31e7d0608854

8 years agoMerge "Clean up register line"
Mathieu Chartier [Wed, 17 Feb 2016 22:18:33 +0000 (22:18 +0000)]
Merge "Clean up register line"
am: f598e2f183

* commit 'f598e2f183f496065597267a6fc142aa9a56e7c4':
  Clean up register line

8 years agoMerge "Clean up register line"
Mathieu Chartier [Wed, 17 Feb 2016 22:13:46 +0000 (22:13 +0000)]
Merge "Clean up register line"

8 years agoMerge "Implement isNaN intrinsic through HIR equivalent."
Aart Bik [Wed, 17 Feb 2016 22:08:32 +0000 (22:08 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent."
am: 293a79e89c

* commit '293a79e89c9dbdb63932bf2444d991fd6901a7a1':
  Implement isNaN intrinsic through HIR equivalent.

8 years agoMerge "Implement isNaN intrinsic through HIR equivalent."
Aart Bik [Wed, 17 Feb 2016 22:03:15 +0000 (22:03 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent."

8 years agoFix issue with copied methods not being checked.
Alex Light [Wed, 17 Feb 2016 19:59:05 +0000 (11:59 -0800)]
Fix issue with copied methods not being checked.

In several places we were using IsMiranda to check if a method is
copied. This misses cases involving default methods.

Bug: 27216437
Change-Id: I8c800e3e622a9c0ca0f8752c3d5202f433af9a1c

8 years agoImplement isNaN intrinsic through HIR equivalent.
Aart Bik [Wed, 17 Feb 2016 18:41:50 +0000 (10:41 -0800)]
Implement isNaN intrinsic through HIR equivalent.

Rationale:
Efficient implementation on all platforms.
Subject to better compiler optimizations.

Change-Id: Ie8876bf5943cbe1138491a25d32ee9fee554043c

8 years agoClean up register line
Mathieu Chartier [Wed, 17 Feb 2016 19:04:20 +0000 (11:04 -0800)]
Clean up register line

Fixed formatting and style. Also added proper null handling for arena
deleter.

Change-Id: I6a44cb29ca6ad17b35e18dc6be1d12416f211631

8 years agoMerge commit 'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf' into HEAD
Bill Yi [Wed, 17 Feb 2016 19:36:56 +0000 (11:36 -0800)]
Merge commit 'dfd4a9e8d36ad791505c6d80c0f627e6a0a764bf' into HEAD

8 years agoMerge "Only visit pointer arrays once during image relocation"
Mathieu Chartier [Wed, 17 Feb 2016 18:45:26 +0000 (18:45 +0000)]
Merge "Only visit pointer arrays once during image relocation"

8 years agoOnly visit pointer arrays once during image relocation
Mathieu Chartier [Wed, 17 Feb 2016 01:16:01 +0000 (17:16 -0800)]
Only visit pointer arrays once during image relocation

Previously they could get visited twice, this caused corruption of
the app image if a pointer was updated twice.

Bug: 22858531
Change-Id: I1f1ba1ba5dc205be07dba51bc6ce7a825c82b33a

8 years agoImplement Optimizing's constant folding as a visitor.
Roland Levillain [Thu, 6 Aug 2015 14:46:02 +0000 (15:46 +0100)]
Implement Optimizing's constant folding as a visitor.

Refactor the logic of art::HConstantFolding::Run into a new
visitor, art::HConstantFoldingVisitor.

Change-Id: Id8d3c3826f6dff6cc2d18a01f6c48d79bde483b3

8 years agoMerge "Revert "Allow method references across oat files for multi-image.""
Vladimir Marko [Wed, 17 Feb 2016 17:46:30 +0000 (17:46 +0000)]
Merge "Revert "Allow method references across oat files for multi-image.""

8 years agoRevert "Allow method references across oat files for multi-image."
Vladimir Marko [Wed, 17 Feb 2016 17:46:10 +0000 (17:46 +0000)]
Revert "Allow method references across oat files for multi-image."

Breaks Quick tests.

This reverts commit 6065402316da2b51eed5fc34cffbd991766bd408.

Change-Id: I8a5469ba7cea5f46b85cb489b3e0ef06ed548f03

8 years agoMerge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."
Roland Levillain [Wed, 17 Feb 2016 16:56:49 +0000 (16:56 +0000)]
Merge "Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64."

8 years agoFix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.
Roland Levillain [Wed, 17 Feb 2016 16:49:37 +0000 (16:49 +0000)]
Fix uses of art::HCompare::IsGtBias on MIPS32 and MIPS64.

Do not call this method on non floating-point HCompare
instructions.

Change-Id: I262ab23f48d32295641063f897dca02cb92eb2e2

8 years agoMerge "Allow method references across oat files for multi-image."
Vladimir Marko [Wed, 17 Feb 2016 16:50:13 +0000 (16:50 +0000)]
Merge "Allow method references across oat files for multi-image."

8 years agoAllow method references across oat files for multi-image.
Vladimir Marko [Tue, 16 Feb 2016 12:50:23 +0000 (12:50 +0000)]
Allow method references across oat files for multi-image.

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.

Change-Id: I6f2e8dc8572d143c72cc2693bb0ba4fd76f889ab

8 years agoMerge "Build jdwp tests with Jack in vogar"
Sebastien Hertz [Wed, 17 Feb 2016 16:24:52 +0000 (16:24 +0000)]
Merge "Build jdwp tests with Jack in vogar"

8 years agoBuild jdwp tests with Jack in vogar
Sebastien Hertz [Wed, 17 Feb 2016 16:05:52 +0000 (17:05 +0100)]
Build jdwp tests with Jack in vogar

These tests are compiled with Jack in the CTS so we do the same
with vogar now.

Bug: 27218415
Change-Id: I69b86e02a6532c1885c4d40f0768bf2b353c9569