OSDN Git Service

android-x86/art.git
7 years agoMerge "testrunner/env.py - Run from any directory"
Treehugger Robot [Mon, 10 Apr 2017 19:05:18 +0000 (19:05 +0000)]
Merge "testrunner/env.py - Run from any directory"

7 years agoMerge "Avoid JNI usage error when JNI_OnLoad throws"
Treehugger Robot [Mon, 10 Apr 2017 17:47:30 +0000 (17:47 +0000)]
Merge "Avoid JNI usage error when JNI_OnLoad throws"

7 years agotestrunner/env.py - Run from any directory
Igor Murashkin [Mon, 3 Apr 2017 21:33:22 +0000 (14:33 -0700)]
testrunner/env.py - Run from any directory

env.py will calculate ANDROID_BUILD_TOP relative to where its located,
if it wasn't already set.

This enables 'run_build_test_target' to successfully run even if
build/envsetup.sh was not run first.

(also rename env.py's members to have the private naming convention,
as they are not meant to be exposed to other modules)

Change-Id: I236c6005d56fa1a155c6eb104936e3e010a169de

7 years agoMerge "Fix dexdiag start end address"
David Sehr [Mon, 10 Apr 2017 16:02:32 +0000 (16:02 +0000)]
Merge "Fix dexdiag start end address"

7 years agoMerge changes from topic 'more_jvmti_run-test_refactor_java_side'
Treehugger Robot [Mon, 10 Apr 2017 15:55:39 +0000 (15:55 +0000)]
Merge changes from topic 'more_jvmti_run-test_refactor_java_side'

* changes:
  ART: More refactor for JVMTI run tests (3/3)
  ART: More refactor for JVMTI run tests (2/3)
  ART: More refactor for JVMTI run tests (1/3)
  ART: Add JVMTI test shim

7 years agoMerge "Change dump-classes profman option to dump-classes-and-methods"
Treehugger Robot [Sat, 8 Apr 2017 01:19:27 +0000 (01:19 +0000)]
Merge "Change dump-classes profman option to dump-classes-and-methods"

7 years agoMerge "Fixed missing context while detecting unit strides."
Treehugger Robot [Sat, 8 Apr 2017 00:46:55 +0000 (00:46 +0000)]
Merge "Fixed missing context while detecting unit strides."

7 years agoFix dexdiag start end address
David Sehr [Fri, 7 Apr 2017 23:56:46 +0000 (16:56 -0700)]
Fix dexdiag start end address

The end address was computed incorrectly due to a mix-up between pages
and addresses.

Bug: 35800981
Test: dexdiag -s `pid zygote`
Change-Id: I25d6c4b9a1e5395dc05b276111d9ec63c45951e0

7 years agoAvoid JNI usage error when JNI_OnLoad throws
Daniel Colascione [Fri, 24 Feb 2017 04:30:00 +0000 (20:30 -0800)]
Avoid JNI usage error when JNI_OnLoad throws

Test: included
Change-Id: I534de714fad2cfb9b53d66da11ade0e5142cb819

7 years agoMerge "Free unneeded obsolete maps"
Treehugger Robot [Fri, 7 Apr 2017 23:33:06 +0000 (23:33 +0000)]
Merge "Free unneeded obsolete maps"

7 years agoChange dump-classes profman option to dump-classes-and-methods
Mathieu Chartier [Thu, 6 Apr 2017 20:55:46 +0000 (13:55 -0700)]
Change dump-classes profman option to dump-classes-and-methods

The new option is called "--dump-classes-and-methods". This option
dumps methods and classes in the profile as a format that is valid
input for the "--create-profile-from" option.

The goal is to be able to store text based profiles that don't
depend on dex indices or checksums.

Test: mm test-art-host-gtest-profile_assistant_test -j40

Bug: 36457259
Bug: 34927277

(cherry picked from commit 09f6c36c0c5ac055bbb5e36991ab60156be1fb46)

Change-Id: I79c4bd8da5c0b4dc9c4c6daed538845792f52299

7 years agoFixed missing context while detecting unit strides.
Aart Bik [Fri, 7 Apr 2017 18:33:37 +0000 (11:33 -0700)]
Fixed missing context while detecting unit strides.

With regression test (found by fuzz testing).

Bug: 37033123
Test: test-art-target
Change-Id: Id738b2a3a353985c3d0bf3beeb581a31f1fcbc3f

7 years agoFree unneeded obsolete maps
Alex Light [Fri, 7 Apr 2017 17:38:06 +0000 (10:38 -0700)]
Free unneeded obsolete maps

In cases where there are no new obsolete methods we can get rid of the
obsolete maps arrays.

Bug: 31455788

Test: ./test.py --host -j40

Change-Id: I4a8cd96b4293439c6e67d9426011b92125cc7b03

7 years agoMerge "Update NativeBridge interface in ART test"
Treehugger Robot [Fri, 7 Apr 2017 21:46:14 +0000 (21:46 +0000)]
Merge "Update NativeBridge interface in ART test"

7 years agoART: More refactor for JVMTI run tests (3/3)
Andreas Gampe [Fri, 7 Apr 2017 16:36:06 +0000 (09:36 -0700)]
ART: More refactor for JVMTI run tests (3/3)

Add missing Main classes.

Bug: 32072923
Test: m test-art-host
Change-Id: I600dd5563e44604bd7b61c7d381f0a7d92db278a

7 years agoART: More refactor for JVMTI run tests (2/3)
Andreas Gampe [Fri, 7 Apr 2017 16:18:45 +0000 (09:18 -0700)]
ART: More refactor for JVMTI run tests (2/3)

Move refactored tests into their final places. Add a host java
library that includes those test files.

This is a follow-up to CL I740731c3af793521c5a859ef4a1f0ae94d2e1c19
and must be used together with it.

Bug: 32072923
Test: None
Change-Id: I20b6070eb6bdd4b7a0bf42046302bafa10eee54f

7 years agoART: More refactor for JVMTI run tests (1/3)
Andreas Gampe [Fri, 7 Apr 2017 16:00:04 +0000 (09:00 -0700)]
ART: More refactor for JVMTI run tests (1/3)

Put (most) tests into a new package and give them dedicated
class names (Test9XY).

NOTE: BROKEN WITHOUT A FOLLOW-UP CL TO CHANGE DIRECTORY STRUCTURE
      AND FILE NAMES!

Bug: 32072923
Test: None
Change-Id: I291b0543f7782914e446a74f0d9037020c88e5b5

7 years agoART: Add JVMTI test shim
Andreas Gampe [Fri, 7 Apr 2017 16:28:48 +0000 (09:28 -0700)]
ART: Add JVMTI test shim

Add shim to expose basic native binding methods.

Bug: 32072923
Test: m test-art-host
Change-Id: Ifcb9e3f66fce8002dd7d5ecb4de1729ab8939d0d

7 years agoMerge "MIPS64: Fix Math.ceil/floor intrinsics"
Treehugger Robot [Fri, 7 Apr 2017 15:01:50 +0000 (15:01 +0000)]
Merge "MIPS64: Fix Math.ceil/floor intrinsics"

7 years agoMerge "ARM64: Saves 128-bit regs state along SuspendCheckSlowPath."
Aart Bik [Fri, 7 Apr 2017 14:28:47 +0000 (14:28 +0000)]
Merge "ARM64: Saves 128-bit regs state along SuspendCheckSlowPath."

7 years agoMIPS64: Fix Math.ceil/floor intrinsics
Goran Jakovljevic [Fri, 7 Apr 2017 09:18:59 +0000 (11:18 +0200)]
MIPS64: Fix Math.ceil/floor intrinsics

The latest MIPS64R6 emulator supports NAN2008 standard. When
FCSR.NAN2008=1 (required from R6) ceil.l.d and floor.l.d instructions
will return -2^63 when the input value is smaller than -2^63. This
wasn't the case when FCSR.NAN2008=0. In that case, result from the
instructions was 2^63-1 when the input value was smaller than -2^63.

This fixes test 082-inline-execute.

Test: ./testrunner.py --target --optimizing --64 -j1 (in QEMU)

Change-Id: I3d2cdd1d55b3694549f88f4f5b903a0c4f1c0d09

7 years agoMerge "IWYU fixes for sigchainlib/sigchain.cc"
Treehugger Robot [Fri, 7 Apr 2017 01:01:26 +0000 (01:01 +0000)]
Merge "IWYU fixes for sigchainlib/sigchain.cc"

7 years agoMerge "ART: Report array and proxy classes in ClassLoad & ClassPrepare"
Treehugger Robot [Thu, 6 Apr 2017 21:59:45 +0000 (21:59 +0000)]
Merge "ART: Report array and proxy classes in ClassLoad & ClassPrepare"

7 years agoMerge "Force save profiles for SIGUSR1"
Mathieu Chartier [Thu, 6 Apr 2017 21:43:47 +0000 (21:43 +0000)]
Merge "Force save profiles for SIGUSR1"

7 years agoIWYU fixes for sigchainlib/sigchain.cc
Luis Hector Chavez [Thu, 6 Apr 2017 21:18:09 +0000 (14:18 -0700)]
IWYU fixes for sigchainlib/sigchain.cc

This change adds the necessary headers for std::initializer_list, errno,
and strerror.

Bug: None
Test: m
Change-Id: I9b97635f378a205604c75601cddd6f87883cdb4b

7 years agoMerge "Fixup JDWP for obsolete methods"
Treehugger Robot [Thu, 6 Apr 2017 20:50:25 +0000 (20:50 +0000)]
Merge "Fixup JDWP for obsolete methods"

7 years agoMerge "Fix a few comments in vectorization code that were incorrect or incomplete."
Treehugger Robot [Thu, 6 Apr 2017 18:53:56 +0000 (18:53 +0000)]
Merge "Fix a few comments in vectorization code that were incorrect or incomplete."

7 years agoART: Report array and proxy classes in ClassLoad & ClassPrepare
Andreas Gampe [Thu, 6 Apr 2017 15:03:32 +0000 (08:03 -0700)]
ART: Report array and proxy classes in ClassLoad & ClassPrepare

We need to report ClassLoad and ClassPrepare events when proxy
classes are created.

We also generate ClassLoad and ClassPrepare events to match the
VmObjectAlloc for arrays.

Bug: 31684920
Test: art/test.py --host -r -t 912
Change-Id: I66901a9d7ff8c1f60f075dfbdd3a28d00ab60bdc

7 years agoMerge "CHA: Don't return a non resolved class to the inliner."
Treehugger Robot [Thu, 6 Apr 2017 17:44:07 +0000 (17:44 +0000)]
Merge "CHA: Don't return a non resolved class to the inliner."

7 years agoFixup JDWP for obsolete methods
Alex Light [Thu, 6 Apr 2017 17:10:51 +0000 (10:10 -0700)]
Fixup JDWP for obsolete methods

We needed to implement some additional methods and behaviors in JDWP
in order to support JVMTI obsolete methods.

Test: Manual (using art/test/915-obsolete-2 & jdb debugger)
Test: Manual (using art/test/915-obsolete-2 & Android Studio/IntelliJ debugger)

Bug: 31455788

Change-Id: I20c2fa27a2dd002e37526b126f23ce552f19e623

7 years agoFix a few comments in vectorization code that were incorrect or incomplete.
Aart Bik [Thu, 6 Apr 2017 16:59:06 +0000 (09:59 -0700)]
Fix a few comments in vectorization code that were incorrect or incomplete.

Test: test-art-target
Change-Id: I7c6a5a2d29edd0b2782abc303d8d8cb09c1c2f91

7 years agoForce save profiles for SIGUSR1
Mathieu Chartier [Thu, 6 Apr 2017 00:23:54 +0000 (17:23 -0700)]
Force save profiles for SIGUSR1

Force save profiles from signal catcher for SIGUSR1. Saving the
profiles is expensive but we already do a GC which is also expensive
for this signal.

Test: adb shell ls -l /data/misc/profiles/cur/1000/system_server/
Test: adb shell kill -s SIGUSR1 `pid system_server`
Test: adb shell ls -l /data/misc/profiles/cur/1000/system_server/

Bug: 36457259
Bug: 34927277

(cherry picked from commit 8f23d97af3b10ae56fb16d63fd2932098dac45c0)

Change-Id: I810b66a7fe4b06efc7468d65ac737d74c5669abe

7 years agoARM64: Saves 128-bit regs state along SuspendCheckSlowPath.
Artem Serov [Tue, 4 Apr 2017 14:44:09 +0000 (15:44 +0100)]
ARM64: Saves 128-bit regs state along SuspendCheckSlowPath.

We need to save 128 bits of data (default ABI of ART runtime
only saves 64 bits). Note that this is *only* done for Q-registers
that are live, so overhead is not too big.

Test: test-art-target, test-art-host.
Change-Id: I1f018a708c316f9d426db13b2e3b3071aa4c999b

7 years agoMerge "Revert "Blacklist libcore tests relying on libjavacoretests.""
Nicolas Geoffray [Thu, 6 Apr 2017 15:11:17 +0000 (15:11 +0000)]
Merge "Revert "Blacklist libcore tests relying on libjavacoretests.""

7 years agoMerge "Testrunner: Fix output message"
Nicolas Geoffray [Thu, 6 Apr 2017 15:01:16 +0000 (15:01 +0000)]
Merge "Testrunner: Fix output message"

7 years agoMerge "Clean up after MIPS got read barriers support"
Treehugger Robot [Thu, 6 Apr 2017 11:42:56 +0000 (11:42 +0000)]
Merge "Clean up after MIPS got read barriers support"

7 years agoClean up after MIPS got read barriers support
Goran Jakovljevic [Wed, 5 Apr 2017 14:27:25 +0000 (16:27 +0200)]
Clean up after MIPS got read barriers support

This enables checker tests, as well as compiler_driver_test and
reflection_test for MIPS32 and MIPS64.

Test: mma test-art-host-gtest
Test: mma test-art-target-gtest in QEMU (MIPS64)
Test: ./testrunner.py --optimizing --target in QEMU (MIPS64)

Change-Id: Ic6fe5b17f7f2cd7e38e12fef25afccf9358b80e0

7 years agoMerge "Revert "Add dexdiag_test""
Treehugger Robot [Thu, 6 Apr 2017 07:05:37 +0000 (07:05 +0000)]
Merge "Revert "Add dexdiag_test""

7 years agoTestrunner: Fix output message
Goran Jakovljevic [Thu, 6 Apr 2017 05:47:59 +0000 (07:47 +0200)]
Testrunner: Fix output message

Test: ./testrunner.py --target -j1 --optimizing --timeout 1 -t 001

Change-Id: I5028b62ee333773dc2a6d2a0a374cef8d696e169

7 years agoRevert "Add dexdiag_test"
Andreas Gampe [Thu, 6 Apr 2017 05:37:08 +0000 (05:37 +0000)]
Revert "Add dexdiag_test"

Missing dependencies in test branches.

This reverts commit 146c3fac3a1e86b944d866e286551957c7513fd4.

Bug: 35800981
Change-Id: I6251b4b7132594a65f2f5faf48ed60eed96403af
Test: none

7 years agoMerge "Ensure environment is ready when populating loop."
Aart Bik [Thu, 6 Apr 2017 00:02:23 +0000 (00:02 +0000)]
Merge "Ensure environment is ready when populating loop."

7 years agoMerge "Check LocalInfo descriptor for nullptr in dexlayout."
Treehugger Robot [Wed, 5 Apr 2017 21:18:39 +0000 (21:18 +0000)]
Merge "Check LocalInfo descriptor for nullptr in dexlayout."

7 years agoMerge "Add dexdiag_test"
Treehugger Robot [Wed, 5 Apr 2017 20:41:10 +0000 (20:41 +0000)]
Merge "Add dexdiag_test"

7 years agoMerge "Implemented ABS vectorization."
Aart Bik [Wed, 5 Apr 2017 20:22:42 +0000 (20:22 +0000)]
Merge "Implemented ABS vectorization."

7 years agoCheck LocalInfo descriptor for nullptr in dexlayout.
Jeff Hao [Wed, 5 Apr 2017 16:29:43 +0000 (09:29 -0700)]
Check LocalInfo descriptor for nullptr in dexlayout.

Bug: 36966414
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: Iff289e4b877354d6ae7922a55ded961072aa0186

7 years agoMerge "Add test for kryo support."
Christopher Ferris [Wed, 5 Apr 2017 17:26:22 +0000 (17:26 +0000)]
Merge "Add test for kryo support."

7 years agoEnsure environment is ready when populating loop.
Aart Bik [Wed, 5 Apr 2017 17:03:15 +0000 (10:03 -0700)]
Ensure environment is ready when populating loop.

Rationale:
OSR requires the suspend check to already have an environment,
albeit just for testing irreducible loops. This CL fixes the
omission. Note, the error is spurious on OSR and writing a
unit or regression test for this is hard.

Test: test-art-host
Bug: 36950873
Change-Id: Ica89e18e10deb438dead79e2cc40dd00a60b529f

7 years agoImplemented ABS vectorization.
Aart Bik [Mon, 3 Apr 2017 21:35:41 +0000 (14:35 -0700)]
Implemented ABS vectorization.

Rationale:
This CL adds the concept of vectorizing intrinsics
to the ART vectorizer. More can follow (MIN, MAX, etc).

Test: test-art-host, test-art-target (angler)
Change-Id: Ieed8aa83ec64c1250ac0578570249cce338b5d36

7 years agoMerge "Sigchainlib: Add OWNERS file"
Treehugger Robot [Wed, 5 Apr 2017 16:11:51 +0000 (16:11 +0000)]
Merge "Sigchainlib: Add OWNERS file"

7 years agoAdd dexdiag_test
David Sehr [Tue, 4 Apr 2017 22:40:12 +0000 (15:40 -0700)]
Add dexdiag_test

Tests that dexdiag runs on the current process and returns with a
non-error status.

Bug: 35800981
Test: make test-art-target-gtest-dexdiag_test
Change-Id: I4254939307b035dfe2a83667ef6c853f710dde47

7 years agoSigchainlib: Add OWNERS file
Andreas Gampe [Wed, 5 Apr 2017 00:34:57 +0000 (17:34 -0700)]
Sigchainlib: Add OWNERS file

Test: m
Bug: 33166666
Change-Id: Ic4d695313e18adc31392cc1ab326a2ded0439d6d

7 years agoMerge "Ensure invoking obsolete methods throws errors."
Treehugger Robot [Tue, 4 Apr 2017 21:52:11 +0000 (21:52 +0000)]
Merge "Ensure invoking obsolete methods throws errors."

7 years agoMerge "ART: Fix preloaded dex cache expectations"
Treehugger Robot [Tue, 4 Apr 2017 18:54:04 +0000 (18:54 +0000)]
Merge "ART: Fix preloaded dex cache expectations"

7 years agoMerge "build: Add golem run_build_test_targets for go/ab"
Treehugger Robot [Tue, 4 Apr 2017 18:53:35 +0000 (18:53 +0000)]
Merge "build: Add golem run_build_test_targets for go/ab"

7 years agoEnsure invoking obsolete methods throws errors.
Alex Light [Mon, 3 Apr 2017 22:39:55 +0000 (15:39 -0700)]
Ensure invoking obsolete methods throws errors.

This sets the entrypoint for obsolete methods to a special stub that
will ensure that calling them results in an Error being thrown.
Previously we were allowing obsolete methods to be run if they could
reach the appropriate places in the runtime.

Getting into the state where this is possible is extremely difficult
since one can only get an jmethodID to an obsolete method by snatching
it off the stack (or by inspecting internal runtime data). From there
normally invoking it will do lookup on the receiver which will get you
the original version.

Bug: 36867251
Bug: 31455788

Test: ./test.py --host -j40
Test: (with aosp_marlin-userdebug device) ./test.py --target -j4

Change-Id: I2ca0503966a4e3de18dd89cb7ff224eba1459b49

7 years agoAdd test for kryo support.
Christopher Ferris [Wed, 29 Mar 2017 20:12:32 +0000 (13:12 -0700)]
Add test for kryo support.

Bug: 36728278

Test: Ran all art unit tests on host and against a sailfish set to use kryo.
Change-Id: If9a4c3d10b082610d38b28e77b6155e3f60a6f2b

7 years agoMerge "SIMD pcmpgtb,w,d,q for x86/x86_64"
Aart Bik [Tue, 4 Apr 2017 18:07:58 +0000 (18:07 +0000)]
Merge "SIMD pcmpgtb,w,d,q for x86/x86_64"
am: 7cd18fb5a7

Change-Id: I7e54ae1206be1dd8bc0f15b89a0567ca640cfabc

7 years agoMerge "SIMD pcmpgtb,w,d,q for x86/x86_64"
Treehugger Robot [Tue, 4 Apr 2017 17:59:09 +0000 (17:59 +0000)]
Merge "SIMD pcmpgtb,w,d,q for x86/x86_64"

7 years agoMerge "Add analyzer for dex memory map"
David Sehr [Tue, 4 Apr 2017 17:20:54 +0000 (17:20 +0000)]
Merge "Add analyzer for dex memory map"
am: 674bc3c984

Change-Id: Ica8f665892856bbf42cdb7b9ae425011fb374a3b

7 years agoMerge "Add analyzer for dex memory map"
Treehugger Robot [Tue, 4 Apr 2017 17:13:11 +0000 (17:13 +0000)]
Merge "Add analyzer for dex memory map"

7 years agoART: Fix preloaded dex cache expectations
Andreas Gampe [Tue, 4 Apr 2017 17:09:05 +0000 (10:09 -0700)]
ART: Fix preloaded dex cache expectations

In fallback mode, there may not be dex caches for all boot classpath
dex files - there is no guarantee that a class from every dex file
has been loaded.

Bug: 36033084
Test: m
Test: m test-art-host
Test: manual - fill the /data partition, reboot
Change-Id: I3752b48d9d61947959e8056bd01db0e323724d37

7 years agoSIMD pcmpgtb,w,d,q for x86/x86_64
Aart Bik [Mon, 3 Apr 2017 21:09:01 +0000 (14:09 -0700)]
SIMD pcmpgtb,w,d,q for x86/x86_64

Rationale:
Enables fast compare gt.

Test: assembler_x86[_64]_test
Change-Id: I0a069649480529f3fec2c2b100e2aaaa2cd79820

7 years agoAdd analyzer for dex memory map
David Sehr [Fri, 31 Mar 2017 00:50:24 +0000 (17:50 -0700)]
Add analyzer for dex memory map

Use libpagemap to process vdex pages that are resident in memory.
Walks over each vdex file mapping in a given pid, processing in one of
two ways.

Using the -s (summarize) option gives, e.g.:

MAPPING /system/framework/arm64/boot.vdex: 7e90133000-7e90641000
DEX classes.dex: 7e90133000-7e90608000
Section name                resident     total % of   % of
                               pages     pages sect.  total
Header                             0         0   0.00   0.00
AnnotationSetReferenceItem         0         0   0.00   0.00
StringId                           1        33   3.03   0.08
TypeId                             0         4   0.00   0.00
ProtoId                            1        21   4.76   0.08
FieldId                            0        25   0.00   0.00
MethodId                           2        69   2.90   0.16
ClassDef                           0        26   0.00   0.00
AnnotationSetItem                  0        13   0.00   0.00
CodeItem                           1       555   0.18   0.08
AnnotationsDirectoryItem           0        34   0.00   0.00
TypeList                           0        10   0.00   0.00
StringData                         2       174   1.15   0.16
DebugInfo                          0       175   0.00   0.00
AnnotationItem                     0        29   0.00   0.00
EncodedArrayItem                   0         3   0.00   0.00
ClassData                          0        59   0.00   0.00
GRAND TOTAL                        7      1230          0.57

Using the -v (verbose) option gives, e.g.:

MAPPING /system/framework/arm64/boot.vdex: 7e90133000-7e90641000
DEX classes.dex: 7e90133000-7e90608000
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
STTTTPPPPPPP.PPPPPPPPPPPPPPFFFFF
FFF.FFFF.F.F.FFFF...MMMMMMMMMMMM
MMMMMMMM.MM.....MMMMMMMMMMM..MMM
.M.MMM..MMMM.MMMMMMMMMMM.CCCCCCC
CCCCCCCCCCC.C.CCCCCC22.2........
.XX...XXX..XXXXXXX.............X
.XXXX......XXXXX..XXXX.XXXX..XXX
.............X..XX....X.XXXX....
..X....X...X..X..XXX.XXXXX.XXX.X
X.X.X..........X.X...........XXX
X...............................
.......X.....................XXX
..XX...XX.....X............XX.X.
.....XXXX......X.X..X...........
.XXXXXXX..XXXXXXXX..............
......XXXX...XX...XX..XXXX...X..
.......................X........
.......................X.XX..XX.
X...........X.X.X.X.............
X.....XXX..........XXXXX.XX.XX.X
XXXXX...........................
............X.................X.
X..............4....4...........
............4.tttttttttts...sss.
.ss.ss..s.ss.sssssss.sssssssssss
ssssssssssssssssssssssssssssssss
ssssssssssssssssssss.ss...ssss.s
ssssssssssssssssssssssssssssssss
ssssssssssssssssssssssssssssssss
sssssssss..DD.DD...DD...........
............D...................
................................
...................D.....DD.....
...........................D.D..
.D........................3...3.
......................EEE.c..ccc
.cc.ccc.c.c.....c.cc.ccc..c.....
.c...ccc.cc.ccc......

Where the letters indicate a page of a particular dex file section are
resident in memory and '.' indicates a page is not resident.

Bug: 35800981
Test: dexdiag <pid>
Change-Id: Ib4662fe499ad82d4f0baace2affab0d56f0890c9

7 years agoMerge "Allow -Xjitsaveprofilinginfo for system server"
Mathieu Chartier [Tue, 4 Apr 2017 03:20:05 +0000 (03:20 +0000)]
Merge "Allow -Xjitsaveprofilinginfo for system server"
am: 8682fce263

Change-Id: I01af28a95bb1722725131588ea2ecefa6bb4896d

7 years agoMerge "Allow -Xjitsaveprofilinginfo for system server"
Treehugger Robot [Tue, 4 Apr 2017 03:11:33 +0000 (03:11 +0000)]
Merge "Allow -Xjitsaveprofilinginfo for system server"

7 years agoAllow -Xjitsaveprofilinginfo for system server
Mathieu Chartier [Fri, 31 Mar 2017 21:49:09 +0000 (14:49 -0700)]
Allow -Xjitsaveprofilinginfo for system server

setenforce 0 is still required to prevent selinux violations.

Test: adb shell setprop dalvik.vm.extra-opts "'-Xusejit:false -Xint -Xjitsaveprofilinginfo'" && adb shell start

Bug: 34927277
Bug: 36457259

(cherry picked from commit 449f0589c8c8572e32c57befee089123e9eea1ba)

Change-Id: I644cefe8aebf9ff47dc736eda8143d2f6258c324

7 years agoMerge "Dump profile logs after the last save"
Calin Juravle [Tue, 4 Apr 2017 00:56:56 +0000 (00:56 +0000)]
Merge "Dump profile logs after the last save"
am: 25732aec3d

Change-Id: Ic88433c75e095974e672245d6aecc5ad311b5700

7 years agoMerge "Dump profile logs after the last save"
Calin Juravle [Tue, 4 Apr 2017 00:50:09 +0000 (00:50 +0000)]
Merge "Dump profile logs after the last save"

7 years agoMerge "Make base64 explicitly check dst_size for nullptr"
Alex Light [Mon, 3 Apr 2017 22:15:45 +0000 (22:15 +0000)]
Merge "Make base64 explicitly check dst_size for nullptr"
am: 1a5a1e5527

Change-Id: I0deeef9e5e45e7e788888df48e8547d18498579c

7 years agoMerge "Make base64 explicitly check dst_size for nullptr"
Treehugger Robot [Mon, 3 Apr 2017 22:09:26 +0000 (22:09 +0000)]
Merge "Make base64 explicitly check dst_size for nullptr"

7 years agoMerge "MIPS64: Add ldi.df MSA instruction"
Aart Bik [Mon, 3 Apr 2017 21:50:14 +0000 (21:50 +0000)]
Merge "MIPS64: Add ldi.df MSA instruction"
am: e2a2395609

Change-Id: Ie380252315099eb4b59eb9eb9e1e2ac6c2698ac2

7 years agoMerge "MIPS64: Add ldi.df MSA instruction"
Aart Bik [Mon, 3 Apr 2017 21:42:11 +0000 (21:42 +0000)]
Merge "MIPS64: Add ldi.df MSA instruction"

7 years agobuild: Add golem run_build_test_targets for go/ab
Igor Murashkin [Tue, 21 Mar 2017 18:36:09 +0000 (11:36 -0700)]
build: Add golem run_build_test_targets for go/ab

Adds following golem build targets:
 * art-golem-android-armv7
 * art-golem-android-armv8
 * art-golem-linux-armv7
 * art-golem-linux-armv8
 * art-golem-linux-ia32 (this is a host build)
 * art-golem-linux-x64  (this is a host build)

Call the art/tools/golem/build-target.sh with its corresponding target name as the
machine type, and it uses art-opt-cc for golem config type.

Ensures that we don't accidentally break the golem targets.

Also refactor the target_config.py to make it more clear
what's a make, run-test, or golem command.

Bug: 35766356
Change-Id: Id1a72e5eaed8b20d1d208cf0720b1cb45d48e74d

7 years agoCHA: Don't return a non resolved class to the inliner.
Nicolas Geoffray [Mon, 3 Apr 2017 15:55:16 +0000 (16:55 +0100)]
CHA: Don't return a non resolved class to the inliner.

This fixes a race with class loading that updates CHA info
before setting a class to resolved.

bug:36848868
Test: relocate-npatchoat
Change-Id: I662d63e60de4921a942c5a1fecfbff34b57928e4

7 years agoMerge "Add a cpplint preupload hook."
Alex Light [Mon, 3 Apr 2017 20:00:06 +0000 (20:00 +0000)]
Merge "Add a cpplint preupload hook."
am: 432fccc4c0

Change-Id: Ie3edcc46b0781d92e137dc7ceb0f13506aceb748

7 years agoMerge "Add a cpplint preupload hook."
Treehugger Robot [Mon, 3 Apr 2017 19:52:18 +0000 (19:52 +0000)]
Merge "Add a cpplint preupload hook."

7 years agoRevert "Blacklist libcore tests relying on libjavacoretests."
Nicolas Geoffray [Mon, 3 Apr 2017 19:19:21 +0000 (19:19 +0000)]
Revert "Blacklist libcore tests relying on libjavacoretests."

A workaround has been implemented.

bug:35417197

This reverts commit aa4ee8d2e5351a8a52272fa3d073c2c5675f189d.

Change-Id: Ib8b6c0bd279fb0052f49b1eb4565024e4c520f27

7 years agoMerge "ART: TI Agent test library refactor"
Andreas Gampe [Mon, 3 Apr 2017 17:56:59 +0000 (17:56 +0000)]
Merge "ART: TI Agent test library refactor"
am: 1927f66beb

Change-Id: Ie14195b4dcd9063af20acb21e0877a2222c8a277

7 years agoMerge "ART: TI Agent test library refactor"
Treehugger Robot [Mon, 3 Apr 2017 17:52:12 +0000 (17:52 +0000)]
Merge "ART: TI Agent test library refactor"

7 years agoAdd a cpplint preupload hook.
Alex Light [Fri, 31 Mar 2017 16:20:02 +0000 (09:20 -0700)]
Add a cpplint preupload hook.

This runs cpplint.py over modified .cc and .h files before uploading
them to gerrit. This generally takes ~1-2 seconds based on my testing
and the longest one I've been able to find was ~10 seconds.

Test: PREUPLOAD_COMMIT=d9911eeca ./tools/cpplint_presubmit.py
Test: PREUPLOAD_COMMIT=405284789 ./tools/cpplint_presubmit.py
Test: PREUPLOAD_COMMIT=9763f2eb7 ./tools/cpplint_presubmit.py
Test: Manual

Bug: 35810246
Bug: 36855589

Change-Id: Ie0ed9136bdde15d78f2aa40c73fef97e12d12dda

7 years agoMake base64 explicitly check dst_size for nullptr
Alex Light [Mon, 27 Mar 2017 17:15:27 +0000 (10:15 -0700)]
Make base64 explicitly check dst_size for nullptr

Also moved it out of utils.h and into common_runtime_test.h since it
is only used for tests.

Test: ./test.py --host -j40
Change-Id: Ib3c18cb510be833928482c0b2f47f9fb02933f7f

7 years agoMerge "ART vectorizer."
Aart Bik [Mon, 3 Apr 2017 17:12:27 +0000 (17:12 +0000)]
Merge "ART vectorizer."
am: 08ae45625d

Change-Id: I123a156aaf593762a0f21dde475ffb1d73929c20

7 years agoMerge "ART vectorizer."
Aart Bik [Mon, 3 Apr 2017 17:05:52 +0000 (17:05 +0000)]
Merge "ART vectorizer."

7 years agoMerge "Make GetSortedDexFileSections a utility"
David Sehr [Mon, 3 Apr 2017 16:44:26 +0000 (16:44 +0000)]
Merge "Make GetSortedDexFileSections a utility"
am: 2eaacede1e

Change-Id: Ida699a678f7edfab5778da4432d03eaf784b6d25

7 years agoMerge "Make GetSortedDexFileSections a utility"
Treehugger Robot [Mon, 3 Apr 2017 16:36:01 +0000 (16:36 +0000)]
Merge "Make GetSortedDexFileSections a utility"

7 years agoMerge "SIMD pavgb,w for x86/x86_64"
Aart Bik [Mon, 3 Apr 2017 16:05:52 +0000 (16:05 +0000)]
Merge "SIMD pavgb,w for x86/x86_64"
am: 0d9ec0535c

Change-Id: Idcda1302f7aa7da99f7ddf6c7480cae2a9eeb9b0

7 years agoMerge "SIMD pavgb,w for x86/x86_64"
Aart Bik [Mon, 3 Apr 2017 15:59:09 +0000 (15:59 +0000)]
Merge "SIMD pavgb,w for x86/x86_64"

7 years agoMerge "ARM64: Faster forwarding address check in mark entrypoints."
Vladimir Marko [Mon, 3 Apr 2017 12:28:41 +0000 (12:28 +0000)]
Merge "ARM64: Faster forwarding address check in mark entrypoints."
am: fcab6513b5

Change-Id: I4388e3939347c7b5c8269c58f10eae0e1ea143e3

7 years agoMerge "ARM64: Faster forwarding address check in mark entrypoints."
Vladimir Marko [Mon, 3 Apr 2017 12:21:33 +0000 (12:21 +0000)]
Merge "ARM64: Faster forwarding address check in mark entrypoints."

7 years agoMerge "Kill logd in buildbot-setup.sh."
Nicolas Geoffray [Mon, 3 Apr 2017 09:34:00 +0000 (09:34 +0000)]
Merge "Kill logd in buildbot-setup.sh."
am: 589e13337d

Change-Id: I1f80d00b49f51f3438b208b6201120820a3cdc55

7 years agoMerge "Kill logd in buildbot-setup.sh."
Nicolas Geoffray [Mon, 3 Apr 2017 09:26:57 +0000 (09:26 +0000)]
Merge "Kill logd in buildbot-setup.sh."

7 years agoMake GetSortedDexFileSections a utility
David Sehr [Fri, 31 Mar 2017 00:50:24 +0000 (17:50 -0700)]
Make GetSortedDexFileSections a utility

Make this method a utility in preparation for other users outside
dexlayout.

Bug: 35800981
Test: make -j 40 test-art-host
Change-Id: I054c1e1c82834a0c94be6b9ee63d1992fa9f52df

7 years agoKill logd in buildbot-setup.sh.
Nicolas Geoffray [Sun, 2 Apr 2017 20:03:33 +0000 (21:03 +0100)]
Kill logd in buildbot-setup.sh.

The daemon seems to leak on fugu with Android N.

Change-Id: I07202c0a6ce644e313c310e0592e3e0d58d158a0

7 years agoART: TI Agent test library refactor
Andreas Gampe [Fri, 31 Mar 2017 19:49:07 +0000 (12:49 -0700)]
ART: TI Agent test library refactor

More refactoring, lowering the reliance on ART-provided functionality
and adding a library that includes all the code that can run without
ART.

Bug: 32072923
Test: m test-art-host
Change-Id: I67d84056a6fd7722c58855fccbdea3f6869b2efb

7 years agoSIMD pavgb,w for x86/x86_64
Aart Bik [Fri, 31 Mar 2017 22:11:53 +0000 (15:11 -0700)]
SIMD pavgb,w for x86/x86_64

Rationale:
Break-out CL of ART Vectorizer.
Enables fast halving add with rounding

Bug: 34083438
Test: assembler_x86[_64]_test
Change-Id: I09173376b803d671a6b05a33e630f45f778cea52

7 years agoMerge "Clean up ArtClassDefinition"
Alex Light [Fri, 31 Mar 2017 21:55:37 +0000 (21:55 +0000)]
Merge "Clean up ArtClassDefinition"
am: 5b92c48f99

Change-Id: I6a993f84a133c1157364a106f8736b0a10623435

7 years agoMerge "Clean up ArtClassDefinition"
Alex Light [Fri, 31 Mar 2017 21:50:14 +0000 (21:50 +0000)]
Merge "Clean up ArtClassDefinition"

7 years agoART vectorizer.
Aart Bik [Mon, 6 Feb 2017 23:35:29 +0000 (15:35 -0800)]
ART vectorizer.

Rationale:
Make SIMD great again with a retargetable and easily extendable vectorizer.

Provides a full x86/x86_64 and a proof-of-concept ARM implementation. Sample
improvement (without any perf tuning yet) for Linpack on x86 is about 20% to 50%.

Test: test-art-host, test-art-target (angler)
Bug: 3408343830933338

Change-Id: Ifb77a0f25f690a87cd65bf3d5e9f6be7ea71d6c1

7 years agoMerge "Lower daemons priority to 124 (art)."
Hiroshi Yamauchi [Fri, 31 Mar 2017 17:43:55 +0000 (17:43 +0000)]
Merge "Lower daemons priority to 124 (art)."
am: 7298b1ae3e

Change-Id: I91eb1be02b879939a3b2c1bf7dac25fd7b8da0cf

7 years agoMerge "Lower daemons priority to 124 (art)."
Hiroshi Yamauchi [Fri, 31 Mar 2017 17:37:51 +0000 (17:37 +0000)]
Merge "Lower daemons priority to 124 (art)."