OSDN Git Service

android-x86/art.git
9 years agoam 2d3a69e6: Merge "ART: PIC testing"
Andreas Gampe [Wed, 29 Oct 2014 12:32:54 +0000 (12:32 +0000)]
am 2d3a69e6: Merge "ART: PIC testing"

* commit '2d3a69e6a0326e1d349c44e42dad0b5a83c406b2':
  ART: PIC testing

9 years agoam 027ea04b: Merge "Fill resolved static fields during class initialization"
Mathieu Chartier [Wed, 29 Oct 2014 12:32:53 +0000 (12:32 +0000)]
am 027ea04b: Merge "Fill resolved static fields during class initialization"

* commit '027ea04bcf14bed154bbf4241307499e65783ab9':
  Fill resolved static fields during class initialization

9 years agoam e0205d51: Merge "Remove ResolveString from MethodHelper."
Ian Rogers [Wed, 29 Oct 2014 12:32:34 +0000 (12:32 +0000)]
am e0205d51: Merge "Remove ResolveString from MethodHelper."

* commit 'e0205d519dd417f749243b42b8711dfa313e5390':
  Remove ResolveString from MethodHelper.

9 years agoam e1e08403: Merge "ART: Create and use multiple core images"
Andreas Gampe [Wed, 29 Oct 2014 12:32:31 +0000 (12:32 +0000)]
am e1e08403: Merge "ART: Create and use multiple core images"

* commit 'e1e084034ed1dd0e3928f0d10dc0cebf80171c07':
  ART: Create and use multiple core images

9 years agoam d0f6f903: Merge "Tidy MethodProtoHelper."
Ian Rogers [Wed, 29 Oct 2014 12:32:29 +0000 (12:32 +0000)]
am d0f6f903: Merge "Tidy MethodProtoHelper."

* commit 'd0f6f9037a19d2f78d885a6e758b98651317b0d9':
  Tidy MethodProtoHelper.

9 years agoam 7c1e9d86: Merge "[optimizing compiler] Add division for floats and doubles"
Calin Juravle [Wed, 29 Oct 2014 12:32:25 +0000 (12:32 +0000)]
am 7c1e9d86: Merge "[optimizing compiler] Add division for floats and doubles"

* commit '7c1e9d86be5131817505d443e42eaaf962b83524':
  [optimizing compiler] Add division for floats and doubles

9 years agoam 4816ecfc: Merge "Add long bitwise not instruction in the optimizing compiler."
Roland Levillain [Wed, 29 Oct 2014 12:32:15 +0000 (12:32 +0000)]
am 4816ecfc: Merge "Add long bitwise not instruction in the optimizing compiler."

* commit '4816ecfc1b2d544685ec5edcdeaad6870f6bfd7e':
  Add long bitwise not instruction in the optimizing compiler.

9 years agoam d3271e8a: Merge changes Ia007744f,Iac6d03d8
Brian Carlstrom [Wed, 29 Oct 2014 12:31:27 +0000 (12:31 +0000)]
am d3271e8a: Merge changes Ia007744f,Iac6d03d8

* commit 'd3271e8a48768ed53bfa2515474b57245e7d9a41':
  Remove extraneous fprintf args
  Remove boot.art/boot.oat on failure to create

9 years agoam 921f3858: Merge "ART: Add support for patching and loading OAT files compiled...
Igor Murashkin [Wed, 29 Oct 2014 12:31:25 +0000 (12:31 +0000)]
am 921f3858: Merge "ART: Add support for patching and loading OAT files compiled with PIC"

* commit '921f3858d6fb866e008ca0dce1d7cf2df222471e':
  ART: Add support for patching and loading OAT files compiled with PIC

9 years agoam 11bd683f: Merge "ART: Add pic flag to oat header store"
Andreas Gampe [Wed, 29 Oct 2014 12:31:24 +0000 (12:31 +0000)]
am 11bd683f: Merge "ART: Add pic flag to oat header store"

* commit '11bd683f6dbebe2f3d02fa383fc9dbc69a83ace8':
  ART: Add pic flag to oat header store

9 years agoam 79027f62: Merge "Fix 64 bit build"
Mathieu Chartier [Wed, 29 Oct 2014 12:31:23 +0000 (12:31 +0000)]
am 79027f62: Merge "Fix 64 bit build"

* commit '79027f6204f77db4ba3bd3ceab1f07240fbbfdb3':
  Fix 64 bit build

9 years agoam e74b720d: Merge "ART: Typo fix"
Andreas Gampe [Wed, 29 Oct 2014 12:31:21 +0000 (12:31 +0000)]
am e74b720d: Merge "ART: Typo fix"

* commit 'e74b720d752469d3883f3589de863e8fc82c6338':
  ART: Typo fix

9 years agoam 09e61bb2: Merge "ART: Fix test 089"
Andreas Gampe [Wed, 29 Oct 2014 12:31:20 +0000 (12:31 +0000)]
am 09e61bb2: Merge "ART: Fix test 089"

* commit '09e61bb2e68ac38d8af5a5601e4a9e6d80f4fc31':
  ART: Fix test 089

9 years agoam 57748282: Merge "Optimize method linking"
Mathieu Chartier [Wed, 29 Oct 2014 12:31:19 +0000 (12:31 +0000)]
am 57748282: Merge "Optimize method linking"

* commit '57748282c085ea29ab1c6d4188c79e5fe115ffa0':
  Optimize method linking

9 years agoam ac293277: Merge "Add gp initialization to the art_quick_imt_conflict_trampoline...
Ian Rogers [Wed, 29 Oct 2014 12:31:18 +0000 (12:31 +0000)]
am ac293277: Merge "Add gp initialization to the art_quick_imt_conflict_trampoline() function."

* commit 'ac293277b69882105810fabd6c53f55de58823fe':
  Add gp initialization to the art_quick_imt_conflict_trampoline() function.

9 years agoam 384c76aa: Merge "Extra debug output in run-test."
Ian Rogers [Wed, 29 Oct 2014 12:31:17 +0000 (12:31 +0000)]
am 384c76aa: Merge "Extra debug output in run-test."

* commit '384c76aa054947b611114511fefb1e56a7b3b439':
  Extra debug output in run-test.

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 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 agoam 4985fdf0: Merge "Rewrite class initialization check elimination."
Vladimir Marko [Tue, 28 Oct 2014 17:34:32 +0000 (17:34 +0000)]
am 4985fdf0: Merge "Rewrite class initialization check elimination."

* commit '4985fdf030e8e78f1c05266e989534cb26812bff':
  Rewrite class initialization check elimination.

9 years agoam 2deace28: Merge "Support hard float on arm in optimizing compiler."
Nicolas Geoffray [Tue, 28 Oct 2014 17:34:31 +0000 (17:34 +0000)]
am 2deace28: Merge "Support hard float on arm in optimizing compiler."

* commit '2deace28b16d3161ccd6a85a2c577e83f4b25364':
  Support hard float on arm in optimizing compiler.

9 years agoam 7066718b: Merge "ART: Fix ImageSpace error message."
Andreas Gampe [Tue, 28 Oct 2014 17:34:30 +0000 (17:34 +0000)]
am 7066718b: Merge "ART: Fix ImageSpace error message."

* commit '7066718bc494654f5ac71698f40aff1421168252':
  ART: Fix ImageSpace error message.

9 years agoam 7e6d3fdb: Merge "ART: Fix leak in bit_vector"
Andreas Gampe [Tue, 28 Oct 2014 17:34:28 +0000 (17:34 +0000)]
am 7e6d3fdb: Merge "ART: Fix leak in bit_vector"

* commit '7e6d3fdb14f513d24a9e8f5b49aab70d801734c3':
  ART: Fix leak in bit_vector

9 years agoam 0c1215e2: Merge "[native bridge] Add test to verify code_cache existance."
Calin Juravle [Tue, 28 Oct 2014 17:34:27 +0000 (17:34 +0000)]
am 0c1215e2: Merge "[native bridge] Add test to verify code_cache existance."

* commit '0c1215e237b3466b5084cc3c488f22f933283dba':
  [native bridge] Add test to verify code_cache existance.

9 years agoam 1ef3495a: Merge "Quick: Fix wide Phi detection in GVN, clean up INVOKEs."
Vladimir Marko [Tue, 28 Oct 2014 17:34:19 +0000 (17:34 +0000)]
am 1ef3495a: Merge "Quick: Fix wide Phi detection in GVN, clean up INVOKEs."

* commit '1ef3495abfa2a858b3cc7a1844383c8e7dff0b60':
  Quick: Fix wide Phi detection in GVN, clean up INVOKEs.

9 years agoam 07cce747: Merge "Fix the DW_OP_breg* constants."
Elliott Hughes [Tue, 28 Oct 2014 17:34:17 +0000 (17:34 +0000)]
am 07cce747: Merge "Fix the DW_OP_breg* constants."

* commit '07cce74751e9d1d818c860c83f678c69de90b1fb':
  Fix the DW_OP_breg* constants.

9 years agoam 768135f3: Merge "Do not use ld instruction for Mips32."
Ian Rogers [Tue, 28 Oct 2014 17:34:11 +0000 (17:34 +0000)]
am 768135f3: Merge "Do not use ld instruction for Mips32."

* commit '768135f301999ff9c8228991f3486a1ab691f540':
  Do not use ld instruction for Mips32.

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 agoam 3e3364e2: Merge "Tidy logging code not using UNIMPLEMENTED."
Ian Rogers [Tue, 28 Oct 2014 04:51:55 +0000 (04:51 +0000)]
am 3e3364e2: Merge "Tidy logging code not using UNIMPLEMENTED."

* commit '3e3364e267117462894e0c3b7d9b413b25d28057':
  Tidy logging code not using UNIMPLEMENTED.

9 years agoam c57a66d5: Merge "ARM: Use hardfp calling convention between java to java call."
Ian Rogers [Tue, 28 Oct 2014 04:51:53 +0000 (04:51 +0000)]
am c57a66d5: Merge "ARM: Use hardfp calling convention between java to java call."

* commit 'c57a66d5aadfd682c63e34ec1b1f304260f8c333':
  ARM: Use hardfp calling convention between java to java call.

9 years agoam b62ff579: Merge "ART: Add div/rem zero check elimination flag"
Ian Rogers [Tue, 28 Oct 2014 04:51:50 +0000 (04:51 +0000)]
am b62ff579: Merge "ART: Add div/rem zero check elimination flag"

* commit 'b62ff579cd870b0bf213765b07d7b404d15ece7b':
  ART: Add div/rem zero check elimination flag

9 years agoam c6c9e5d4: Merge "ART: Prevent float inference back to SSA in-regs."
Ian Rogers [Tue, 28 Oct 2014 04:51:49 +0000 (04:51 +0000)]
am c6c9e5d4: Merge "ART: Prevent float inference back to SSA in-regs."

* commit 'c6c9e5d4511f2b23cab09f9d6f535f96fe33cb9b':
  ART: Prevent float inference back to SSA in-regs.

9 years agoam 98c271d5: Merge "Code cleanup."
Ian Rogers [Tue, 28 Oct 2014 04:51:48 +0000 (04:51 +0000)]
am 98c271d5: Merge "Code cleanup."

* commit '98c271d517bc4d25fc6879b4b8e35ea93885d9e2':
  Code cleanup.

9 years agoam 661cb3f6: Merge "Add more environment variable to control test granularity."
Nicolas Geoffray [Tue, 28 Oct 2014 04:51:26 +0000 (04:51 +0000)]
am 661cb3f6: Merge "Add more environment variable to control test granularity."

* commit '661cb3f65d3d6fd09f4823f4519890646260fbe6':
  Add more environment variable to control test granularity.

9 years agoam dc9667e5: Merge "Fix encoding of imul in x86_64 assembler."
Nicolas Geoffray [Tue, 28 Oct 2014 04:51:24 +0000 (04:51 +0000)]
am dc9667e5: Merge "Fix encoding of imul in x86_64 assembler."

* commit 'dc9667e50f6adf99f2d4cfea27b4abcbf42e6a3f':
  Fix encoding of imul in x86_64 assembler.

9 years agoam 54efee55: Merge "Make ObjectRegistry::InternalAdd GC safe"
Sebastien Hertz [Tue, 28 Oct 2014 04:51:23 +0000 (04:51 +0000)]
am 54efee55: Merge "Make ObjectRegistry::InternalAdd GC safe"

* commit '54efee55ccfc9eb411b9fde6742fe457016a391d':
  Make ObjectRegistry::InternalAdd GC safe

9 years agoam 64727aee: Merge "Revert "Revert "Implement long negate instruction in the optimizi...
Roland Levillain [Tue, 28 Oct 2014 04:51:17 +0000 (04:51 +0000)]
am 64727aee: Merge "Revert "Revert "Implement long negate instruction in the optimizing compiler."""

* commit '64727aeef8f4243f2058a19a43a937248a60dae1':
  Revert "Revert "Implement long negate instruction in the optimizing compiler.""

9 years agoam 8bde036e: Merge "Use test\'s `-d\' option when checking for a directory."
Roland Levillain [Tue, 28 Oct 2014 04:51:16 +0000 (04:51 +0000)]
am 8bde036e: Merge "Use test\'s `-d\' option when checking for a directory."

* commit '8bde036ebd74ce94477e65077bed6dea9c29616b':
  Use test's `-d' option when checking for a directory.

9 years agoam 32da24bb: Merge "Fix wrong unsigned to signed conversions."
Nicolas Geoffray [Tue, 28 Oct 2014 04:51:14 +0000 (04:51 +0000)]
am 32da24bb: Merge "Fix wrong unsigned to signed conversions."

* commit '32da24bb26885a9877adcef5b53f283d44b622d2':
  Fix wrong unsigned to signed conversions.

9 years agoam 02567379: Merge "Fix JDWP Virtualmachine.Resume command"
Sebastien Hertz [Tue, 28 Oct 2014 04:50:40 +0000 (04:50 +0000)]
am 02567379: Merge "Fix JDWP Virtualmachine.Resume command"

* commit '02567379e7099682345fd59d45a23e17711c9ddd':
  Fix JDWP Virtualmachine.Resume command

9 years agoam a1e50cab: Merge "More use of WellKnownClasses for debugger"
Sebastien Hertz [Tue, 28 Oct 2014 04:50:39 +0000 (04:50 +0000)]
am a1e50cab: Merge "More use of WellKnownClasses for debugger"

* commit 'a1e50cab308af9f9a94e8bd370111eeff5634914':
  More use of WellKnownClasses for debugger

9 years agoam 6b8fbcb1: Merge "ART: Remove old LOG(INFO)"
Andreas Gampe [Tue, 28 Oct 2014 04:49:10 +0000 (04:49 +0000)]
am 6b8fbcb1: Merge "ART: Remove old LOG(INFO)"

* commit '6b8fbcb19f404b45ed01e9808f6d3254b13fc351':
  ART: Remove old LOG(INFO)

9 years agoam 754ff339: Merge "Use the passed-in \'name\' param to create a MemMap."
Mathieu Chartier [Tue, 28 Oct 2014 04:49:09 +0000 (04:49 +0000)]
am 754ff339: Merge "Use the passed-in \'name\' param to create a MemMap."

* commit '754ff339c776d69ac9caf7a783b3ff280d6bd08b':
  Use the passed-in 'name' param to create a MemMap.

9 years agoam d308804f: Merge "Make out-of-line mutex contention dependent on ART_USE_FUTEXES."
Ian Rogers [Tue, 28 Oct 2014 04:49:08 +0000 (04:49 +0000)]
am d308804f: Merge "Make out-of-line mutex contention dependent on ART_USE_FUTEXES."

* commit 'd308804f1af5d18324215b04d4c108759e527c4c':
  Make out-of-line mutex contention dependent on ART_USE_FUTEXES.

9 years agoam e8bd8ac7: Merge "ART: Use static_assert in down_cast"
Andreas Gampe [Tue, 28 Oct 2014 04:31:17 +0000 (04:31 +0000)]
am e8bd8ac7: Merge "ART: Use static_assert in down_cast"

* commit 'e8bd8ac7fb41545ef342c8120c2e83d2fef20a50':
  ART: Use static_assert in down_cast

9 years agoam 13fe5bbd: Merge "Add missing SHARED_LOCKS_REQUIRED attibute."
Chih-Hung Hsieh [Tue, 28 Oct 2014 04:31:16 +0000 (04:31 +0000)]
am 13fe5bbd: Merge "Add missing SHARED_LOCKS_REQUIRED attibute."

* commit '13fe5bbd636e4dd9b6d51e13932e6e55e354976d':
  Add missing SHARED_LOCKS_REQUIRED attibute.

9 years agoam b4e1a4d3: Merge "ART: Add basic tests for materialized conditions."
Nicolas Geoffray [Tue, 28 Oct 2014 04:31:15 +0000 (04:31 +0000)]
am b4e1a4d3: Merge "ART: Add basic tests for materialized conditions."

* commit 'b4e1a4d3156528d3e2b863f08c24793310a5b6bc':
  ART: Add basic tests for materialized conditions.

9 years agoam be8c0217: Merge "Fix concurrent start bytes race"
Mathieu Chartier [Tue, 28 Oct 2014 04:31:13 +0000 (04:31 +0000)]
am be8c0217: Merge "Fix concurrent start bytes race"

* commit 'be8c0217c858dcabc13cefecdeced8610e3e9d6f':
  Fix concurrent start bytes race

9 years agoam 55adc608: Merge "Revert "Implement long negate instruction in the optimizing compi...
Roland Levillain [Tue, 28 Oct 2014 04:31:12 +0000 (04:31 +0000)]
am 55adc608: Merge "Revert "Implement long negate instruction in the optimizing compiler.""

* commit '55adc608b04ddf4d126bfe92eaa444068ae78e8a':
  Revert "Implement long negate instruction in the optimizing compiler."

9 years agoam 46fdec13: Merge "Implement long negate instruction in the optimizing compiler."
Roland Levillain [Tue, 28 Oct 2014 04:31:03 +0000 (04:31 +0000)]
am 46fdec13: Merge "Implement long negate instruction in the optimizing compiler."

* commit '46fdec13b6dcaf932aa9fb1338f32df01aa0d959':
  Implement long negate instruction in the optimizing compiler.

9 years agoam e2b2cbf8: Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"
Calin Juravle [Tue, 28 Oct 2014 04:31:02 +0000 (04:31 +0000)]
am e2b2cbf8: Merge "[optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes"

* commit 'e2b2cbf8bffdf9ee3ece487fde9ac78652b4abaf':
  [optimizing compiler] Handle SUB_FLOAT/DOUBLE nodes

9 years agoam b1bcf57e: Merge "Use the shared smali test infrastructure for 800-smali."
Nicolas Geoffray [Tue, 28 Oct 2014 04:30:52 +0000 (04:30 +0000)]
am b1bcf57e: Merge "Use the shared smali test infrastructure for 800-smali."

* commit 'b1bcf57e9fcaa95447fc3b9dfd7d0068e6106cca':
  Use the shared smali test infrastructure for 800-smali.

9 years agoam 46de37a6: Merge "[optimizing compiler] Add float/double subtraction"
Calin Juravle [Tue, 28 Oct 2014 04:30:51 +0000 (04:30 +0000)]
am 46de37a6: Merge "[optimizing compiler] Add float/double subtraction"

* commit '46de37a6a314368cc5fc52743095e48a864ed9b5':
  [optimizing compiler] Add float/double subtraction

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 agoam e833b110: Merge "ART: optimizing compiler: initial support for ARM64."
Nicolas Geoffray [Mon, 27 Oct 2014 09:41:55 +0000 (09:41 +0000)]
am e833b110: Merge "ART: optimizing compiler: initial support for ARM64."

* commit 'e833b110876fa8fe34a08f06d2521c74488180bb':
  ART: optimizing compiler: initial support for ARM64.

9 years agoam 37a71888: Merge "Remove obsolete TODOs from codegen tests"
Calin Juravle [Mon, 27 Oct 2014 09:41:54 +0000 (09:41 +0000)]
am 37a71888: Merge "Remove obsolete TODOs from codegen tests"

* commit '37a7188810e865a1ee0a7bdc2d01d62c1f1ea49e':
  Remove obsolete TODOs from codegen tests

9 years agoam 1e4dc259: Merge "[native bridge] Make sure we always unload the native bridge"
Calin Juravle [Mon, 27 Oct 2014 09:41:52 +0000 (09:41 +0000)]
am 1e4dc259: Merge "[native bridge] Make sure we always unload the native bridge"

* commit '1e4dc259b4242c1a03415b5b5f4aed7a23e53f79':
  [native bridge] Make sure we always unload the native bridge

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

9 years agoMerge "Do not use ld instruction for Mips32."
Ian Rogers [Sat, 25 Oct 2014 22:59:09 +0000 (22:59 +0000)]
Merge "Do not use ld instruction for Mips32."

9 years agoART: Fix ImageSpace error message.
Andreas Gampe [Sat, 25 Oct 2014 04:55:52 +0000 (21:55 -0700)]
ART: Fix ImageSpace error message.

Use *error_msg instead of error_msg.

Change-Id: Idabee3e4a66effd9f6346a2640a3038c5448889e

9 years agoART: Fix leak in bit_vector
Andreas Gampe [Sat, 25 Oct 2014 04:32:07 +0000 (21:32 -0700)]
ART: Fix leak in bit_vector

Resizing leaks the original storage. Let the allocator know it's
free.

Bug: 18120044
Change-Id: Ib95a87c3036f36377d64351173f8c04f28855663

9 years agoDo not use ld instruction for Mips32.
Douglas Leung [Wed, 22 Oct 2014 23:32:28 +0000 (16:32 -0700)]
Do not use ld instruction for Mips32.

Change-Id: If577b8011edb583779360934f4e50ff1779e1b70

9 years agoMerge "Tidy logging code not using UNIMPLEMENTED."
Ian Rogers [Sat, 25 Oct 2014 00:14:26 +0000 (00:14 +0000)]
Merge "Tidy logging code not using UNIMPLEMENTED."