OSDN Git Service

android-x86/art.git
8 years agoMerge "Generate more stack maps during native debugging."
David Srbecky [Wed, 23 Dec 2015 15:30:27 +0000 (15:30 +0000)]
Merge "Generate more stack maps during native debugging."

8 years agoGenerate more stack maps during native debugging.
David Srbecky [Wed, 9 Dec 2015 14:09:59 +0000 (14:09 +0000)]
Generate more stack maps during native debugging.

Generate extra stack map at the start of each java statement.
The stack maps are later translated to DWARF which allows
LLDB to set breakpoints and view local variables.

Change-Id: If00ab875513308e4a1399d1e12e0fe8934a6f0c3

8 years agoMerge "Move debug symbol writing code to elf_writer_debug.cc"
David Srbecky [Wed, 23 Dec 2015 12:10:14 +0000 (12:10 +0000)]
Merge "Move debug symbol writing code to elf_writer_debug.cc"

8 years agoMerge "Move JIT debugger interface code to its own file."
David Srbecky [Wed, 23 Dec 2015 11:57:36 +0000 (11:57 +0000)]
Merge "Move JIT debugger interface code to its own file."

8 years agoMerge "Rewrite HInstruction::Is/As<type>()."
Vladimir Marko [Wed, 23 Dec 2015 10:06:09 +0000 (10:06 +0000)]
Merge "Rewrite HInstruction::Is/As<type>()."

8 years agoRewrite HInstruction::Is/As<type>().
Vladimir Marko [Mon, 23 Nov 2015 19:49:34 +0000 (19:49 +0000)]
Rewrite HInstruction::Is/As<type>().

Make Is<type>() and As<type>() non-virtual for concrete
instruction types, relying on GetKind(), and mark GetKind()
as PURE to improve optimization opportunities. This reduces
the number of relocations in libart-compiler.so's .rel.dyn
section by ~4K, or ~44%, and in .data.rel.ro by ~18K, or
~65%. The file is 96KiB smaller for Nexus 5, including 8KiB
reduction of the .text section.

Unfortunately, the g++/clang++ __attribute__((pure)) is not
strong enough to avoid duplicated virtual calls and we would
need the C++ [[pure]] attribute proposed in n3744 instead.
To work around this deficiency, we introduce an extra
non-virtual indirection for GetKind(), so that the compiler
can optimize common expressions such as
    instruction->IsAdd() || instruction->IsSub()
or
    instruction->IsAdd() && instruction->AsAdd()->...
which contain two virtual calls to GetKind() after inlining.

Change-Id: I83787de0671a5cb9f5b0a5f4a536cef239d5b401

8 years agoMerge "Ensure Jack server is running before any use"
Yohann Roussel [Tue, 22 Dec 2015 13:59:49 +0000 (13:59 +0000)]
Merge "Ensure Jack server is running before any use"

8 years agoMerge "Treat thread state kWaitingWeakGcRootRead as kJavaRunnable."
Hiroshi Yamauchi [Mon, 21 Dec 2015 23:25:23 +0000 (23:25 +0000)]
Merge "Treat thread state kWaitingWeakGcRootRead as kJavaRunnable."

8 years agoMerge "Fix multiple image space handing for SS collector"
Mathieu Chartier [Mon, 21 Dec 2015 23:17:17 +0000 (23:17 +0000)]
Merge "Fix multiple image space handing for SS collector"

8 years agoMerge "Fix lock ordering violation"
Mathieu Chartier [Mon, 21 Dec 2015 23:11:40 +0000 (23:11 +0000)]
Merge "Fix lock ordering violation"

8 years agoMerge "Use shared namespaces for bundled apps"
Dimitry Ivanov [Mon, 21 Dec 2015 23:10:49 +0000 (23:10 +0000)]
Merge "Use shared namespaces for bundled apps"

8 years agoMerge "Do not use $? in recipe"
Shinichiro Hamaji [Mon, 21 Dec 2015 22:45:44 +0000 (22:45 +0000)]
Merge "Do not use $? in recipe"

8 years agoTreat thread state kWaitingWeakGcRootRead as kJavaRunnable.
Hiroshi Yamauchi [Mon, 21 Dec 2015 22:06:23 +0000 (14:06 -0800)]
Treat thread state kWaitingWeakGcRootRead as kJavaRunnable.

Like kSuspended, kWaitingWeakGcRootRead means temporarily waiting for
GC's purpose rather than the thread is waiting on a monitor.

This may fix some jsr166 test failures.

Bug: 25883050
Bug: 12687968

Change-Id: Ib53e18c0fb2ff95aa0491b1531201e583288684e

8 years agoFix lock ordering violation
Mathieu Chartier [Mon, 21 Dec 2015 21:02:14 +0000 (13:02 -0800)]
Fix lock ordering violation

Move ros alloc lock ordering above transaction lock level.

Bug: 26292262

Change-Id: I55f75bd86b413ce193d4df890a39a9c459bc2034

8 years agoFix multiple image space handing for SS collector
Mathieu Chartier [Wed, 16 Dec 2015 23:56:15 +0000 (15:56 -0800)]
Fix multiple image space handing for SS collector

We need to visit objets that don't have a mod-union table even if
collect_from_space_only_ is false.

Bug: 22858531
Change-Id: I3144ccb84d7f7bcdf0560f6425c5e5292d3a2082

8 years agoMerge "Rename NullHandle to ScopedNullHandle"
Mathieu Chartier [Mon, 21 Dec 2015 20:09:36 +0000 (20:09 +0000)]
Merge "Rename NullHandle to ScopedNullHandle"

8 years agoRename NullHandle to ScopedNullHandle
Mathieu Chartier [Mon, 21 Dec 2015 17:58:16 +0000 (09:58 -0800)]
Rename NullHandle to ScopedNullHandle

This makes it clearer that is invalid to do things like:
Handle<T> h = ScopedNullHandle<T>();

Bug: 26233305
Change-Id: I6d8f54eae01ec2e901cb7043afa853ea77db79fe

8 years agoDo not use $? in recipe
Shinichiro Hamaji [Fri, 18 Dec 2015 06:51:51 +0000 (15:51 +0900)]
Do not use $? in recipe

Kati cannot support this automatic variable as ninja doesn't
have a feature for this.

Change-Id: Ie9130c31916954454eb201129ae6f49554453586

8 years agoMerge "Pass down to the runtime the application code paths."
Calin Juravle [Mon, 21 Dec 2015 09:43:09 +0000 (09:43 +0000)]
Merge "Pass down to the runtime the application code paths."

8 years agoUse shared namespaces for bundled apps
Dimitry Ivanov [Tue, 15 Dec 2015 22:08:18 +0000 (14:08 -0800)]
Use shared namespaces for bundled apps

Shared namespaces clone the list of loaded native
libraries from the caller namespace. This allows
classloaders for bundled apps to share already loaded
libraries with default namespace.

Bug: http://b/26165097
Bug: http://b/22548808
Change-Id: Ia90b603a0ca97194618b82fb191d6790a4b1f281
(cherry picked from commit 986f650d8b552e8b7dbebef1f50f015e7850edfc)

8 years agoMerge "art: use -O1 to compile tests with clang for arm64"
Colin Cross [Sat, 19 Dec 2015 01:56:42 +0000 (01:56 +0000)]
Merge "art: use -O1 to compile tests with clang for arm64"

8 years agoart: use -O1 to compile tests with clang for arm64
Colin Cross [Sat, 19 Dec 2015 01:48:50 +0000 (17:48 -0800)]
art: use -O1 to compile tests with clang for arm64

arm64 clang fails to compile art/runtime/arch/stub_test.cc with:
art/runtime/arch/stub_test.cc:178:9: error: inline assembly requires
more registers than available
        "sub sp, sp, #64\n\t"
        ^

Pass -O1 to all art tests compiled with clang for arm64.

Bug: 26275713
Change-Id: Ib1a1c309aef73a2d33d37d720e5e11b8fe7a248e

8 years agoMerge "Re-enable optimization for clang arm64 art builds"
Colin Cross [Sat, 19 Dec 2015 00:14:02 +0000 (00:14 +0000)]
Merge "Re-enable optimization for clang arm64 art builds"

8 years agoRe-enable optimization for clang arm64 art builds
Colin Cross [Fri, 18 Dec 2015 23:13:51 +0000 (15:13 -0800)]
Re-enable optimization for clang arm64 art builds

The clang bug is fixed, remove -O1 from clang arm64 art builds.

Bug: 23256622
Change-Id: I3f2f6d1e84c5484fd499a94593f1dd53a4a66fbe

8 years agoMerge "For LSE, further optimize stores for singleton references."
Mingyao Yang [Fri, 18 Dec 2015 23:02:10 +0000 (23:02 +0000)]
Merge "For LSE, further optimize stores for singleton references."

8 years agoFor LSE, further optimize stores for singleton references.
Mingyao Yang [Tue, 1 Dec 2015 20:24:36 +0000 (12:24 -0800)]
For LSE, further optimize stores for singleton references.

Loop side effects shouldn't affect singletons whose fields are never stored into
inside a loop.

Change-Id: If3715d7b7e621bb077ef9481072a56f7fec87f2b

8 years agoMerge "Make use of new method iterators."
Alex Light [Fri, 18 Dec 2015 17:57:40 +0000 (17:57 +0000)]
Merge "Make use of new method iterators."

8 years agoMerge "MIPS64: Fuse long and FP compare & condition in Optimizing."
Roland Levillain [Fri, 18 Dec 2015 17:54:01 +0000 (17:54 +0000)]
Merge "MIPS64: Fuse long and FP compare & condition in Optimizing."

8 years agoMerge "Disable jsr166.LinkedTransferQueueTest#testTransfer2 again."
Roland Levillain [Fri, 18 Dec 2015 17:21:25 +0000 (17:21 +0000)]
Merge "Disable jsr166.LinkedTransferQueueTest#testTransfer2 again."

8 years agoDisable jsr166.LinkedTransferQueueTest#testTransfer2 again.
Roland Levillain [Fri, 18 Dec 2015 16:55:35 +0000 (16:55 +0000)]
Disable jsr166.LinkedTransferQueueTest#testTransfer2 again.

This test is failing (again) on the concurrent collector
configuration.  Disable it while we investigate.

Bug: 25883050
Change-Id: I54e59a43b730c286e370b5ae01bc5713fe816b61

8 years agoMove debug symbol writing code to elf_writer_debug.cc
David Srbecky [Thu, 17 Dec 2015 20:53:07 +0000 (20:53 +0000)]
Move debug symbol writing code to elf_writer_debug.cc

I want to be able to use this code without needing to
reference elf_writer_quick.

Change-Id: I87ccedc540b8f04b53be0fc6344a5947308ffcb6

8 years agoMerge "ART: Fix bug in LSE"
Nicolas Geoffray [Fri, 18 Dec 2015 14:57:19 +0000 (14:57 +0000)]
Merge "ART: Fix bug in LSE"

8 years agoART: Fix bug in LSE
David Brazdil [Mon, 14 Dec 2015 16:58:08 +0000 (16:58 +0000)]
ART: Fix bug in LSE

LSE will not remove a load if the type of the heap value does not
match the type of the load. This was a workaround for b/22538329 but
backfires for integers. For example, 'IntConstant 0' has type int
but can be retrieved from a boolean field. The corresponding store is
removed but not the load, loading uninitialized memory. This fixes the
issue until the workaround is not needed any more.

Change-Id: I2a47783e8d5f93104854e5216b69b6c220832c76

8 years agoMerge "Disable the UnsafeCASObject intrinsic with read barriers."
Roland Levillain [Fri, 18 Dec 2015 12:56:47 +0000 (12:56 +0000)]
Merge "Disable the UnsafeCASObject intrinsic with read barriers."

8 years agoDisable the UnsafeCASObject intrinsic with read barriers.
Roland Levillain [Fri, 18 Dec 2015 11:43:38 +0000 (11:43 +0000)]
Disable the UnsafeCASObject intrinsic with read barriers.

The current implementations of the UnsafeCASObject
intrinsics are missing a read barrier.  Temporarily disable
them when read barriers are enabled.

Also re-enable the jsr166.LinkedTransferQueueTest tests that
were failing on the concurrent collector configuration, as
the UnsafeCASObject JNI implementation now correctly
implements the read barrier which was missing.

Bug: 25883050
Bug: 26205973
Change-Id: Iaf5d515532949662d0ac6702c9452a00aa0a23e6

8 years agoMerge "Revert "Revert "X86: Use locked add rather than mfence"""
Aart Bik [Thu, 17 Dec 2015 23:28:06 +0000 (23:28 +0000)]
Merge "Revert "Revert "X86: Use locked add rather than mfence"""

8 years agoMake use of new method iterators.
Alex Light [Thu, 17 Dec 2015 21:55:59 +0000 (13:55 -0800)]
Make use of new method iterators.

Change-Id: I1f82f17951339b2054a1dac87bde79f9e803fc4a

8 years agoMIPS64: Fuse long and FP compare & condition in Optimizing.
Alexey Frunze [Wed, 9 Dec 2015 00:08:02 +0000 (16:08 -0800)]
MIPS64: Fuse long and FP compare & condition in Optimizing.

Bug: 25559148

Change-Id: I2d14ac75460a76848c71c08cffff6d7a18f5f580

8 years agoMove JIT debugger interface code to its own file.
David Srbecky [Thu, 17 Dec 2015 19:57:44 +0000 (19:57 +0000)]
Move JIT debugger interface code to its own file.

Change-Id: Ie788daa8caf60f2f0f93484681a8a9fcce61c23f

8 years agoMerge "ART: Refactor CommonRuntimeTest::SetUp"
Andreas Gampe [Thu, 17 Dec 2015 18:55:58 +0000 (18:55 +0000)]
Merge "ART: Refactor CommonRuntimeTest::SetUp"

8 years agoART: Refactor CommonRuntimeTest::SetUp
Andreas Gampe [Thu, 17 Dec 2015 00:54:35 +0000 (16:54 -0800)]
ART: Refactor CommonRuntimeTest::SetUp

Factor out finishing up the runtime. This code will execute the
interpreter to initialize important classes etc., which is not
necessary for testing RuntimeMethod sizes and trampoline entrypoints,
in fact it may violate pointer-size invariants.

Also add InstructionSet parsing tests to the ParsedOptions test.

Change-Id: I75cd00c6d358e1bc962c8f1845244f6400c1cd6c

8 years agoMerge "ART: Recognize cortex-a53.a57 for ARM features"
Andreas Gampe [Thu, 17 Dec 2015 18:35:41 +0000 (18:35 +0000)]
Merge "ART: Recognize cortex-a53.a57 for ARM features"

8 years agoMerge "Revert "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror...
Alex Light [Thu, 17 Dec 2015 18:33:57 +0000 (18:33 +0000)]
Merge "Revert "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"""

8 years agoMerge "Revert "Revert "ART: Reduce the instructions generated by packed switch."""
Vladimir Marko [Thu, 17 Dec 2015 16:46:19 +0000 (16:46 +0000)]
Merge "Revert "Revert "ART: Reduce the instructions generated by packed switch."""

8 years agoMerge "Fix braino in parallel move resolver."
Nicolas Geoffray [Thu, 17 Dec 2015 15:27:16 +0000 (15:27 +0000)]
Merge "Fix braino in parallel move resolver."

8 years agoMerge "Revert "Tweak inlining heuristics.""
Nicolas Geoffray [Thu, 17 Dec 2015 15:26:44 +0000 (15:26 +0000)]
Merge "Revert "Tweak inlining heuristics.""

8 years agoRevert "Tweak inlining heuristics."
Nicolas Geoffray [Thu, 17 Dec 2015 15:26:21 +0000 (15:26 +0000)]
Revert "Tweak inlining heuristics."

This reverts commit fcb7613d3aaa9a6802800b6e957aaad51cedf6dc.

Change-Id: Idc0df6a2f68e8b5aa740bb1259f19c2953811510

8 years agoRevert "Revert "ART: Reduce the instructions generated by packed switch.""
Vladimir Marko [Thu, 17 Dec 2015 15:23:13 +0000 (15:23 +0000)]
Revert "Revert "ART: Reduce the instructions generated by packed switch.""

This reverts commit b4c137630fd2226ad07dfd178ab15725374220f1.

The underlying issue was fixed by https://android-review.googlesource.com/188271 .

Bug: 26121945
Change-Id: I58b08eb1a9f0a5c861f8cda93522af64bcf63920

8 years agoMerge "Optimizing/ARM: Fix AddConstant() to adhere to set_cc."
Vladimir Marko [Thu, 17 Dec 2015 15:14:59 +0000 (15:14 +0000)]
Merge "Optimizing/ARM: Fix AddConstant() to adhere to set_cc."

8 years agoOptimizing/ARM: Fix AddConstant() to adhere to set_cc.
Vladimir Marko [Thu, 17 Dec 2015 12:08:08 +0000 (12:08 +0000)]
Optimizing/ARM: Fix AddConstant() to adhere to set_cc.

And improve it to use shorter code sequences.

Bug: 26121945

Change-Id: Ia4f1688652c195a7ca19af36d919388a550e2841

8 years agoFix braino in parallel move resolver.
Nicolas Geoffray [Thu, 17 Dec 2015 14:28:35 +0000 (14:28 +0000)]
Fix braino in parallel move resolver.

Reiterating over the moves needs to set i to -1, not 0.

bug:26241132

Change-Id: Iaae7eac5b421b0ee1b1ce89577c8b951b2d4dae8

8 years agoMerge "Tweak inlining heuristics."
Nicolas Geoffray [Thu, 17 Dec 2015 13:59:47 +0000 (13:59 +0000)]
Merge "Tweak inlining heuristics."

8 years agoTweak inlining heuristics.
Nicolas Geoffray [Thu, 17 Dec 2015 12:43:00 +0000 (12:43 +0000)]
Tweak inlining heuristics.

go/lem driven:

Performance:
Richards +41%
CaffeineMethod +43%
ReversiBench: +52%
Towers: +73%
Tak: +85%

Memory use: 7% less memory
CompileTime: 14% increase
CodeSize: 8% increase

Last three measures are now more acceptable given we JIT.

Change-Id: Ic4aa6535d2b76cf3545ef00e9b2ae32330f10745

8 years agoMerge "Change DCHECK into CHECK to diagnose sporadic crash."
Nicolas Geoffray [Thu, 17 Dec 2015 12:02:19 +0000 (12:02 +0000)]
Merge "Change DCHECK into CHECK to diagnose sporadic crash."

8 years agoChange DCHECK into CHECK to diagnose sporadic crash.
Nicolas Geoffray [Thu, 17 Dec 2015 11:56:01 +0000 (11:56 +0000)]
Change DCHECK into CHECK to diagnose sporadic crash.

bug:26221227
bug:25942183
Change-Id: I1325af40098dd336b6c85df8d4fcb7fe26aeac97

8 years agoMerge "Add some dumping when SIGQUIT for the JIT."
Nicolas Geoffray [Thu, 17 Dec 2015 11:34:37 +0000 (11:34 +0000)]
Merge "Add some dumping when SIGQUIT for the JIT."

8 years agoPass down to the runtime the application code paths.
Calin Juravle [Tue, 8 Dec 2015 15:09:10 +0000 (15:09 +0000)]
Pass down to the runtime the application code paths.

When registering the app with the runtime the framework needs to pass
down the list of application code paths. This will be used by JIT to
know what profile info to persist.

This fixes the reliance on OatFileManager::GetPrimaryOatFile which may
produce inconsistent results based on external factors (i.e. class path
order or failing to compile the first dex file from the class path)

Bug: 26080105
Change-Id: Iadcebd2684fcd48569e8f76ef21bd4d117fedc05

8 years agoMerge "Fix (non-intrinsic) UnsafeCASObject for the read barrier config."
Hiroshi Yamauchi [Thu, 17 Dec 2015 08:08:12 +0000 (08:08 +0000)]
Merge "Fix (non-intrinsic) UnsafeCASObject for the read barrier config."

8 years agoART: Recognize cortex-a53.a57 for ARM features
Andreas Gampe [Thu, 17 Dec 2015 01:27:30 +0000 (17:27 -0800)]
ART: Recognize cortex-a53.a57 for ARM features

Add cortex-a53.a57 to the hardware-divide recognized set. Add all
ARMv8 Cortex-A variants to the LPAE list.

Bug: 26221616
Change-Id: I0fd577e84952ce23f8a5577ae5061a841240d602

8 years agoRevert "Revert "X86: Use locked add rather than mfence""
Mark P Mendell [Wed, 16 Dec 2015 19:15:59 +0000 (19:15 +0000)]
Revert "Revert "X86: Use locked add rather than mfence""

This reverts commit 0da3b9117706760e8722029f407da6d0297cc943.

Fix a compilation failure that slipped in somehow.

Change-Id: Ide8681cdc921febb296ea47aa282cc195f154049

8 years agoMerge "Ensure that ClassTable has correct alignment in image."
Alex Light [Thu, 17 Dec 2015 00:10:38 +0000 (00:10 +0000)]
Merge "Ensure that ClassTable has correct alignment in image."

8 years agoEnsure that ClassTable has correct alignment in image.
Alex Light [Wed, 16 Dec 2015 23:52:51 +0000 (15:52 -0800)]
Ensure that ClassTable has correct alignment in image.

Change-Id: I645b44fae1ec129364449af552c745bf32486b1a

8 years agoRevert "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class""
Alex Light [Tue, 15 Dec 2015 23:02:47 +0000 (15:02 -0800)]
Revert "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class""

This reverts commit ae358c1d5cef227b44d6f4971b79e1ab91aa26eb.

Bug: 24618811

Change-Id: I8becf9bae3258450b90cfef5e79589db7c535a4d

8 years agoFix (non-intrinsic) UnsafeCASObject for the read barrier config.
Hiroshi Yamauchi [Fri, 11 Dec 2015 23:51:04 +0000 (15:51 -0800)]
Fix (non-intrinsic) UnsafeCASObject for the read barrier config.

Make sure the field contains a to-space reference before attempting the
CAS with a special read barrier to avoid an incorrect CAS failure.

This is only about the non-intrinsic UnsafeCASObject.

This seems to fix some jsr166 test failures.

Also, remove the unused template parameter kMaybeDuringStartup.

Bug: 25883050
Bug: 12687968

Change-Id: Ia6f0d882fa3d90c42f14968672d547babcdf6309

8 years agoMerge "Revert "X86: Use locked add rather than mfence""
Aart Bik [Wed, 16 Dec 2015 19:11:38 +0000 (19:11 +0000)]
Merge "Revert "X86: Use locked add rather than mfence""

8 years agoRevert "X86: Use locked add rather than mfence"
Aart Bik [Wed, 16 Dec 2015 19:06:17 +0000 (19:06 +0000)]
Revert "X86: Use locked add rather than mfence"

This reverts commit 7b3e4f99b25c31048a33a08688557b133ad345ab.

Reason: build error on sdk (linux) in git_mirror-aosp-master-with-vendor , please fix first

art/compiler/optimizing/code_generator_x86_64.cc:4032:7: error: use of
undeclared identifier 'codegen_'
      codegen_->MemoryFence();

Change-Id: I91f8542cfd944b7425d1981c35872dcdcb901e18

8 years agoMerge "Remove references to dlmalloc specific functions"
Dimitry Ivanov [Wed, 16 Dec 2015 19:00:55 +0000 (19:00 +0000)]
Merge "Remove references to dlmalloc specific functions"

8 years agoMerge "X86: Use locked add rather than mfence"
Aart Bik [Wed, 16 Dec 2015 18:47:07 +0000 (18:47 +0000)]
Merge "X86: Use locked add rather than mfence"

8 years agoMerge "Make the 008-exceptions test print everything to stdout"
Andreas Gampe [Wed, 16 Dec 2015 17:08:53 +0000 (17:08 +0000)]
Merge "Make the 008-exceptions test print everything to stdout"

8 years agoMerge "Remove spurious references to kEmitCompilerReadBarrier in MIPS."
Roland Levillain [Wed, 16 Dec 2015 17:08:26 +0000 (17:08 +0000)]
Merge "Remove spurious references to kEmitCompilerReadBarrier in MIPS."

8 years agoRemove spurious references to kEmitCompilerReadBarrier in MIPS.
Roland Levillain [Wed, 16 Dec 2015 17:06:47 +0000 (17:06 +0000)]
Remove spurious references to kEmitCompilerReadBarrier in MIPS.

We do not support read barriers on MIPS code generators yet.

Also, wrap some long lines in the MIPS64 code generator.

Change-Id: Ia2755590afa60eb9c8fb547e059146ab6518372b

8 years agoMerge "MIPS32: Fuse long and FP compare & condition in Optimizing."
Roland Levillain [Wed, 16 Dec 2015 15:45:29 +0000 (15:45 +0000)]
Merge "MIPS32: Fuse long and FP compare & condition in Optimizing."

8 years agoMerge "Adjust tests blacklisted for heap poisoning and read barriers."
Roland Levillain [Wed, 16 Dec 2015 15:25:49 +0000 (15:25 +0000)]
Merge "Adjust tests blacklisted for heap poisoning and read barriers."

8 years agoMerge "Disable LinkedTransferQueueTest tests failing on the CC."
Roland Levillain [Wed, 16 Dec 2015 15:23:06 +0000 (15:23 +0000)]
Merge "Disable LinkedTransferQueueTest tests failing on the CC."

8 years agoMerge "Revert "Revert "Introduce support for hardware simulators, starting with ARM64"""
Roland Levillain [Wed, 16 Dec 2015 15:21:25 +0000 (15:21 +0000)]
Merge "Revert "Revert "Introduce support for hardware simulators, starting with ARM64"""

8 years agoDisable LinkedTransferQueueTest tests failing on the CC.
Roland Levillain [Wed, 16 Dec 2015 15:15:17 +0000 (15:15 +0000)]
Disable LinkedTransferQueueTest tests failing on the CC.

The following libcore tests randomly fail on the
concurrent collector (CC) configuration:
- jsr166.LinkedTransferQueueTest#testTransfer2
- jsr166.LinkedTransferQueueTest#testWaitingConsumer
It seems that it is due to
SR166TestCase.waitForThreadToEnterWaitState timing out.
Disable those tests while we investigate.

Bug: 25883050
Change-Id: I4f310c677869d9e2701738e9734a1f53b5939f18

8 years agoMake the 008-exceptions test print everything to stdout
Kevin Brodsky [Mon, 14 Dec 2015 10:15:04 +0000 (10:15 +0000)]
Make the 008-exceptions test print everything to stdout

Printing to different streams (stderr and stdout) may cause the
messages to be interleaved, making the test fail. Without this patch,
this kind of outcome has been observed:

--- expected.txt 2015-12-09 08:13:50.583294910 +0000
+++ output.txt 2015-12-09 08:55:35.635185771 +0000
@@ -1,15 +1,15 @@
 Got an NPE: second throw
 java.lang.NullPointerException: second throw
- at Main.catchAndRethrow(Main.java:77)
+Static Init
+BadError: This is bad by convention: BadInit
+java.lang.NoClassDefFoundError: BadInit at Main.catchAndRethrow(Main.java:77)
  at Main.exceptions_007(Main.java:59)
  at Main.main(Main.java:67)
 Caused by: java.lang.NullPointerException: first throw
  at Main.throwNullPointerException(Main.java:84)
  at Main.catchAndRethrow(Main.java:74)
  ... 2 more
-Static Init
-BadError: This is bad by convention: BadInit
-java.lang.NoClassDefFoundError: BadInit
+
 BadError: This is bad by convention: BadInit
 Static BadInitNoStringInit
 BadErrorNoStringInit: This is bad by convention

Change-Id: Iaabf5ed593d100abf157adf46c1761338227d2cf

8 years agoAdjust tests blacklisted for heap poisoning and read barriers.
Roland Levillain [Wed, 16 Dec 2015 14:21:33 +0000 (14:21 +0000)]
Adjust tests blacklisted for heap poisoning and read barriers.

Bug: 12687968
Change-Id: I7b504661c04d35d10f66a3893a33db8c9db128a1

8 years agoMerge "Add test case for bad arm code generation."
Nicolas Geoffray [Wed, 16 Dec 2015 12:31:26 +0000 (12:31 +0000)]
Merge "Add test case for bad arm code generation."

8 years agoMerge "Revert "ART: Reduce the instructions generated by packed switch.""
Nicolas Geoffray [Wed, 16 Dec 2015 12:31:14 +0000 (12:31 +0000)]
Merge "Revert "ART: Reduce the instructions generated by packed switch.""

8 years agoAdd test case for bad arm code generation.
Nicolas Geoffray [Wed, 16 Dec 2015 12:16:43 +0000 (12:16 +0000)]
Add test case for bad arm code generation.

Bug: 26121945
Change-Id: Ibaedeca24d4208a0bc6b650e549cb68619fd8f64

8 years agoRevert "ART: Reduce the instructions generated by packed switch."
Nicolas Geoffray [Wed, 16 Dec 2015 12:06:39 +0000 (12:06 +0000)]
Revert "ART: Reduce the instructions generated by packed switch."

This reverts commit 59f054d98f519a3efa992b1c688eb97bdd8bbf55.

bug:26121945

Change-Id: I8a5ad7ef1f1de8d44787c27528fa3f7f5c2e9cd3

8 years agoMerge "ART: Compile run-tests with Java 7."
Vladimir Marko [Wed, 16 Dec 2015 10:50:52 +0000 (10:50 +0000)]
Merge "ART: Compile run-tests with Java 7."

8 years agoART: Compile run-tests with Java 7.
Vladimir Marko [Tue, 15 Dec 2015 16:36:24 +0000 (16:36 +0000)]
ART: Compile run-tests with Java 7.

This fixes run-tests with EXPERIMENTAL_USE_JAVA8=true.

Change-Id: I269664fc65a1d6c244c3f6191e332eb2751b5c0e

8 years agoMerge "Revert "ART: Set RTI of Arm64IntermediateAddress""
Nicolas Geoffray [Wed, 16 Dec 2015 09:34:39 +0000 (09:34 +0000)]
Merge "Revert "ART: Set RTI of Arm64IntermediateAddress""

8 years agoRevert "ART: Set RTI of Arm64IntermediateAddress"
Nicolas Geoffray [Wed, 16 Dec 2015 09:34:21 +0000 (09:34 +0000)]
Revert "ART: Set RTI of Arm64IntermediateAddress"

This reverts commit e36ae9435da21542891ceeebb3328f5066c8301e.

Change-Id: If675b02db04bee78cc95da4ed58e545da5085da1

8 years agoMerge "Revert "ART: Refactor SsaBuilder for more precise typing info""
Nicolas Geoffray [Wed, 16 Dec 2015 08:35:46 +0000 (08:35 +0000)]
Merge "Revert "ART: Refactor SsaBuilder for more precise typing info""

8 years agoRevert "ART: Refactor SsaBuilder for more precise typing info"
Alex Light [Wed, 16 Dec 2015 01:30:30 +0000 (17:30 -0800)]
Revert "ART: Refactor SsaBuilder for more precise typing info"

This reverts commit d9510dfc32349eeb4f2145c801f7ba1d5bccfb12.

Bug: 26208284

Bug: 24252151
Bug: 24252100
Bug: 22538329
Bug: 25786318

Change-Id: I5f491becdf076ff51d437d490405ec4e1586c010

8 years agoMIPS32: Fuse long and FP compare & condition in Optimizing.
Alexey Frunze [Fri, 4 Dec 2015 00:46:38 +0000 (16:46 -0800)]
MIPS32: Fuse long and FP compare & condition in Optimizing.

This also does a minor clean-up in the assembler and
its test.

Bug: 25559148
Change-Id: I9bad3c500b592a09013b56745f70752eb284a842

8 years agoMerge "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class""
Alex Light [Tue, 15 Dec 2015 22:17:21 +0000 (22:17 +0000)]
Merge "Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class""

8 years agoRevert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"
Alex Light [Tue, 15 Dec 2015 22:15:26 +0000 (22:15 +0000)]
Revert "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"

This reverts commit 6286a97bea0f584342803a215550038852b24776.

Change-Id: I5b00f6d1350e9c587acd4b185367dc815ea707de

8 years agoMerge "Various induction/range analysis improvements."
Aart Bik [Tue, 15 Dec 2015 20:50:49 +0000 (20:50 +0000)]
Merge "Various induction/range analysis improvements."

8 years agoX86: Use locked add rather than mfence
Mark Mendell [Thu, 19 Nov 2015 19:08:40 +0000 (14:08 -0500)]
X86: Use locked add rather than mfence

Java semantics for memory ordering can be satisfied using
  lock addl $0,0(SP)
rather than mfence.  The locked add synchronizes the memory caches, but
doesn't affect device memory.

Timing on a micro benchmark with a mfence or lock add $0,0(sp) in a loop
with 600000000 iterations:
time ./mfence
real    0m5.411s
user    0m5.408s
sys     0m0.000s

time ./locked_add
real    0m3.552s
user    0m3.550s
sys     0m0.000s

Implement this as an instruction-set-feature lock_add.  This is off by
default (uses mfence), and enabled for atom & silvermont variants.
Generation of mfence can be forced by a parameter to MemoryFence.

Change-Id: I5cb4fded61f4cbbd7b7db42a1b6902e43e458911
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoVarious induction/range analysis improvements.
Aart Bik [Wed, 9 Dec 2015 22:39:48 +0000 (14:39 -0800)]
Various induction/range analysis improvements.

Rationale: this change list improves analysis of triangular loops
           both by changing loop order for induction analysis
           (enabling range analysis in inner loops) and by
           some symbolic improvements during range analysis;
           also, a mul/div bug has been fixed (with pass/fail
           unit tests); lastly this change list prepares some
           follow up optimizations.

Change-Id: I84a03e848405009541c3fa8e3d3c2f430e100087

8 years agoMerge "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"
Alex Light [Tue, 15 Dec 2015 18:11:08 +0000 (18:11 +0000)]
Merge "Combine direct_methods_ and virtual_methods_ fields of mirror::Class"

8 years agoMerge "Remove reference of deleted file."
Nicolas Geoffray [Tue, 15 Dec 2015 17:04:50 +0000 (17:04 +0000)]
Merge "Remove reference of deleted file."

8 years agoRemove reference of deleted file.
Nicolas Geoffray [Tue, 15 Dec 2015 17:04:05 +0000 (17:04 +0000)]
Remove reference of deleted file.

Change-Id: Ib6d03a8c57a746e738fc849deee800d28da82485

8 years agoAdd some dumping when SIGQUIT for the JIT.
Nicolas Geoffray [Tue, 15 Dec 2015 16:39:44 +0000 (16:39 +0000)]
Add some dumping when SIGQUIT for the JIT.

Change-Id: Iad68bdc8a4ab53e810feb3bc8507b7f42e79b1f7

8 years agoMerge "Remove test given its flakiness."
Nicolas Geoffray [Tue, 15 Dec 2015 16:45:34 +0000 (16:45 +0000)]
Merge "Remove test given its flakiness."

8 years agoRemove test given its flakiness.
Nicolas Geoffray [Tue, 15 Dec 2015 16:03:48 +0000 (16:03 +0000)]
Remove test given its flakiness.

Change-Id: I7b746bd93cfd3f7eca71f1a7b9dcc799d30dd971