OSDN Git Service

android-x86/art.git
7 years agoMerge "Use handles for GetReferringObjects"
Mathieu Chartier [Thu, 13 Oct 2016 02:40:25 +0000 (02:40 +0000)]
Merge "Use handles for GetReferringObjects"
am: 000432d9a4

Change-Id: I1d778b91f0964b562e06d9e898dcb68e8dedb3fc

7 years agoMerge "Use handles for GetReferringObjects"
Mathieu Chartier [Thu, 13 Oct 2016 02:30:43 +0000 (02:30 +0000)]
Merge "Use handles for GetReferringObjects"

7 years agoUse handles for GetReferringObjects
Mathieu Chartier [Thu, 13 Oct 2016 02:19:56 +0000 (19:19 -0700)]
Use handles for GetReferringObjects

Required since VisitObjects may cause thread suspension. Fixes
failing jdwp tests.

Test: test-art-host
Test: art/tools/run-jdwp-tests.sh '--mode=host' '--variant=X32' --debug

Bug: 31113334
Change-Id: Ic11780b3778c83e7812bc90c0723a293537f376c

7 years agoMerge "Fix moving GC bug in cloning finalizable objects"
Mathieu Chartier [Thu, 13 Oct 2016 01:40:50 +0000 (01:40 +0000)]
Merge "Fix moving GC bug in cloning finalizable objects"
am: a9daa3a269

Change-Id: Ie20377da6944a47e54e61b9074263ad683425d97

7 years agoMerge "Fix moving GC bug in cloning finalizable objects"
Mathieu Chartier [Thu, 13 Oct 2016 01:31:19 +0000 (01:31 +0000)]
Merge "Fix moving GC bug in cloning finalizable objects"

7 years agoMerge "Move registration into android package"
Colin Cross [Thu, 13 Oct 2016 00:12:48 +0000 (00:12 +0000)]
Merge "Move registration into android package"
am: 834a448aa9

Change-Id: I173db22be57f95a9ad905009da3ae615f7b359bb

7 years agoMove registration into android package
Colin Cross [Thu, 13 Oct 2016 00:12:45 +0000 (00:12 +0000)]
Move registration into android package
am: 96548c9ee0

Change-Id: Ief5f68fdd913be2c5209a1da9a60ecb195198a44

7 years agoFix moving GC bug in cloning finalizable objects
Mathieu Chartier [Wed, 12 Oct 2016 23:08:35 +0000 (16:08 -0700)]
Fix moving GC bug in cloning finalizable objects

It is not safe to have thread suspension in the PreFenceVisitor. The fix is
to add the finalizer reference in the caller.

Test: art/tools/run-libcore-tests.sh '--mode=host' '--variant=X32' --debug

Bug: 31113334

Change-Id: I1e4650f8b75408a3d07e2c51ac334ff98552cfb5

7 years agoMerge "Move registration into android package"
Colin Cross [Thu, 13 Oct 2016 00:02:33 +0000 (00:02 +0000)]
Merge "Move registration into android package"

7 years agoMerge "Replace StackHandleScopeCollection with VariableSizedHandleScope"
Mathieu Chartier [Wed, 12 Oct 2016 23:52:15 +0000 (23:52 +0000)]
Merge "Replace StackHandleScopeCollection with VariableSizedHandleScope"
am: 480ddd6f58

Change-Id: I76a21e5737f9a1f27cdd052f92142befa3ce1848

7 years agoMerge "Replace StackHandleScopeCollection with VariableSizedHandleScope"
Mathieu Chartier [Wed, 12 Oct 2016 23:47:10 +0000 (23:47 +0000)]
Merge "Replace StackHandleScopeCollection with VariableSizedHandleScope"

7 years agoMerge "Add handle wrapper to allocation listener"
Mathieu Chartier [Wed, 12 Oct 2016 23:04:53 +0000 (23:04 +0000)]
Merge "Add handle wrapper to allocation listener"
am: c2f1fc70db

Change-Id: I6d1dd11cc78df41c40324c280757f66a0ac55c2d

7 years agoMerge "Recognize XOR-based periodic induction."
Aart Bik [Wed, 12 Oct 2016 23:04:39 +0000 (23:04 +0000)]
Merge "Recognize XOR-based periodic induction."
am: 023161ec66

Change-Id: Ib3779df3c48d6757b6e53e2c5e12eb0c6e8ca176

7 years agoMerge "Add handle wrapper to allocation listener"
Mathieu Chartier [Wed, 12 Oct 2016 23:00:51 +0000 (23:00 +0000)]
Merge "Add handle wrapper to allocation listener"

7 years agoMerge "ART: Fix typo"
Andreas Gampe [Wed, 12 Oct 2016 22:57:41 +0000 (22:57 +0000)]
Merge "ART: Fix typo"
am: b38187c7a9

Change-Id: I8ffbcd3acaec9fdca83fae9256b9c5a1061931a6

7 years agoMerge "Recognize XOR-based periodic induction."
Treehugger Robot [Wed, 12 Oct 2016 22:57:20 +0000 (22:57 +0000)]
Merge "Recognize XOR-based periodic induction."

7 years agoMerge "ART: Fix typo"
Treehugger Robot [Wed, 12 Oct 2016 22:47:18 +0000 (22:47 +0000)]
Merge "ART: Fix typo"

7 years agoAdd handle wrapper to allocation listener
Mathieu Chartier [Wed, 12 Oct 2016 22:45:58 +0000 (15:45 -0700)]
Add handle wrapper to allocation listener

Fix failing test for interpreter.

Test: mm -j32 test-art-host-run-test-debug-prebuild-interpreter-relocate-trace-cms-checkjni-picimage-npictest-ndebuggable-904-object-allocation32  ART_TEST_TRACE=true ART_TEST_OPTIMIZING=false ART_TEST_INTERPRETER=true

Change-Id: I9e7e09db82cf13730dc2471ac05260bf6a69ab7c

7 years agoMerge "jni: Disable FastNative path for methods returning objects"
Igor Murashkin [Wed, 12 Oct 2016 22:35:38 +0000 (22:35 +0000)]
Merge "jni: Disable FastNative path for methods returning objects"
am: 29b8c4d62c

Change-Id: I9125422331805946357db14e2f0414ecc7c9a380

7 years agoMerge "jni: Disable FastNative path for methods returning objects"
Treehugger Robot [Wed, 12 Oct 2016 22:23:36 +0000 (22:23 +0000)]
Merge "jni: Disable FastNative path for methods returning objects"

7 years agoMove registration into android package
Colin Cross [Wed, 12 Oct 2016 21:26:55 +0000 (14:26 -0700)]
Move registration into android package

Mutator registration is tightly coupled with the android package, move
all registration from the soong package to the android package.

Test: build.ninja identical
Change-Id: I0326d0c88f78edb79eebedb155b69415e351fb61

7 years agoRecognize XOR-based periodic induction.
Aart Bik [Wed, 12 Oct 2016 17:01:05 +0000 (10:01 -0700)]
Recognize XOR-based periodic induction.

Rationale:
This is a commonly used construct (e.g. x = !x for booleans
and x ^= 1 for integers). This CL prepares some upcoming
optimizations that exploit such inductions.

Change-Id: I46edffb9de1075a836995daf5c2dfff7891f3034
Test: 530-checker-loops2 and induction_var_analysis_test

7 years agoART: Fix typo
Andreas Gampe [Wed, 12 Oct 2016 20:50:20 +0000 (13:50 -0700)]
ART: Fix typo

Follow-up to commit 27fa96c285c4aa2f64e9bb63a3f38ffdc98c282a.

Bug: 31684277
Test: m test-art-host
Change-Id: I165b350f6c1a216ed6a7ca648abd6004c662c1cb

7 years agojni: Disable FastNative path for methods returning objects
Igor Murashkin [Wed, 12 Oct 2016 20:33:43 +0000 (13:33 -0700)]
jni: Disable FastNative path for methods returning objects

Bug: 32088975
Change-Id: Iba3a8f5462829ccb38f771f8f940b57c4e6a1c3f

7 years agoMerge "Fix the CC monkey crashes."
Hiroshi Yamauchi [Wed, 12 Oct 2016 20:49:01 +0000 (20:49 +0000)]
Merge "Fix the CC monkey crashes."
am: 3d9f2834ba

Change-Id: Id9c87bc5e374556bedbda894e971247e2ead2d43

7 years agoMerge "Fix the CC monkey crashes."
Treehugger Robot [Wed, 12 Oct 2016 20:42:56 +0000 (20:42 +0000)]
Merge "Fix the CC monkey crashes."

7 years agoReplace StackHandleScopeCollection with VariableSizedHandleScope
Mathieu Chartier [Tue, 11 Oct 2016 23:52:17 +0000 (16:52 -0700)]
Replace StackHandleScopeCollection with VariableSizedHandleScope

VariableSizedHandleScope's internal handle scopes are not pushed
directly on the thread. This means that it is safe to intermix with
other types of handle scopes.

Added test.

Test: clean-oat-host && test-art-host

Change-Id: Id2fd1155788428f394d49615d337d9134824c8f0

7 years agoMerge "ART: Disable test 906 for target"
Andreas Gampe [Wed, 12 Oct 2016 20:21:59 +0000 (20:21 +0000)]
Merge "ART: Disable test 906 for target"
am: dbeceb3409

Change-Id: Ie27510ba464dd917cbf587a4407004c5d9388799

7 years agoMerge "ART: Disable test 906 for target"
Andreas Gampe [Wed, 12 Oct 2016 20:11:11 +0000 (20:11 +0000)]
Merge "ART: Disable test 906 for target"

7 years agoART: Disable test 906 for target
Andreas Gampe [Wed, 12 Oct 2016 20:09:03 +0000 (13:09 -0700)]
ART: Disable test 906 for target

Bug: 31385354
Test: m test-art-host-run-test-906-iterate-heap
Change-Id: Ic31d25acd9c50dfefddd567ead30d8d3e3f97d0a

7 years agoMerge "ART: Add heap iteration callback"
Andreas Gampe [Wed, 12 Oct 2016 19:55:59 +0000 (19:55 +0000)]
Merge "ART: Add heap iteration callback"
am: e8317d90c6

Change-Id: Ib6c44cd17f87cba92d41efbbaf408e8cf7851504

7 years agoMerge "ART: Add heap iteration callback"
Andreas Gampe [Wed, 12 Oct 2016 19:48:18 +0000 (19:48 +0000)]
Merge "ART: Add heap iteration callback"

7 years agoFix the CC monkey crashes.
Hiroshi Yamauchi [Wed, 12 Oct 2016 18:53:57 +0000 (11:53 -0700)]
Fix the CC monkey crashes.

Add ScopedGCCriticalSection around the monitor deflation to avoid race
conditions on the lock word.

Bug: 31773180
Bug: 31712602
Bug: 31712174
Bug: 31712601
Bug: 31712256
Bug: 31710993
Bug: 12687968
Test: test-art host/N9, N9 libartd boot, Ritz EAAC.
Change-Id: Id05c6502fb08ca2e0770af4940b737038c3412d6

7 years agoMerge "Move Heap parameters to ObjPtr"
Mathieu Chartier [Wed, 12 Oct 2016 18:47:53 +0000 (18:47 +0000)]
Merge "Move Heap parameters to ObjPtr"
am: 33625ed00f

Change-Id: I9e58f55afb03552095f81f39eea275fa40639895

7 years agoMerge "Move Heap parameters to ObjPtr"
Mathieu Chartier [Wed, 12 Oct 2016 18:35:03 +0000 (18:35 +0000)]
Merge "Move Heap parameters to ObjPtr"

7 years agoART: Add heap iteration callback
Andreas Gampe [Wed, 12 Oct 2016 02:55:37 +0000 (19:55 -0700)]
ART: Add heap iteration callback

Add callback support for heap iteration. Visiting of fields will
be done in a follow-up.

Add a test.

Bug: 31385354
Test: m test-art-host-run-test-906-iterate-heap
Test: m ART_TEST_GC_STRESS=true ART_TEST_GC_VERIFY=true test-art-host-run-test-906-iterate-heap
Change-Id: I7bcf6751e6df4ef58756ba97701050b2ff5eb07b

7 years agoMove Heap parameters to ObjPtr
Mathieu Chartier [Fri, 7 Oct 2016 00:44:26 +0000 (17:44 -0700)]
Move Heap parameters to ObjPtr

Deleted some unused object dumping code.

Test: test-art-host

Bug: 31113334

Change-Id: I747220caafe6679591fd4b361d7f50383a046164

7 years agoMerge "ART: Use cerr for host unexpected errors"
Andreas Gampe [Wed, 12 Oct 2016 15:57:43 +0000 (15:57 +0000)]
Merge "ART: Use cerr for host unexpected errors"
am: 078483d4df

Change-Id: I3f3ddcdbb684862c1683e32ebedcf43505364988

7 years agoMerge "ART: Use cerr for host unexpected errors"
Treehugger Robot [Wed, 12 Oct 2016 15:47:44 +0000 (15:47 +0000)]
Merge "ART: Use cerr for host unexpected errors"

7 years agoMerge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."
Nicolas Geoffray [Wed, 12 Oct 2016 13:16:03 +0000 (13:16 +0000)]
Merge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."
am: e2ced0db78

Change-Id: I11254bf9114ee61dbc96f447237abbef9e7c7faf

7 years agoMerge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."
Nicolas Geoffray [Wed, 12 Oct 2016 13:05:08 +0000 (13:05 +0000)]
Merge "Address revew comments for change Ia653d2c72df13889dc85dd8c84997582c034ea4b."

7 years agoART: Use cerr for host unexpected errors
Andreas Gampe [Wed, 12 Oct 2016 03:04:11 +0000 (20:04 -0700)]
ART: Use cerr for host unexpected errors

Use cerr and endl when dumping unexpected signals on Linux. This
simulates the previous special-casing of INTERNAL_FATAL to
immediately print output.

Bug: 31338270
Test: m test-art-host
Test: manual segfault
Change-Id: I9d4471836339bf69681cc4aa43df6d558e7f123d

7 years agoMerge "ART: Add object reclaim support"
Andreas Gampe [Wed, 12 Oct 2016 00:18:48 +0000 (00:18 +0000)]
Merge "ART: Add object reclaim support"
am: f0ab2ec600

Change-Id: Id8364853b0856cfe3238ce2133f2e65b381a31bf

7 years agoMerge "ART: Add object reclaim support"
Treehugger Robot [Tue, 11 Oct 2016 23:16:48 +0000 (23:16 +0000)]
Merge "ART: Add object reclaim support"

7 years agoART: Add object reclaim support
Andreas Gampe [Tue, 11 Oct 2016 02:09:09 +0000 (19:09 -0700)]
ART: Add object reclaim support

Add support for the object free callback.

Refactor code in support. Add test.

Bug: 31384923
Test: m test-art-host
Test: m test-art-host-run-test-905-object-free
Test: m ART_USE_READ_BARRIER=true test-art-host-run-test-905-object-free
Change-Id: Icde40ad464c723cfe2f7660c07cd2f79b6dc2032

7 years agoMerge "Improved and simplified loop optimizations."
Aart Bik [Tue, 11 Oct 2016 20:06:34 +0000 (20:06 +0000)]
Merge "Improved and simplified loop optimizations."
am: c1f24b947a

Change-Id: I8d8bfb2e2288f8c4f468a0d21fdf5eef45f10163

7 years agoMerge "Improved and simplified loop optimizations."
Treehugger Robot [Tue, 11 Oct 2016 19:55:32 +0000 (19:55 +0000)]
Merge "Improved and simplified loop optimizations."

7 years agoImproved and simplified loop optimizations.
Aart Bik [Mon, 10 Oct 2016 22:39:10 +0000 (15:39 -0700)]
Improved and simplified loop optimizations.

Rationale:
Empty preheader simplification has been simplified
to a much more general empty block removal optimization
step. Incremental updating of induction variable
analysis enables repeated elimination or simplification
of induction cycles.

This enabled an extra layer of optimization for
e.g. Benchpress Loop (17.5us. -> 0.24us. -> 0.08us).
So the original 73x speedup is now multiplied
by another 3x, for a total of about 218x.

Test: 618-checker-induction et al.
Change-Id: I394699981481cdd5357e0531bce88cd48bd32879

7 years agoMerge "Enable generic JNI tests for MIPS32"
Goran Jakovljevic [Tue, 11 Oct 2016 16:09:18 +0000 (16:09 +0000)]
Merge "Enable generic JNI tests for MIPS32"
am: 1e0d8ce4e5

Change-Id: I6dec138ffc9ebd55a307510201bb97f2a16b1ff4

7 years agoMerge "Enable generic JNI tests for MIPS32"
Treehugger Robot [Tue, 11 Oct 2016 16:03:13 +0000 (16:03 +0000)]
Merge "Enable generic JNI tests for MIPS32"

7 years agoMerge "Add missing cases in quick_trampoline_entrypoints_test for MIPS64"
Goran Jakovljevic [Tue, 11 Oct 2016 13:28:07 +0000 (13:28 +0000)]
Merge "Add missing cases in quick_trampoline_entrypoints_test for MIPS64"
am: 91d1b61db7

Change-Id: Ieb3460c2993e2c5c547bd6fb76de0aec51580bf0

7 years agoMerge "Add missing cases in quick_trampoline_entrypoints_test for MIPS64"
Treehugger Robot [Tue, 11 Oct 2016 13:20:48 +0000 (13:20 +0000)]
Merge "Add missing cases in quick_trampoline_entrypoints_test for MIPS64"

7 years agoMerge "ART: Fix test 904"
Andreas Gampe [Tue, 11 Oct 2016 03:10:59 +0000 (03:10 +0000)]
Merge "ART: Fix test 904"
am: 6136dc6841

Change-Id: I83254cf3f4caf43218f3e542823c65e69e01bfc6

7 years agoMerge "ART: Fix test 904"
Andreas Gampe [Tue, 11 Oct 2016 03:04:35 +0000 (03:04 +0000)]
Merge "ART: Fix test 904"

7 years agoART: Fix test 904
Andreas Gampe [Tue, 11 Oct 2016 03:01:41 +0000 (20:01 -0700)]
ART: Fix test 904

Prefetch class names to avoid allocation for logging.

Bug: 31684277
Test: m ART_TEST_RUN_TEST_RELOCATE_NO_PATCHOAT=true test-art-host-run-test-904-object-allocation
Change-Id: I8d12ea1a2b15680995af84d243de4d07d22bede5

7 years agoMerge "Use art::Atomic for CopyObject"
Mathieu Chartier [Tue, 11 Oct 2016 01:04:51 +0000 (01:04 +0000)]
Merge "Use art::Atomic for CopyObject"
am: bf9e543636

Change-Id: I2566ef7e0cbfc667f1c0102e1f3809711639bfdd

7 years agoMerge "Use art::Atomic for CopyObject"
Mathieu Chartier [Tue, 11 Oct 2016 00:59:03 +0000 (00:59 +0000)]
Merge "Use art::Atomic for CopyObject"

7 years agoMerge "ART: Add allocation callback"
Andreas Gampe [Tue, 11 Oct 2016 00:53:50 +0000 (00:53 +0000)]
Merge "ART: Add allocation callback"
am: f24ddb28eb

Change-Id: I1f565590fc884312c40b279ac9ea8d0798d2f396

7 years agoMerge "ART: Add allocation callback"
Andreas Gampe [Tue, 11 Oct 2016 00:43:31 +0000 (00:43 +0000)]
Merge "ART: Add allocation callback"

7 years agoMerge "ART: Switch to name-based IMT hashing"
Andreas Gampe [Mon, 10 Oct 2016 23:44:46 +0000 (23:44 +0000)]
Merge "ART: Switch to name-based IMT hashing"
am: a6bfd5f8e5

Change-Id: I5d3f934b8ffdd11a29a9f38710376169fb267b1a

7 years agoMerge "ART: Switch to name-based IMT hashing"
Treehugger Robot [Mon, 10 Oct 2016 23:39:05 +0000 (23:39 +0000)]
Merge "ART: Switch to name-based IMT hashing"

7 years agoART: Switch to name-based IMT hashing
Andreas Gampe [Tue, 27 Sep 2016 19:19:45 +0000 (12:19 -0700)]
ART: Switch to name-based IMT hashing

Use a hash scheme based on the name. This keeps IMT slots stable
when dex tables change.

This incurs a severe performance penalty for computing the slot.
Measurements on host degraded from 30ns to an average of 85mus.
However, calls in compiled code will not incur this overhead.

Added a test comparing similar interfaces in similar dex files.

Bug: 31594153
Test: test-art-host
Change-Id: Ibb86679ee94bec561984ea25826e56b1a7964cd0

7 years agoMerge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."
Hiroshi Yamauchi [Mon, 10 Oct 2016 21:12:40 +0000 (21:12 +0000)]
Merge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."
am: f95054f489

Change-Id: Icb8a5915b1649d2abe9b5ee7080842bf547859b2

7 years agoMerge "ART: Add event callback support"
Andreas Gampe [Mon, 10 Oct 2016 21:12:27 +0000 (21:12 +0000)]
Merge "ART: Add event callback support"
am: ed63aad1a7

Change-Id: Ic8517b91e9e37001df5bb319130243f32e54eca3

7 years agoMerge "mterp: Placeholder support for invoke-polymorphic"
Bill Buzbee [Mon, 10 Oct 2016 21:12:13 +0000 (21:12 +0000)]
Merge "mterp: Placeholder support for invoke-polymorphic"
am: 4404fb30fa

Change-Id: I8149023ef9a46c29f61710cacc7c99bef6e84f0d

7 years agoMerge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."
Hiroshi Yamauchi [Mon, 10 Oct 2016 20:42:18 +0000 (20:42 +0000)]
Merge "Avoid ThreadStress timeout with art-read-barrier-table-lookup."

7 years agoMerge "ART: Add event callback support"
Treehugger Robot [Mon, 10 Oct 2016 20:37:52 +0000 (20:37 +0000)]
Merge "ART: Add event callback support"

7 years agoART: Add allocation callback
Andreas Gampe [Fri, 7 Oct 2016 22:05:24 +0000 (15:05 -0700)]
ART: Add allocation callback

Bug: 31684277
Test: m test-art-host
Change-Id: I959f44e23ca5fe55ed678315708895faf0aadb04

7 years agoMerge "mterp: Placeholder support for invoke-polymorphic"
Bill Buzbee [Mon, 10 Oct 2016 20:27:34 +0000 (20:27 +0000)]
Merge "mterp: Placeholder support for invoke-polymorphic"

7 years agoUse art::Atomic for CopyObject
Mathieu Chartier [Fri, 7 Oct 2016 19:59:33 +0000 (12:59 -0700)]
Use art::Atomic for CopyObject

Just to be sure it doesn't get turned into memcpy.

Also avoid casting ObjectArray to IntArray. This is a strict aliasing
violation.

Bug: 32012820

Test: test-art-host

Change-Id: Icc5d4a758cb4f4e1686389bb0cb74ac08e554f04

7 years agoAdd missing cases in quick_trampoline_entrypoints_test for MIPS64
Goran Jakovljevic [Mon, 10 Oct 2016 17:12:09 +0000 (19:12 +0200)]
Add missing cases in quick_trampoline_entrypoints_test for MIPS64

Test: mma test-art-target-gtest-quick_trampoline_entrypoints_test
Change-Id: I4596d47f7219b375a60d6b9d80f797d1f01facd7

7 years agoMerge "MIPS64: Fix art_quick_aput_obj stubs"
Nicolas Geoffray [Mon, 10 Oct 2016 08:46:55 +0000 (08:46 +0000)]
Merge "MIPS64: Fix art_quick_aput_obj stubs"
am: 5065b09332

Change-Id: Ieb5d20974275cfb5f48f2d76f92180f2b93351f2

7 years agoMerge "MIPS64: Fix art_quick_aput_obj stubs"
Nicolas Geoffray [Mon, 10 Oct 2016 08:34:17 +0000 (08:34 +0000)]
Merge "MIPS64: Fix art_quick_aput_obj stubs"

7 years agoART: Add event callback support
Andreas Gampe [Fri, 7 Oct 2016 18:48:21 +0000 (11:48 -0700)]
ART: Add event callback support

Add basic event callback support infrastructure. Actual users will
follow.

Bug: 31684920
Test: m test-art-host
Change-Id: Ic496933ef3a94f9d27a2779b7f4fdc5b096eab22

7 years agoAvoid ThreadStress timeout with art-read-barrier-table-lookup.
Hiroshi Yamauchi [Sat, 8 Oct 2016 00:07:03 +0000 (17:07 -0700)]
Avoid ThreadStress timeout with art-read-barrier-table-lookup.

Disable MarkFromReadBarrierWithMeasurements for
art-read-barrier-table-lookup to avoid slowdown as it takes more read
barrier slow paths than art-read-barrier.

Increase the timeout.

Bug: 31679493
Bug: 12687968
Test: test-art-host with ART_READ_BARRIER_TYPE=TABLELOOKUP
Change-Id: I1a87864448e28099e522dc7fedce2208189248f2

7 years agomterp: Placeholder support for invoke-polymorphic
buzbee [Fri, 7 Oct 2016 19:56:32 +0000 (12:56 -0700)]
mterp: Placeholder support for invoke-polymorphic

Force the mterp assembly interpreters to fall back to the
reference switch interpreter for invoke-polymorphic and
invoke-polymorphic-range while those new opcodes are under
development.

Test: test-art-host

Change-Id: I6167432164bd869c91d0804521d5edc9549f622e

7 years agoMerge "Use word copying for CopyObject"
Mathieu Chartier [Fri, 7 Oct 2016 19:50:11 +0000 (19:50 +0000)]
Merge "Use word copying for CopyObject"
am: f361a29848

Change-Id: I1aa32d2e9102818da1ca14cb1f66f4781b76749a

7 years agoMerge "Use word copying for CopyObject"
Mathieu Chartier [Fri, 7 Oct 2016 19:45:02 +0000 (19:45 +0000)]
Merge "Use word copying for CopyObject"

7 years agoUse word copying for CopyObject
Mathieu Chartier [Fri, 7 Oct 2016 17:51:53 +0000 (10:51 -0700)]
Use word copying for CopyObject

Prevent word tearing.

Bug: 32012820

Test: test-art-host

Change-Id: Ie3d5817f3bdf49e0d949caeccd7cd3512d61bdf7

7 years agoMerge "Move mirror::Object setters to ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 17:04:01 +0000 (17:04 +0000)]
Merge "Move mirror::Object setters to ObjPtr"
am: 0d7398fd54

Change-Id: I0b01e829b2653192c1c8f6839757c5c648ebc33f

7 years agoMerge "Move mirror::Object setters to ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 16:57:40 +0000 (16:57 +0000)]
Merge "Move mirror::Object setters to ObjPtr"

7 years agoMerge "Improved and simplified loop optimizations."
Aart Bik [Fri, 7 Oct 2016 16:55:00 +0000 (16:55 +0000)]
Merge "Improved and simplified loop optimizations."
am: 6ed8fc7a68

Change-Id: Ia0364c2b78ea63ba55e345fc0decdfdca8c35dcd

7 years agoMerge "Improved and simplified loop optimizations."
Treehugger Robot [Fri, 7 Oct 2016 16:51:06 +0000 (16:51 +0000)]
Merge "Improved and simplified loop optimizations."

7 years agoMIPS64: Fix art_quick_aput_obj stubs
Goran Jakovljevic [Fri, 7 Oct 2016 15:03:28 +0000 (17:03 +0200)]
MIPS64: Fix art_quick_aput_obj stubs

Prevent situations where $gp is calculated and saved twice in a row
without restoring it. When restored in the end, its value was wrong.

This fixes test failure in stub_test.APutObj.

Test: mma test-art-target-gtest-stub_test64 on QEMU

Change-Id: I63b37ecee8d3576c57c0f6862d00bc03965b042d

7 years agoImproved and simplified loop optimizations.
Aart Bik [Thu, 6 Oct 2016 18:36:57 +0000 (11:36 -0700)]
Improved and simplified loop optimizations.

Rationale:
This CL merges some common cases into one, thereby simplifying
the code quite a bit. It also prepares for more general induction
cycles (rather than the simple phi-add currently used). Finally,
it generalizes the closed form elimination with empty loops.
As a result of the latter, elaborate but weird code like:

  private static int waterFall() {
    int i = 0;
    for (; i < 10; i++);
    for (; i < 20; i++);
    for (; i < 30; i++);
    for (; i < 40; i++);
    for (; i < 50; i++);
    return i;
  }

now becomes just this (on x86)!

    mov eax, 50
    ret

Change-Id: I8d22ce63ce9696918f57bb90f64d9a9303a4791d
Test: m test-art-host

7 years agoMerge "Add "fixups" for ids referenced in code"
David Sehr [Fri, 7 Oct 2016 15:12:53 +0000 (15:12 +0000)]
Merge "Add "fixups" for ids referenced in code"
am: f13f84fd9f

Change-Id: I252b79028d723ceff1d552c5758c969a6b68b7c3

7 years agoMerge "Add "fixups" for ids referenced in code"
David Sehr [Fri, 7 Oct 2016 15:10:06 +0000 (15:10 +0000)]
Merge "Add "fixups" for ids referenced in code"

7 years agoMerge "Blacklist test 903."
Nicolas Geoffray [Fri, 7 Oct 2016 08:48:01 +0000 (08:48 +0000)]
Merge "Blacklist test 903."
am: 2dacb1da03

Change-Id: Iaac0e6471def2421dca5b77cb4d947389b8195cb

7 years agoMerge "Blacklist test 903."
Nicolas Geoffray [Fri, 7 Oct 2016 08:41:37 +0000 (08:41 +0000)]
Merge "Blacklist test 903."

7 years agoBlacklist test 903.
Nicolas Geoffray [Fri, 7 Oct 2016 08:29:20 +0000 (09:29 +0100)]
Blacklist test 903.

bug:31681198
Change-Id: I2d5578242d594be791aedd99266263ec53182d77

7 years agoMerge "Move remaining jobject related functions to use ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 00:37:35 +0000 (00:37 +0000)]
Merge "Move remaining jobject related functions to use ObjPtr"
am: 81ca05d930

Change-Id: Ic7e25af0f020ab4d0a33aa9b06596602ed428908

7 years agoMerge "Move remaining jobject related functions to use ObjPtr"
Mathieu Chartier [Fri, 7 Oct 2016 00:31:27 +0000 (00:31 +0000)]
Merge "Move remaining jobject related functions to use ObjPtr"

7 years agoAdd "fixups" for ids referenced in code
David Sehr [Fri, 7 Oct 2016 00:09:32 +0000 (17:09 -0700)]
Add "fixups" for ids referenced in code

Allow better visualization by determining which type_id, string_id,
method_id, and field_id values are used by code_items.

Bug: 29921113
Change-Id: Ia6ff72064104cd5c0868e972ca65536dbeb37b09
Test: dexlayout -s {some favorite apks}

7 years agoMove mirror::Object setters to ObjPtr
Mathieu Chartier [Thu, 6 Oct 2016 22:13:58 +0000 (15:13 -0700)]
Move mirror::Object setters to ObjPtr

Bug: 31113334

Test: test-art-host

Change-Id: I2c4c84645e194c3c435a4a6fd670176b0e98671f

7 years agoMerge "ART: Register object tagging table"
Andreas Gampe [Thu, 6 Oct 2016 22:31:56 +0000 (22:31 +0000)]
Merge "ART: Register object tagging table"
am: a2dca22534

Change-Id: Ia95c94f63a7f8468588d45951e08279cb2ecfef2

7 years agoMerge "ART: Register object tagging table"
Andreas Gampe [Thu, 6 Oct 2016 22:26:42 +0000 (22:26 +0000)]
Merge "ART: Register object tagging table"

7 years agoMove remaining jobject related functions to use ObjPtr
Mathieu Chartier [Thu, 6 Oct 2016 01:32:08 +0000 (18:32 -0700)]
Move remaining jobject related functions to use ObjPtr

Also added ObjPtr::DownCast.

Bug: 31113334

Test: test-art-host

Change-Id: I59c253211dc435579ffdfd49f856861ab13d262c

7 years agoART: Register object tagging table
Andreas Gampe [Thu, 6 Oct 2016 20:13:30 +0000 (13:13 -0700)]
ART: Register object tagging table

Actually register object tagging table with the runtime so it
gets swept properly.

Bug: 31385027
Test: m test-art-host
Test: m ART_USE_READ_BARRIER=true test-art-host
Change-Id: I4364458ece2893e6a85fe7518df39fb838199f20

7 years agoMerge "test: Fix jni_compiler_test for const correctness"
Igor Murashkin [Thu, 6 Oct 2016 19:30:45 +0000 (19:30 +0000)]
Merge "test: Fix jni_compiler_test for const correctness"
am: 2b31c0ac03

Change-Id: Ib428bf1ad3bb99723caba8c932c6912bf4b5024a

7 years agoMerge "test: Fix jni_compiler_test for const correctness"
Treehugger Robot [Thu, 6 Oct 2016 19:27:59 +0000 (19:27 +0000)]
Merge "test: Fix jni_compiler_test for const correctness"