OSDN Git Service

android-x86/art.git
9 years agoMerge "Avoid signed integer overflow."
Ian Rogers [Thu, 30 Oct 2014 22:25:22 +0000 (22:25 +0000)]
Merge "Avoid signed integer overflow."

9 years agoMerge "Add hash table to link virtual methods"
Mathieu Chartier [Thu, 30 Oct 2014 22:24:49 +0000 (22:24 +0000)]
Merge "Add hash table to link virtual methods"

9 years agoMerge "Fix mixed signed/unsigned arithmetic in BitVector."
Ian Rogers [Thu, 30 Oct 2014 22:24:10 +0000 (22:24 +0000)]
Merge "Fix mixed signed/unsigned arithmetic in BitVector."

9 years agoAdd hash table to link virtual methods
Mathieu Chartier [Wed, 29 Oct 2014 01:23:02 +0000 (18:23 -0700)]
Add hash table to link virtual methods

Added a hash table for turning the O(m*n) lookup average case to
O(m+n) average case. There is probably still some room for improvement.

Before:
WaitTime: 2121
WaitTime: 2051
WaitTime: 2134
WaitTime: 2104
WaitTime: 2237
WaitTime: 2391
4.99% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod)
1.65% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle<art::mirror::Class>)

After:
WaitTime: 2038
WaitTime: 1965
WaitTime: 1979
WaitTime: 1976
WaitTime: 1957
WaitTime: 2004
0.46% art::MethodNameAndSignatureComparator::HasSameNameAndSignature(art::mirror::ArtMethod*)
1.39% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle<art::mirror::Class>)

Bug: 18054905
Bug: 16828525

(cherry picked from commit a9ca9ac444ceb2cf5e8bd5c98c1ed47f2a9a94dd)

Change-Id: If847afb7194daa05ace38d15862e4b871dfffae1

9 years agoMerge "Avoid signed arithmetic overflow in UTF hash functions."
Ian Rogers [Thu, 30 Oct 2014 22:19:02 +0000 (22:19 +0000)]
Merge "Avoid signed arithmetic overflow in UTF hash functions."

9 years agoAvoid signed arithmetic overflow in UTF hash functions.
Ian Rogers [Thu, 30 Oct 2014 22:16:16 +0000 (15:16 -0700)]
Avoid signed arithmetic overflow in UTF hash functions.

Change-Id: I3485ef8445a6034661c1e75dc11ab9ad48884458

9 years agoFix mixed signed/unsigned arithmetic in BitVector.
Ian Rogers [Thu, 30 Oct 2014 22:13:22 +0000 (15:13 -0700)]
Fix mixed signed/unsigned arithmetic in BitVector.

Change-Id: I59c7f5a26e42689f77b067f4c73b086335e9273d

9 years agoAvoid signed integer overflow.
Ian Rogers [Thu, 30 Oct 2014 22:10:02 +0000 (15:10 -0700)]
Avoid signed integer overflow.

Caught by -ftrapv there is a benign integer overflow if a switch has the
value max int within it (as in run-test 095).

Change-Id: I86bb8ce2f9097cb367c031ec51d58d01b31313e2

9 years agoMerge "art: Fix classlinker and nopatchoat test for PIC case"
Igor Murashkin [Thu, 30 Oct 2014 21:40:18 +0000 (21:40 +0000)]
Merge "art: Fix classlinker and nopatchoat test for PIC case"

9 years agoart: Fix classlinker and nopatchoat test for PIC case
Igor Murashkin [Thu, 30 Oct 2014 02:45:42 +0000 (19:45 -0700)]
art: Fix classlinker and nopatchoat test for PIC case

ClassLinker should not be checking oat data begin and the patch delta
as part of the checksum verification (when PIC is enabled).

Also update nopatchoat test since it needs to be parametric on whether
PIC is used.

Bug: 18035729
Change-Id: I4eb184d22616230a7b8f0dd514d3416d0976b07e

9 years agoMerge "Remove bogus compiler flag from libart-compiler."
Ian Rogers [Thu, 30 Oct 2014 18:56:52 +0000 (18:56 +0000)]
Merge "Remove bogus compiler flag from libart-compiler."

9 years agoRemove bogus compiler flag from libart-compiler.
Ian Rogers [Thu, 30 Oct 2014 18:53:42 +0000 (11:53 -0700)]
Remove bogus compiler flag from libart-compiler.

Change-Id: I2e2c555cb80c745e3d9859b88f16491ea146b38f

9 years agoMerge "ARM: Generate $t mapping symbol to indicate thumb2 code"
Ian Rogers [Thu, 30 Oct 2014 18:36:14 +0000 (18:36 +0000)]
Merge "ARM: Generate $t mapping symbol to indicate thumb2 code"

9 years agoMerge "Tidy and reduce ART library dependencies on the host."
Ian Rogers [Thu, 30 Oct 2014 18:31:27 +0000 (18:31 +0000)]
Merge "Tidy and reduce ART library dependencies on the host."

9 years agoMerge "Follow-up CL after hard float changes."
Nicolas Geoffray [Thu, 30 Oct 2014 18:20:07 +0000 (18:20 +0000)]
Merge "Follow-up CL after hard float changes."

9 years agoTidy and reduce ART library dependencies on the host.
Ian Rogers [Thu, 30 Oct 2014 18:19:14 +0000 (11:19 -0700)]
Tidy and reduce ART library dependencies on the host.

Move to shared rather than static libraries. Avoids capture of all static
libraries library dependencies.

Change-Id: I2be96e92dad4ed1842d76b044745f2a2e15372eb

9 years agoMerge "419 fails on optimizing/arm64."
Nicolas Geoffray [Thu, 30 Oct 2014 17:33:51 +0000 (17:33 +0000)]
Merge "419 fails on optimizing/arm64."

9 years ago419 fails on optimizing/arm64.
Nicolas Geoffray [Thu, 30 Oct 2014 17:33:03 +0000 (17:33 +0000)]
419 fails on optimizing/arm64.

Change-Id: I323b53314198821b44829f4299449859163df82f

9 years agoMerge "ART: Do not abort on most verifier failures"
Andreas Gampe [Thu, 30 Oct 2014 17:08:03 +0000 (17:08 +0000)]
Merge "ART: Do not abort on most verifier failures"

9 years agoART: Do not abort on most verifier failures
Andreas Gampe [Tue, 28 Oct 2014 03:08:46 +0000 (20:08 -0700)]
ART: Do not abort on most verifier failures

Changes hard aborts to hard verifier failures, which rejects a
class instead of killing the process.

Bug: 17625962

(cherry picked from commit 8fa841aa1c02ff8e3e7caaa73ed5fe25f027d5d3)

Change-Id: Iba8e15676e13ea6dcd6e1e5d0484031d9ab52ae9

9 years agoMerge "Fix for long parameter passed both in stack and register."
Nicolas Geoffray [Thu, 30 Oct 2014 17:04:55 +0000 (17:04 +0000)]
Merge "Fix for long parameter passed both in stack and register."

9 years agoFix for long parameter passed both in stack and register.
Nicolas Geoffray [Thu, 30 Oct 2014 16:37:57 +0000 (16:37 +0000)]
Fix for long parameter passed both in stack and register.

Fix for long parameter passed both in stack and register
on 32bits architectures.
The move to hard float ABI makes it so that the
register index does not necessarily match the stack index anymore.

Change-Id: I26b483f68ac86d336b4a37d94c38b04917668659

9 years agoMerge "Update list of failing tests for arm64/optimizing."
Nicolas Geoffray [Thu, 30 Oct 2014 13:17:48 +0000 (13:17 +0000)]
Merge "Update list of failing tests for arm64/optimizing."

9 years agoMerge "Fix gtest dependencies."
Nicolas Geoffray [Thu, 30 Oct 2014 12:14:48 +0000 (12:14 +0000)]
Merge "Fix gtest dependencies."

9 years agoFix gtest dependencies.
Nicolas Geoffray [Thu, 30 Oct 2014 12:13:17 +0000 (12:13 +0000)]
Fix gtest dependencies.

Change-Id: I661f3b09e2ed8102ae262104f3784a8eb067a0b2

9 years agoUpdate list of failing tests for arm64/optimizing.
Nicolas Geoffray [Thu, 30 Oct 2014 10:54:03 +0000 (10:54 +0000)]
Update list of failing tests for arm64/optimizing.

Support for new opcodes in other backends led to new failures.

Change-Id: I4231869cd698ee412e9319eb6822f7e885160b19

9 years agoMerge "Another ART_TEST_ANDROID_ROOT fix."
Nicolas Geoffray [Thu, 30 Oct 2014 10:37:53 +0000 (10:37 +0000)]
Merge "Another ART_TEST_ANDROID_ROOT fix."

9 years agoAnother ART_TEST_ANDROID_ROOT fix.
Nicolas Geoffray [Wed, 29 Oct 2014 23:50:40 +0000 (23:50 +0000)]
Another ART_TEST_ANDROID_ROOT fix.

Some gtests use ANDROID_ROOT to locate things like core-libart.jar.

Change-Id: Ic929c15542e5c0bfef2181ba404f4adf0de28465

9 years agoMerge "Also use Quick for target boot image."
Nicolas Geoffray [Thu, 30 Oct 2014 10:30:47 +0000 (10:30 +0000)]
Merge "Also use Quick for target boot image."

9 years agoAlso use Quick for target boot image.
Nicolas Geoffray [Thu, 30 Oct 2014 10:29:03 +0000 (10:29 +0000)]
Also use Quick for target boot image.

Change-Id: I4b04effa45b4f0af7a5b0220b0dd50e6697b9349

9 years agoMerge "Opt compiler: Add ARM64 support for the Mul IR."
Nicolas Geoffray [Thu, 30 Oct 2014 10:13:14 +0000 (10:13 +0000)]
Merge "Opt compiler: Add ARM64 support for the Mul IR."

9 years agoARM: Generate $t mapping symbol to indicate thumb2 code
Ningsheng Jian [Mon, 27 Oct 2014 06:56:34 +0000 (14:56 +0800)]
ARM: Generate $t mapping symbol to indicate thumb2 code

According to ARM ELF specification, add $t mapping symbol to oat file
to indicate that the compiled method is thumb2 code.

Change-Id: I31e4eeab0b2be7754127cc90ac40b00216b48009

9 years agoMerge "ART: Fix no-image run-test dependency"
Andreas Gampe [Thu, 30 Oct 2014 05:12:54 +0000 (05:12 +0000)]
Merge "ART: Fix no-image run-test dependency"

9 years agoART: Fix no-image run-test dependency
Andreas Gampe [Thu, 30 Oct 2014 03:46:17 +0000 (20:46 -0700)]
ART: Fix no-image run-test dependency

The tests depend on a core image for prebuilding.

Change-Id: Ib8352a00b61bfcb72b86d42fb8a94e3802ff874d

9 years agoMerge "Fix combination of prebuild/no-image."
Andreas Gampe [Thu, 30 Oct 2014 01:46:06 +0000 (01:46 +0000)]
Merge "Fix combination of prebuild/no-image."

9 years agoMerge "Support gtest with ART_TEST_ANDROID_ROOT."
Nicolas Geoffray [Wed, 29 Oct 2014 23:11:03 +0000 (23:11 +0000)]
Merge "Support gtest with ART_TEST_ANDROID_ROOT."

9 years agoSupport gtest with ART_TEST_ANDROID_ROOT.
Nicolas Geoffray [Wed, 29 Oct 2014 22:38:53 +0000 (22:38 +0000)]
Support gtest with ART_TEST_ANDROID_ROOT.

Change-Id: If14c499c64cbaab3fbf6e17540e782543e8856d4

9 years agoFix combination of prebuild/no-image.
Nicolas Geoffray [Wed, 29 Oct 2014 23:02:11 +0000 (23:02 +0000)]
Fix combination of prebuild/no-image.

Prebuild should always have an image. It's running the test
that should not.

Change-Id: I659514fba053c19edf13384ce061497d9b3a9e27

9 years agoOpt compiler: Add ARM64 support for the Mul IR.
Alexandre Rames [Mon, 27 Oct 2014 14:00:51 +0000 (14:00 +0000)]
Opt compiler: Add ARM64 support for the Mul IR.

Also disable compilation and use of the boot image with
the optimizing compiler: this won't work with the way
we're bringing up arm64 and we need to find a better
solution.

Bug: 18147756

Change-Id: I6ec0de73681f9226d095bc3db92338dbd46499aa

9 years agoMerge "ART: Fix multi-image testing"
Andreas Gampe [Wed, 29 Oct 2014 17:38:09 +0000 (17:38 +0000)]
Merge "ART: Fix multi-image testing"

9 years agoART: Fix multi-image testing
Andreas Gampe [Wed, 29 Oct 2014 16:35:19 +0000 (09:35 -0700)]
ART: Fix multi-image testing

Also, make an unknown compiler backend string fail dex2oat.

Change-Id: I878aef47d3c2c84b8479420e1a7ea2852993de35

9 years agoMerge "Set ANDROID_ROOT correctly for host in test script."
Nicolas Geoffray [Wed, 29 Oct 2014 14:09:00 +0000 (14:09 +0000)]
Merge "Set ANDROID_ROOT correctly for host in test script."

9 years agoSet ANDROID_ROOT correctly for host in test script.
Nicolas Geoffray [Wed, 29 Oct 2014 14:05:59 +0000 (14:05 +0000)]
Set ANDROID_ROOT correctly for host in test script.

Change-Id: I2cbac266a05c3c731787130584b69dbf3e67e980

9 years agoMerge "Provide an option to run run-tests with a local dalvikvm."
Nicolas Geoffray [Wed, 29 Oct 2014 13:10:13 +0000 (13:10 +0000)]
Merge "Provide an option to run run-tests with a local dalvikvm."

9 years agoProvide an option to run run-tests with a local dalvikvm.
Nicolas Geoffray [Tue, 28 Oct 2014 17:59:47 +0000 (17:59 +0000)]
Provide an option to run run-tests with a local dalvikvm.

Instead of overwriting /system, use a temporary directory
to push the binaries and libraries, and use them for
running the tests.

Change-Id: I45fa2ac51f836686d8e8676907eb26629f7ab2ab

9 years agoMerge "Add support for static fields in optimizing compiler."
Nicolas Geoffray [Wed, 29 Oct 2014 13:02:55 +0000 (13:02 +0000)]
Merge "Add support for static fields in optimizing compiler."

9 years agoAdd support for static fields in optimizing compiler.
Nicolas Geoffray [Wed, 22 Oct 2014 15:07:05 +0000 (16:07 +0100)]
Add support for static fields in optimizing compiler.

Change-Id: Id2f010589e2bd6faf42c05bb33abf6816ebe9fa9

9 years agoMerge "Remove useless suspend points from arm/arm64 AGET/APUT."
Vladimir Marko [Wed, 29 Oct 2014 11:06:45 +0000 (11:06 +0000)]
Merge "Remove useless suspend points from arm/arm64 AGET/APUT."

9 years agoMerge "Move GetNameAsString out of MethodHelper into ArtMethod."
Ian Rogers [Wed, 29 Oct 2014 04:57:49 +0000 (04:57 +0000)]
Merge "Move GetNameAsString out of MethodHelper into ArtMethod."

9 years agoMove GetNameAsString out of MethodHelper into ArtMethod.
Ian Rogers [Wed, 29 Oct 2014 04:50:58 +0000 (21:50 -0700)]
Move GetNameAsString out of MethodHelper into ArtMethod.

Change-Id: I98b8ed9d91741267659616cb76ce5f6fec4feae8

9 years agoMerge changes I70e70894,I3adcb8a1
Brian Carlstrom [Wed, 29 Oct 2014 03:17:16 +0000 (03:17 +0000)]
Merge changes I70e70894,I3adcb8a1

* changes:
  Work around relocated boot.oat corruption
  Remove double space in messages

9 years agoMerge "Move MethodHelper::GetReturnType to mirror::ArtMethod."
Ian Rogers [Wed, 29 Oct 2014 01:39:02 +0000 (01:39 +0000)]
Merge "Move MethodHelper::GetReturnType to mirror::ArtMethod."

9 years agoMove MethodHelper::GetReturnType to mirror::ArtMethod.
Ian Rogers [Wed, 29 Oct 2014 01:12:55 +0000 (18:12 -0700)]
Move MethodHelper::GetReturnType to mirror::ArtMethod.

Also, fix missing handle in HasSameSignatureWithDifferentClassLoaders.

Change-Id: I9e1ffd09be950ecc8346fc3c485760d82d9ecab3

9 years agoWork around relocated boot.oat corruption
Brian Carlstrom [Tue, 28 Oct 2014 22:53:43 +0000 (15:53 -0700)]
Work around relocated boot.oat corruption

Bug: 18143314

(cherry picked from commit 7dd7261845258b7c29b588829c80164b878f4424)

Change-Id: I70e708940663bf53ebe5320f53fd2dcebb0c623f

9 years agoMerge "ART: PIC testing"
Andreas Gampe [Wed, 29 Oct 2014 01:07:15 +0000 (01:07 +0000)]
Merge "ART: PIC testing"

9 years agoART: PIC testing
Andreas Gampe [Tue, 28 Oct 2014 21:47:25 +0000 (14:47 -0700)]
ART: PIC testing

Adds run-test support for PIC testing.

For the core image, enable with ART_TEST_PIC_IMAGE=true.
For the tests themselves, enable with ART_TEST_PIC_TEST=true.
Off by default.

Bug: 18035729
Change-Id: I23e396a2fa47b9471145f45b3c63f447871ebebf

9 years agoMerge "Fill resolved static fields during class initialization"
Mathieu Chartier [Tue, 28 Oct 2014 23:39:01 +0000 (23:39 +0000)]
Merge "Fill resolved static fields during class initialization"

9 years agoFill resolved static fields during class initialization
Mathieu Chartier [Tue, 28 Oct 2014 20:57:04 +0000 (13:57 -0700)]
Fill resolved static fields during class initialization

Previously everytime we resolved static fields we linear searched
the class to find the field with the specified field id. Now we
eagerly set these fields in the dex cache when we initialize classes.

FB launch timings before:
WaitTime: 2903
WaitTime: 2953
WaitTime: 2918
WaitTime: 2940
WaitTime: 2879
WaitTime: 2792

Timings after:
WaitTime: 2699
WaitTime: 2791
WaitTime: 2653
WaitTime: 2929
WaitTime: 2651
WaitTime: 2971

Perf before:
2.94% art::mirror::Class::FindDeclaredStaticField(art::mirror::DexCache const*, unsigned int)
After:
0.00% art::mirror::Class::FindDeclaredStaticField(art::mirror::DexCache const*, unsigned int)

Bug: 18054905
Bug: 16828525

(cherry picked from commit bfb21589a6490769690b44aaf8e6a0021a1261b7)

Change-Id: I33255f85d10c29cae085584880196c45ac0ea230

9 years agoRemove double space in messages
Brian Carlstrom [Tue, 28 Oct 2014 20:54:26 +0000 (13:54 -0700)]
Remove double space in messages

Change-Id: I3adcb8a13c8d0468cb700a1195aecfc0fd94dcbb

9 years agoMerge "Remove ResolveString from MethodHelper."
Ian Rogers [Tue, 28 Oct 2014 20:54:49 +0000 (20:54 +0000)]
Merge "Remove ResolveString from MethodHelper."

9 years agoRemove ResolveString from MethodHelper.
Ian Rogers [Tue, 28 Oct 2014 19:49:06 +0000 (12:49 -0700)]
Remove ResolveString from MethodHelper.

Change-Id: Ice0fff0680f876285539f78cd79d520d424e2f5e

9 years agoMerge "ART: Create and use multiple core images"
Andreas Gampe [Tue, 28 Oct 2014 19:18:56 +0000 (19:18 +0000)]
Merge "ART: Create and use multiple core images"

9 years agoART: Create and use multiple core images
Andreas Gampe [Sat, 25 Oct 2014 04:58:16 +0000 (21:58 -0700)]
ART: Create and use multiple core images

Update test infrastructure to understand several core variants.
Now compiles three core.art/oat variants:

* core.art/oat, default-compiled
* core-interpreter.art/oat, interpret-only
* core-optimizing.art/oat, optimizing compiler

The run-test variant implies which core variant is used.

Change-Id: Ieeaf2df90faee2b04c209b950897e77806205fe4

9 years agoMerge "Tidy MethodProtoHelper."
Ian Rogers [Tue, 28 Oct 2014 18:48:14 +0000 (18:48 +0000)]
Merge "Tidy MethodProtoHelper."

9 years agoTidy MethodProtoHelper.
Ian Rogers [Tue, 28 Oct 2014 16:34:57 +0000 (09:34 -0700)]
Tidy MethodProtoHelper.

Move to place of only use, class_linker.cc. Be lazy in computing the name.

Change-Id: I1438efbda58369ddd0ac36eda8a5a0a6c6fdff77

9 years agoMerge "[optimizing compiler] Add division for floats and doubles"
Calin Juravle [Tue, 28 Oct 2014 17:54:20 +0000 (17:54 +0000)]
Merge "[optimizing compiler] Add division for floats and doubles"

9 years ago[optimizing compiler] Add division for floats and doubles
Calin Juravle [Tue, 28 Oct 2014 16:57:40 +0000 (16:57 +0000)]
[optimizing compiler] Add division for floats and doubles

backends: x86, x86_64, arm.

Also:
- ordered instructions based on their name.
- add missing kNoOutputOverlap to add/sub/mul.

Change-Id: Ie47cde3b15ac74e7a1660c67a2eed1d7871f0ad0

9 years agoRemove useless suspend points from arm/arm64 AGET/APUT.
Vladimir Marko [Tue, 28 Oct 2014 17:51:22 +0000 (17:51 +0000)]
Remove useless suspend points from arm/arm64 AGET/APUT.

Change-Id: Ib17da0c02599b943cb62582a8a25f187272d423b

9 years agoMerge "Add long bitwise not instruction in the optimizing compiler."
Roland Levillain [Tue, 28 Oct 2014 11:21:22 +0000 (11:21 +0000)]
Merge "Add long bitwise not instruction in the optimizing compiler."

9 years agoFollow-up CL after hard float changes.
Nicolas Geoffray [Tue, 28 Oct 2014 10:46:40 +0000 (10:46 +0000)]
Follow-up CL after hard float changes.

Addressing comments from Zheng Xu.

Change-Id: I8c599cdfab03373e82a1b90b711005c490bc6ca0

9 years agoMerge changes Ia007744f,Iac6d03d8
Brian Carlstrom [Tue, 28 Oct 2014 04:06:10 +0000 (04:06 +0000)]
Merge changes Ia007744f,Iac6d03d8

* changes:
  Remove extraneous fprintf args
  Remove boot.art/boot.oat on failure to create

9 years agoMerge "ART: Add support for patching and loading OAT files compiled with PIC"
Igor Murashkin [Tue, 28 Oct 2014 03:53:36 +0000 (03:53 +0000)]
Merge "ART: Add support for patching and loading OAT files compiled with PIC"

9 years agoART: Add support for patching and loading OAT files compiled with PIC
Igor Murashkin [Wed, 22 Oct 2014 18:37:02 +0000 (11:37 -0700)]
ART: Add support for patching and loading OAT files compiled with PIC

* Images (.art) compiled with pic now have a new field added.
* isDexOptNeeded will now skip patch-ing for apps compiled PIC
* First-boot patching now only copies boot.art, boot.oat is linked

As a result, all system preopted dex files (with --compile-pic) no
longer take up any space in /data/dalvik-cache/<isa>.

Bug: 18035729
Change-Id: Ie1acad81a0fd8b2f24e1f3f07a06e6fdb548be62

9 years agoMerge "ART: Add pic flag to oat header store"
Andreas Gampe [Tue, 28 Oct 2014 02:08:03 +0000 (02:08 +0000)]
Merge "ART: Add pic flag to oat header store"

9 years agoRemove extraneous fprintf args
Brian Carlstrom [Tue, 28 Oct 2014 01:57:28 +0000 (18:57 -0700)]
Remove extraneous fprintf args

Also fix build scripts to die due to such warnings.

Change-Id: Ia007744fcef8e37ba73b4f73e7c50c9fc9a1d4f5

9 years agoART: Add pic flag to oat header store
Andreas Gampe [Thu, 23 Oct 2014 18:37:40 +0000 (11:37 -0700)]
ART: Add pic flag to oat header store

Add the compile-time PIC flag to the oat-header key-value store.
Ignore image offset and patch delta when loading PIC oat files.

Change-Id: Ie1f1ef37125386a968228033d1e2bec565315510

9 years agoRemove boot.art/boot.oat on failure to create
Brian Carlstrom [Mon, 27 Oct 2014 23:27:06 +0000 (16:27 -0700)]
Remove boot.art/boot.oat on failure to create

Bug: 18143314

(cherry picked from commit a6b2affaf99e03f938f6f26e42606488d43f2efe)

Change-Id: Iac6d03d81997911f6707340487a26ee26a3aee27

9 years agoMerge "Fix 64 bit build"
Mathieu Chartier [Tue, 28 Oct 2014 00:50:45 +0000 (00:50 +0000)]
Merge "Fix 64 bit build"

9 years agoFix 64 bit build
Mathieu Chartier [Tue, 28 Oct 2014 00:30:20 +0000 (17:30 -0700)]
Fix 64 bit build

Buggy compiler.

(cherry picked from commit 7989d22642415e1e4d608e210284834951bd0a39)

Change-Id: Id16c83fc7963ca89fd7fae32dd15ae342cc7f064

9 years agoMerge "ART: Typo fix"
Andreas Gampe [Tue, 28 Oct 2014 00:06:49 +0000 (00:06 +0000)]
Merge "ART: Typo fix"

9 years agoART: Typo fix
Andreas Gampe [Tue, 28 Oct 2014 00:06:29 +0000 (17:06 -0700)]
ART: Typo fix

Change-Id: If544f02117b6f1bbc1279444c70cb9f2a0534c6f

9 years agoMerge "ART: Fix test 089"
Andreas Gampe [Tue, 28 Oct 2014 00:05:45 +0000 (00:05 +0000)]
Merge "ART: Fix test 089"

9 years agoART: Fix test 089
Andreas Gampe [Tue, 28 Oct 2014 00:03:58 +0000 (17:03 -0700)]
ART: Fix test 089

Another two lines of build failure output that need to be stripped.

Change-Id: I85c2a3b3e8553b2f5da8e043dd561ada380ef2fe

9 years agoMerge "Optimize method linking"
Mathieu Chartier [Mon, 27 Oct 2014 23:50:08 +0000 (23:50 +0000)]
Merge "Optimize method linking"

9 years agoOptimize method linking
Mathieu Chartier [Thu, 23 Oct 2014 23:48:06 +0000 (16:48 -0700)]
Optimize method linking

Added more inlining, removed imt array allocation and replaced it
with a handle scope. Removed some un-necessary handle scopes.

Added logic to base interface method tables from the superclass so
that we dont need to reconstruct for every interface (large win).

Facebook launch Dalvik KK MR2:
TotalTime: 3165
TotalTime: 3652
TotalTime: 3143
TotalTime: 3298
TotalTime: 3212
TotalTime: 3211

Facebook launch TOT before:
WaitTime: 3702
WaitTime: 3616
WaitTime: 3616
WaitTime: 3687
WaitTime: 3742
WaitTime: 3767

After optimizations:
WaitTime: 2903
WaitTime: 2953
WaitTime: 2918
WaitTime: 2940
WaitTime: 2879
WaitTime: 2792

LinkInterfaceMethods no longer one of the hottest methods, new list:
4.73% art::ClassLinker::LinkVirtualMethods(art::Thread*, art::Handle<art::mirror::Class>)
3.07% art::DexFile::FindClassDef(char const*) const
2.94% art::mirror::Class::FindDeclaredStaticField(art::mirror::DexCache const*, unsigned int)
2.90% art::DexFile::FindStringId(char const*) const

Bug: 18054905
Bug: 16828525

(cherry picked from commit 1fb463e42cf1d67595cff66d19c0f99e3046f4c4)

Change-Id: I27cc70178fd3655fbe5a3178887fcba189d21321

9 years agoMerge "Add gp initialization to the art_quick_imt_conflict_trampoline() function."
Ian Rogers [Mon, 27 Oct 2014 23:19:03 +0000 (23:19 +0000)]
Merge "Add gp initialization to the art_quick_imt_conflict_trampoline() function."

9 years agoMerge "Extra debug output in run-test."
Ian Rogers [Mon, 27 Oct 2014 23:07:23 +0000 (23:07 +0000)]
Merge "Extra debug output in run-test."

9 years agoAdd gp initialization to the art_quick_imt_conflict_trampoline() function.
Douglas Leung [Mon, 27 Oct 2014 21:44:47 +0000 (14:44 -0700)]
Add gp initialization to the art_quick_imt_conflict_trampoline() function.

The gp register is needed by the "la" instruction.

Change-Id: I4f2dcddba503f403dd6532d0db65ddd7df1f9626

9 years agoExtra debug output in run-test.
Ian Rogers [Mon, 27 Oct 2014 20:48:21 +0000 (13:48 -0700)]
Extra debug output in run-test.

Dump PATH_MAX and NAME_MAX on failure.
Also fix typo in dumping args.

Change-Id: I3df0dbc45db0659c975ac86a12f338df2a7291dc

9 years agoMerge "Rewrite class initialization check elimination."
Vladimir Marko [Mon, 27 Oct 2014 18:10:02 +0000 (18:10 +0000)]
Merge "Rewrite class initialization check elimination."

9 years agoAdd long bitwise not instruction in the optimizing compiler.
Roland Levillain [Fri, 24 Oct 2014 15:20:17 +0000 (16:20 +0100)]
Add long bitwise not instruction in the optimizing compiler.

- Add support for the not-long (long integer one's
  complement negation) instruction in the optimizing
  compiler.
- Add a 64-bit NOT instruction (notq) to the x86-64
  assembler.
- Generate ARM, x86 and x86-64 code for long HNot nodes.
- Gather not-related tests in test/416-optimizing-arith-not.

Change-Id: I2d5b75e9875664d6032d04f8401b2bbb84506948

9 years agoMerge "Support hard float on arm in optimizing compiler."
Nicolas Geoffray [Mon, 27 Oct 2014 17:23:51 +0000 (17:23 +0000)]
Merge "Support hard float on arm in optimizing compiler."

9 years agoSupport hard float on arm in optimizing compiler.
Nicolas Geoffray [Mon, 27 Oct 2014 15:14:55 +0000 (15:14 +0000)]
Support hard float on arm in optimizing compiler.

Also bump oat version, needed after latest hard float switch.

Change-Id: Idf5acfb36c07e74acff00edab998419a3c6b2965

9 years agoMerge "ART: Fix ImageSpace error message."
Andreas Gampe [Mon, 27 Oct 2014 15:34:44 +0000 (15:34 +0000)]
Merge "ART: Fix ImageSpace error message."

9 years agoMerge "ART: Fix leak in bit_vector"
Andreas Gampe [Mon, 27 Oct 2014 15:32:46 +0000 (15:32 +0000)]
Merge "ART: Fix leak in bit_vector"

9 years agoMerge "[native bridge] Add test to verify code_cache existance."
Calin Juravle [Mon, 27 Oct 2014 15:15:50 +0000 (15:15 +0000)]
Merge "[native bridge] Add test to verify code_cache existance."

9 years agoRewrite class initialization check elimination.
Vladimir Marko [Thu, 16 Oct 2014 14:41:48 +0000 (15:41 +0100)]
Rewrite class initialization check elimination.

Split the notion of type being in dex cache away from the
class being initialized. Include static invokes in the class
initialization elimination pass.

Change-Id: Ie3760d8fd55b987f9507f32ef51456a57d79e3fb

9 years agoMerge "Quick: Fix wide Phi detection in GVN, clean up INVOKEs."
Vladimir Marko [Mon, 27 Oct 2014 09:44:31 +0000 (09:44 +0000)]
Merge "Quick: Fix wide Phi detection in GVN, clean up INVOKEs."

9 years agoMerge "Fix the DW_OP_breg* constants."
Elliott Hughes [Sun, 26 Oct 2014 21:31:13 +0000 (21:31 +0000)]
Merge "Fix the DW_OP_breg* constants."

9 years agoFix the DW_OP_breg* constants.
Elliott Hughes [Sun, 26 Oct 2014 04:05:01 +0000 (21:05 -0700)]
Fix the DW_OP_breg* constants.

Change-Id: I33225090a9355cf96796574bee473e2acd2a54d8