OSDN Git Service

android-x86/art.git
7 years agoMerge "Revert "Revert "Add dex file writer to dexlayout tool."""
Jeff Hao [Thu, 6 Oct 2016 01:17:38 +0000 (01:17 +0000)]
Merge "Revert "Revert "Add dex file writer to dexlayout tool."""
am: 765dee21f3

Change-Id: I41b548c0ca1b1f1b412aafadf6dc5d9006d645da

7 years agoMerge "Revert "Revert "Add dex file writer to dexlayout tool."""
Treehugger Robot [Thu, 6 Oct 2016 01:12:23 +0000 (01:12 +0000)]
Merge "Revert "Revert "Add dex file writer to dexlayout tool."""

7 years agoMerge "jni: Test that pushed handle scopes are popped after JNI transitions"
Igor Murashkin [Wed, 5 Oct 2016 23:46:32 +0000 (23:46 +0000)]
Merge "jni: Test that pushed handle scopes are popped after JNI transitions"
am: 30267ea042

Change-Id: Ic422b92661e7fe4fee9e9c13ae450850c0744548

7 years agoMerge "jni: Test that pushed handle scopes are popped after JNI transitions"
Treehugger Robot [Wed, 5 Oct 2016 23:41:27 +0000 (23:41 +0000)]
Merge "jni: Test that pushed handle scopes are popped after JNI transitions"

7 years agoMerge "Change java_lang_reflect_Field.cc to use ObjPtr"
Mathieu Chartier [Wed, 5 Oct 2016 23:38:01 +0000 (23:38 +0000)]
Merge "Change java_lang_reflect_Field.cc to use ObjPtr"
am: 6206a5d523

Change-Id: I83eac899d4bb2d8230312fdb073fc1779db82265

7 years agoMerge "Change java_lang_reflect_Field.cc to use ObjPtr"
Treehugger Robot [Wed, 5 Oct 2016 23:32:05 +0000 (23:32 +0000)]
Merge "Change java_lang_reflect_Field.cc to use ObjPtr"

7 years agoChange java_lang_reflect_Field.cc to use ObjPtr
Mathieu Chartier [Wed, 5 Oct 2016 20:48:41 +0000 (13:48 -0700)]
Change java_lang_reflect_Field.cc to use ObjPtr

Also deleted some calls to ObjPtr::Ptr and fixed formatting.

Bug: 31113334

Test: test-art-host
Change-Id: I951b80886b723e1beff4783f28ee7c928cb10650

7 years agoMerge "Change indirect reference table to use ObjPtr"
Mathieu Chartier [Wed, 5 Oct 2016 22:00:55 +0000 (22:00 +0000)]
Merge "Change indirect reference table to use ObjPtr"
am: 463a67dd60

Change-Id: Id1faabb203c6885d873acd0515a1dbaf68915334

7 years agoMerge "Change indirect reference table to use ObjPtr"
Treehugger Robot [Wed, 5 Oct 2016 21:55:20 +0000 (21:55 +0000)]
Merge "Change indirect reference table to use ObjPtr"

7 years agojni: Test that pushed handle scopes are popped after JNI transitions
Igor Murashkin [Wed, 5 Oct 2016 21:33:30 +0000 (14:33 -0700)]
jni: Test that pushed handle scopes are popped after JNI transitions

There was previously a bug in generic JNI for @CriticalNative where new
handle scopes were pushed, but then not popped after the native call
was done. This caused a bug with stale pointers being found by GC.

Bug: 31933313
Change-Id: I423f9e7a7d391ba3a4771c830691931f0025b354

7 years agoMerge "Refactoring of graph linearization and linear order."
Aart Bik [Wed, 5 Oct 2016 20:34:20 +0000 (20:34 +0000)]
Merge "Refactoring of graph linearization and linear order."
am: 78c6fefdb9

Change-Id: I15ebff4861446000918e11a85972708b9a47ab09

7 years agoMerge "Refactoring of graph linearization and linear order."
Treehugger Robot [Wed, 5 Oct 2016 20:29:58 +0000 (20:29 +0000)]
Merge "Refactoring of graph linearization and linear order."

7 years agoMerge "Initialize dex cache while holding dex_lock"
Mathieu Chartier [Wed, 5 Oct 2016 20:03:47 +0000 (20:03 +0000)]
Merge "Initialize dex cache while holding dex_lock"
am: 7638651be2

Change-Id: I067b023de98cc6d559437f01339ef814ca9fadde

7 years agoChange indirect reference table to use ObjPtr
Mathieu Chartier [Wed, 5 Oct 2016 02:06:30 +0000 (19:06 -0700)]
Change indirect reference table to use ObjPtr

Bug: 31113334

Test: test-art-host

Change-Id: I340fdf430897ebd790ea4e35f94bcee776e98445

7 years agoMerge "Initialize dex cache while holding dex_lock"
Mathieu Chartier [Wed, 5 Oct 2016 19:59:08 +0000 (19:59 +0000)]
Merge "Initialize dex cache while holding dex_lock"

7 years agoRefactoring of graph linearization and linear order.
Aart Bik [Wed, 5 Oct 2016 00:33:56 +0000 (17:33 -0700)]
Refactoring of graph linearization and linear order.

Rationale:
Ownership of graph's linear order and iterators was
a bit unclear now that other phases are using it.
New approach allows phases to compute their own
order, while ssa_liveness is sole owner for graph
(since it is not mutated afterwards).

Also shortens lifetime of loop's arena.

Test: test-art-host
Change-Id: Ib7137d1203a1e0a12db49868f4117d48a4277f30

7 years agoMerge "Don't push handle scope for critical native generic JNI"
Mathieu Chartier [Wed, 5 Oct 2016 18:25:10 +0000 (18:25 +0000)]
Merge "Don't push handle scope for critical native generic JNI"
am: cf42ad62df

Change-Id: Icc0c28b73311cd864204d955e2dce209d3232288

7 years agoMerge "Don't push handle scope for critical native generic JNI"
Treehugger Robot [Wed, 5 Oct 2016 18:19:36 +0000 (18:19 +0000)]
Merge "Don't push handle scope for critical native generic JNI"

7 years agoMerge "Remove #include "oat_file.h" from class_linker.h ."
Vladimir Marko [Wed, 5 Oct 2016 17:04:05 +0000 (17:04 +0000)]
Merge "Remove #include "oat_file.h" from class_linker.h ."
am: 2f61867045

Change-Id: Ieb002dddb7408806db914e7c81f521a45e1452f3

7 years agoMerge "Remove #include "oat_file.h" from class_linker.h ."
Vladimir Marko [Wed, 5 Oct 2016 17:00:41 +0000 (17:00 +0000)]
Merge "Remove #include "oat_file.h" from class_linker.h ."

7 years agoDon't push handle scope for critical native generic JNI
Mathieu Chartier [Tue, 4 Oct 2016 22:41:42 +0000 (15:41 -0700)]
Don't push handle scope for critical native generic JNI

Leaving a stale handle scope causes problems for the GC the next
time roots are visited. At this point the stack will have other
contents and the GC will attempt to mark many invalid roots.

Bug: 31933313

Test: non preopt eng build booting.
Test: test-art-host

(cherry picked from commit 92879f9bbcfc034660ed1ff5ef741d7f2bcb116f)

Change-Id: I7d57964ccd2b59a05bb06f67062f646362ce1204

7 years agoInitialize dex cache while holding dex_lock
Mathieu Chartier [Thu, 15 Sep 2016 17:24:43 +0000 (10:24 -0700)]
Initialize dex cache while holding dex_lock

Fixes multiple threads calling RegisterDexFile occasionally getting
DCHECK failures due to the arrays not being null since the BSS ones
is per dex file.

Bug: 31369621

Test: test-art-host, no DCHECK failure during debug booting

Change-Id: I7b6e4cd03460dd1213eb4e044bdcf5f6103fd5f9

7 years agoMerge "Make it possible to pass an arena allocator to HLoopOptimization."
Nicolas Geoffray [Wed, 5 Oct 2016 16:08:01 +0000 (16:08 +0000)]
Merge "Make it possible to pass an arena allocator to HLoopOptimization."
am: 4aa6a93c46

Change-Id: I8dbf05c57f04e10a1578c405ee6a02659667a82d

7 years agoMerge "Make it possible to pass an arena allocator to HLoopOptimization."
Treehugger Robot [Wed, 5 Oct 2016 16:03:30 +0000 (16:03 +0000)]
Merge "Make it possible to pass an arena allocator to HLoopOptimization."

7 years agoMerge "Temporarily blacklist 955-method-handles-smali."
Narayan Kamath [Wed, 5 Oct 2016 13:52:23 +0000 (13:52 +0000)]
Merge "Temporarily blacklist 955-method-handles-smali."
am: 99ce62c347

Change-Id: I5873a5f978a0d387faa2f9d3460e04ee7a990916

7 years agoMerge "Temporarily blacklist 955-method-handles-smali."
Narayan Kamath [Wed, 5 Oct 2016 13:46:49 +0000 (13:46 +0000)]
Merge "Temporarily blacklist 955-method-handles-smali."

7 years agoTemporarily blacklist 955-method-handles-smali.
Narayan Kamath [Wed, 5 Oct 2016 13:15:01 +0000 (14:15 +0100)]
Temporarily blacklist 955-method-handles-smali.

Needs a companion smali change 7b348e4f323f44a7c44282.

Test: make test-art-host

Change-Id: Id245d9ead8467315c97cfe07103da2b406b08c49

7 years agoMake it possible to pass an arena allocator to HLoopOptimization.
Nicolas Geoffray [Wed, 5 Oct 2016 12:49:44 +0000 (13:49 +0100)]
Make it possible to pass an arena allocator to HLoopOptimization.

loop_optimization_test uses memory from HLoopOptimization's
allocator, which is scoped by the Run method.

Fix is to pass custom allocator.

test: m test-art-host-gtest
Change-Id: I359330e22202519f400a26da5403eeb00f0b2db4

7 years agoMerge "Basic implementation of invoke / invoke-polymorphic."
Narayan Kamath [Wed, 5 Oct 2016 12:23:47 +0000 (12:23 +0000)]
Merge "Basic implementation of invoke / invoke-polymorphic."
am: 8ee0b085be

Change-Id: Ia59c4669734575f6cf0bd426a89fd4fc3caa6462

7 years agoRemove #include "oat_file.h" from class_linker.h .
Vladimir Marko [Tue, 4 Oct 2016 13:44:28 +0000 (14:44 +0100)]
Remove #include "oat_file.h" from class_linker.h .

Refactor the OatClass and OatMethod related functions from
ClassLinker to OatFile and ArtMethod, respectively. Refactor
the remaining ClassLinker dependencies on OatFile to break
the #include dependency and reduce incremental build times.

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

7 years agoMerge "Basic implementation of invoke / invoke-polymorphic."
Treehugger Robot [Wed, 5 Oct 2016 12:19:30 +0000 (12:19 +0000)]
Merge "Basic implementation of invoke / invoke-polymorphic."

7 years agoMerge "Properly scope HLoopOptimization's allocator."
Nicolas Geoffray [Wed, 5 Oct 2016 10:34:10 +0000 (10:34 +0000)]
Merge "Properly scope HLoopOptimization's allocator."
am: d3a9ce9d30

Change-Id: I5fc6d2bfafdbe59862d5e572ad439d66b496cbfa

7 years agoMerge "Properly scope HLoopOptimization's allocator."
Treehugger Robot [Wed, 5 Oct 2016 10:30:14 +0000 (10:30 +0000)]
Merge "Properly scope HLoopOptimization's allocator."

7 years agoBasic implementation of invoke / invoke-polymorphic.
Narayan Kamath [Wed, 3 Aug 2016 11:46:58 +0000 (12:46 +0100)]
Basic implementation of invoke / invoke-polymorphic.

Basic switch interpreter support for invoke-polymorphic. This change
allows for virtual/interface and static invokes on method handles.

Support for direct invokes (including constructors) and field
getters and setters will be added in follow up changes.

Bug: 30550796
Test: make test-art-host

Change-Id: Ieb3a991d974060d930d56467908d5c7c11d0e38e

7 years agoProperly scope HLoopOptimization's allocator.
Nicolas Geoffray [Wed, 5 Oct 2016 08:55:42 +0000 (09:55 +0100)]
Properly scope HLoopOptimization's allocator.

HOptimization classes do not get their destructor called,
as they are arena objects. So the scope for the optimization
allocator needs to be the Run method.

Also anticipate bisection search breakage by adding
HLoopOptimization to the list of recognized optimizations.

Change-Id: I7770989c39d5700a3b6b0a20af5d4b874dfde111

7 years agoMerge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"
Goran Jakovljevic [Wed, 5 Oct 2016 04:05:44 +0000 (04:05 +0000)]
Merge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"
am: 2a5c516077

Change-Id: Iec049cc9fc03d2e3d4b05aec7e752ecc680dd5df

7 years agoMerge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"
Treehugger Robot [Wed, 5 Oct 2016 03:55:28 +0000 (03:55 +0000)]
Merge "MIPS32: Fix GenerateVirtualCall in the presence of intrinsics"

7 years agoMerge "Revert "Compute PPID at ninja time""
Colin Cross [Wed, 5 Oct 2016 01:42:35 +0000 (01:42 +0000)]
Merge "Revert "Compute PPID at ninja time""
am: 3601e4a5c5

Change-Id: Ifb341ffc0ee82d95bff904367baac78f0e23ebc0

7 years agoMerge "Revert "Compute PPID at ninja time""
Colin Cross [Wed, 5 Oct 2016 01:38:09 +0000 (01:38 +0000)]
Merge "Revert "Compute PPID at ninja time""

7 years agoMerge "Fix build break from merge conflict"
Mathieu Chartier [Wed, 5 Oct 2016 00:57:31 +0000 (00:57 +0000)]
Merge "Fix build break from merge conflict"
am: c13fbeb220

Change-Id: Id3efe319a6c75dd1d8fafc92104caf2f2c956a75

7 years agoMerge "Fix build break from merge conflict"
Mathieu Chartier [Wed, 5 Oct 2016 00:54:38 +0000 (00:54 +0000)]
Merge "Fix build break from merge conflict"

7 years agoFix build break from merge conflict
Mathieu Chartier [Wed, 5 Oct 2016 00:48:45 +0000 (17:48 -0700)]
Fix build break from merge conflict

Bug: 31113334

Test: mm -j32

Change-Id: I5643a0ec22cf03a54671a5c7fa0ebda41cc9a8c3

7 years agoMerge "Rename ObjPtr::Decode to ObjPtr::Ptr"
Mathieu Chartier [Wed, 5 Oct 2016 00:43:31 +0000 (00:43 +0000)]
Merge "Rename ObjPtr::Decode to ObjPtr::Ptr"
am: 556c9a2f18

Change-Id: I2265df5d6748d385d44b76e5e2b8507432a173f4

7 years agoMerge "Rename ObjPtr::Decode to ObjPtr::Ptr"
Mathieu Chartier [Wed, 5 Oct 2016 00:39:07 +0000 (00:39 +0000)]
Merge "Rename ObjPtr::Decode to ObjPtr::Ptr"

7 years agoMerge "Fix a CC crash with ThreadStress."
Hiroshi Yamauchi [Wed, 5 Oct 2016 00:33:30 +0000 (00:33 +0000)]
Merge "Fix a CC crash with ThreadStress."
am: e793bbb4a8

Change-Id: I554f3c1cc37b44ae8537241e235f267733837759

7 years agoMerge "Fix a CC crash with ThreadStress."
Hiroshi Yamauchi [Wed, 5 Oct 2016 00:27:46 +0000 (00:27 +0000)]
Merge "Fix a CC crash with ThreadStress."

7 years agoRevert "Compute PPID at ninja time"
Colin Cross [Tue, 4 Oct 2016 23:06:16 +0000 (23:06 +0000)]
Revert "Compute PPID at ninja time"

This reverts commit b1c17bb080ccf41b30909c0401df59e6f3a1ebb1.

It breaks make test-art-host when /bin/sh is not bash, as
/bin/sh -c /bin/bash -c echo $PPID
returns the pid of /bin/sh, not the pid of ninja.

Test: none
Change-Id: Ia4e5f76ea4c5f5b5c102ce54ae03c3fccb23a49f

7 years agoFix a CC crash with ThreadStress.
Hiroshi Yamauchi [Tue, 4 Oct 2016 22:20:36 +0000 (15:20 -0700)]
Fix a CC crash with ThreadStress.

Add a read barrier on the locked object in Monitor::DescribeWait().

Bug: 31848261
Bug: 12687968
Test: test-art-host with CC and N9 libartd boot.
Change-Id: I569e1499c2aadf54d9074a8a790e5d512c2dad4f

7 years agoMerge "Fix build breakage."
Nicolas Geoffray [Tue, 4 Oct 2016 22:14:12 +0000 (22:14 +0000)]
Merge "Fix build breakage."
am: 29a7fd300a

Change-Id: Ib410f96a0b73d5fcdfda1002d7f7c1563b6eb634

7 years agoMerge "Revert "Remove dead code from compiler driver.""
Nicolas Geoffray [Tue, 4 Oct 2016 22:13:55 +0000 (22:13 +0000)]
Merge "Revert "Remove dead code from compiler driver.""
am: 091f6754c3

Change-Id: I0b49f1de822ab33685267b382c7892369d554440

7 years agoMerge "Fix build breakage."
Nicolas Geoffray [Tue, 4 Oct 2016 21:59:14 +0000 (21:59 +0000)]
Merge "Fix build breakage."

7 years agoFix build breakage.
Nicolas Geoffray [Tue, 4 Oct 2016 21:56:35 +0000 (22:56 +0100)]
Fix build breakage.

Revert did not apply cleanly.

test: make test-art-host
Change-Id: Id94d377d19dc80237951ad40fd5e01f8fec67a47

7 years agoMerge "Revert "Remove dead code from compiler driver.""
Nicolas Geoffray [Tue, 4 Oct 2016 21:45:24 +0000 (21:45 +0000)]
Merge "Revert "Remove dead code from compiler driver.""

7 years agoRevert "Remove dead code from compiler driver."
Nicolas Geoffray [Tue, 4 Oct 2016 21:44:45 +0000 (21:44 +0000)]
Revert "Remove dead code from compiler driver."

This reverts commit 44b3da25191052acc18528d8ade9cf3038505180.

Change-Id: I0cf049ed967bcaf8dfd89fc88288d992c63a4939

7 years agoRevert "Revert "Add dex file writer to dexlayout tool.""
Jeff Hao [Tue, 4 Oct 2016 18:13:44 +0000 (18:13 +0000)]
Revert "Revert "Add dex file writer to dexlayout tool.""

This reverts commit fd1a6c2a08ca3e2476b7424b9b0fa58e73b29e87.

Fixed output being clobbered during DexLayoutTest.DexFileOutput.
Option added to put dex output file in scratch directory.

Bug: 29921113
Test: mm test-art-host-gtest-dexlayout_test

Change-Id: I9e6b139cf06aaa39c83ad1e74329db266464a8e4

7 years agoMerge "A first implementation of a loop optimization framework."
Aart Bik [Tue, 4 Oct 2016 20:44:54 +0000 (20:44 +0000)]
Merge "A first implementation of a loop optimization framework."
am: 26705cca46

Change-Id: I26dbb2161283fba97e62e31f754cf94b4234d7bf

7 years agoMerge "A first implementation of a loop optimization framework."
Aart Bik [Tue, 4 Oct 2016 20:40:23 +0000 (20:40 +0000)]
Merge "A first implementation of a loop optimization framework."

7 years agoMerge changes I65bc7769,Ib24c7060
Andreas Gampe [Tue, 4 Oct 2016 19:12:10 +0000 (19:12 +0000)]
Merge changes I65bc7769,Ib24c7060
am: d74bd3a9a4

Change-Id: Ic6e0297261b9774b3f58ed1211fa5059d0384062

7 years agoART: Reprint long messages on abort
Andreas Gampe [Tue, 4 Oct 2016 19:12:10 +0000 (19:12 +0000)]
ART: Reprint long messages on abort
am: 90a32b16fe

Change-Id: I95e38ad0180d881b14cf564d18945b992b997a61

7 years agoART: Clean up IRT-related abort messaging
Andreas Gampe [Tue, 4 Oct 2016 19:12:02 +0000 (19:12 +0000)]
ART: Clean up IRT-related abort messaging
am: f1e8630fe8

Change-Id: I3fa27b8be552adc7a3f8c4956ad17132ebb6da14

7 years agoMerge "Revert "Revert "Store resolved Strings for AOT code in .bss."""
Vladimir Marko [Tue, 4 Oct 2016 19:11:48 +0000 (19:11 +0000)]
Merge "Revert "Revert "Store resolved Strings for AOT code in .bss."""
am: 129fc43ff9

Change-Id: Ia1b1129651b8552ba745cda3c9f7b52a7a469f0a

7 years agoMerge changes I65bc7769,Ib24c7060
Andreas Gampe [Tue, 4 Oct 2016 19:08:14 +0000 (19:08 +0000)]
Merge changes I65bc7769,Ib24c7060

* changes:
  ART: Reprint long messages on abort
  ART: Clean up IRT-related abort messaging

7 years agoMerge "Revert "Revert "Store resolved Strings for AOT code in .bss."""
Vladimir Marko [Tue, 4 Oct 2016 19:00:30 +0000 (19:00 +0000)]
Merge "Revert "Revert "Store resolved Strings for AOT code in .bss."""

7 years agoMerge "Option to gnuplot dex layout"
David Sehr [Tue, 4 Oct 2016 18:14:15 +0000 (18:14 +0000)]
Merge "Option to gnuplot dex layout"
am: b4f0076e7f

Change-Id: I1d9f8ada132c74306291ecb42762959d69a41aac

7 years agoMerge "Option to gnuplot dex layout"
David Sehr [Tue, 4 Oct 2016 18:06:48 +0000 (18:06 +0000)]
Merge "Option to gnuplot dex layout"

7 years agoOption to gnuplot dex layout
David Sehr [Mon, 26 Sep 2016 14:44:04 +0000 (07:44 -0700)]
Option to gnuplot dex layout

Display the portions of the dex file that are accessed by the classes in
the dex file.  Optionally limit the display to only those classes that
are present in a runtime profile.

Bug: 29921113
Change-Id: I2a998fba448fec6c23941d3b4358531b1336e1b3
Test: dexlayout test

7 years agoRename ObjPtr::Decode to ObjPtr::Ptr
Mathieu Chartier [Tue, 4 Oct 2016 01:01:28 +0000 (18:01 -0700)]
Rename ObjPtr::Decode to ObjPtr::Ptr

Done to prevent ambiguity with ScopedObjectAccess::Decode.

Bug: 31113334

Test: test-art-host
Change-Id: I07a2497cc9cf66386311798933547471987fc316

7 years agoRevert "Revert "Store resolved Strings for AOT code in .bss.""
Vladimir Marko [Mon, 3 Oct 2016 08:46:48 +0000 (08:46 +0000)]
Revert "Revert "Store resolved Strings for AOT code in .bss.""

Fixed oat_test to keep dex files alive. Fixed mips build.
Rewritten the .bss GC root visiting and added write barrier
to the artResolveStringFromCode().

Test: build aosp_mips-eng
Test: m ART_DEFAULT_GC_TYPE=SS test-art-target-host-gtest-oat_test
Test: Run ART test suite on host and Nexus 9.
Bug: 20323084
Bug: 30627598

This reverts commit 5f926055cb88089d8ca27243f35a9dfd89d981f0.

Change-Id: I07fa2278d82b8eb64964c9a4b66cb93726ccda6b

7 years agoMerge "Compute PPID at ninja time"
Colin Cross [Tue, 4 Oct 2016 16:51:11 +0000 (16:51 +0000)]
Merge "Compute PPID at ninja time"
am: 82d4838d6b

Change-Id: If36dc12209df40a91680fed5d085d56bebe8bf6e

7 years agoMerge "Compute PPID at ninja time"
Colin Cross [Tue, 4 Oct 2016 16:45:44 +0000 (16:45 +0000)]
Merge "Compute PPID at ninja time"

7 years agoMerge "Remove dead code from compiler driver."
Nicolas Geoffray [Tue, 4 Oct 2016 14:12:30 +0000 (14:12 +0000)]
Merge "Remove dead code from compiler driver."
am: eebe142e93

Change-Id: Ic7aebf11851cc6706b6cd3a99cb013eeda850544

7 years agoMerge "Remove dead code from compiler driver."
Nicolas Geoffray [Tue, 4 Oct 2016 14:08:10 +0000 (14:08 +0000)]
Merge "Remove dead code from compiler driver."

7 years agoRemove dead code from compiler driver.
Nicolas Geoffray [Mon, 3 Oct 2016 14:09:25 +0000 (15:09 +0100)]
Remove dead code from compiler driver.

test: m test-art-host
Change-Id: Ie4b6a4c371fff6c9c213d8d6604eb09a5e71d595

7 years agoMerge "Revert "Add dex file writer to dexlayout tool.""
Nicolas Geoffray [Tue, 4 Oct 2016 11:04:21 +0000 (11:04 +0000)]
Merge "Revert "Add dex file writer to dexlayout tool.""
am: 148768f51e

Change-Id: I0a9e96f33e5be196fd5631bd58acd05de9e5a697

7 years agoMerge "Revert "Add dex file writer to dexlayout tool.""
Nicolas Geoffray [Tue, 4 Oct 2016 11:01:53 +0000 (11:01 +0000)]
Merge "Revert "Add dex file writer to dexlayout tool.""

7 years agoRevert "Add dex file writer to dexlayout tool."
Nicolas Geoffray [Tue, 4 Oct 2016 11:01:17 +0000 (11:01 +0000)]
Revert "Add dex file writer to dexlayout tool."

Bug: 29921113

This reverts commit 69b58cf399c3507ca3debf9ec9b2db3c5a0fe7f2.

Change-Id: I8bf9b1222d99489059e45f47d220396a853170a4

7 years agoMIPS32: Fix GenerateVirtualCall in the presence of intrinsics
Goran Jakovljevic [Tue, 4 Oct 2016 08:17:34 +0000 (10:17 +0200)]
MIPS32: Fix GenerateVirtualCall in the presence of intrinsics

Fix GenerateVirtualCall like it is done in the
I0ed88a48b313a8d28bc39fae40631123aadb13ef for all other architectures.

Test: mma -j2 test-art-target-run-test-optimizing on CI20
Change-Id: Ie55c62701b20c4f40badc95563b2aef9e83807de

7 years agoMerge "interpreter: Remove unnecessary template arg from DoCallCommon."
Narayan Kamath [Tue, 4 Oct 2016 08:38:43 +0000 (08:38 +0000)]
Merge "interpreter: Remove unnecessary template arg from DoCallCommon."
am: f12831352c

Change-Id: I6e97ab2c8f574cd794a8d3f3d0fe4762f92d8891

7 years agoMerge "interpreter: Remove unnecessary template arg from DoCallCommon."
Narayan Kamath [Tue, 4 Oct 2016 08:35:13 +0000 (08:35 +0000)]
Merge "interpreter: Remove unnecessary template arg from DoCallCommon."

7 years agointerpreter: Remove unnecessary template arg from DoCallCommon.
Narayan Kamath [Mon, 3 Oct 2016 15:51:22 +0000 (16:51 +0100)]
interpreter: Remove unnecessary template arg from DoCallCommon.

The function was always called with a fixed size array so there's
no real advantage in templatizing it this way.

Test: make build-art-host

Change-Id: I782e113225f1c97877f2bcb5afe8df9ae8efd26e

7 years agoMerge "Add handle wrapper for interpreter field get/set"
Mathieu Chartier [Tue, 4 Oct 2016 08:06:11 +0000 (08:06 +0000)]
Merge "Add handle wrapper for interpreter field get/set"
am: 8c2983be6c

Change-Id: Ic954db30680bb152d40378ed752387e4537337ca

7 years agoMerge "Add handle wrapper for interpreter field get/set"
Mathieu Chartier [Tue, 4 Oct 2016 08:02:59 +0000 (08:02 +0000)]
Merge "Add handle wrapper for interpreter field get/set"

7 years agoAdd handle wrapper for interpreter field get/set
Mathieu Chartier [Tue, 4 Oct 2016 05:49:46 +0000 (22:49 -0700)]
Add handle wrapper for interpreter field get/set

The listeners have thread suspension for jdwp tests.

Bug: 31113334

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

Change-Id: I08f17432cc0c79ee9a0163eb88d4d6355f6851ca

7 years agoART: Reprint long messages on abort
Andreas Gampe [Tue, 4 Oct 2016 02:47:08 +0000 (19:47 -0700)]
ART: Reprint long messages on abort

Add an abort message parameter to Runtime::Abort. In case the message
is multiline (and will thus not be completely preserved in the
Android abort reason), reprint the message after all threads have
been dumped.

Bug: 31893081
Test: m test-art-host
Change-Id: I65bc77691fec79f7c868a90d6132805fcc91e473

7 years agoART: Clean up IRT-related abort messaging
Andreas Gampe [Mon, 3 Oct 2016 18:42:31 +0000 (11:42 -0700)]
ART: Clean up IRT-related abort messaging

Change AbortIfNoCheckJNI to take the abort message as a parameter.
This way it can be passed down.

Bug: 31893081
Test: m test-art-host
Change-Id: Ib24c7060f1b32c9613ab84e6c1966082c866bc14

7 years agoMerge changes I50493bca,I8b266ad0
Mathieu Chartier [Tue, 4 Oct 2016 01:09:28 +0000 (01:09 +0000)]
Merge changes I50493bca,I8b266ad0
am: 5075b0e5e2

Change-Id: Id9374c534cf2dd03a4a71d38d83d3e670ca1ec7e

7 years agoUse ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest
Mathieu Chartier [Tue, 4 Oct 2016 01:09:27 +0000 (01:09 +0000)]
Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest
am: b890130a66

Change-Id: I8394cd377bf81f4d367067d101a8734c3999d18e

7 years agoMove ArtField to ObjPtr
Mathieu Chartier [Tue, 4 Oct 2016 01:09:18 +0000 (01:09 +0000)]
Move ArtField to ObjPtr
am: 3398c7874e

Change-Id: I0aa82905394f02357eaaf96507382344ca6e6292

7 years agoMerge changes I50493bca,I8b266ad0
Mathieu Chartier [Tue, 4 Oct 2016 01:06:05 +0000 (01:06 +0000)]
Merge changes I50493bca,I8b266ad0

* changes:
  Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest
  Move ArtField to ObjPtr

7 years agoCompute PPID at ninja time
Colin Cross [Mon, 3 Oct 2016 23:40:13 +0000 (16:40 -0700)]
Compute PPID at ninja time

Using $(shell $$PPID) to compute PPID will return the pid of kati, which
will be the same for multiple sequential runs of make without changing
any makefiles.  Replace it with a bash subshell command to return the pid
of ninja, which will be different for every call to make.

ART_HOST_TEST_DIR now contains $ that need to propagate to the final
bash command, and must be evaluated exactly once.  Escape the $ in
${ART_HOST_TEST_DIR} in define-test-art-run-test so that
${ART_HOST_TEST_DIR} is not substituted in the function call to prevent
evaluating its contents in the $(eval) that wraps it, which would
substitute out the necessary $.

Test: m -j test-art-host
Change-Id: I3303805481cc1c77d1a321674e8c7c003043a7c4

7 years agoMerge "Add dex file writer to dexlayout tool."
Jeff Hao [Tue, 4 Oct 2016 00:50:17 +0000 (00:50 +0000)]
Merge "Add dex file writer to dexlayout tool."
am: 3ee94eea2a

Change-Id: I45e84a7997c835bf2d556c8b4b0102bbe6b59b0f

7 years agoMerge "Add dex file writer to dexlayout tool."
Jeff Hao [Tue, 4 Oct 2016 00:46:26 +0000 (00:46 +0000)]
Merge "Add dex file writer to dexlayout tool."

7 years agoMerge "art: Replace cutils/log.h with android/log.h"
Mark Salyzyn [Mon, 3 Oct 2016 23:07:39 +0000 (23:07 +0000)]
Merge "art: Replace cutils/log.h with android/log.h"
am: bd590cbd0e

Change-Id: I4f4cf2064c2e1eb3c9c9f07c02da9bf272087c94

7 years agoMerge "art: Replace cutils/log.h with android/log.h"
Mark Salyzyn [Mon, 3 Oct 2016 23:02:27 +0000 (23:02 +0000)]
Merge "art: Replace cutils/log.h with android/log.h"

7 years agoUse ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest
Mathieu Chartier [Fri, 30 Sep 2016 17:27:43 +0000 (10:27 -0700)]
Use ObjPtr for ResolvedFieldAccessTest and ResolvedMethodAccessTest

Also added LookupResolvedType that is guaranteed to not do thread
suspension but deals with multidex since GetResolvedType will
return null if the type was resolved in another dex file.

Added test.

Bug: 31113334

Test: test-art-host CC baker

Change-Id: I50493bca7d8ce9760546c3116b717484c62c47a4

7 years agoA first implementation of a loop optimization framework.
Aart Bik [Fri, 26 Aug 2016 18:31:48 +0000 (11:31 -0700)]
A first implementation of a loop optimization framework.

Rationale:
We are planning to add more and more loop related optimizations
and this framework provides the basis to do so. For starters,
the framework optimizes dead induction, induction that can be
replaced with a simpler closed-form, and eliminates dead loops
completely (either pre-existing or as a result of induction
removal).

Speedup on e.g. Benchpress Loop is 73x (17.5us. -> 0.24us.)
[with the potential for more exploiting outer loop too]

Test: 618-checker-induction et al.

Change-Id: If80a809acf943539bf6726b0030dcabd50c9babc

7 years agoAdd dex file writer to dexlayout tool.
Jeff Hao [Fri, 23 Sep 2016 01:02:49 +0000 (18:02 -0700)]
Add dex file writer to dexlayout tool.

All sections are being written out properly.
There is one small difference:
  - unindexed string data is not written out

Bug: 29921113
Test: mm test-art-host-gtest-dexlayout_test
Change-Id: I3872327526a350f33f0f851516a389622c1a54ae

7 years agoMerge "Run dexfuzz in bisection-search mode"
Aart Bik [Mon, 3 Oct 2016 21:31:34 +0000 (21:31 +0000)]
Merge "Run dexfuzz in bisection-search mode"
am: 6ba406580e

Change-Id: I11f9d561ed89856a8675e68b773d5adb98a24c9d

7 years agoMerge "Run dexfuzz in bisection-search mode"
Aart Bik [Mon, 3 Oct 2016 21:29:19 +0000 (21:29 +0000)]
Merge "Run dexfuzz in bisection-search mode"

7 years agoMove ArtField to ObjPtr
Mathieu Chartier [Fri, 30 Sep 2016 17:27:43 +0000 (10:27 -0700)]
Move ArtField to ObjPtr

Added EXPECT_OBJ_PTR_EQ and variants to gtests.

Fixed moving GC bugs in:
ClassLinker::CreatePathClassLoader
ClassLinkerTest: StaticFields

ObjPtr Decode call sites: 186 -> 181.

Some tests fail due to ResolvedFieldAccessTest, will fix in follow
up CL.

Bug: 31113334

Test: test-art-host CC baker

Change-Id: I8b266ad00f3c20c8cbe7cfdf280d175083df0b88