OSDN Git Service
Nicolas Geoffray [Tue, 23 Feb 2016 13:56:43 +0000 (13:56 +0000)]
Introduce partial code cache collection.
It will collect code that is known unused (because it deoptimized),
and osr code.
bug:
26846185
Change-Id: Ic27dfeb944efb2ca464039007ba365c1e0d4a040
Roland Levillain [Tue, 23 Feb 2016 13:57:10 +0000 (13:57 +0000)]
Merge "Re-enable tests that were causing TimeoutExceptions on x86/x86-64."
Roland Levillain [Tue, 23 Feb 2016 13:49:35 +0000 (13:49 +0000)]
Re-enable tests that were causing TimeoutExceptions on x86/x86-64.
Some libcore tests have been failing with a
java.util.concurrent.TimeoutException on ART Builbot's
x86/x86-64 concurrent collector configurations. No longer
ignore these failures to see whether recent changes (namely
https://android-review.googlesource.com/#/c/204125) fixed
the issue.
Bug:
26507762
Change-Id: Ib188e194195fc11b539bd53a03db78ab80626f33
Nicolas Geoffray [Tue, 23 Feb 2016 13:53:11 +0000 (13:53 +0000)]
Merge "Don't allocate mspaces of less than a page."
Nicolas Geoffray [Tue, 23 Feb 2016 13:52:01 +0000 (13:52 +0000)]
Don't allocate mspaces of less than a page.
Fixes jit tests in debug mode.
Change-Id: I34565e03683cee063e26975a461d8e75ad4a205f
Vladimir Marko [Tue, 23 Feb 2016 10:52:23 +0000 (10:52 +0000)]
Merge "Dex-wide ArenaPool scoping for AOT compilation"
Nicolas Geoffray [Tue, 23 Feb 2016 10:52:11 +0000 (10:52 +0000)]
Merge "Add a new kReservedCapacity to decide when to start GC code."
Calin Juravle [Tue, 23 Feb 2016 10:41:25 +0000 (10:41 +0000)]
Merge "Fix static dex2oat build"
Delphine Martin [Tue, 23 Feb 2016 08:19:30 +0000 (08:19 +0000)]
Merge "Revert "Force Jack to consider multidex annotations""
Mathieu Chartier [Tue, 23 Feb 2016 01:21:13 +0000 (01:21 +0000)]
Merge "Add regression test for alloc stack trace and unloading"
Mathieu Chartier [Tue, 23 Feb 2016 00:56:54 +0000 (16:56 -0800)]
Add regression test for alloc stack trace and unloading
Test creates allocations in a different loader, then unloads it.
This would free the ArtMethod except that we now visit them as
roots.
Bug:
26849503
Change-Id: Ied9f5942ff9022b1cd39052363f119a630ffbaef
Mathieu Chartier [Tue, 23 Feb 2016 00:18:30 +0000 (00:18 +0000)]
Merge "Visit stack trace roots"
Mathieu Chartier [Mon, 22 Feb 2016 22:49:04 +0000 (14:49 -0800)]
Visit stack trace roots
We need to visit the declaring classes of all the methods in the
allocation stack traces to prevent class unloading for these
methods. If the class gets unloaded, it will free the linear alloc
resulting in hprof crashing during dumping.
Also a bit of clean up.
Bug:
26849503
Change-Id: I5cc57436294e4399388cb497819148b8a3b973d9
Nicolas Geoffray [Mon, 22 Feb 2016 22:38:27 +0000 (22:38 +0000)]
Merge "Revert "Add profman tool: responsible to process profiles""
Nicolas Geoffray [Mon, 22 Feb 2016 22:37:52 +0000 (22:37 +0000)]
Revert "Add profman tool: responsible to process profiles"
Needs a profile_assistant_test fix.
Bug:
26719109
Bug:
26563023
This reverts commit
6caefd983a800a063b219f1d3ed71b1416cecd70.
Change-Id: Ibdeb7385737dd7846ed861e0a95f083abb9aa974
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:45:16 +0000 (21:45 +0000)]
Merge "Fix class_linker_test for valgrind."
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:30:35 +0000 (13:30 -0800)]
Fix class_linker_test for valgrind.
Fix a memory leak.
Bug:
27156726
Change-Id: I4d9a2dc9cff447b6f2fd02432e018ae49766563a
Hiroshi Yamauchi [Mon, 22 Feb 2016 21:41:06 +0000 (21:41 +0000)]
Merge "Fix CC collector thread flip and JNI critical section deadlocks."
Andreas Gampe [Mon, 22 Feb 2016 20:50:35 +0000 (20:50 +0000)]
Merge "ART: Add Class.getEnclosingClass() to UnstartedRuntime"
Hiroshi Yamauchi [Fri, 19 Feb 2016 23:44:06 +0000 (15:44 -0800)]
Fix CC collector thread flip and JNI critical section deadlocks.
There's a bug in the synchronization between the CC collector's thread
flip and JNI critical sections where it incorrectly attempts to make
the synchronization scheme to be writer (GC) preference to avoid
starvation of GC in the presence of frequent JNI critical section
enter/exit. This could cause a deadlock between them if a thread
enters a nested JNI critical section after a thread flip occurs. This
is reproduced in the added test.
The fix is to use a thread local disable counter in addition to the
global counter to detect a nested enter by the same thread and avoid
waiting if nested.
Bug:
19235243
Bug:
12687968
Change-Id: Idf7720a6906c9ea508219935af3727f76680d2d8
Andreas Gampe [Fri, 19 Feb 2016 18:49:50 +0000 (10:49 -0800)]
ART: Add Class.getEnclosingClass() to UnstartedRuntime
Required to initialize classes calling getSimpleName().
Bug:
27265238
(cherry picked from commit
fb5c22e28030cc9ba8424b7f6f70677ec3ba3afc)
Change-Id: Id63dac5b75b3bbcdfe80f73f2d9d76dea3996823
Bill Buzbee [Mon, 22 Feb 2016 19:14:13 +0000 (19:14 +0000)]
Merge "ART: Enable JitProfiling for Arm Mterp"
Vladimir Marko [Mon, 22 Feb 2016 18:37:47 +0000 (18:37 +0000)]
Merge "Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>()."
Calin Juravle [Mon, 22 Feb 2016 18:20:49 +0000 (18:20 +0000)]
Fix static dex2oat build
Change-Id: I1a5fb726fa72d9ccd083f90a818e245f075fc89c
Vladimir Marko [Mon, 22 Feb 2016 16:54:39 +0000 (16:54 +0000)]
Optimizing/x86-64: Use MOVL in Load64BitValue() if IsUint<32>().
Change-Id: Ie8bfb1861a384d0906f2aff9e8a94be0925c65b6
Hans Boehm [Mon, 22 Feb 2016 15:52:53 +0000 (15:52 +0000)]
Merge "Add Math.round tests for large integers."
Sebastien Hertz [Mon, 22 Feb 2016 15:43:30 +0000 (15:43 +0000)]
Merge "Revert "Workaround JDWP failures""
Delphine Martin [Mon, 22 Feb 2016 15:16:25 +0000 (15:16 +0000)]
Revert "Force Jack to consider multidex annotations"
This reverts commit
8cc049c2354af3964d2c15223a9c8d4f57a6691b.
The bug that necessitated that workaround was fixed.
Bug:
26441710
Change-Id: Idf238e497052cb983fd56f50a36f0f7998240fa8
Calin Juravle [Mon, 22 Feb 2016 15:05:03 +0000 (15:05 +0000)]
Merge "Add 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
Narayan Kamath [Mon, 22 Feb 2016 13:50:02 +0000 (13:50 +0000)]
Narayan Kamath [Mon, 22 Feb 2016 13:34:07 +0000 (13:34 +0000)]
Track libcore change
b5d045f7e4023c0ba9a42fb95efad4c30dfc085f
Change-Id: I40bfd7f85c3972cb21c1ddde07ae9b5727df8909
Nicolas Geoffray [Mon, 22 Feb 2016 13:14:04 +0000 (13:14 +0000)]
Add a new kReservedCapacity to decide when to start GC code.
Change-Id: Ib9d0ad9bc86c66ac29975f7f907f79f842342500
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
Roland Levillain [Mon, 22 Feb 2016 10:45:59 +0000 (10:45 +0000)]
Merge "Ignore 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
Nicolas Geoffray [Mon, 22 Feb 2016 09:06:00 +0000 (09:06 +0000)]
Merge "Track memory usage of code cache."
Nicolas Geoffray [Mon, 22 Feb 2016 06:56:01 +0000 (06:56 +0000)]
Merge "Use 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
Bill Buzbee [Sun, 21 Feb 2016 14:53:05 +0000 (14:53 +0000)]
Merge "Enable bytecode tracing in ART FI"
Bill Buzbee [Sun, 21 Feb 2016 14:52:27 +0000 (14:52 +0000)]
Merge "x86 ART FI clean-up"
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>
Mathieu Chartier [Fri, 19 Feb 2016 23:06:16 +0000 (23:06 +0000)]
Merge "Support 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
Mathieu Chartier [Fri, 19 Feb 2016 19:16:20 +0000 (19:16 +0000)]
Merge "Add 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
Andreas Gampe [Fri, 19 Feb 2016 18:38:22 +0000 (18:38 +0000)]
Merge "Revert "Do not build art with clang for mips64""
buzbee [Fri, 19 Feb 2016 18:10:20 +0000 (10:10 -0800)]
ART: Enable JitProfiling for Arm Mterp
Also, fix missing shadow frame clear operation for the 64-bit
shift operations.
Change-Id: Icea95b3aeb1d6d36ea92336fb738cf56edd92da4
Nicolas Geoffray [Fri, 19 Feb 2016 17:39:37 +0000 (17:39 +0000)]
Merge "Workaround JDWP failures"
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
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
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"""""
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
Nicolas Geoffray [Fri, 19 Feb 2016 16:01:49 +0000 (16:01 +0000)]
Merge "The JIT does not need VerifedMethod nor CompilerCallbacks."
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
Nicolas Geoffray [Fri, 19 Feb 2016 13:41:08 +0000 (13:41 +0000)]
Merge "Fix braino in single frame deopt."
Jean-Philippe Halimi [Tue, 2 Feb 2016 18:48:52 +0000 (19:48 +0100)]
Dex-wide ArenaPool scoping for AOT compilation
The Arena Pool is a structure that holds memory allocated by the Arena
Allocator, preventing system allocations and deallocations to occur too often
during AOT compilation. Currently, the Arena Pool holds memory it allocates
during the whole AOT compilation process. Unfortunately, such a behavior
generates memory usage overhead, which is exacerbated by bigger applications
such as Facebook.
In this particular app, method size imbalance provokes unnecessary memory
pressure, as one method might require a lot of arena allocations that won't be
used in the remaining compilation. Because the compiler memory footprint keeps
increasing during AOT compilation, the memory pressure becomes very high.
The proposed patch is an attempt to find a tradeoff between allocations /
deallocations time overhead, and the aforementioned memory pressure overhead
resulting of the allocations being held by the Arena Pool. The patch adds a
feature freeing up all memory allocated in the Arena Pool after each dex file
is done compiling.
We have measured no significant AOT compile-time overhead with the patch
(<0.3%), because the selected dex-file granularity is coarse enough. In the
meantime, it provides significant memory footprint improvements. The impact is
especially big with Facebook, because this app has a few methods generating
huge memory footprint peaks (peak native heap footprint goes down 34%).
Change-Id: I27e867e6a20b8a6c28a82cb83140941a8c2b5847
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
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
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"
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
Hiroshi Yamauchi [Fri, 19 Feb 2016 01:52:38 +0000 (01:52 +0000)]
Merge "Fix rosalloc issues with valgrind."
Mathieu Chartier [Fri, 19 Feb 2016 01:16:50 +0000 (01:16 +0000)]
Merge "Don'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
Hiroshi Yamauchi [Fri, 19 Feb 2016 00:17:37 +0000 (00:17 +0000)]
Merge "Disable 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
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
Alex Light [Thu, 18 Feb 2016 21:13:19 +0000 (21:13 +0000)]
Merge "Fix issue with copied methods not being checked."
Nicolas Geoffray [Thu, 18 Feb 2016 16:56:42 +0000 (16:56 +0000)]
Merge "Fix 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
Nicolas Geoffray [Thu, 18 Feb 2016 16:33:37 +0000 (16:33 +0000)]
Merge "Small inlining improvements."
Calin Juravle [Thu, 18 Feb 2016 16:16:34 +0000 (16:16 +0000)]
Merge "Add 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>
Nicolas Geoffray [Thu, 18 Feb 2016 15:56:59 +0000 (15:56 +0000)]
Merge "Implement polymorphic inlining."
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
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
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
Roland Levillain [Thu, 18 Feb 2016 11:23:43 +0000 (11:23 +0000)]
Merge "Implement Optimizing's constant folding as a visitor."
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"
Nicolas Geoffray [Thu, 18 Feb 2016 10:37:33 +0000 (10:37 +0000)]
Merge "Remove 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
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>
Aart Bik [Thu, 18 Feb 2016 00:06:17 +0000 (00:06 +0000)]
Merge "Set 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
Mathieu Chartier [Wed, 17 Feb 2016 22:13:46 +0000 (22:13 +0000)]
Merge "Clean up register line"
Aart Bik [Wed, 17 Feb 2016 22:03:15 +0000 (22:03 +0000)]
Merge "Implement isNaN intrinsic through HIR equivalent."
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
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
Hans Boehm [Wed, 17 Feb 2016 20:14:03 +0000 (12:14 -0800)]
Add Math.round tests for large integers.
These fail for OpenJDK7 and earlier code.
Bug:
27166445
Change-Id: Ia09f61bd375e0935e05300cfef4304b2fd9ac12f
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
Mathieu Chartier [Wed, 17 Feb 2016 18:45:26 +0000 (18:45 +0000)]
Merge "Only 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
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
Vladimir Marko [Wed, 17 Feb 2016 17:46:30 +0000 (17:46 +0000)]
Merge "Revert "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
Roland Levillain [Wed, 17 Feb 2016 16:56:49 +0000 (16:56 +0000)]
Merge "Fix 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
Vladimir Marko [Wed, 17 Feb 2016 16:50:13 +0000 (16:50 +0000)]
Merge "Allow 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
Sebastien Hertz [Wed, 17 Feb 2016 16:24:52 +0000 (16:24 +0000)]
Merge "Build 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