OSDN Git Service

android-x86/art.git
8 years agoMerge "Revert "Revert "Fix issue with proxy invocation on default methods"""
Alex Light [Thu, 17 Mar 2016 18:02:06 +0000 (18:02 +0000)]
Merge "Revert "Revert "Fix issue with proxy invocation on default methods"""

8 years agoMerge "Make run-test give extra time when doing gc-stress runs."
Alex Light [Thu, 17 Mar 2016 17:53:47 +0000 (17:53 +0000)]
Merge "Make run-test give extra time when doing gc-stress runs."

8 years agoMerge "Revert "Revert "Assembly TLAB allocation fast path for arm64."""
Hiroshi Yamauchi [Thu, 17 Mar 2016 17:27:11 +0000 (17:27 +0000)]
Merge "Revert "Revert "Assembly TLAB allocation fast path for arm64."""

8 years agoMake run-test give extra time when doing gc-stress runs.
Alex Light [Thu, 17 Mar 2016 16:59:38 +0000 (09:59 -0700)]
Make run-test give extra time when doing gc-stress runs.

Some tests (such as 968-default-partial-compile-generated) are running
up against the current timeout when run with gcstress. This increases
the timeout to allow the tests to run fully.

Change-Id: I89ada3affefd09d07c770a83d849f280293cc8ed

8 years agoMerge "Fix bug where verification could crash on unresolved types."
Alex Light [Thu, 17 Mar 2016 16:32:40 +0000 (16:32 +0000)]
Merge "Fix bug where verification could crash on unresolved types."

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

This reverts commit daf58c80d42f024aae0cb94ebd2c0bd61ebbf240.

Bug: 27621360
Change-Id: I56fccf19ae80451be4c316ba14911c667cbe9e47

8 years agoMerge "Dump oat file information as part of DumpForSigQuit."
Nicolas Geoffray [Thu, 17 Mar 2016 14:39:13 +0000 (14:39 +0000)]
Merge "Dump oat file information as part of DumpForSigQuit."

8 years agoMerge "Fix load store elimination bug in the presence of null[i]."
Nicolas Geoffray [Thu, 17 Mar 2016 14:20:58 +0000 (14:20 +0000)]
Merge "Fix load store elimination bug in the presence of null[i]."

8 years agoDump oat file information as part of DumpForSigQuit.
Nicolas Geoffray [Thu, 17 Mar 2016 11:56:54 +0000 (11:56 +0000)]
Dump oat file information as part of DumpForSigQuit.

Change-Id: Ie8d256d8fa16565105cfe5c39cc96826983469da

8 years agoFix load store elimination bug in the presence of null[i].
Nicolas Geoffray [Thu, 17 Mar 2016 10:44:24 +0000 (10:44 +0000)]
Fix load store elimination bug in the presence of null[i].

Due to the dex specification, we can be in a state where
two array get with the same dex register inputs are typed
differently.

bug:27683874

Change-Id: Ia821fd32e86c306093372249e7686332a7584263

8 years agoMerge "Check GetDumpNativeStackOnSigQuit() for daemons."
Nicolas Geoffray [Thu, 17 Mar 2016 10:50:11 +0000 (10:50 +0000)]
Merge "Check GetDumpNativeStackOnSigQuit() for daemons."

8 years agoCheck GetDumpNativeStackOnSigQuit() for daemons.
Nicolas Geoffray [Thu, 17 Mar 2016 09:35:04 +0000 (09:35 +0000)]
Check GetDumpNativeStackOnSigQuit() for daemons.

The flag is passed by run-test to avoid libunwind crash flakiness,
so we should check it when dumping threads.

Change-Id: I3a3fcfd80ab254a315d58d629c81161fea9900dc

8 years agoMerge "ART: Remember whether the cache was pruned"
Andreas Gampe [Thu, 17 Mar 2016 01:03:54 +0000 (01:03 +0000)]
Merge "ART: Remember whether the cache was pruned"

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

8 years agoMerge "Revert "Fix issue with proxy invocation on default methods""
Alex Light [Wed, 16 Mar 2016 23:02:59 +0000 (23:02 +0000)]
Merge "Revert "Fix issue with proxy invocation on default methods""

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

This reverts commit ec3b7ab8f008f36f1072d4ba03da204229b95976.

Change-Id: Idfb2c63c246cc5dae7670503e70ad3f62bb1e1eb

8 years agoMerge "Fix valgrind-test-art-host to run both 32-bit and 64-bit tests."
Hiroshi Yamauchi [Wed, 16 Mar 2016 22:55:50 +0000 (22:55 +0000)]
Merge "Fix valgrind-test-art-host to run both 32-bit and 64-bit tests."

8 years agoMerge "Add verify-art-runtime usage to dex2oat"
Mathieu Chartier [Wed, 16 Mar 2016 22:02:20 +0000 (22:02 +0000)]
Merge "Add verify-art-runtime usage to dex2oat"

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

Bug: 27688793

(cherry picked from commit c6068709a482065d6f5426640f1c9316797508e3)

Change-Id: Idcf6b8023a15c816168ce42456d2bd7b463d0951

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

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

Bug: 27604215
Change-Id: I9fac1e61d9defe7d623c611406c35921abb65b04

8 years agoFix bug where verification could crash on unresolved types.
Alex Light [Tue, 15 Mar 2016 16:50:26 +0000 (09:50 -0700)]
Fix bug where verification could crash on unresolved types.

Bug: 27626708

Change-Id: I708ee18215dccadc00ff3daa1e01c2830475ccae

8 years agoMerge "Fix race in AllocEntrypointsInstrumented"
Mathieu Chartier [Wed, 16 Mar 2016 21:07:31 +0000 (21:07 +0000)]
Merge "Fix race in AllocEntrypointsInstrumented"

8 years agoRevert "Revert "Assembly TLAB allocation fast path for arm64.""
Hiroshi Yamauchi [Wed, 16 Mar 2016 18:23:10 +0000 (11:23 -0700)]
Revert "Revert "Assembly TLAB allocation fast path for arm64.""

This reverts commit 52fa2c698b995c21940f366cf3a44204ddf4f8e9.

Fix the mvn instructions.

Bug: 9986565
Change-Id: Ib7b2023cd54c57131442e1de85c64f40b818313d

8 years agoMerge "Fix issue with proxy invocation on default methods"
Alex Light [Wed, 16 Mar 2016 20:39:54 +0000 (20:39 +0000)]
Merge "Fix issue with proxy invocation on default methods"

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

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

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

Bug: 27506909

(cherry picked from commit 77d993107773b7b9bd7f07ce08d0aaac1631bf84)

Change-Id: Id12983ef77c4fddb0394e4439ce0829777f1a70b

8 years agoFix valgrind-test-art-host to run both 32-bit and 64-bit tests.
Hiroshi Yamauchi [Wed, 16 Mar 2016 18:39:33 +0000 (11:39 -0700)]
Fix valgrind-test-art-host to run both 32-bit and 64-bit tests.

Bug: 27156726
Change-Id: Ie93405d6238f7cc5eba351cfb6c5b0f5d8348908

8 years agoMerge "Remove --native-debuggable compiler option."
David Srbecky [Wed, 16 Mar 2016 17:54:52 +0000 (17:54 +0000)]
Merge "Remove --native-debuggable compiler option."

8 years agoMerge "Make art::HCompare support boolean, byte, short and char inputs."
Roland Levillain [Wed, 16 Mar 2016 17:54:34 +0000 (17:54 +0000)]
Merge "Make art::HCompare support boolean, byte, short and char inputs."

8 years agoRemove --native-debuggable compiler option.
David Srbecky [Sun, 13 Mar 2016 22:00:07 +0000 (22:00 +0000)]
Remove --native-debuggable compiler option.

Check if both --debuggable and --generate-debug-info are set instead.

History: I have recently added the --native-debuggable flag to control
whether extra stack maps are generated in order to produce accurate
native line number mapping of all generated code. I didn't want to
include it into --debuggable since we compile boot.oat as debuggable
and so it would be affected.

On second thought, it would have been reasonable to generate the extra
stackmaps only if both --debuggable and --generate-debug-info are set,
instead of introducing another compiler flag. This means we do not
affect boot.oat but we still get the extra stack maps if DWARF debug
information is explicitly requested.

Change-Id: I7e5e557e4850a88b3b6f86178d2cb645fb1e1110

8 years agoMerge "Forgot space."
Nicolas Geoffray [Wed, 16 Mar 2016 17:10:40 +0000 (17:10 +0000)]
Merge "Forgot space."

8 years agoMerge "runtime: delete native/java_lang_Runtime.h."
Narayan Kamath [Wed, 16 Mar 2016 17:04:52 +0000 (17:04 +0000)]
Merge "runtime: delete native/java_lang_Runtime.h."

8 years agoForgot space.
Nicolas Geoffray [Wed, 16 Mar 2016 17:01:39 +0000 (17:01 +0000)]
Forgot space.

Change-Id: If9eced6d5bd6d8d0248bad0e7b12095fb5a84d26

8 years agoMerge "Fix inliner crash related to type propagation."
Nicolas Geoffray [Wed, 16 Mar 2016 16:58:22 +0000 (16:58 +0000)]
Merge "Fix inliner crash related to type propagation."

8 years agoMake art::HCompare support boolean, byte, short and char inputs.
Roland Levillain [Tue, 15 Mar 2016 15:02:50 +0000 (15:02 +0000)]
Make art::HCompare support boolean, byte, short and char inputs.

Also extend tests covering the IntegerSignum, LongSignum,
IntegerCompare and LongCompare intrinsics and their
translation into an art::HCompare instruction.

Bug: 27629913
Change-Id: I0afc75ee6e82602b01ec348bbb36a08e8abb8bb8

8 years agoMerge "Re-enable checker tests 536 and 537"
Sebastien Hertz [Wed, 16 Mar 2016 16:16:41 +0000 (16:16 +0000)]
Merge "Re-enable checker tests 536 and 537"

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

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

Bug: 25635944
Change-Id: Id68824a8b4abbb6710e61897ffb3ed5daf839413

8 years agoFix inliner crash related to type propagation.
Nicolas Geoffray [Wed, 16 Mar 2016 15:16:06 +0000 (15:16 +0000)]
Fix inliner crash related to type propagation.

- Do not agressively try to resolve a return type.
- Deal with unresolved return type.

bug:25492619

Change-Id: Idc9c96a0b376fe5ee86b411c02ce7078c7f48c84

8 years agoruntime: delete native/java_lang_Runtime.h.
Narayan Kamath [Wed, 16 Mar 2016 15:11:15 +0000 (15:11 +0000)]
runtime: delete native/java_lang_Runtime.h.

Now unused, except for an unnecessary include.

bug: 27387202
Change-Id: Ie77dc0da156a64e8ea03af1878b44d20c16c5ae5

8 years agoMerge "Clean up NullCheck generation and record stats about it."
Calin Juravle [Wed, 16 Mar 2016 14:40:08 +0000 (14:40 +0000)]
Merge "Clean up NullCheck generation and record stats about it."

8 years agoMerge "Improve compiler stats"
Calin Juravle [Wed, 16 Mar 2016 14:39:49 +0000 (14:39 +0000)]
Merge "Improve compiler stats"

8 years agoMerge "Add more statistics for memory use of the JIT."
Nicolas Geoffray [Wed, 16 Mar 2016 14:39:16 +0000 (14:39 +0000)]
Merge "Add more statistics for memory use of the JIT."

8 years agoAdd more statistics for memory use of the JIT.
Nicolas Geoffray [Wed, 16 Mar 2016 14:20:06 +0000 (14:20 +0000)]
Add more statistics for memory use of the JIT.

Collect data for stack maps, profiling info, and compiled code.

bug:27520994

Change-Id: Ic87361230c96ce0090027a37d750e948d806c597

8 years agoMerge "Call __jit_debug_register_code() indirectly via global variable."
David Srbecky [Wed, 16 Mar 2016 14:13:02 +0000 (14:13 +0000)]
Merge "Call __jit_debug_register_code() indirectly via global variable."

8 years agoClean up NullCheck generation and record stats about it.
Calin Juravle [Wed, 16 Mar 2016 14:05:09 +0000 (14:05 +0000)]
Clean up NullCheck generation and record stats about it.

This removes redundant code from the generators and allows for easier
stat recording.

Change-Id: Iccd4368f9e9d87a6fecb863dee4e2145c97851c4

8 years agoImprove compiler stats
Calin Juravle [Wed, 16 Mar 2016 11:53:41 +0000 (11:53 +0000)]
Improve compiler stats

- report the max size of arena alloc
- report how many virtual or interface invokes were inlined

Change-Id: I82f154a8e25b5e3890181a1aa11346cdc3f93e37

8 years agoMerge "Set USE_JACK to true."
Nicolas Geoffray [Wed, 16 Mar 2016 13:55:51 +0000 (13:55 +0000)]
Merge "Set USE_JACK to true."

8 years agoSet USE_JACK to true.
Nicolas Geoffray [Wed, 16 Mar 2016 10:55:57 +0000 (10:55 +0000)]
Set USE_JACK to true.

This fixes running checker when just doing art/test/run-test.

Change-Id: Icfac5896cdfd64eb16b0127d5f16f552b93ad03e

8 years agoMerge "Move specific build rule of 529 into the default script."
Nicolas Geoffray [Wed, 16 Mar 2016 12:52:06 +0000 (12:52 +0000)]
Merge "Move specific build rule of 529 into the default script."

8 years agoMove specific build rule of 529 into the default script.
Nicolas Geoffray [Wed, 16 Mar 2016 12:39:17 +0000 (12:39 +0000)]
Move specific build rule of 529 into the default script.

Change-Id: I90ff4b4c64a4e077b360bbec7a8e21b52139f395

8 years agoMerge "Collect memory use for the JIT."
Nicolas Geoffray [Wed, 16 Mar 2016 11:19:18 +0000 (11:19 +0000)]
Merge "Collect memory use for the JIT."

8 years agoCollect memory use for the JIT.
Nicolas Geoffray [Tue, 8 Mar 2016 16:57:48 +0000 (16:57 +0000)]
Collect memory use for the JIT.

bug:27520994

Change-Id: I67b0c5b822001bfde8738a988c1ade69f1a26e3f

8 years agoMerge "Accept boolean as an input of HDivZeroCheck."
Nicolas Geoffray [Wed, 16 Mar 2016 11:15:43 +0000 (11:15 +0000)]
Merge "Accept boolean as an input of HDivZeroCheck."

8 years agoAccept boolean as an input of HDivZeroCheck.
Nicolas Geoffray [Wed, 16 Mar 2016 11:03:54 +0000 (11:03 +0000)]
Accept boolean as an input of HDivZeroCheck.

All our arithmetic operations accept it.

bug:27624718
Change-Id: I1f6bb95dc77ecb3fb2fcabb35a93b31c524bfa0a

8 years agoMerge "Fix checker test."
Nicolas Geoffray [Wed, 16 Mar 2016 10:54:51 +0000 (10:54 +0000)]
Merge "Fix checker test."

8 years agoFix checker test.
Nicolas Geoffray [Wed, 16 Mar 2016 10:41:53 +0000 (10:41 +0000)]
Fix checker test.

Change-Id: I1388868ca69c9f964f2019ff79d5c7aa0f00d57c

8 years agoMerge "Revert "Assembly TLAB allocation fast path for arm64.""
Nicolas Geoffray [Wed, 16 Mar 2016 10:23:43 +0000 (10:23 +0000)]
Merge "Revert "Assembly TLAB allocation fast path for arm64.""

8 years agoRevert "Assembly TLAB allocation fast path for arm64."
Nicolas Geoffray [Wed, 16 Mar 2016 10:23:03 +0000 (10:23 +0000)]
Revert "Assembly TLAB allocation fast path for arm64."

Assembly code does not compile
Bug: 9986565

This reverts commit b7e52b02a82c69e59c88f06945fb21672dfe9923.

Change-Id: I80de1bcd6270e2d76f79cb708811a41c039ea5bb

8 years agoMerge "Revert "Tentative fix for build breakage with read barriers.""
Nicolas Geoffray [Wed, 16 Mar 2016 10:23:20 +0000 (10:23 +0000)]
Merge "Revert "Tentative fix for build breakage with read barriers.""

8 years agoRevert "Tentative fix for build breakage with read barriers."
Nicolas Geoffray [Wed, 16 Mar 2016 10:22:09 +0000 (10:22 +0000)]
Revert "Tentative fix for build breakage with read barriers."

This reverts commit 448f21e2c1cb43b193736598719979ebd2aed0b0.

Change-Id: Id821effa06697b1464581bcd9c8f34cd0ea69896

8 years agoMerge "Optimizing: Fix arm64 shifter operand test."
Vladimir Marko [Wed, 16 Mar 2016 10:13:48 +0000 (10:13 +0000)]
Merge "Optimizing: Fix arm64 shifter operand test."

8 years agoMerge "Make art::HCompare side effect free."
Roland Levillain [Wed, 16 Mar 2016 10:12:39 +0000 (10:12 +0000)]
Merge "Make art::HCompare side effect free."

8 years agoOptimizing: Fix arm64 shifter operand test.
Vladimir Marko [Wed, 16 Mar 2016 10:02:39 +0000 (10:02 +0000)]
Optimizing: Fix arm64 shifter operand test.

Generic simplifier removes 3 shifts from the test since
    https://android-review.googlesource.com/208199
and then the arm64-specific shifter operands don't apply.

Bug: 27638111
Change-Id: Ie6c6ec1f40ec263f3e40e8129f29e0191fd9de50

8 years agoMerge "ART: Fix ignoring duplicate fields."
Vladimir Marko [Wed, 16 Mar 2016 09:56:14 +0000 (09:56 +0000)]
Merge "ART: Fix ignoring duplicate fields."

8 years agoMerge "Tentative fix for build breakage with read barriers."
Nicolas Geoffray [Wed, 16 Mar 2016 09:37:52 +0000 (09:37 +0000)]
Merge "Tentative fix for build breakage with read barriers."

8 years agoTentative fix for build breakage with read barriers.
Nicolas Geoffray [Wed, 16 Mar 2016 09:36:35 +0000 (09:36 +0000)]
Tentative fix for build breakage with read barriers.

Change-Id: I490821357525bdeb19c330f350635bd645f8ab53

8 years agoMerge "Fix HDoubleConstant::IsZero and HFloatConstant::IsZero."
Nicolas Geoffray [Wed, 16 Mar 2016 09:19:39 +0000 (09:19 +0000)]
Merge "Fix HDoubleConstant::IsZero and HFloatConstant::IsZero."

8 years agoMerge "Disable test."
Nicolas Geoffray [Tue, 15 Mar 2016 23:02:48 +0000 (23:02 +0000)]
Merge "Disable test."

8 years agoDisable test.
Nicolas Geoffray [Tue, 15 Mar 2016 23:01:33 +0000 (23:01 +0000)]
Disable test.

Change-Id: Id06de23646187967df3035ca423f4cd6c73cf0a7

8 years agoART: Fix ignoring duplicate fields.
Vladimir Marko [Tue, 15 Mar 2016 20:31:50 +0000 (20:31 +0000)]
ART: Fix ignoring duplicate fields.

Ignore duplicate fields when calculating class size without
embedded tables. We already ignored them when loading class
members. This fixes a check failure in debug build that the
final class is no smaller than the temporary class.

Bug: 21868015
Bug: 27626707
Change-Id: Id72121724abc093d536c2329c61a24854a20122c

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

Bug: 27621360

Change-Id: I617eee243f475872235fd75b6a401e056111ea23

8 years agoMerge "Assembly TLAB allocation fast path for arm64."
Hiroshi Yamauchi [Tue, 15 Mar 2016 19:56:24 +0000 (19:56 +0000)]
Merge "Assembly TLAB allocation fast path for arm64."

8 years agoAssembly TLAB allocation fast path for arm64.
Hiroshi Yamauchi [Thu, 10 Mar 2016 05:14:41 +0000 (21:14 -0800)]
Assembly TLAB allocation fast path for arm64.

This is the arm64 version of CL 187537.

Speedup (GSS GC with TLAB on N9):
        BinaryTrees:   591 ->  493 ms (-17%)
        MemAllocTest:  792 ->  755 ms (-5%)

Bug: 9986565

Change-Id: Icdad28cab0fd835679c640b7eae59b33ac2d6654

8 years agoMerge "ART: Fix shift simplification, x >>> 64."
Vladimir Marko [Tue, 15 Mar 2016 18:23:01 +0000 (18:23 +0000)]
Merge "ART: Fix shift simplification, x >>> 64."

8 years agoART: Fix shift simplification, x >>> 64.
Vladimir Marko [Tue, 15 Mar 2016 18:11:50 +0000 (18:11 +0000)]
ART: Fix shift simplification, x >>> 64.

Fix braino in
    https://android-review.googlesource.com/208199

Bug: 27638111
Change-Id: I8f12008af8bba943664c8a9eac3f2d2f7c820e79

8 years agoCall __jit_debug_register_code() indirectly via global variable.
David Srbecky [Tue, 15 Mar 2016 17:02:41 +0000 (17:02 +0000)]
Call __jit_debug_register_code() indirectly via global variable.

This is speculative future optimization. It allows the debugger to
change the value of the global variable to point to its injected code.
This, in turn, allows it to handle JIT events in-process without
triggering breakpoint and without the inter-process cost of it.

Change-Id: I4961c8862603bfb43c84974a3a51110ee202bb1b

8 years agoMerge "ART: Fix valgrind failure in image_test64."
Vladimir Marko [Tue, 15 Mar 2016 17:03:18 +0000 (17:03 +0000)]
Merge "ART: Fix valgrind failure in image_test64."

8 years agoFix HDoubleConstant::IsZero and HFloatConstant::IsZero.
Nicolas Geoffray [Tue, 15 Mar 2016 16:23:04 +0000 (16:23 +0000)]
Fix HDoubleConstant::IsZero and HFloatConstant::IsZero.

bug:27639313
Change-Id: I2f30a65a07662dfce0a6d6f4ed356a8a0b3dcdef

8 years agoMerge "Optimizing: Improve shift simplification, x >>> 64."
Vladimir Marko [Tue, 15 Mar 2016 16:06:03 +0000 (16:06 +0000)]
Merge "Optimizing: Improve shift simplification, x >>> 64."

8 years agoMerge "runtime: delete native/java_lang_Runtime.cc"
Narayan Kamath [Tue, 15 Mar 2016 15:39:10 +0000 (15:39 +0000)]
Merge "runtime: delete native/java_lang_Runtime.cc"

8 years agoOptimizing: Improve shift simplification, x >>> 64.
Vladimir Marko [Tue, 15 Mar 2016 14:57:32 +0000 (14:57 +0000)]
Optimizing: Improve shift simplification, x >>> 64.

Simplify shifts by a multiple of bit size, not just 0.
ARM codegen does not expect to see such shifts and it
is guarding against them with a DCHECK().

Bug: 27638111
Change-Id: I3ae8383d7edefa0facd375ce511e7a226d5468a1

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

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

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

bug: 27387202
Change-Id: I92aac81d131661aca588e352aee7a167593e17d4

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

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

Bug: 27618311

(cherry picked from commit 7ef1b4b20bd7cf485f5e443927c1e6fa797a0439)

Change-Id: I178d18d731a9dce5cb11ed0874c9c9c9d36d7d8e

8 years agoMake art::HCompare side effect free.
Roland Levillain [Tue, 15 Mar 2016 14:57:31 +0000 (14:57 +0000)]
Make art::HCompare side effect free.

All our back ends implement all comparisons without making a
runtime call, so we can mark art::HCompare as a side effect
free instruction unconditionally.

Change-Id: I9a9e7c09156c642edb6af1fe84408f887e762f2e

8 years agoART: Fix valgrind failure in image_test64.
Vladimir Marko [Tue, 15 Mar 2016 12:41:27 +0000 (12:41 +0000)]
ART: Fix valgrind failure in image_test64.

Explicitly clear LengthPrefixedArray<ArtMethod> padding
in ImageWriter. This also removes a potential source of
non-deterministic data in compiled boot image.

Bug: 26687569
Bug: 27552451
Change-Id: Icf4bf34c9ea5b3159462760fbf556d287841191d

8 years agoMerge "Optimizing: Prevent potential valgrind error."
Vladimir Marko [Tue, 15 Mar 2016 13:23:38 +0000 (13:23 +0000)]
Merge "Optimizing: Prevent potential valgrind error."

8 years agoOptimizing: Prevent potential valgrind error.
Vladimir Marko [Tue, 15 Mar 2016 10:40:33 +0000 (10:40 +0000)]
Optimizing: Prevent potential valgrind error.

This CL preemptively extends the workaround from
    https://android-review.googlesource.com/208230
to an almost identical bit of code.

Bug: 27651442
Change-Id: I7683d42b46b16f2293916defc6ef1d871dc9af6c

8 years agoMerge "Optimizing: Fix valgrind error in image_test64."
Vladimir Marko [Tue, 15 Mar 2016 09:51:10 +0000 (09:51 +0000)]
Merge "Optimizing: Fix valgrind error in image_test64."

8 years agoMerge "Fix zygote handling of when secondary image is out of date."
Jeff Hao [Tue, 15 Mar 2016 02:41:14 +0000 (02:41 +0000)]
Merge "Fix zygote handling of when secondary image is out of date."

8 years agoMerge "Fixed bug in BCE, with regression test."
Aart Bik [Tue, 15 Mar 2016 02:40:15 +0000 (02:40 +0000)]
Merge "Fixed bug in BCE, with regression test."

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

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

Bug: 27340451

(cherry-pick of commit b8510d2311964489342d8875ef7f5b681ba874b4)

Change-Id: Ia6db863e3d3c72120630bcbae8d399a78dda2710

8 years agoMerge "Add oatdump support for app images"
Mathieu Chartier [Tue, 15 Mar 2016 00:11:27 +0000 (00:11 +0000)]
Merge "Add oatdump support for app images"

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

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

TODO: Add to oatdump test.

Bug: 27408512
Bug: 22858531

(cherry picked from commit bcb6a72569a1401b36a3ad3b6aa4d13e29966cf0)

Change-Id: I9d1aa7eaa16795e5fbabc6974d245849e16b1d03

8 years agoMerge "ART: Update dalvik-cache for zygote after OTA"
Andreas Gampe [Mon, 14 Mar 2016 23:37:15 +0000 (23:37 +0000)]
Merge "ART: Update dalvik-cache for zygote after OTA"

8 years agoART: Update dalvik-cache for zygote after OTA
Andreas Gampe [Sat, 21 Nov 2015 03:26:51 +0000 (19:26 -0800)]
ART: Update dalvik-cache for zygote after OTA

Detect OTA artifacts and move them over to the regular dalvik-cache
on boot.

Bug: 25612095

(cherry picked from commit 754479f7aa056602de8282f4f03718b42c20b89b)

Change-Id: I9a1a22641cc7833435098627a5cc6d954521c4ea

8 years agoFixed bug in BCE, with regression test.
Aart Bik [Mon, 14 Mar 2016 21:11:26 +0000 (14:11 -0700)]
Fixed bug in BCE, with regression test.

The fix is twofold:
(1) Ensure that bound checks are never eliminated more than once
    to guard against any conceivable situation in which the same
    bounds check appears multiple times in array length use list.
(2) Specially reject BoundsCheck(x,x) since that always goes OOB.

BUG=27628526

Change-Id: I399ec4254323e0cfcd0a68898f403cfab7b35135

8 years agoOptimizing: Fix valgrind error in image_test64.
Vladimir Marko [Mon, 14 Mar 2016 21:21:29 +0000 (21:21 +0000)]
Optimizing: Fix valgrind error in image_test64.

Bug: 27651442
Change-Id: Id9b80c6015dbc3b82966766ca4ad010be770f116

8 years agoMerge "Do not include image header in decompressed size"
Mathieu Chartier [Mon, 14 Mar 2016 20:50:00 +0000 (20:50 +0000)]
Merge "Do not include image header in decompressed size"

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

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

Bug: 27561308

(cherry picked from commit 324eb2c6b049f1677133f0b708730e904c5e73ab)

Change-Id: I524c03b8f0e8a84814dbd8678285184e9d4da9f1

8 years agoMerge "Fix cases where we miss instrumentation changes"
Mathieu Chartier [Mon, 14 Mar 2016 20:14:30 +0000 (20:14 +0000)]
Merge "Fix cases where we miss instrumentation changes"

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

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

Added handling in entrypoint utils for thread suspension cases.

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

Bug: 27506909

(cherry picked from commit 0f394021d6abfdf9ebea6c7f405ec936a812ea62)

Change-Id: I1dc51e9f000684b4032b57beab59d317ece26f06