OSDN Git Service
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
Ian Rogers [Wed, 29 Oct 2014 12:32:29 +0000 (12:32 +0000)]
am
d0f6f903: Merge "Tidy MethodProtoHelper."
* commit '
d0f6f9037a19d2f78d885a6e758b98651317b0d9':
Tidy MethodProtoHelper.
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
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.
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
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
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
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
Andreas Gampe [Wed, 29 Oct 2014 12:31:21 +0000 (12:31 +0000)]
am
e74b720d: Merge "ART: Typo fix"
* commit '
e74b720d752469d3883f3589de863e8fc82c6338':
ART: Typo fix
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
Mathieu Chartier [Wed, 29 Oct 2014 12:31:19 +0000 (12:31 +0000)]
am
57748282: Merge "Optimize method linking"
* commit '
57748282c085ea29ab1c6d4188c79e5fe115ffa0':
Optimize method linking
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.
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.
Andreas Gampe [Tue, 28 Oct 2014 19:18:56 +0000 (19:18 +0000)]
Merge "ART: 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
Ian Rogers [Tue, 28 Oct 2014 18:48:14 +0000 (18:48 +0000)]
Merge "Tidy 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
Calin Juravle [Tue, 28 Oct 2014 17:54:20 +0000 (17:54 +0000)]
Merge "[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
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.
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.
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.
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
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.
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.
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.
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.
Roland Levillain [Tue, 28 Oct 2014 11:21:22 +0000 (11:21 +0000)]
Merge "Add long bitwise not instruction in the optimizing compiler."
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.
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.
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
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.
Ian Rogers [Tue, 28 Oct 2014 04:51:48 +0000 (04:51 +0000)]
am
98c271d5: Merge "Code cleanup."
* commit '
98c271d517bc4d25fc6879b4b8e35ea93885d9e2':
Code cleanup.
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.
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.
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
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.""
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.
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.
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
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
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)
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.
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.
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
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.
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.
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
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."
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.
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
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.
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
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
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"
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
Andreas Gampe [Tue, 28 Oct 2014 02:08:03 +0000 (02:08 +0000)]
Merge "ART: Add pic flag to oat header store"
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
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
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
Mathieu Chartier [Tue, 28 Oct 2014 00:50:45 +0000 (00:50 +0000)]
Merge "Fix 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
Andreas Gampe [Tue, 28 Oct 2014 00:06:49 +0000 (00:06 +0000)]
Merge "ART: Typo fix"
Andreas Gampe [Tue, 28 Oct 2014 00:06:29 +0000 (17:06 -0700)]
ART: Typo fix
Change-Id: If544f02117b6f1bbc1279444c70cb9f2a0534c6f
Andreas Gampe [Tue, 28 Oct 2014 00:05:45 +0000 (00:05 +0000)]
Merge "ART: 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
Mathieu Chartier [Mon, 27 Oct 2014 23:50:08 +0000 (23:50 +0000)]
Merge "Optimize 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
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."
Ian Rogers [Mon, 27 Oct 2014 23:07:23 +0000 (23:07 +0000)]
Merge "Extra debug output in run-test."
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
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
Vladimir Marko [Mon, 27 Oct 2014 18:10:02 +0000 (18:10 +0000)]
Merge "Rewrite class initialization check elimination."
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
Nicolas Geoffray [Mon, 27 Oct 2014 17:23:51 +0000 (17:23 +0000)]
Merge "Support 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
Andreas Gampe [Mon, 27 Oct 2014 15:34:44 +0000 (15:34 +0000)]
Merge "ART: Fix ImageSpace error message."
Andreas Gampe [Mon, 27 Oct 2014 15:32:46 +0000 (15:32 +0000)]
Merge "ART: Fix leak in bit_vector"
Calin Juravle [Mon, 27 Oct 2014 15:15:50 +0000 (15:15 +0000)]
Merge "[native bridge] Add test to verify code_cache existance."
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
Vladimir Marko [Mon, 27 Oct 2014 09:44:31 +0000 (09:44 +0000)]
Merge "Quick: Fix wide Phi detection in GVN, clean up INVOKEs."
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.
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
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
Elliott Hughes [Sun, 26 Oct 2014 21:31:13 +0000 (21:31 +0000)]
Merge "Fix 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
Ian Rogers [Sat, 25 Oct 2014 22:59:09 +0000 (22:59 +0000)]
Merge "Do not use ld instruction for Mips32."
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
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
Douglas Leung [Wed, 22 Oct 2014 23:32:28 +0000 (16:32 -0700)]
Do not use ld instruction for Mips32.
Change-Id: If577b8011edb583779360934f4e50ff1779e1b70
Ian Rogers [Sat, 25 Oct 2014 00:14:26 +0000 (00:14 +0000)]
Merge "Tidy logging code not using UNIMPLEMENTED."
Ian Rogers [Fri, 24 Oct 2014 23:28:08 +0000 (23:28 +0000)]
Merge "ARM: Use hardfp calling convention between java to java call."
Zheng Xu [Thu, 23 Oct 2014 10:29:55 +0000 (18:29 +0800)]
ARM: Use hardfp calling convention between java to java call.
This patch default to use hardfp calling convention. Softfp can be enabled
by setting kArm32QuickCodeUseSoftFloat to true.
We get about -1 ~ +5% performance improvement with different benchmark
tests. Hopefully, we should be able to get more performance by address the left
TODOs, as some part of the code takes the original assumption which is not
optimal.
DONE:
1. Interpreter to quick code
2. Quick code to interpreter
3. Transition assembly and callee-saves
4. Trampoline(generic jni, resolution, invoke with access check and etc.)
5. Pass fp arg reg following aapcs(gpr and stack do not follow aapcs)
6. Quick helper assembly routines to handle ABI differences
7. Quick code method entry
8. Quick code method invocation
9. JNI compiler
TODO:
10. Rework ArgMap, FlushIn, GenDalvikArgs and affected common code.
11. Rework CallRuntimeHelperXXX().
Change-Id: I9965d8a007f4829f2560b63bcbbde271bdcf6ec2
Ian Rogers [Fri, 24 Oct 2014 22:26:23 +0000 (22:26 +0000)]
Merge "ART: Add div/rem zero check elimination flag"
Ian Rogers [Fri, 24 Oct 2014 21:57:36 +0000 (21:57 +0000)]
Merge "ART: Prevent float inference back to SSA in-regs."
Stephen Kyle [Thu, 16 Oct 2014 14:02:42 +0000 (15:02 +0100)]
ART: Prevent float inference back to SSA in-regs.
.method public static getInt(I)I
.registers 2
const/4 v0, 0x0
if-ne v0, v0, :after
float-to-int v0, v0
:exit
add-int/2addr v0, v1
return v0
:after
move v1, v0
goto :exit
.end method
In this code sample, v1 is the single parameter to this method. In one
of the phi-nodes inserted between :exit and add-int/2addr, v1's two
incoming SSA regs are:
- the initial def of v1 as a parameter
- the v1 def'd at move v1, v0.
During type inference, because the 2nd def is a float (because of the
earlier float-to-int v0, v0) this will change the type of the 1st def to a
float as well, which is incorrect since the first parameter is known to be
non-float.
This fix checks during phi-node type-inference if an SSA reg that is the
initial def of a parameter vreg is about to be set as float when it was
not previously, and skips the inference if so.
In this case, when using a hard-float ABI, having the in-reg v1 set as
float causes FlushIns() to read the argument to the method from an FP reg,
when the argument will be passed in a core reg by any caller.
Also included is a smali test for this bug: compare difference between
./run-test --64 800
./run-test --64 --interpreter 800
when the vreg_analysis patch has not been applied.
(Requires 64-bit because 32-bit ARM currently does not use hard-float.)
getInt(I)I should return its argument, but it returns an incorrect
value.
Change-Id: I1d4b5be6a931fe853279e89dd820820f29823da1
Signed-off-by: Stephen Kyle <stephen.kyle@arm.com>
Ian Rogers [Fri, 24 Oct 2014 21:20:06 +0000 (14:20 -0700)]
Tidy logging code not using UNIMPLEMENTED.
Change-Id: I7a79c1671a6ff8b2040887133b3e0925ef9a3cfe
Ian Rogers [Fri, 24 Oct 2014 20:43:21 +0000 (20:43 +0000)]
Merge "Code cleanup."
Roland Levillain [Fri, 24 Oct 2014 20:18:17 +0000 (20:18 +0000)]
am
1122c7fc: Merge "Implement int bit-wise not operation in the optimizing compiler."
* commit '
1122c7fc277130814dd1d47b5e8be3ac35b1a5fc':
Implement int bit-wise not operation in the optimizing compiler.
Ian Rogers [Fri, 24 Oct 2014 20:18:14 +0000 (20:18 +0000)]
am
fd9e9561: Merge "C++11 related clean-up of DISALLOW_.."
* commit '
fd9e95619d94608687af201bb296b807716cc7c3':
C++11 related clean-up of DISALLOW_..