OSDN Git Service
Bill Buzbee [Wed, 6 Jul 2016 23:52:49 +0000 (23:52 +0000)]
Merge \"Revert \"ART: Add Mterp export pc poison testing mode\"\"
am:
05801f4b2b
Change-Id: I1d189ec9ab8c1839d8e737a15fa01e998f62b5fb
Bill Buzbee [Wed, 6 Jul 2016 23:31:30 +0000 (23:31 +0000)]
Merge "Revert "ART: Add Mterp export pc poison testing mode""
Bill Buzbee [Wed, 6 Jul 2016 23:28:26 +0000 (23:28 +0000)]
Revert "ART: Add Mterp export pc poison testing mode"
This reverts commit
e664cfef4d373a037dcf18637bea6b41e0624302.
Change-Id: I521dfccd6c829946c93290163bf817b8a2c368e9
buzbee [Wed, 6 Jul 2016 21:29:21 +0000 (21:29 +0000)]
Merge \"ART: Add Mterp export pc poison testing mode\"
am:
2812ddd2de
Change-Id: I0ed6fc8c38e7df7c2d4bbfcd4949aadb3364704f
Bill Buzbee [Wed, 6 Jul 2016 21:06:06 +0000 (21:06 +0000)]
Merge "ART: Add Mterp export pc poison testing mode"
Richard Uhler [Wed, 6 Jul 2016 20:18:50 +0000 (20:18 +0000)]
Merge \"Revert \"Add missing dependency required for ahat-test.\"\"
am:
072350e6a1
Change-Id: Ia49afaa89291621f14b9d43daab83c4ed065d44d
Richard Uhler [Wed, 6 Jul 2016 20:02:20 +0000 (20:02 +0000)]
Merge "Revert "Add missing dependency required for ahat-test.""
Richard Uhler [Wed, 6 Jul 2016 19:59:33 +0000 (19:59 +0000)]
Revert "Add missing dependency required for ahat-test."
This reverts commit
13f6d39da8ba6450dc861c4bfd09d21f3b403d4b.
Breaks 'build-art-target'.
https://build.chromium.org/p/client.art/builders/mips64-emulator-debug/builds/5651/steps/build%20target/logs/stdio
Change-Id: I1466f92308955604ecfcac65deff86cb581d6fdc
Richard Uhler [Wed, 6 Jul 2016 18:27:43 +0000 (18:27 +0000)]
Merge \"Add missing dependency required for ahat-test.\"
am:
97c78733eb
Change-Id: I5ab4200f4ee3c93d609e52ad7ed065b1d14925ae
Treehugger Robot [Wed, 6 Jul 2016 18:21:34 +0000 (18:21 +0000)]
Merge "Add missing dependency required for ahat-test."
buzbee [Thu, 23 Jun 2016 20:35:39 +0000 (13:35 -0700)]
ART: Add Mterp export pc poison testing mode
One of the optimizations of the Mterp assembly interpreter is
that it attempts to limit the number of times it updates the saved
dex_pc_ value stored in the shadow frame. Instead, it maintains
a pointer to the current dex instruction in a dedicated register.
However, whenever execution flow exits the immediate mterp
environment and some other part of the runtime needs to know the
current dex pc (for example - exception throws), mterp must
save - or "export" the dex_pc back into it's home location in
the shadow frame.
Forgetting to do this is a typical bug when developing mterp
instruction handlers. And, the failures show up in odd and
sometimes hard to track down ways. This CL adds a testing mode
that poisons the saved dex_pc prior to each instruction
interpretation. Thus, if any individual handler neglects to
properly export the current dex pc and then goes on to use it
we'll segfault out with an identifiable fault address: 0xdead00ff.
TEST: test-art-target (Nexus 5x, Nexus 6p), test-art-host. Verified
expected failure by artificially neglecting an EXPORT_PC.
Bug:
26572899
Change-Id: I704fbb8ece693b94341aed0ffbb51a6acfb89697
Nicolas Geoffray [Wed, 6 Jul 2016 14:10:44 +0000 (14:10 +0000)]
Merge \"Revert \"Inline and optimize interface calls.\"\"
am:
a5f0a1ab3f
Change-Id: Iaf791cd9863d0bab2a0a1f2ac74cd5992183ae4b
Nicolas Geoffray [Wed, 6 Jul 2016 14:02:13 +0000 (14:02 +0000)]
Merge "Revert "Inline and optimize interface calls.""
Nicolas Geoffray [Wed, 6 Jul 2016 14:01:50 +0000 (14:01 +0000)]
Revert "Inline and optimize interface calls."
Went ahead too quickly.
This reverts commit
d9faceaa8da92f4a56c2907de949081bd42faf79.
Change-Id: I1610deaf89b38037cf2786d135a59c48b10ced0c
Nicolas Geoffray [Wed, 6 Jul 2016 13:43:02 +0000 (13:43 +0000)]
Merge \"Inline and optimize interface calls.\"
am:
4f3438fb81
Change-Id: I97c16779ebac5deceebfdde24c5b6d66f5d528b2
Treehugger Robot [Wed, 6 Jul 2016 13:37:49 +0000 (13:37 +0000)]
Merge "Inline and optimize interface calls."
Roland Levillain [Wed, 6 Jul 2016 13:27:05 +0000 (13:27 +0000)]
Merge \"Fix stack alignment in x86 read barrier entry points.\"
am:
c96b0b00ad
Change-Id: I15f2fccb7e7f9b04113ac7f81351899b59906d8b
Roland Levillain [Wed, 6 Jul 2016 13:20:52 +0000 (13:20 +0000)]
Merge "Fix stack alignment in x86 read barrier entry points."
Nicolas Geoffray [Wed, 6 Jul 2016 09:19:23 +0000 (10:19 +0100)]
Inline and optimize interface calls.
- Support for inlining methods with invoke-interface (the
previous performance limitation is now fixed with the new
ImtConflictTable).
- Turn non inlineable invoke-interface into invoke-virtual to
avoid any potential execution of the conflict trampoline.
test:609-checker-inline-interface
Change-Id: Ibe33bc945deaada8fb78541e6e0bf034ebb52420
Vladimir Marko [Wed, 6 Jul 2016 12:20:11 +0000 (12:20 +0000)]
Merge \"Expect spurious wake-up from futex(2)/FUTEX_WAIT call.\"
am:
94aaec9544
Change-Id: Ib4d8108456da7b765ad5a3a081d798f9917d7b73
Vladimir Marko [Wed, 6 Jul 2016 12:12:28 +0000 (12:12 +0000)]
Merge "Expect spurious wake-up from futex(2)/FUTEX_WAIT call."
Roland Levillain [Wed, 6 Jul 2016 09:43:09 +0000 (09:43 +0000)]
Merge \"Remove stray end of macro.\"
am:
ed22d481c1
Change-Id: Ie0fd2541f467d2353ef680ff5c905eae7b6f1c70
Roland Levillain [Wed, 6 Jul 2016 09:35:26 +0000 (09:35 +0000)]
Merge "Remove stray end of macro."
Roland Levillain [Tue, 5 Jul 2016 17:43:51 +0000 (18:43 +0100)]
Remove stray end of macro.
These lines used to be part of the definition of
SETUP_REFS_ONLY_CALLEE_SAVE_FRAME_PRESERVE_RTEMP2,
which has been deleted.
Test: ART target (ARM) tests.
Bug:
29259539
Change-Id: I4eda77cb739e58d387ffab61a127dc7bc24e2374
Vladimir Marko [Tue, 5 Jul 2016 16:29:55 +0000 (17:29 +0100)]
Expect spurious wake-up from futex(2)/FUTEX_WAIT call.
Test: Run standard ART test suite.
Bug:
27913630
Change-Id: I742544f7a0a7f896e47293d209a874782577e971
Alexey Frunze [Tue, 5 Jul 2016 10:17:40 +0000 (10:17 +0000)]
Merge \"MIPS32: Fix MipsInstructionSetFeatures::FromVariant()\"
am:
74c0d1bb67
Change-Id: Ia0d2d2a0f219bde9c8becd551b5f662d38241e6c
Treehugger Robot [Tue, 5 Jul 2016 10:10:25 +0000 (10:10 +0000)]
Merge "MIPS32: Fix MipsInstructionSetFeatures::FromVariant()"
Anton Kirilov [Tue, 5 Jul 2016 08:28:16 +0000 (08:28 +0000)]
Merge \"Simplification for associative and commutative operations on constants\"
am:
f7ba875851
Change-Id: I3aac15baf7dd9b5f4903fd0e4799e37036cb5a25
Nicolas Geoffray [Tue, 5 Jul 2016 08:24:46 +0000 (08:24 +0000)]
Merge "Simplification for associative and commutative operations on constants"
Nicolas Geoffray [Tue, 5 Jul 2016 08:13:35 +0000 (08:13 +0000)]
Merge \"Never go to resolution while inspecting inlined frames.\"
am:
5aef803591
Change-Id: I8cbe7db13d2c09ea1cc0428b9a81bd4a97ed3f37
Nicolas Geoffray [Tue, 5 Jul 2016 08:07:44 +0000 (08:07 +0000)]
Merge "Never go to resolution while inspecting inlined frames."
Nicolas Geoffray [Mon, 4 Jul 2016 09:15:47 +0000 (10:15 +0100)]
Never go to resolution while inspecting inlined frames.
Instead, do a manual inspection and decoding of the invoke
with the dex cache.
Also update oatdump to dump types in the dex cache.
bug:
27858645
Change-Id: I7c0b612ee96e6865fa438c3a1d253686231337bd
test:run-test
Alexey Frunze [Mon, 4 Jul 2016 12:15:14 +0000 (12:15 +0000)]
Merge \"MIPS32: Improve method invocation\"
am:
d80c5d2368
Change-Id: I07f137a2299eb63fe4f971c789a6a7a9622bae90
Treehugger Robot [Mon, 4 Jul 2016 12:10:53 +0000 (12:10 +0000)]
Merge "MIPS32: Improve method invocation"
Richard Uhler [Fri, 1 Jul 2016 20:10:56 +0000 (13:10 -0700)]
Add missing dependency required for ahat-test.
Change-Id: Ifeb4a5ca0ba192b6ae85177cafa7d773c979379f
Test: rm -r out/ && m ahat-test
Alexey Frunze [Tue, 10 May 2016 23:08:05 +0000 (16:08 -0700)]
MIPS32: Improve method invocation
Improvements include:
- CodeGeneratorMIPS::GenerateStaticOrDirectCall() supports:
- MethodLoadKind::kDirectAddressWithFixup (via literals)
- CodePtrLocation::kCallDirectWithFixup (via literals)
- MethodLoadKind::kDexCachePcRelative
- 32-bit literals to support the above (not ready for general-
purpose applications yet because RA is not saved in leaf
methods, but is clobbered on MIPS32R2 when simulating
PC-relative addressing (MIPS32R6 is OK because it has
PC-relative addressing with the lwpc instruction))
- shorter instruction sequences for recursive static/direct
calls
Tested:
- test-art-host-gtest
- test-art-target-gtest and test-art-target-run-test-optimizing on:
- MIPS32R2 QEMU
- CI20 board
- MIPS32R6 (2nd arch) QEMU
Change-Id: Id5b137ad32d5590487fd154c9a01d3b3e7e044ff
Anton Kirilov [Fri, 13 May 2016 16:56:15 +0000 (17:56 +0100)]
Simplification for associative and commutative operations on constants
The purpose of this change is to enable the instruction simplifier
to recognize patterns such as
OP y, x, const1
OP z, y, const2
where OP is both an associative and a commutative operation on integral
types, and replace them with
OP z, x, const3
Since subtraction on integral types is equivalent to addition with a
negated operand, it receives a similar treatment, even though it is
not commutative.
Change-Id: I278cac39bd39bc843d250a976931cb000876ea88
Vladimir Marko [Fri, 1 Jul 2016 13:39:33 +0000 (13:39 +0000)]
Merge \"Create a typedef for HInstruction::GetInputs() return type.\"
am:
1fdb340de4
Change-Id: Ie87211c2dfdac3086ee6ee8e5606f05d842e3d24
Treehugger Robot [Fri, 1 Jul 2016 13:32:35 +0000 (13:32 +0000)]
Merge "Create a typedef for HInstruction::GetInputs() return type."
Anton Kirilov [Fri, 1 Jul 2016 13:27:14 +0000 (13:27 +0000)]
Merge \"Make the Compute() method of all HIRs static.\"
am:
4890a7c1ac
Change-Id: I2bf8340840f392a15d82dba3a79e2494df6dffa8
Treehugger Robot [Fri, 1 Jul 2016 13:21:00 +0000 (13:21 +0000)]
Merge "Make the Compute() method of all HIRs static."
Vladimir Marko [Thu, 16 Jun 2016 15:50:52 +0000 (16:50 +0100)]
Create a typedef for HInstruction::GetInputs() return type.
And some other cleanup after
https://android-review.googlesource.com/230742
Test: No new tests. ART test suite passed (tested on host).
Change-Id: I4743bf17544d0234c6ccb46dd0c1b9aae5c93e17
Anton Kirilov [Wed, 29 Jun 2016 16:03:40 +0000 (17:03 +0100)]
Make the Compute() method of all HIRs static.
Change-Id: Ibd7687dac907150c8e100791ed7d20d1ae18c9be
Goran Jakovljevic [Fri, 1 Jul 2016 09:49:19 +0000 (09:49 +0000)]
Merge \"MIPS: Use $a0 instead $zero for passing faulting address\"
am:
d5ff99ab27
Change-Id: I7640ba37d719b5c6c74b1953f10caf06a4d74e3c
Treehugger Robot [Fri, 1 Jul 2016 09:42:16 +0000 (09:42 +0000)]
Merge "MIPS: Use $a0 instead $zero for passing faulting address"
Nicolas Geoffray [Fri, 1 Jul 2016 08:57:25 +0000 (08:57 +0000)]
Merge \"Do not use popen, it uses a hardcoded path for \"sh\".\"
am:
dbc326d42d
Change-Id: I088c0c2214d7086a9f40236d8715b5562f22a1fe
Nicolas Geoffray [Fri, 1 Jul 2016 08:47:49 +0000 (08:47 +0000)]
Merge "Do not use popen, it uses a hardcoded path for "sh"."
Nicolas Geoffray [Thu, 30 Jun 2016 14:07:46 +0000 (15:07 +0100)]
Do not use popen, it uses a hardcoded path for "sh".
Instead, do the fork/exec/pipe ourselves.
Bug:
29557002
Change-Id: Iee81b0a7e8818706fd97890f97c1e86f37e42995
Test: test-art-host-gtest-dex2oat_test
Goran Jakovljevic [Thu, 30 Jun 2016 14:40:20 +0000 (16:40 +0200)]
MIPS: Use $a0 instead $zero for passing faulting address
Also replaced register numbers with register names to prevent
future similar errors.
This fixes following tests for MIPS32 and MIPS64:
* 034-call-null
* 038-inner-null
* 046-reflect
* 083-compiler-regressions
* 123-compiler-regressions-mt
* 800-smali
Change-Id: I6e49cec60a9c2b0553d7e94c24553e307b70c603
Gus Smith [Thu, 30 Jun 2016 22:39:55 +0000 (22:39 +0000)]
Merge \"Reformat files using Android-style imports.\"
am:
6e739acde3
Change-Id: I4cbdd8078888097b79182bacdc87b10c32f9826c
Treehugger Robot [Thu, 30 Jun 2016 22:31:59 +0000 (22:31 +0000)]
Merge "Reformat files using Android-style imports."
Alexey Frunze [Tue, 28 Jun 2016 23:55:04 +0000 (16:55 -0700)]
MIPS32: Fix MipsInstructionSetFeatures::FromVariant()
Make it possible to completely override build-time instruction
set features with the provided variant string. Add sanity checks.
Comment on the "default" variant behavior.
Tested:
- test-art-host-gtest
- test-art-target-gtest and test-art-target-run-test-optimizing on:
- MIPS32R6 (2nd arch) QEMU
- CI20 board
Change-Id: I2470b7115a5b5e333e2e7a156e68c39945fb02e9
Aart Bik [Thu, 30 Jun 2016 19:55:26 +0000 (19:55 +0000)]
Merge \"Improvements in induction range analysis.\"
am:
04e5e590f4
Change-Id: Id8d9771f746da166c09533ff6567e8b6b95eb73d
Aart Bik [Thu, 30 Jun 2016 19:44:20 +0000 (19:44 +0000)]
Merge "Improvements in induction range analysis."
Gus Smith [Thu, 9 Jun 2016 23:50:44 +0000 (16:50 -0700)]
Reformat files using Android-style imports.
Test: m ahat-test
Change-Id: Ib0eee0b7c414d85c245c7ef3163485cfa6ff34a4
Hiroshi Yamauchi [Thu, 30 Jun 2016 19:00:53 +0000 (19:00 +0000)]
Merge \"Revert \"Revert \"Gray only immune objects mutators access.\"\"\"
am:
60245ae995
Change-Id: Ibc8159084f8ba014db7380fca1fc3401b7313a01
Treehugger Robot [Thu, 30 Jun 2016 18:54:23 +0000 (18:54 +0000)]
Merge "Revert "Revert "Gray only immune objects mutators access."""
Aart Bik [Thu, 30 Jun 2016 17:42:45 +0000 (17:42 +0000)]
Merge \"Fix divergence between interpreter and compiler.\"
am:
1fe7627d5b
Change-Id: I735ae1dfcbfe9fc769f1b463be65d09d1f2be22b
Treehugger Robot [Thu, 30 Jun 2016 17:32:17 +0000 (17:32 +0000)]
Merge "Fix divergence between interpreter and compiler."
Roland Levillain [Thu, 30 Jun 2016 15:21:31 +0000 (16:21 +0100)]
Fix stack alignment in x86 read barrier entry points.
Test: ART tests.
Bug:
12687968
Change-Id: I5cbb3e8c0a012d0ea00ef2c2f9715b7e167928f0
Alexey Frunze [Thu, 30 Jun 2016 13:48:18 +0000 (13:48 +0000)]
Merge \"MIPS32: Disassemble and test movf.fmt and movt.fmt (missed earlier)\"
am:
a77ceae14a
Change-Id: Ic7493d8b038a8721f3e6818b6df515428dbd4a77
Treehugger Robot [Thu, 30 Jun 2016 13:41:55 +0000 (13:41 +0000)]
Merge "MIPS32: Disassemble and test movf.fmt and movt.fmt (missed earlier)"
Alexey Frunze [Mon, 27 Jun 2016 21:48:20 +0000 (14:48 -0700)]
MIPS32: Disassemble and test movf.fmt and movt.fmt (missed earlier)
Test: ART gtest assembler_mips_test
Change-Id: Iafedfafe6ccd76127461d66dfa7984f196be6bd2
Nicolas Geoffray [Thu, 30 Jun 2016 09:58:58 +0000 (09:58 +0000)]
Merge \"Special case the suspend to runnable transition when locking.\"
am:
19c10147cd
Change-Id: I43369865ecb71f394f5d414e58bc5c1cbe523c80
Nicolas Geoffray [Thu, 30 Jun 2016 09:52:28 +0000 (09:52 +0000)]
Merge "Special case the suspend to runnable transition when locking."
Nicolas Geoffray [Thu, 30 Jun 2016 08:42:38 +0000 (08:42 +0000)]
Merge \"Revert \"Integer.bitCount and Long.bitCount intrinsics for ARM\"\"
am:
e4305391da
Change-Id: Iaf68c60669fc72e965e50be922d3ffa3ab5ab4bd
Nicolas Geoffray [Thu, 30 Jun 2016 08:36:58 +0000 (08:36 +0000)]
Merge "Revert "Integer.bitCount and Long.bitCount intrinsics for ARM""
Nicolas Geoffray [Thu, 30 Jun 2016 08:36:33 +0000 (08:36 +0000)]
Revert "Integer.bitCount and Long.bitCount intrinsics for ARM"
Fails 564:
[ 80% 771/967] build test-art-target-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-564-checker-bitcount32
checker exit status: 1
/b/build/slave/hammerhead-debug/build/art/test/564-checker-bitcount: FAILED!
#################### info
# Unit test for 32-bit and 64-bit bit count operation.
#################### diffs
--- expected.txt 2016-06-08 02:57:45.
570840797 -0700
+++ output.txt 2016-06-29 09:45:45.
813173505 -0700
@@ -1 +1,3 @@
passed
+error: Test case not found in the CFG file
+Main.java:32: int Main.$noinline$BitCountByte(byte) intrinsics_recognition (after)
####################
564-checker-bitcount files deleted from host
and from target
test-art-target-run-test-debug-prebuild-optimizing-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-564-checker-bitcount32 FAILED
This reverts commit
2a17419c2e54f8ada0df56daa379c78f8ae8a9e8.
Change-Id: I263cfc09ebf78956cd1e86a0bb59ba1b36ffeafe
Andreas Gampe [Thu, 30 Jun 2016 05:36:04 +0000 (05:36 +0000)]
Merge \"ART: Add very-large threshold to dex2oat\"
am:
46a8e03c9d
Change-Id: I6bbfdf75fe691a94982dc987edef67d42b524ccd
Treehugger Robot [Thu, 30 Jun 2016 05:28:56 +0000 (05:28 +0000)]
Merge "ART: Add very-large threshold to dex2oat"
Andreas Gampe [Sat, 25 Jun 2016 04:05:23 +0000 (21:05 -0700)]
ART: Add very-large threshold to dex2oat
Add a variable threshold to dex2oat. If the total dex file size for
an app reaches this threshold, dex2oat will punt all compilation and
compile the app with verify-at-runtime. This ensures smaller compile
time and memory thrashing, while still extracting the dex files and
thus helping with dirty memory later.
Added tests.
Bug:
29557002
Bug:
29790079
Test: m test-art-host-gtest-dex2oat_test
Change-Id: I78870e4a80ccaafcbbe56839e61ced0acd2ca05e
(cherry picked from commit
338a1d206c16427cf61bd42171fa0c8b9cea8165)
Hiroshi Yamauchi [Tue, 28 Jun 2016 21:07:41 +0000 (14:07 -0700)]
Revert "Revert "Gray only immune objects mutators access.""
To reduce image/zygote dirty pages.
GC doesn't gray immune space objects except when visiting the thread
GC roots of suspended threads during the thread flip and in
FillWithDummyObject(). GC updates the fields of immune space objects
without pushing/popping them through the mark stack. GC sets a bool
flag after updating the fields of immune space objects. After this
point, mutators don't need gray to immune space objects. Removed the
mark bitmaps for immune spaces.
This reverts commit
ddeb172eeedb58ab96e074a55a0d1578b5df4110.
Bug:
29516465
Bug:
12687968
Test: art tests, libartd device boot, ritzperf, jdwp test.
Change-Id: If272373aea3d41b2719e40a6a41f44d9299ba309
Andreas Gampe [Thu, 30 Jun 2016 01:02:33 +0000 (01:02 +0000)]
Merge \"ART: Add dex2oat swap-usage parameters\"
am:
0d38e26dad
Change-Id: I183a53f1495d244a2f2c03d69c8a28e0f7d3f8a4
Treehugger Robot [Thu, 30 Jun 2016 00:57:28 +0000 (00:57 +0000)]
Merge "ART: Add dex2oat swap-usage parameters"
Andreas Gampe [Wed, 29 Jun 2016 16:36:30 +0000 (09:36 -0700)]
ART: Add dex2oat swap-usage parameters
Make the dex2oat swap usage decision dependent on parameters that
can be changed on the command line. Both the dex file size and dex
file count can be modified through the following to new parameters:
--swap-dex-size-threshold
--swap-dex-count-threshold
The defaults remain the same (20MB and 2).
Factor out some dex2oat setup code from oat_file_assistant_test
and use it in a new dex2oat test.
Bug:
29557002
Change-Id: I8863224f0304c98afe251572ffda8c5b3ead735b
Test: m test-art-host-gtest-dex2oat_test
Test: m test-art-host-gtest-oat_file_assistant_test
Test: m test-art-host
Aart Bik [Wed, 29 Jun 2016 21:54:26 +0000 (14:54 -0700)]
Fix divergence between interpreter and compiler.
Rationale:
Access checks on a method invocation should be performed
prior to checking null pointer for non-static method calls.
Test: 600-verifier-fails
BUG=
29068831
Change-Id: I21874d96ff83e7e6c6cf7c239e65ce1b515b9729
Nicolas Geoffray [Wed, 29 Jun 2016 21:12:49 +0000 (21:12 +0000)]
Merge \"Also add the monitor offset as a potential implicit NPE.\"
am:
5be510d8fe
Change-Id: Ifa99606f7010d88931bc670482816d517dc035a2
Nicolas Geoffray [Wed, 29 Jun 2016 21:06:57 +0000 (21:06 +0000)]
Merge "Also add the monitor offset as a potential implicit NPE."
Nicolas Geoffray [Wed, 29 Jun 2016 20:45:10 +0000 (21:45 +0100)]
Also add the monitor offset as a potential implicit NPE.
We access the monitor in read barrier configurations.
Change-Id: Ifbdf8ec7734a10cd7d1e965875d72a59960d13ca
Vladimir Marko [Wed, 29 Jun 2016 17:24:11 +0000 (17:24 +0000)]
Merge \"Fix merging HLoadClass with HNewInstance.\"
am:
8bf8117c6b
Change-Id: I302aaa937e92fe2f1612833b1733e9f40da994cc
Vladimir Marko [Wed, 29 Jun 2016 17:20:53 +0000 (17:20 +0000)]
Merge "Fix merging HLoadClass with HNewInstance."
Aart Bik [Thu, 23 Jun 2016 18:20:41 +0000 (11:20 -0700)]
Improvements in induction range analysis.
Rationale:
Uses range analysis while determining whether trip-counts
are "safe", which improves analysis of triangular loops.
Also implements more effective triangular loop analysis
by evaluating induction information only once and using
a top level hint (instead of the "iterative refinement"
that was used earlier). Also fixes analysis of triangular
trip counts that may wrap-around. All with tests.
Test: see induction_var_range_test/530-checker-loops*
BUG=
27151190
Change-Id: I1877c8ce0c9a52005900eb9dfdbb1918df100278
Nicolas Geoffray [Wed, 29 Jun 2016 13:39:59 +0000 (14:39 +0100)]
Special case the suspend to runnable transition when locking.
The runtime may be shutting down in parallel, and for daemons that
could lead to failed locking assertions.
bug:
27378067
Change-Id: I53785cad537a3d4846661a7b0780543226ea3928
Vladimir Marko [Wed, 29 Jun 2016 13:59:07 +0000 (14:59 +0100)]
Fix merging HLoadClass with HNewInstance.
Do not merge HLoadClass with HNewInstance if they do not
come from the same dex instruction. This is the same check
as for moving the clinit check responsibility around.
Test: Added a regression test, run standard ART test suite
plus gcstress and ndebug modes on host and Nexus 9.
Bug:
29570861
Bug:
29321958
Change-Id: Id8b67492ec1f58326ca0509af3f5a57257e7aea3
Calin Juravle [Wed, 29 Jun 2016 15:34:06 +0000 (15:34 +0000)]
Merge \"Clean up profiler options\"
am:
04a23d7e10
Change-Id: Ia1e7da49795b9e12819c5193de761b8b6ed63ce4
Treehugger Robot [Wed, 29 Jun 2016 15:28:51 +0000 (15:28 +0000)]
Merge "Clean up profiler options"
Nicolas Geoffray [Wed, 29 Jun 2016 14:03:21 +0000 (14:03 +0000)]
Merge \"Fix interpreter tests.\"
am:
3e6bc4c76a
Change-Id: I639ae01f1f1c64ac5dba4e9d5fd141ff573ff592
Nicolas Geoffray [Wed, 29 Jun 2016 13:57:20 +0000 (13:57 +0000)]
Merge "Fix interpreter tests."
Nicolas Geoffray [Wed, 29 Jun 2016 13:54:35 +0000 (14:54 +0100)]
Fix interpreter tests.
Monitor operations can throw NPEs.
bug:
29321958
Change-Id: If7a2e35a2073a7984a5126a826e722c918ba8d3a
Nicolas Geoffray [Wed, 29 Jun 2016 13:43:10 +0000 (13:43 +0000)]
Merge \"Fix mac build.\"
am:
c23d6450c9
Change-Id: I38d3f92361b0176074d08c88e1f1dfae1f6a361a
Nicolas Geoffray [Wed, 29 Jun 2016 13:37:03 +0000 (13:37 +0000)]
Merge "Fix mac build."
Nicolas Geoffray [Wed, 29 Jun 2016 13:34:21 +0000 (14:34 +0100)]
Fix mac build.
bug:
29321958
Change-Id: Ibd51d408dd97876eb3237df5606dbe9290ca7254
Calin Juravle [Tue, 28 Jun 2016 18:36:58 +0000 (19:36 +0100)]
Clean up profiler options
- remove obsolete options
- using ProfileSaverOptions instead of hard-coded values in the profile
saver
Bug:
24698874
Change-Id: I4ff535d29a644d1bd5509844f89615b70a723749
Test: cmdline_parser_test, gtest and run-tests pass.
xueliang.zhong [Wed, 29 Jun 2016 12:50:19 +0000 (12:50 +0000)]
Merge \"Integer.bitCount and Long.bitCount intrinsics for ARM\"
am:
b98a57d276
Change-Id: I263c798aebdea8e5f567036c4064f7b2340bc950
Treehugger Robot [Wed, 29 Jun 2016 12:45:44 +0000 (12:45 +0000)]
Merge "Integer.bitCount and Long.bitCount intrinsics for ARM"
xueliang.zhong [Tue, 24 May 2016 14:37:28 +0000 (15:37 +0100)]
Integer.bitCount and Long.bitCount intrinsics for ARM
Change-Id: Ia535865721313e72925fdec851a759470173cf89
Calin Juravle [Wed, 29 Jun 2016 12:39:07 +0000 (12:39 +0000)]
Merge \"Remove the old obsolete profiler\"
am:
9c23cec953
Change-Id: I10553eb463ed036f0d1d481e6a8f777a5a0565f0
Nicolas Geoffray [Wed, 29 Jun 2016 12:39:06 +0000 (12:39 +0000)]
Merge \"Do checks on the fault address when we think it\'s an NPE.\"
am:
fdbc39551e
Change-Id: I7125db6461341e6e7b890af9633484a906ffb7b4
Treehugger Robot [Wed, 29 Jun 2016 12:34:35 +0000 (12:34 +0000)]
Merge "Remove the old obsolete profiler"
Treehugger Robot [Wed, 29 Jun 2016 12:33:23 +0000 (12:33 +0000)]
Merge "Do checks on the fault address when we think it's an NPE."