OSDN Git Service

android-x86/art.git
9 years agoMerge "ART: Remove unnecessary includes"
Andreas Gampe [Mon, 3 Nov 2014 18:12:44 +0000 (18:12 +0000)]
Merge "ART: Remove unnecessary includes"

9 years agoART: Remove unnecessary includes
Andreas Gampe [Mon, 3 Nov 2014 16:47:01 +0000 (08:47 -0800)]
ART: Remove unnecessary includes

Remove unnecessary includes from context_ISA.cc

Change-Id: Ic9919c0afd081ec405a5d972d152fe996d12fa3d

9 years agoMerge "Add missing $() when testing TARGET_ARCH."
Nicolas Geoffray [Mon, 3 Nov 2014 14:40:29 +0000 (14:40 +0000)]
Merge "Add missing $() when testing TARGET_ARCH."

9 years agoAdd missing $() when testing TARGET_ARCH.
Nicolas Geoffray [Mon, 3 Nov 2014 14:39:21 +0000 (14:39 +0000)]
Add missing $() when testing TARGET_ARCH.

Change-Id: I02a25022d144ad2a502278755ff286278109a830

9 years agoMerge "Only use Quick for optimizing on arm64."
Nicolas Geoffray [Mon, 3 Nov 2014 13:57:55 +0000 (13:57 +0000)]
Merge "Only use Quick for optimizing on arm64."

9 years agoMerge "Disable kNoOutputOverlap optimization."
Nicolas Geoffray [Mon, 3 Nov 2014 13:57:14 +0000 (13:57 +0000)]
Merge "Disable kNoOutputOverlap optimization."

9 years agoMerge "Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods"
Brian Carlstrom [Fri, 31 Oct 2014 21:33:35 +0000 (21:33 +0000)]
Merge "Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods"

9 years agoFix FindDeclaredVirtualMethod(DexCache...) for miranda methods
Brian Carlstrom [Fri, 31 Oct 2014 07:01:54 +0000 (00:01 -0700)]
Fix FindDeclaredVirtualMethod(DexCache...) for miranda methods

If a class in classes.dex implements an interface from classes2.dex,
the miranda method will be in the dex cache for classes2.dex, but
pointed to by the virtual methods of the class in the dex caches for
classes.dex.

Therefore the fast path for DexCache::ResolveMethod that searches via
class and superclass virtual methods should ensure that any method
matching on dex method_idx should be from the same dex cache as the
class itself, which is not the case for miranda methods.

Bug: 18193682

(cherry picked from commit 9a783d6a0cb437fc0d9ffcc84502912f3d1cb73b)

Change-Id: Ia44f72c2ed2701e48153d14d2c5ca4ccc4959b30

9 years agoMerge "Fix armv8 testing with default ANDROID_ROOT."
Nicolas Geoffray [Fri, 31 Oct 2014 15:50:18 +0000 (15:50 +0000)]
Merge "Fix armv8 testing with default ANDROID_ROOT."

9 years agoFix armv8 testing with default ANDROID_ROOT.
Nicolas Geoffray [Fri, 31 Oct 2014 15:34:50 +0000 (15:34 +0000)]
Fix armv8 testing with default ANDROID_ROOT.

Change-Id: I68ac57240783822972a3f49dd54de01ef60e637d

9 years agoMerge "More armv8 failures now that optimizing supports CONST_STRING."
Nicolas Geoffray [Fri, 31 Oct 2014 15:09:24 +0000 (15:09 +0000)]
Merge "More armv8 failures now that optimizing supports CONST_STRING."

9 years agoMore armv8 failures now that optimizing supports CONST_STRING.
Nicolas Geoffray [Fri, 31 Oct 2014 15:07:56 +0000 (15:07 +0000)]
More armv8 failures now that optimizing supports CONST_STRING.

Change-Id: Ifd53c7f520266e5a3ccdf58c50fcb7788e1eb9c6

9 years agoDisable kNoOutputOverlap optimization.
Nicolas Geoffray [Fri, 31 Oct 2014 14:27:37 +0000 (14:27 +0000)]
Disable kNoOutputOverlap optimization.

Found a case where it does not work. Need to think more about it
as well as write a regression test.

Change-Id: I2abe05c84f2c608d622fbe6d373b6dcdb68f4162

9 years agoMerge "Support for CONST_STRING in optimizing compiler."
Nicolas Geoffray [Fri, 31 Oct 2014 14:24:05 +0000 (14:24 +0000)]
Merge "Support for CONST_STRING in optimizing compiler."

9 years agoSupport for CONST_STRING in optimizing compiler.
Nicolas Geoffray [Thu, 30 Oct 2014 10:58:41 +0000 (10:58 +0000)]
Support for CONST_STRING in optimizing compiler.

Change-Id: Iab8517bdadd1d15ffbe570010f093660be7c51aa

9 years agoOnly use Quick for optimizing on arm64.
Nicolas Geoffray [Fri, 31 Oct 2014 10:48:25 +0000 (10:48 +0000)]
Only use Quick for optimizing on arm64.

Also, force recompilation of the images with optimizing at each
dex2oat change.

Change-Id: I4a6e3a7badc3dae4f35d4eb93659a0d59569cd1a

9 years agoMerge "Add math routines with defined wrapping behavior for the interpreter."
Ian Rogers [Thu, 30 Oct 2014 23:27:25 +0000 (23:27 +0000)]
Merge "Add math routines with defined wrapping behavior for the interpreter."

9 years agoAdd math routines with defined wrapping behavior for the interpreter.
Ian Rogers [Thu, 30 Oct 2014 22:41:08 +0000 (15:41 -0700)]
Add math routines with defined wrapping behavior for the interpreter.

Add a RSUB_INT_LIT16 instruction alias to make instruction opcode switch
statements easier to read.

Change-Id: I3bac07c9518665abf0b05b5c3105a90be22f780a

9 years agoMerge "Avoid signed integer overflow in identity hash code."
Ian Rogers [Thu, 30 Oct 2014 22:42:26 +0000 (22:42 +0000)]
Merge "Avoid signed integer overflow in identity hash code."

9 years agoAvoid signed integer overflow in identity hash code.
Ian Rogers [Thu, 30 Oct 2014 22:25:36 +0000 (15:25 -0700)]
Avoid signed integer overflow in identity hash code.

Caught by -ftrapv.

Change-Id: Ib8dbb31440ccce88a3c3ce7ea3b2394621616eff

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"