OSDN Git Service

android-x86/art.git
8 years agoART/Thumb2: Disassemble SBFX/UBFX.
Vladimir Marko [Wed, 10 Feb 2016 12:52:59 +0000 (12:52 +0000)]
ART/Thumb2: Disassemble SBFX/UBFX.

Change-Id: I856206de81f41959f68de0653db021903dd1a210

8 years agoMerge "Fix run test 572-checker-array-get-regression on 32-bit archs."
Roland Levillain [Wed, 10 Feb 2016 12:41:32 +0000 (12:41 +0000)]
Merge "Fix run test 572-checker-array-get-regression on 32-bit archs."

8 years agoFix run test 572-checker-array-get-regression on 32-bit archs.
Roland Levillain [Wed, 10 Feb 2016 12:33:29 +0000 (12:33 +0000)]
Fix run test 572-checker-array-get-regression on 32-bit archs.

HCurrentMethod instructions are typed as long on 64-bit
architectures, but as integer on 32-bit ones.

Bug: 26817006
Bug: 12687968
Change-Id: Icec2f0b0629c0af7a7afeabb0fd2881babb86368

8 years agoMerge "Fix ARM64 Baker's read barrier fast path for ArraySet."
Roland Levillain [Wed, 10 Feb 2016 11:51:54 +0000 (11:51 +0000)]
Merge "Fix ARM64 Baker's read barrier fast path for ArraySet."

8 years agoMerge "Try to substitute constructor chains for IPUTs."
Vladimir Marko [Wed, 10 Feb 2016 09:44:52 +0000 (09:44 +0000)]
Merge "Try to substitute constructor chains for IPUTs."

8 years agoMerge "Mterp: Fix and restore mac host build"
Bill Buzbee [Tue, 9 Feb 2016 21:29:52 +0000 (21:29 +0000)]
Merge "Mterp: Fix and restore mac host build"

8 years agoTry to substitute constructor chains for IPUTs.
Vladimir Marko [Thu, 4 Feb 2016 19:46:56 +0000 (19:46 +0000)]
Try to substitute constructor chains for IPUTs.

Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.

When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.

Change-Id: If93022310bf04fe38ee741665ac4a65d4c2bb25f

8 years agoMerge "ART: Give better error messages in dex-file verifier"
Andreas Gampe [Tue, 9 Feb 2016 18:54:02 +0000 (18:54 +0000)]
Merge "ART: Give better error messages in dex-file verifier"

8 years agoMerge "ARM: Add direct calls to math intrinsics"
Vladimir Marko [Tue, 9 Feb 2016 18:47:23 +0000 (18:47 +0000)]
Merge "ARM: Add direct calls to math intrinsics"

8 years agoART: Give better error messages in dex-file verifier
Andreas Gampe [Tue, 9 Feb 2016 17:21:04 +0000 (09:21 -0800)]
ART: Give better error messages in dex-file verifier

Try to decode field and method names when an access-flag violation
has been found. This is not guaranteed to work, if the file is
broken enough.

Bug: 27064244
Bug: 27070841
Change-Id: Ie913076462e958d4f21b481631bc874cf6f67c0d

8 years agoMerge "openjdkjvm: Don't leak the results of JVM_RawMonitorCreate."
Narayan Kamath [Tue, 9 Feb 2016 14:22:51 +0000 (14:22 +0000)]
Merge "openjdkjvm: Don't leak the results of JVM_RawMonitorCreate."

8 years agoopenjdkjvm: Don't leak the results of JVM_RawMonitorCreate.
Narayan Kamath [Tue, 9 Feb 2016 13:11:09 +0000 (13:11 +0000)]
openjdkjvm: Don't leak the results of JVM_RawMonitorCreate.

bug: 27050501

Change-Id: Ib0db3e5a1ec412de07455f09fe88b3102b347e46

8 years agoFix ARM64 Baker's read barrier fast path for ArraySet.
Roland Levillain [Tue, 9 Feb 2016 12:49:18 +0000 (12:49 +0000)]
Fix ARM64 Baker's read barrier fast path for ArraySet.

Do not exhaust the pool of scratch (temporary) registers
gratuitously when emitting an instrumented array load with a
large constant index.

Bug: 26817006
Bug: 12687968
Change-Id: I65a4fe676aa3c9e2c8d7e26195d9af6432c83ff9

8 years agoMerge "openjdkjvm: clean up verbose logging."
Narayan Kamath [Tue, 9 Feb 2016 11:34:26 +0000 (11:34 +0000)]
Merge "openjdkjvm: clean up verbose logging."

8 years agoopenjdkjvm: clean up verbose logging.
Narayan Kamath [Fri, 5 Feb 2016 14:58:02 +0000 (14:58 +0000)]
openjdkjvm: clean up verbose logging.

bug: 26994173
Change-Id: I4b55d68fa89737e25e9d7b10b335423b3ea4bef2

8 years agoMerge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"
Hiroshi Yamauchi [Tue, 9 Feb 2016 02:19:30 +0000 (02:19 +0000)]
Merge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"

8 years agoCheck pages are readable after mprotect for SEGV_ACCERR diagnosis
Hiroshi Yamauchi [Mon, 8 Feb 2016 22:18:21 +0000 (14:18 -0800)]
Check pages are readable after mprotect for SEGV_ACCERR diagnosis

We have a suspected mprotect issue where we see seg faults after pages
are mprotected with PROT_READ|PROT_WRITE with the SS collector on
host. This change attempts to see if earlier reads would cause faults
similarly.

Bug: 19894268

Change-Id: I041a663c6b55b747120915f73a0db5f566744ed8

8 years agoMerge "Default methods should not be found by getDeclaredMethod"
Alex Light [Mon, 8 Feb 2016 21:54:56 +0000 (21:54 +0000)]
Merge "Default methods should not be found by getDeclaredMethod"

8 years agoMerge "Revert "Make it possible to enable native debugging through debug flags""
Tamas Berghammer [Mon, 8 Feb 2016 20:26:26 +0000 (20:26 +0000)]
Merge "Revert "Make it possible to enable native debugging through debug flags""

8 years agoRevert "Make it possible to enable native debugging through debug flags"
Tamas Berghammer [Mon, 8 Feb 2016 20:21:54 +0000 (20:21 +0000)]
Revert "Make it possible to enable native debugging through debug flags"

The change causes issues in test-art-target-gtest-jni_internal_test32

This reverts commit c94a61f06ffc13288c67891048128c987b29bf33.

Change-Id: Iecfe3c6874d7b0dd59f10156fe2eb743ab7221dc

8 years agoDefault methods should not be found by getDeclaredMethod
Alex Light [Mon, 8 Feb 2016 18:30:04 +0000 (10:30 -0800)]
Default methods should not be found by getDeclaredMethod

We were incorrectly returning default methods from getDeclaredMethod
calls on an implementing class that uses the default implementation.

Bug: 27060609

Change-Id: I2e07023a11585e5f7cd92c4c0e1263f54aea1f5f

8 years agoMerge "Make it possible to enable native debugging through debug flags"
Tamas Berghammer [Mon, 8 Feb 2016 17:01:58 +0000 (17:01 +0000)]
Merge "Make it possible to enable native debugging through debug flags"

8 years agoMerge "Split elf_writer_debug.cc to several files."
David Srbecky [Mon, 8 Feb 2016 12:49:09 +0000 (12:49 +0000)]
Merge "Split elf_writer_debug.cc to several files."

8 years agoSplit elf_writer_debug.cc to several files.
David Srbecky [Fri, 5 Feb 2016 15:49:10 +0000 (15:49 +0000)]
Split elf_writer_debug.cc to several files.

Refactoring only. The file has grown significantly over time,
and it is time to split it so it can be better managed.

Change-Id: Idce0231718add722292f4701df353d5baf31de5f

8 years agoMerge "Move code related to debug info generation to its own directory."
David Srbecky [Mon, 8 Feb 2016 12:46:10 +0000 (12:46 +0000)]
Merge "Move code related to debug info generation to its own directory."

8 years agoMove code related to debug info generation to its own directory.
David Srbecky [Fri, 5 Feb 2016 13:34:46 +0000 (13:34 +0000)]
Move code related to debug info generation to its own directory.

debug/dwarf/ contains helper classes which hide the details
of the DWARF file format. It acts as independent DWARF library.

debug/ contains ART-specific code which generates ELF debug
sections (which includes non-DWARF sections like .symtab).

Change-Id: Id351f604e4e64be2ca395a78324ea02e30481497

8 years agoMake it possible to enable native debugging through debug flags
Tamas Berghammer [Fri, 5 Feb 2016 18:09:08 +0000 (18:09 +0000)]
Make it possible to enable native debugging through debug flags

* Add support for a new debug flag disabling the optimizations in
  the compiler and enable the generation of some additional debug
  info (--native-debuggable).
* Ignore the content of the oat files if force JIT is enabled so
  the runtime ignores the AOT-ed code what doesn't contain any
  debug info.

Time measurements on a Nexus 5 with running:
am start -n com.facebook.katana/com.facebook.katana.LoginActivity -W

Before change:             | AVG | DEV
--------------------------------------
ThisTime:  549 492 512 511 | 516 | 24
TotalTime: 549 492 512 511 | 516 | 24
WaitTime:  662 511 528 526 | 557 | 71

After change:              | AVG | DEV
--------------------------------------
ThisTime:  530 467 503 544 | 511 | 34
TotalTime: 530 467 503 544 | 511 | 34
WaitTime:  551 497 536 583 | 541 | 36

Based on the numbers the speed impact of the change is less then the
accuracy of the measurement and it is also negligible.

The minor speed improvement displayed in the measurements are just
the cause of the variance of the measurement and not caused by this
change.

Change-Id: Ia9022cbc1bbfcc072314b6c95f63a4bf8060c36c

8 years agoMterp: Fix and restore mac host build
Serguei Katkov [Thu, 28 Jan 2016 02:21:26 +0000 (08:21 +0600)]
Mterp: Fix and restore mac host build

The following issues are fixed:
 - Macro literal
 - macro args should be comma separated
 - no .type and .size for mac host build
 - globals are _ prefixed

Change-Id: I28ef9138d5db06a6917a66b401c629bf66fac193
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
8 years agoMerge "Disable osr while investigating flakiness."
Nicolas Geoffray [Sun, 7 Feb 2016 23:24:10 +0000 (23:24 +0000)]
Merge "Disable osr while investigating flakiness."

8 years agoDisable osr while investigating flakiness.
Nicolas Geoffray [Sun, 7 Feb 2016 13:13:33 +0000 (13:13 +0000)]
Disable osr while investigating flakiness.

org.apache.harmony.tests.java.util.TreeMapRndTest#testPutAll fails
in debug mode.

Change-Id: Idd15b25a236d4e5d3eb6d83ac0c038c1e10ee55a

8 years agoMerge "Newer kernels added SEGV_BNDERR."
Christopher Ferris [Sat, 6 Feb 2016 00:56:50 +0000 (00:56 +0000)]
Merge "Newer kernels added SEGV_BNDERR."

8 years agoMerge "ART: Curb lock-verification-failure spam"
Andreas Gampe [Sat, 6 Feb 2016 00:13:57 +0000 (00:13 +0000)]
Merge "ART: Curb lock-verification-failure spam"

8 years agoART: Curb lock-verification-failure spam
Andreas Gampe [Fri, 5 Feb 2016 04:52:54 +0000 (20:52 -0800)]
ART: Curb lock-verification-failure spam

Just print one message per class. Also print a helpful message once.

Bug: 26951356
Change-Id: I83702b67dc535d86e03835df7a72afda081c83be

8 years agoMerge "Point fixes after OSR change."
Nicolas Geoffray [Fri, 5 Feb 2016 23:34:43 +0000 (23:34 +0000)]
Merge "Point fixes after OSR change."

8 years agoPoint fixes after OSR change.
Nicolas Geoffray [Fri, 5 Feb 2016 23:32:25 +0000 (23:32 +0000)]
Point fixes after OSR change.

- ldr -> ldrb in osr stub for arm32
- disable 570-checker-osr for tracing
- don't osr proxy methods.

Change-Id: I9c713c9b7eab86ca9beb75f228fb3b76185621ef

8 years agoMerge "ART: Better InitWithoutImage error messages"
Andreas Gampe [Fri, 5 Feb 2016 23:06:51 +0000 (23:06 +0000)]
Merge "ART: Better InitWithoutImage error messages"

8 years agoART: Better InitWithoutImage error messages
Andreas Gampe [Fri, 5 Feb 2016 05:45:01 +0000 (21:45 -0800)]
ART: Better InitWithoutImage error messages

InitWithoutImage can easily fail when assumptions of the runtime
with respect to core classes are wrong. Give some more general
helpful messages.

Change-Id: Icedac9a0d6ad84b2d1dde9e30bf4fab2f48a3efd

8 years agoMerge "Use 8-byte increment bracket sizes for rosalloc thread local runs."
Hiroshi Yamauchi [Fri, 5 Feb 2016 22:35:25 +0000 (22:35 +0000)]
Merge "Use 8-byte increment bracket sizes for rosalloc thread local runs."

8 years agoMerge "Address missed amend"
Mathieu Chartier [Fri, 5 Feb 2016 22:17:12 +0000 (22:17 +0000)]
Merge "Address missed amend"

8 years agoAddress missed amend
Mathieu Chartier [Fri, 5 Feb 2016 21:47:06 +0000 (13:47 -0800)]
Address missed amend

Forgot to amend after addressing code review comments.

Bug: 26990650

(cherry picked from commit 3cfc2e4fb6c4735a145aa184db14d0bf33653e33)

Change-Id: Ic8483a50e0670cac1291385a82b7c5e4a313cd18

8 years agoUse 8-byte increment bracket sizes for rosalloc thread local runs.
Hiroshi Yamauchi [Tue, 2 Feb 2016 23:22:09 +0000 (15:22 -0800)]
Use 8-byte increment bracket sizes for rosalloc thread local runs.

Very small space savings (< 1%) after device boot and up to 10%
allocation speedup.

Some minor cleanup.

Bug: 9986565

Change-Id: I51d791c4674d6944fe9a7ee78537ac3490c1a02c

8 years agoMerge "Disable kDebugStackWalk"
Mathieu Chartier [Fri, 5 Feb 2016 20:05:00 +0000 (20:05 +0000)]
Merge "Disable kDebugStackWalk"

8 years agoDisable kDebugStackWalk
Mathieu Chartier [Fri, 5 Feb 2016 20:00:49 +0000 (12:00 -0800)]
Disable kDebugStackWalk

Someone left it enabled.

Bug: 27039049

Change-Id: I2bec610a3f20e1214dc34b4e06227609da2a2ab8

8 years agoMerge "Fix moving GC bugs in quick_field_entrypoints.cc"
Mathieu Chartier [Fri, 5 Feb 2016 20:01:12 +0000 (20:01 +0000)]
Merge "Fix moving GC bugs in quick_field_entrypoints.cc"

8 years agoFix moving GC bugs in quick_field_entrypoints.cc
Mathieu Chartier [Fri, 5 Feb 2016 02:13:32 +0000 (18:13 -0800)]
Fix moving GC bugs in quick_field_entrypoints.cc

There was some missing handles. Fixed style.

Bug: 26990650

(cherry picked from commit 1fd00287bedce99cd602aec00d421bddb7a9a107)

Change-Id: If7cb0de61e6b19004838e98345fdbc60ccdd5767

8 years agoMerge "Implemented compare/signum intrinsics as HCompare (with all code generation...
Aart Bik [Fri, 5 Feb 2016 18:43:54 +0000 (18:43 +0000)]
Merge "Implemented compare/signum intrinsics as HCompare (with all code generation for all)"

8 years agoMerge "Make test 971-iface-super smaller to prevent gcstress timeouts."
Alex Light [Fri, 5 Feb 2016 18:02:11 +0000 (18:02 +0000)]
Merge "Make test 971-iface-super smaller to prevent gcstress timeouts."

8 years agoImplemented compare/signum intrinsics as HCompare
Aart Bik [Tue, 2 Feb 2016 02:57:58 +0000 (18:57 -0800)]
Implemented compare/signum intrinsics as HCompare
(with all code generation for all)

Rationale:
At HIR level, many more optimizations are possible, while ultimately
generated code can take advantage of full semantics.

Change-Id: I6e2ee0311784e5e336847346f7f3c4faef4fd17e

8 years agoMerge "Revert "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64."""
Nicolas Geoffray [Fri, 5 Feb 2016 17:25:17 +0000 (17:25 +0000)]
Merge "Revert "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64."""

8 years agoRevert "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64.""
Nicolas Geoffray [Fri, 5 Feb 2016 16:51:53 +0000 (16:51 +0000)]
Revert "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64.""

This reverts commit bd89a5c556324062b7d841843b039392e84cfaf4.

Change-Id: I08d190431520baa7fcec8fbdb444519f25ac8d44

8 years agoMerge "Extend De Morgan factorisation to `HBooleanNot`."
David Brazdil [Fri, 5 Feb 2016 16:07:44 +0000 (16:07 +0000)]
Merge "Extend De Morgan factorisation to `HBooleanNot`."

8 years agoMerge "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64.""
David Brazdil [Fri, 5 Feb 2016 15:47:16 +0000 (15:47 +0000)]
Merge "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64.""

8 years agoRevert "Implement on-stack replacement for arm/arm64/x86/x86_64."
David Brazdil [Fri, 5 Feb 2016 15:46:42 +0000 (15:46 +0000)]
Revert "Implement on-stack replacement for arm/arm64/x86/x86_64."

DCHECK whether loop headers are covered fails.

This reverts commit 891bc286963892ed96134ca1adb7822737af9710.

Change-Id: I0f9a90630b014b16d20ba1dfba31ce63e6648021

8 years agoMerge "Implement on-stack replacement for arm/arm64/x86/x86_64."
Nicolas Geoffray [Fri, 5 Feb 2016 14:39:18 +0000 (14:39 +0000)]
Merge "Implement on-stack replacement for arm/arm64/x86/x86_64."

8 years agoMerge "Support CMOV for x86_64 Select"
David Brazdil [Fri, 5 Feb 2016 14:26:53 +0000 (14:26 +0000)]
Merge "Support CMOV for x86_64 Select"

8 years agoExtend De Morgan factorisation to `HBooleanNot`.
Alexandre Rames [Fri, 5 Feb 2016 14:00:28 +0000 (14:00 +0000)]
Extend De Morgan factorisation to `HBooleanNot`.

Change-Id: I81aa92277fa136d675e7ef01be8e4acdbd3d3b7c

8 years agoMerge "Do not emit DWARF debug info if there are no methods."
David Srbecky [Fri, 5 Feb 2016 13:47:49 +0000 (13:47 +0000)]
Merge "Do not emit DWARF debug info if there are no methods."

8 years agoMerge "Add some more tests to those breaking since move to OpenJDK"
Paul Duffin [Fri, 5 Feb 2016 13:39:20 +0000 (13:39 +0000)]
Merge "Add some more tests to those breaking since move to OpenJDK"

8 years agoMerge "Revert "Disable test for now.""
Nicolas Geoffray [Fri, 5 Feb 2016 13:19:37 +0000 (13:19 +0000)]
Merge "Revert "Disable test for now.""

8 years agoRevert "Disable test for now."
Nicolas Geoffray [Fri, 5 Feb 2016 13:19:23 +0000 (13:19 +0000)]
Revert "Disable test for now."

This reverts commit 0a57b45f83d6aa8876e6e91d0e5b3f62a1690d3f.

Change-Id: I8348fdaa62cc86e3b03466844715397f6601b7c8

8 years agoMerge "Revert "Revert "X86: Use the constant area for more operations."""
David Brazdil [Fri, 5 Feb 2016 13:12:24 +0000 (13:12 +0000)]
Merge "Revert "Revert "X86: Use the constant area for more operations."""

8 years agoDo not emit DWARF debug info if there are no methods.
David Srbecky [Fri, 5 Feb 2016 11:42:23 +0000 (11:42 +0000)]
Do not emit DWARF debug info if there are no methods.

Change-Id: I43406e54b454dbac45980d5c5edd90cd5593b9fd

8 years agoAdd some more tests to those breaking since move to OpenJDK
Paul Duffin [Fri, 5 Feb 2016 11:46:26 +0000 (11:46 +0000)]
Add some more tests to those breaking since move to OpenJDK

Adds the names of some new failing tests that were created by
splitting out parts of the SimpleDateFormatTest method
test_parseLjava_lang_StringLjava_text_ParsePosition into their
own methods. That was done to highlight those failures that were
previously hidden by an earlier failure in the method.

Bug: 25998255
Change-Id: If3bde4fa4c8ae4b39fd89e18e8fd6a9a2ab739ba

8 years agoImplement on-stack replacement for arm/arm64/x86/x86_64.
Nicolas Geoffray [Fri, 29 Jan 2016 12:40:13 +0000 (12:40 +0000)]
Implement on-stack replacement for arm/arm64/x86/x86_64.

High-level overview:
- osr_method_threshold is used to know when to compile a method
  in osr mode (-> treat all loops as irreducible).
- branch instructions in the compiler query whether they can
  jump to an osr method.
- An osr entry point is found through the stack maps: if a stack
  map is duplicated in the CodeInfo, it is an osr entry point.

Change-Id: Ifb39338cd281e2c7eccce67f4e18d46428be71e4

8 years agoMerge changes I514f1db3,I7dc1c7c0
David Srbecky [Fri, 5 Feb 2016 11:33:47 +0000 (11:33 +0000)]
Merge changes I514f1db3,I7dc1c7c0

* changes:
  Generate mini-debug-info on separate thread.
  Change the method which generates DWARF mini-debug-info.

8 years agoGenerate mini-debug-info on separate thread.
David Srbecky [Fri, 22 Jan 2016 19:19:25 +0000 (19:19 +0000)]
Generate mini-debug-info on separate thread.

The generation and compression of mini-debug-info is a lot of work.
However, we can do it on background thread when the main thread is
busy with .rodata and .text related I/O.

Change-Id: I514f1db3cb50aa250639f3ef697faa9bc9976d12

8 years agoChange the method which generates DWARF mini-debug-info.
David Srbecky [Fri, 5 Feb 2016 09:40:10 +0000 (09:40 +0000)]
Change the method which generates DWARF mini-debug-info.

This splits some code from CL198651. It moves the WriteSection
call out one level and does not otherwise change behaviour.

Change-Id: I7dc1c7c08b577b50bf6fa366a9b0ca757048b81e

8 years agoMerge "ART: Avoid uninitialized padding in LinkerPatch."
Vladimir Marko [Fri, 5 Feb 2016 09:57:59 +0000 (09:57 +0000)]
Merge "ART: Avoid uninitialized padding in LinkerPatch."

8 years agoMerge "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""
Nicolas Geoffray [Fri, 5 Feb 2016 09:24:32 +0000 (09:24 +0000)]
Merge "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""

8 years agoRevert "ART: Enable Jit Profiling in Mterp for arm/arm64"
Nicolas Geoffray [Fri, 5 Feb 2016 09:24:02 +0000 (09:24 +0000)]
Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"

Not super happy to revert this, but unfortunately, too many problems when testing:

arm: tests timeout when running run-tests with the interpreter.

arm64 failures:
test-art-target-run-test-ndebug-prebuild-jit-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-003-omnibus-opcodes64
test-art-target-run-test-ndebug-prebuild-jit-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-005-annotations64
test-art-target-run-test-ndebug-prebuild-jit-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-064-field-access64
test-art-target-run-test-ndebug-prebuild-jit-relocate-ntrace-cms-checkjni-image-npictest-ndebuggable-406-fields64

  org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testBreakpoint_BeforeException
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldAccess
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldModification
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExit
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExitWithReturnValue
org.apache.harmony.jpda.tests.jdwp.Events.FieldAccessTest#testFieldAccessEvent
org.apache.harmony.jpda.tests.jdwp.Events.FieldModification002Test#testFieldModifyEvent
org.apache.harmony.jpda.tests.jdwp.Events.FieldModificationTest#testFieldModifyEvent
org.apache.harmony.jpda.tests.jdwp.Events.MethodExitWithReturnValueTest#testMethodExitWithReturnValueException

This reverts commit a0a16105423459287497a98129dcba2828ccd7f0.

Change-Id: I8ff0512265ed0a422be67e7410998ad02639509c

8 years agoMerge "Disable test for now."
Nicolas Geoffray [Fri, 5 Feb 2016 08:50:23 +0000 (08:50 +0000)]
Merge "Disable test for now."

8 years agoDisable test for now.
Nicolas Geoffray [Fri, 5 Feb 2016 08:46:27 +0000 (08:46 +0000)]
Disable test for now.

Change-Id: I03af3ee1627d6eade46d8bd74ac9eb60245d66fc

8 years agoMerge "Use GC critical section for adding and removing app images"
Mathieu Chartier [Fri, 5 Feb 2016 00:25:39 +0000 (00:25 +0000)]
Merge "Use GC critical section for adding and removing app images"

8 years agoUse GC critical section for adding and removing app images
Mathieu Chartier [Thu, 4 Feb 2016 21:31:46 +0000 (13:31 -0800)]
Use GC critical section for adding and removing app images

A SuspendAll was not sufficient since there are points during the GC
when the mutator lock can be temporarily released. This was causing
at least some assert failures in CC such as attempting to clear
black read barrier pointers on app image objects with white read
barrier pointers.

Bug: 26979834
Bug: 26970811
Bug: 26786304
Bug: 22858531

Change-Id: I375fc05e787e629c40de6f345802447c02601ff0

8 years agoMerge "runtime: Cleanup comments for kAccSkipAccessChecks"
Igor Murashkin [Thu, 4 Feb 2016 23:30:13 +0000 (23:30 +0000)]
Merge "runtime: Cleanup comments for kAccSkipAccessChecks"

8 years agoMerge "ART: Enable Jit Profiling in Mterp for arm/arm64"
Bill Buzbee [Thu, 4 Feb 2016 22:12:43 +0000 (22:12 +0000)]
Merge "ART: Enable Jit Profiling in Mterp for arm/arm64"

8 years agoNewer kernels added SEGV_BNDERR.
Christopher Ferris [Thu, 4 Feb 2016 22:06:34 +0000 (14:06 -0800)]
Newer kernels added SEGV_BNDERR.

Bug: 23789423
Change-Id: Ia2a9b0504546456c0da5dd20ae040b6df0977cbe

8 years agoART: Avoid uninitialized padding in LinkerPatch.
Vladimir Marko [Thu, 4 Feb 2016 20:01:32 +0000 (20:01 +0000)]
ART: Avoid uninitialized padding in LinkerPatch.

Bug: 26956807
Change-Id: I0cb54a4443109de9bc95728d96bd1f80810e68a3

8 years agoMerge "madvise away app image dex cache arrays"
Mathieu Chartier [Thu, 4 Feb 2016 19:56:56 +0000 (19:56 +0000)]
Merge "madvise away app image dex cache arrays"

8 years agoMerge "Use correct requested alloc space begin for CC"
Mathieu Chartier [Thu, 4 Feb 2016 19:18:20 +0000 (19:18 +0000)]
Merge "Use correct requested alloc space begin for CC"

8 years agomadvise away app image dex cache arrays
Mathieu Chartier [Thu, 4 Feb 2016 00:40:20 +0000 (16:40 -0800)]
madvise away app image dex cache arrays

This saves ram and PSS by reducing the number of mapped pages. Also
PROT_NONE the dex cache arrays section to make accesses fault.

virtual                     shared   shared  private  private
size      RSS      PSS    clean    dirty    clean    dirty     swap
-------- -------- -------- -------- -------- -------- -------- --------
Before:
/data/app/com.facebook.katana-2/oat/arm/base.art
52484    52144    43522    17244        0        0    34900        0
/data/app/com.google.android.apps.maps-2/oat/arm/base.art
 6876     6816     6816        0        0     2008     4808        0

After:
/data/app/com.facebook.katana-2/oat/arm/base.art
52484    49204    42032    14344        0        0    34860        0
/data/app/com.google.android.apps.maps-2/oat/arm/base.art
 6876     6388     6388        0        0     1584     4804        0

Bug: 22858531

Change-Id: I87888a7c1518a92736dbd29eed338e7472ae3587

8 years agoMerge "Don't use native bridge for non zygote-spawn processes"
Calin Juravle [Thu, 4 Feb 2016 19:14:40 +0000 (19:14 +0000)]
Merge "Don't use native bridge for non zygote-spawn processes"

8 years agoDon't use native bridge for non zygote-spawn processes
Calin Juravle [Thu, 4 Feb 2016 19:07:51 +0000 (19:07 +0000)]
Don't use native bridge for non zygote-spawn processes

... unless we force it for testing purposes.

Bug: 26954924
Change-Id: Ib4660a35175abb479d0399e18b6194eb04dbc248

8 years agoruntime: Cleanup comments for kAccSkipAccessChecks
Igor Murashkin [Thu, 4 Feb 2016 19:01:21 +0000 (11:01 -0800)]
runtime: Cleanup comments for kAccSkipAccessChecks

Bug: 22414682
Change-Id: I5a19cba0fb1d6b55639c173582d547f85bc26779

8 years agoRevert "Revert "X86: Use the constant area for more operations.""
Mark P Mendell [Mon, 25 Jan 2016 14:47:50 +0000 (14:47 +0000)]
Revert "Revert "X86: Use the constant area for more operations.""

This reverts commit cf8d1bb97e193e02b430d707d3b669565fababb4.

Handle the case of an intrinsic where CurrentMethod is still an input.
This will be the case when there are unresolved classes in the
hierarchy.

Add a test case to confirm that we don't crash when handling Math.abs,
which wants to add a pointer to the constant area for the bitmask to be
used to remove the sign bit.

Enhance 565-checker-condition-liveness to check for the case of deeply
nested EmitAtUseSite chains.

Change-Id: I022e8b96a32f5bf464331d0c318c56b9d0ac3c9a

8 years agoMerge "Ignore ZipFileTest#testZipFileWithLotsOfEntries failures with CC on N5."
Roland Levillain [Thu, 4 Feb 2016 17:59:08 +0000 (17:59 +0000)]
Merge "Ignore ZipFileTest#testZipFileWithLotsOfEntries failures with CC on N5."

8 years agoMake test 971-iface-super smaller to prevent gcstress timeouts.
Alex Light [Wed, 3 Feb 2016 20:14:32 +0000 (12:14 -0800)]
Make test 971-iface-super smaller to prevent gcstress timeouts.

Change-Id: I0c0c5eb58936335c48e15cb7e899ab3a7ddbc00f

8 years agoMerge "Ignore DeflaterOutputStreamTest#testSyncFlushEnabled failures with CC."
Roland Levillain [Thu, 4 Feb 2016 17:57:48 +0000 (17:57 +0000)]
Merge "Ignore DeflaterOutputStreamTest#testSyncFlushEnabled failures with CC."

8 years agoIgnore ZipFileTest#testZipFileWithLotsOfEntries failures with CC on N5.
Roland Levillain [Thu, 4 Feb 2016 17:51:13 +0000 (17:51 +0000)]
Ignore ZipFileTest#testZipFileWithLotsOfEntries failures with CC on N5.

This test sometimes fails with a
java.util.concurrent.TimeoutException on ART Builbot's
hammerhead concurrent collector configuration:
* libcore.java.util.zip.ZipFileTest#testZipFileWithLotsOfEntries

Disable it while we investigate.

Bug: 26711853
Change-Id: I22d2c1f7ae6fc447045dfa0f7075b10e5b2094ae

8 years agoUse correct requested alloc space begin for CC
Mathieu Chartier [Thu, 4 Feb 2016 17:50:22 +0000 (09:50 -0800)]
Use correct requested alloc space begin for CC

Now we restore the original value instead of setting to null.

Bug: 26970047
Change-Id: I94d546c3a69ddf11805990a1003707bf55013328

8 years agoIgnore DeflaterOutputStreamTest#testSyncFlushEnabled failures with CC.
Roland Levillain [Thu, 4 Feb 2016 17:29:22 +0000 (17:29 +0000)]
Ignore DeflaterOutputStreamTest#testSyncFlushEnabled failures with CC.

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

Disable it while we investigate.

Bug: 26507762
Change-Id: I4f026c20a555f985a17bf785606cae53f3f804d3

8 years agoARM: Add direct calls to math intrinsics
Anton Kirilov [Thu, 4 Feb 2016 14:59:04 +0000 (14:59 +0000)]
ARM: Add direct calls to math intrinsics

This change mirrors the work that has already been done for x86 and
x86_64. The following functions are affected: cos, sin, acos, asin,
atan, atan2, cbrt, cosh, exp, expm1, hypot, log, log10, nextafter,
sinh, tan, tanh.

Change-Id: I476348271a4cfc2579d1ea00ba4a80430f81f0fe

8 years agoMerge "Fixed bug on premature DCHECK. With fail-before/pass-after test"
Aart Bik [Thu, 4 Feb 2016 16:59:17 +0000 (16:59 +0000)]
Merge "Fixed bug on premature DCHECK. With fail-before/pass-after test"

8 years agoSupport CMOV for x86_64 Select
Mark Mendell [Mon, 1 Feb 2016 15:08:35 +0000 (10:08 -0500)]
Support CMOV for x86_64 Select

If possible, generate CMOV to implement HSelect.  Tricky cases are
an FP condition (no single CC generated), FP inputs (no FP CMOV)
and when the condition is a boolean or not emitted at the use site.
In these cases, keep using the existing HSelect code.

Added Load32BitValue for int and FP and used that to remove code
duplication. Added minimal checker test for int/long CMOV generation.

Change-Id: Id71e515f0afa5a30f53c5de3a5244de1ea429aae
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
8 years agoMerge "Re-enable some MIPS/MIPS64 run-tests"
Roland Levillain [Thu, 4 Feb 2016 16:44:57 +0000 (16:44 +0000)]
Merge "Re-enable some MIPS/MIPS64 run-tests"

8 years agoART: Enable Jit Profiling in Mterp for arm/arm64
buzbee [Wed, 3 Feb 2016 23:23:56 +0000 (15:23 -0800)]
ART: Enable Jit Profiling in Mterp for arm/arm64

Adds the hooks for branch profiling to arm and arm64.  The
other Jit profiling modes are handled in common code.

Stubbed out support for on-stack replacement.

Change-Id: Ic298a81139108c3d7f1325b59d97e14a9de08de6

8 years agoMerge "Test 565-checker-doublenegbitwise applies to all architectures."
Roland Levillain [Thu, 4 Feb 2016 14:36:46 +0000 (14:36 +0000)]
Merge "Test 565-checker-doublenegbitwise applies to all architectures."

8 years agoRe-enable some MIPS/MIPS64 run-tests
Goran Jakovljevic [Thu, 4 Feb 2016 14:18:41 +0000 (15:18 +0100)]
Re-enable some MIPS/MIPS64 run-tests

These tests are passing now on MIPS/MIPS64:
- 441-checker-inliner
- 536-checker-intrinsic-optimization
- 557-checker-instruction-simplifier-ror

Change-Id: I57b82f8ec1e774e8e0a16ba289e50aa4a764b96b

8 years agoMerge "Reduce the size of native debug info generated by JIT."
David Srbecky [Thu, 4 Feb 2016 13:17:41 +0000 (13:17 +0000)]
Merge "Reduce the size of native debug info generated by JIT."

8 years agoReduce the size of native debug info generated by JIT.
David Srbecky [Thu, 28 Jan 2016 20:01:28 +0000 (20:01 +0000)]
Reduce the size of native debug info generated by JIT.

Remove some ELF file overheads:
 - Do not produce program headers.
 - Do not page align strtab.
 - Do not write oat_patches sections.

This more than halves the size of JIT native debug info.
Since we generate many small entries, the overheads added up.

Change-Id: I27d95548c61e2e38c3683d6f5eb870a2db6e812d