OSDN Git Service
Vladimir Marko [Mon, 14 Dec 2015 10:24:12 +0000 (10:24 +0000)]
Merge "Optimizing: Clean up after HRor."
Mathieu Chartier [Sat, 12 Dec 2015 01:34:00 +0000 (01:34 +0000)]
Merge "Address some comments in image writer"
Dimitry Ivanov [Fri, 11 Dec 2015 22:23:52 +0000 (22:23 +0000)]
Merge "Fix call to LoadNativeLibrary"
Dimitry Ivanov [Fri, 11 Dec 2015 22:03:09 +0000 (14:03 -0800)]
Fix call to LoadNativeLibrary
Change-Id: Ie625cdbdf18374b2a8b0adc11758aac47e603625
Dimitry Ivanov [Fri, 11 Dec 2015 20:30:30 +0000 (20:30 +0000)]
Merge "Use isolated namespaces for app native libs"
Andreas Gampe [Fri, 11 Dec 2015 19:01:41 +0000 (19:01 +0000)]
Merge "ART: Weaken dex file verifier abstract check"
Andreas Gampe [Fri, 11 Dec 2015 00:23:41 +0000 (16:23 -0800)]
ART: Weaken dex file verifier abstract check
We decided to not reject dex files with non-abstract classes containing
abstract methods (even though that's broken code). Just log a warning
instead.
Reported by Nikolay Serdjuk.
Bug:
26143249
Change-Id: Iaf981dba70c7c4b9c844ad9f2806278072e3ed52
Alex Light [Fri, 11 Dec 2015 17:25:17 +0000 (17:25 +0000)]
Merge "Make 'dexdump2 -l xml' include whether each class is an interface."
Vladimir Marko [Fri, 11 Dec 2015 16:34:46 +0000 (16:34 +0000)]
Optimizing: Clean up after HRor.
Change-Id: I96bd7fa2e8bdccb87a3380d063dad0dd57fed9d7
Vladimir Marko [Fri, 11 Dec 2015 16:14:56 +0000 (16:14 +0000)]
Merge "Replace rotate patterns and invokes with HRor IR."
Scott Wakeling [Fri, 11 Dec 2015 09:50:36 +0000 (09:50 +0000)]
Replace rotate patterns and invokes with HRor IR.
Replace constant and register version bitfield rotate patterns, and
rotateRight/Left intrinsic invokes, with new HRor IR.
Where k is constant and r is a register, with the UShr and Shl on
either side of a |, +, or ^, the following patterns are replaced:
x >>> #k OP x << #(reg_size - k)
x >>> #k OP x << #-k
x >>> r OP x << (#reg_size - r)
x >>> (#reg_size - r) OP x << r
x >>> r OP x << -r
x >>> -r OP x << r
Implemented for ARM/ARM64 & X86/X86_64.
Tests changed to not be inlined to prevent optimization from folding
them out. Additional tests added for constant rotate amounts.
Change-Id: I5847d104c0a0348e5792be6c5072ce5090ca2c34
Calin Juravle [Fri, 11 Dec 2015 14:01:12 +0000 (14:01 +0000)]
Merge "Revert "Enable profiled guided compilation in dex2oat""
Calin Juravle [Fri, 11 Dec 2015 14:00:52 +0000 (14:00 +0000)]
Revert "Enable profiled guided compilation in dex2oat"
The test still have some flakiness in it which didn't reproduce locally.
This reverts commit
500c9be1f261a8a95ae7a25f4f8084f43207f313.
Change-Id: I132aff62bf03c2f926aafde6869707573bae9b36
Tamas Berghammer [Fri, 11 Dec 2015 13:16:13 +0000 (13:16 +0000)]
Merge "Mark __jit_debug_register_code as a unique symbol"
Tamas Berghammer [Fri, 11 Dec 2015 11:48:00 +0000 (11:48 +0000)]
Merge "Set DW_AT_comp_dir for each compile unit in dwarf"
Tamas Berghammer [Wed, 2 Sep 2015 10:24:33 +0000 (11:24 +0100)]
Mark __jit_debug_register_code as a unique symbol
This symbol is used to notify the debugger about JIT library load/unload
events. Because of ICF, several functions with the same body put to the
same adress by the linker what causes the debugger to get notifictaion
about JIT load/unload events in several case where it isn't really happened.
This change disable ICF for the __jit_debug_register_code symbol to prevent
this behavior with keeping the symbol unique in the object file.
This is the 3rd attemp to mark the __jit_debug_register_code symbol unique
as the previous 2 failed because of some confilict with unrelated changes.
Tracking bug for making the same change for aarch64 after we switch to gold
there: b/
26149442
Change-Id: I6edc45f27d5e57a66fb9d98c32a081f711565810
Calin Juravle [Fri, 11 Dec 2015 11:35:23 +0000 (11:35 +0000)]
Merge "Enable profiled guided compilation in dex2oat"
Nicolas Geoffray [Fri, 11 Dec 2015 09:32:54 +0000 (09:32 +0000)]
Merge "Don't generate a slow path for strings in the dex cache."
Nicolas Geoffray [Fri, 11 Dec 2015 09:31:08 +0000 (09:31 +0000)]
Merge "Optimizing: Add direct calls to math intrinsics"
Mathieu Chartier [Fri, 11 Dec 2015 04:01:40 +0000 (04:01 +0000)]
Merge "Skip DumpForSigQuit if debugger is active"
Mathieu Chartier [Fri, 11 Dec 2015 01:11:07 +0000 (17:11 -0800)]
Skip DumpForSigQuit if debugger is active
Otherwise, the SIGQUIT dumping may get blocked on the mutator lock
and freeze the debugger.
Future work: Ideally we want to dump what we can instead of nothing.
Bug:
26118154
(cherry picked from commit
0b8f1bfdfc721a41d98d13e12c4c67f62f698dfc)
Change-Id: I28e5352dab3b8abce0b39850e3e58282ae454b51
Dmitriy Ivanov [Wed, 11 Nov 2015 22:18:55 +0000 (14:18 -0800)]
Use isolated namespaces for app native libs
Linker namespaces provide necessary level
of isolation for application native libraries.
The native libraries will no longer be able to
mistakenly depend on platform private libraries
like /system/lib/libssl.so
This change creates one namespace for each instance
of class-loader and uses it when loading native libraries.
For backwards compatibility with older apps we keep
using default namespace and LD_LIBRARY_PATH if target
sdk version is <= 23. (currently set to 0 for testing)
Bug: http://b/
22548808
Change-Id: I64e97af7450fbf7e3740ccddda96bb2f7c52e03b
Mingyao Yang [Fri, 11 Dec 2015 00:57:24 +0000 (00:57 +0000)]
Merge "For LSE, add a few non-aliasing cases due to pre-existence."
Alex Light [Fri, 11 Dec 2015 00:49:47 +0000 (16:49 -0800)]
Make 'dexdump2 -l xml' include whether each class is an interface.
Change-Id: Id83ef52454596ab80b16042e58ff9d00bc5fb8ed
Mingyao Yang [Thu, 3 Dec 2015 22:11:15 +0000 (14:11 -0800)]
For LSE, add a few non-aliasing cases due to pre-existence.
Create reference info for a few instructions that can return a reference.
So they will be treated as not-aliasing with future allocations.
Change-Id: Ided3db790b95f8d6f1468bbf4b7f3e6d71d81eb2
Andreas Gampe [Thu, 10 Dec 2015 23:50:11 +0000 (23:50 +0000)]
Merge "ART: Stash a resolved method late in the verifier"
Shinichiro Hamaji [Thu, 10 Dec 2015 23:45:02 +0000 (23:45 +0000)]
Merge "Output static field values in dexdump"
Andreas Gampe [Fri, 4 Dec 2015 01:27:32 +0000 (17:27 -0800)]
ART: Stash a resolved method late in the verifier
Invoke-interface should only be called on an interface method.
We cannot move the check earlier, as there are other checks
that must be done that can fail a class hard. So postpone
a push to the dex cache.
Clean up the test a bit.
Also templatize ResolveMethod with a version always checking
the invoke type, and on a cache miss check whether type target
type is an interface when an interface invoke type was given.
Bug:
21869691
Change-Id: I94cbb23339cbbb3cb6be9995775e4dcefacce7fd
Andreas Gampe [Thu, 10 Dec 2015 21:28:58 +0000 (21:28 +0000)]
Merge "Revert "ART: Check invoke-interface earlier in verifier""
Andreas Gampe [Thu, 10 Dec 2015 21:25:27 +0000 (13:25 -0800)]
Revert "ART: Check invoke-interface earlier in verifier"
This reverts commit
dae24142127c64551142a50423085aabdb0a6060.
It is important to check the name of the method being called.
Bug:
21869691
Mathieu Chartier [Wed, 9 Dec 2015 23:41:09 +0000 (15:41 -0800)]
Address some comments in image writer
Change-Id: I74c3192d595dc8b86d6ce3e3ca3bb32cce61872c
Andreas Gampe [Thu, 10 Dec 2015 20:50:26 +0000 (20:50 +0000)]
Merge "ART: Refactor verifier callbacks"
Vladimir Marko [Thu, 10 Dec 2015 20:29:25 +0000 (20:29 +0000)]
Merge "Refactor and clean up OatWriter and Dex2Oat."
Vladimir Marko [Thu, 10 Dec 2015 13:49:19 +0000 (13:49 +0000)]
Refactor and clean up OatWriter and Dex2Oat.
This is in preparation for early writing of dex files
to oat file.
Change-Id: I31195f3c94eb8ff676c600c60bd35ae531f457b4
Mathieu Chartier [Thu, 10 Dec 2015 19:16:31 +0000 (19:16 +0000)]
Merge "Revert "Revert "Add support for LZ4 compressed image files"""
Mathieu Chartier [Thu, 10 Dec 2015 17:33:21 +0000 (09:33 -0800)]
Revert "Revert "Add support for LZ4 compressed image files""
Needed to call compiler_driver_->SetSupportBootImageFixup(false).
Bug:
22858531
This reverts commit
83d4d72aa0e4170209ab50c67ba22e46b71352c1.
Change-Id: Iaed6a810a0c088f1f2c57cf2f12087f3978a3de1
Mark Mendell [Thu, 6 Aug 2015 19:23:34 +0000 (15:23 -0400)]
Optimizing: Add direct calls to math intrinsics
Support the double forms of:
cos, sin, acos, asin, atan, atan2, cbrt, cosh, exp, expm1,
hypot, log, log10, nextAfter, sinh, tan, tanh
Add these entries to the vector addressed off the thread pointer. Call
the libc routines directly, which means that we have to implement the
native ABI, not the ART one. For x86_64, that includes saving XMM12-15
as the native ABI considers them caller-save, while the ART ABI
considers them callee-save. We save them by marking them as used by the
call to the math function. For x86, this is not an issue, as all the XMM
registers are caller-save.
Other architectures will call Java as before until they are ready to
implement the new intrinsics.
Bump the OAT version since we are incompatible with old boot.oat files.
Change-Id: Ic6332c3555c09393a17d1ad4daf62932488722fb
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Calin Juravle [Wed, 25 Nov 2015 15:59:14 +0000 (15:59 +0000)]
Enable profiled guided compilation in dex2oat
- add parsing of the profile info saved during JIT.
- don't compile methods which are not part of the profile info.
- delete old profile hooks.
- add test for reading/writing profile. The test is disable in:
* interpreter modes: the test needs JIT.
* no-dex2oat/no-prebuild: we only save profiling info for the primary
oat file. In these modes we don't create oat files and thus nothing
is saved.
Bug:
26080105
Change-Id: Ifdc63dc9d4b537fc79e54c3edc3ae3a462bc30fb
Nicolas Geoffray [Tue, 24 Nov 2015 18:25:35 +0000 (18:25 +0000)]
Don't generate a slow path for strings in the dex cache.
Change-Id: I1d258f1a89bf0ec7c7ddd134be9215d480f0b09a
David Srbecky [Thu, 10 Dec 2015 16:42:55 +0000 (16:42 +0000)]
Merge "Get source mapping table from stack maps."
David Srbecky [Tue, 8 Dec 2015 15:05:08 +0000 (15:05 +0000)]
Get source mapping table from stack maps.
Stack maps contain pc to dex mapping.
Reuse them instead of maintaining separate map.
Change-Id: Iaaec9a6bd2603eace1dfc8f4344087883d88cce3
Nicolas Geoffray [Thu, 10 Dec 2015 15:40:55 +0000 (15:40 +0000)]
Merge "Fix braino when resolving an invoke-super."
Nicolas Geoffray [Thu, 10 Dec 2015 15:06:15 +0000 (15:06 +0000)]
Fix braino when resolving an invoke-super.
We should check the actual_method, and not the resolved_method,
on whether it is in the same dex file.
bug:
26022686
Change-Id: I8a9b0c68e162015e0aec397545d0607482949967
David Brazdil [Thu, 10 Dec 2015 15:12:19 +0000 (15:12 +0000)]
Merge "ART: Fix bug in DCE not removing phis from catch phi uses"
David Brazdil [Thu, 10 Dec 2015 13:54:52 +0000 (13:54 +0000)]
ART: Fix bug in DCE not removing phis from catch phi uses
Due to the missing edges between throwing instructions and catch phis
DCE needs to manually remove dead instructions from catch phi users,
being overly conservative if the inputs are not in the dead blocks.
DCE used to do this for normal instructions, but it needs to do the
same for phis.
Change-Id: I7edfcb84ec6ff7303945d5d5cd436b1d1e95df2a
Tamas Berghammer [Thu, 10 Dec 2015 15:06:25 +0000 (15:06 +0000)]
Set DW_AT_comp_dir for each compile unit in dwarf
The dex file don't contain the full path of the compilation dir so we
set it to a symbolic value ($JAVA_SRC_ROOT) what can be remapped by
the tools reading the dwarf information.
Change-Id: Ia011de14a6b36a29b54b3f3fa290cc3157a0b91d
Roland Levillain [Thu, 10 Dec 2015 11:11:43 +0000 (11:11 +0000)]
Merge "Fix the build-art-multi-executable Make function."
Roland Levillain [Thu, 10 Dec 2015 11:04:25 +0000 (11:04 +0000)]
Fix the build-art-multi-executable Make function.
Follow-up fix to
https://android-review.googlesource.com/#/c/185537.
Bug:
26051370
Change-Id: I891abe5ec2a2eae775b9791050654602861798f4
Nicolas Geoffray [Thu, 10 Dec 2015 10:54:24 +0000 (10:54 +0000)]
Merge "MIPS32: Improve integer division by constants"
Roland Levillain [Thu, 10 Dec 2015 10:24:10 +0000 (10:24 +0000)]
Merge "Fix imgdiag build rules."
Roland Levillain [Thu, 10 Dec 2015 10:17:43 +0000 (10:17 +0000)]
Fix imgdiag build rules.
Adjust build rules to avoid building a 64-bit imgdiag
executable on host when HOST_PREFER_32_BIT is true.
This CL addresses an imgdiag related build issue that
appeared on the ART Buildbot after system/core was unpinned
from the master-art manifest
(https://android-review.googlesource.com/#/c/185580), used
by some of our Buildbot configurations:
ninja: error: 'out/host/linux-x86/obj/SHARED_LIBRARIES/libbacktrace_intermediates/export_includes', needed by 'out/host/linux-x86/obj/EXECUTABLES/imgdiag_intermediates/import_includes', missing and no known rule to make it
Bug:
26051370
Change-Id: I8f3b3c89fb8da0c37a1ffb21b6d835e7ede1e71a
Nicolas Geoffray [Thu, 10 Dec 2015 08:27:00 +0000 (08:27 +0000)]
Merge "Revert "Add support for LZ4 compressed image files""
Nicolas Geoffray [Thu, 10 Dec 2015 08:26:32 +0000 (08:26 +0000)]
Revert "Add support for LZ4 compressed image files"
Tentative. Looks like it breaks image_test for hammerhead:
art/compiler/linker/arm/relative_patcher_thumb2.cc:36] Check failed: target_offset & 1u == 1u (target_offset & 1u=0, 1u=1)
Bug:
22858531
This reverts commit
c6f41b5b3ca3d7ac3c12ad3995ffef4e831973a0.
Change-Id: I9bc5738a8b5c8f8bc8b73309f9420fd691bc79a9
Andreas Gampe [Thu, 10 Dec 2015 05:03:23 +0000 (21:03 -0800)]
ART: Refactor verifier callbacks
Change the return type of MethodVerified to void. It was never
used anyways.
Remove the callbacks calls from the core of the verifier (Verify()).
Instead, make the convenience functions do the work, and add a
parameter to supply the callback so that the verifier becomes
independent of the Runtime-stored one.
Fix up calls that now need to provide a callback, but leave places
that only run the verifier to get metadata (e.g., register type data,
lock state) without callback. This avoids callback calls when in JIT
mode.
Bug:
26075442
Change-Id: I2c270f01e4de088771d4d4b19dae4f07d77640f0
Shinichiro Hamaji [Thu, 5 Nov 2015 07:51:33 +0000 (16:51 +0900)]
Output static field values in dexdump
This is necessary to generate table-of-contents of .dex files
to prevent unnecessary rebuilds for implementation-only
changes because these values can be used while compiling other
modules.
Also modify EncodedStaticFieldValueIterator so it can be used
without ClassLoader/Linker.
Bug:
24597504
Change-Id: Ida0c839f9dd6961e1c1b3a380e2092042fad03bb
Andreas Gampe [Thu, 10 Dec 2015 00:34:23 +0000 (00:34 +0000)]
Merge "ART: Make trampoline compiler pointer-size-safe"
Andreas Gampe [Wed, 9 Dec 2015 23:14:04 +0000 (15:14 -0800)]
ART: Make trampoline compiler pointer-size-safe
The trampoline compiler uses offsets of runtime structures which
may change with the pointer size.
Add offset tests to jni_internal_test.
Bug:
26071368
(cherry picked from commit
da9b763abc712fd6d1e24170a194abfbe795b8cd)
Change-Id: I01d1a3727f46b3015ac677afb5427337c3093402
Mingyao Yang [Wed, 9 Dec 2015 20:35:32 +0000 (20:35 +0000)]
Merge "Simplify and rename IsLoopInvariant() test."
Mathieu Chartier [Wed, 9 Dec 2015 20:01:11 +0000 (20:01 +0000)]
Merge "Add support for LZ4 compressed image files"
Mathieu Chartier [Fri, 4 Dec 2015 23:38:50 +0000 (15:38 -0800)]
Add support for LZ4 compressed image files
Added dex2oat option --image-format=(store|lz4). Using lz4 means
that the main image section (all data other than header and bitmap)
are stored in a compressed state.
N5 results:
Boot image size:
8067128 ->
2827605
Decompression time 18.93ms
Decompression rate: 426MB/s
Patchoat is not currently supported since it maps the source image
directly. In order to support compressed images we would need to
recompress the output image and then write it back out to a file.
Also there are not many cases where we would want to patch a
compressed image since they are going to be dirty memory when
uncompressed anyways. Might as well just patch as we are loading.
Bug:
22858531
Change-Id: I8c54ccf73408273011161a61bb891736735074d9
David Srbecky [Wed, 9 Dec 2015 16:59:36 +0000 (16:59 +0000)]
Merge "Add local variables to DWARF."
David Srbecky [Fri, 27 Nov 2015 10:27:11 +0000 (10:27 +0000)]
Add local variables to DWARF.
Change-Id: Ic915643a898e45380710de86a7944cc27403bd7f
Vladimir Marko [Wed, 9 Dec 2015 16:20:34 +0000 (16:20 +0000)]
Merge "Clarify --boot-image help message"
Vladimir Marko [Wed, 9 Dec 2015 15:53:42 +0000 (15:53 +0000)]
Merge "ART: Reduce the instructions generated by packed switch."
Vladimir Marko [Wed, 9 Dec 2015 15:43:50 +0000 (15:43 +0000)]
Merge "ART: Add FdFile::Copy() to copy data from another file."
Vladimir Marko [Tue, 8 Dec 2015 19:25:49 +0000 (19:25 +0000)]
ART: Add FdFile::Copy() to copy data from another file.
Also move utilities for inspecting file magic numbers to
base/file_magic.{h,cc} and drop the unused IsOatMagic().
Change-Id: I2cc4dd18a5e8b9738fb386c8057faad3722bdd68
Kevin Brodsky [Tue, 24 Nov 2015 14:24:34 +0000 (14:24 +0000)]
Clarify --boot-image help message
Make dex2oat print the same help as e.g. oatdump regarding
--boot-image and clarify the example, this is particularly important
as the automatic addition of the arch to the path is quite
counterintuitive.
Change-Id: I234b498d5deca99bb988a9c24ff9febc6349eb9e
Andreas Gampe [Wed, 9 Dec 2015 03:19:33 +0000 (03:19 +0000)]
Merge "MIPS64: Enable StringCompareTo and StringIndexOf stub tests"
Mingyao Yang [Fri, 20 Nov 2015 01:04:22 +0000 (17:04 -0800)]
Simplify and rename IsLoopInvariant() test.
Simplify IsLoopInvariant() test. Also rename it to IsDefinedOutOfTheLoop()
so there is no ambiguity for example whether a instruction after the loop counts
as a loop invariant. It's up to the caller to make the interpretation.
Change-Id: I999139032b0e4d815dd1e2276f2bd428cf558686
Andreas Gampe [Tue, 8 Dec 2015 22:33:23 +0000 (22:33 +0000)]
Merge "ART: Check invoke-interface earlier in verifier"
Zheng Xu [Mon, 7 Dec 2015 09:17:03 +0000 (17:17 +0800)]
ART: Reduce the instructions generated by packed switch.
Implement Vladimir Marko's suggestion. The new compare/jump series
reduce the number of instructions from (2*n+1) to (1.5*n+3).
Generate normal compare/jump series when numEntries <= 3.
Generate optimal compare/jump series when numEntries <= threshold.
Generate jump tables otherwise.
Change-Id: I425547b6787057c7fa84e71f17c145b63b208633
Andreas Gampe [Fri, 4 Dec 2015 01:27:32 +0000 (17:27 -0800)]
ART: Check invoke-interface earlier in verifier
Invoke-interface should only be called on an interface method.
Move the check earlier, as otherwise we'll try to resolve and
potentially inject a method into the dex cache.
Also templatize ResolveMethod with a version always checking
the invoke type, and on a cache miss check whether type target
type is an interface when an interface invoke type was given.
Bug:
21869691
Change-Id: Ica27158f675b5aa223d9229248189612f4706832
Vladimir Marko [Tue, 8 Dec 2015 16:19:20 +0000 (16:19 +0000)]
Merge "Allow initializing runtime with parsed options."
am:
e0d25b156e
* commit '
e0d25b156ef12b23afa2a6493ae703ec82e23475':
Allow initializing runtime with parsed options.
Vladimir Marko [Tue, 8 Dec 2015 16:15:24 +0000 (16:15 +0000)]
Merge "Allow initializing runtime with parsed options."
Roland Levillain [Tue, 8 Dec 2015 13:59:35 +0000 (13:59 +0000)]
Merge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."
am:
763fd2d3d1
* commit '
763fd2d3d131898cad6295a19ae9a30e22ce5f2a':
Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used.
Roland Levillain [Tue, 8 Dec 2015 13:55:39 +0000 (13:55 +0000)]
Merge "Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used."
Roland Levillain [Tue, 8 Dec 2015 11:23:02 +0000 (11:23 +0000)]
Fix test-art-target-sync when ART_TEST_ANDROID_ROOT is used.
The semantics of "adb push" have changed since the time
system/core was pinned in the master-art manifest.
Bug:
26051370
Change-Id: I3ee6f2694168b0cdc8c8ac37f77fd443879275dc
Vladimir Marko [Tue, 8 Dec 2015 13:46:52 +0000 (05:46 -0800)]
Merge "ART: Instruction dumper should handle out-of-bound index for const-string"
am:
8dd7165745
* commit '
8dd7165745520e339b60d2ae5631894819790f7d':
ART: Instruction dumper should handle out-of-bound index for const-string
Vladimir Marko [Tue, 8 Dec 2015 13:42:52 +0000 (13:42 +0000)]
Merge "ART: Instruction dumper should handle out-of-bound index for const-string"
David Brazdil [Tue, 8 Dec 2015 13:09:45 +0000 (13:09 +0000)]
Merge "ART: Enable all optimizations except LSE under try/catch"
am:
95f05a89a6
* commit '
95f05a89a682f40151cd843f2110b02c35434635':
ART: Enable all optimizations except LSE under try/catch
David Brazdil [Tue, 8 Dec 2015 13:05:22 +0000 (13:05 +0000)]
Merge "ART: Enable all optimizations except LSE under try/catch"
David Brazdil [Mon, 7 Dec 2015 10:04:40 +0000 (10:04 +0000)]
ART: Enable all optimizations except LSE under try/catch
Dynamic BCE now updates try/catch information during basic block
manipulation and can be enabled. The last missing optimization is LSE.
This patch removes all special-casing from optimizing_compiler.cc and
bails inside LSE instead.
Change-Id: Ie0c6fde7295880ea55d35571455a617fce2b7580
Serdjuk, Nikolay Y [Mon, 7 Dec 2015 08:45:44 +0000 (14:45 +0600)]
ART: Instruction dumper should handle out-of-bound index for const-string
If const-string refers to out-of-bound index then we should handle it
similarly to PrettyField, PrettyMethod and PrettyType.
Change-Id: Ib6b1e20169e4b47c1cdb7dda80320ed21d61cfe3
Signed-off-by: Serdjuk, Nikolay Y <nikolay.y.serdjuk@intel.com>
Hiroshi Yamauchi [Tue, 8 Dec 2015 02:08:36 +0000 (02:08 +0000)]
Merge "Replace proxy class names with deterministic ones for test output."
am:
e8be90a673
* commit '
e8be90a673feb573d53277f42282955cbf7f58e9':
Replace proxy class names with deterministic ones for test output.
Hiroshi Yamauchi [Tue, 8 Dec 2015 02:02:40 +0000 (02:02 +0000)]
Merge "Replace proxy class names with deterministic ones for test output."
Hiroshi Yamauchi [Sat, 5 Dec 2015 00:18:49 +0000 (16:18 -0800)]
Replace proxy class names with deterministic ones for test output.
This should avoid potentially flaky test failures in 005-annotations
and 044-proxy.
(cherrypick commit
bc7f8080d1f5d0138cb83cba73a747d43d62c23c)
Bug:
25838574
Bug:
12687968
Change-Id: I08765abd82e41258ce4d1d8bb9dffce70c8b6689
Andreas Gampe [Mon, 7 Dec 2015 23:27:19 +0000 (15:27 -0800)]
Merge "ART: Fix PACKED size of tls_ptr_size."
am:
9f62af0e1c
* commit '
9f62af0e1cd770ec3e98f0d1a83a1193e2493cac':
ART: Fix PACKED size of tls_ptr_size.
Andreas Gampe [Mon, 7 Dec 2015 23:20:18 +0000 (23:20 +0000)]
Merge "ART: Fix PACKED size of tls_ptr_size."
Mathieu Chartier [Mon, 7 Dec 2015 23:19:19 +0000 (23:19 +0000)]
Merge "Combine class sets when writing a class table"
am:
3cf8583a2f
* commit '
3cf8583a2fe1a2793b4c67098df62f4362b47f0c':
Combine class sets when writing a class table
Richard Uhler [Mon, 7 Dec 2015 23:18:40 +0000 (23:18 +0000)]
Merge "Annotate root objects and show their types."
am:
0e72abfae7
* commit '
0e72abfae75e0072679c425b7a4fb6344e1de550':
Annotate root objects and show their types.
Roland Levillain [Mon, 7 Dec 2015 23:11:33 +0000 (23:11 +0000)]
Merge "Revert "Fix the ART Buildbots using the master-art manifest.""
am:
526377fe8d
* commit '
526377fe8d49803654966887be08140dbed2acd8':
Revert "Fix the ART Buildbots using the master-art manifest."
Roland Levillain [Mon, 7 Dec 2015 23:11:26 +0000 (23:11 +0000)]
Merge "Fix the ART Buildbots using the master-art manifest."
am:
a2964d5ab5
* commit '
a2964d5ab5c1a7158a15bb899bc99d59236b3ac5':
Fix the ART Buildbots using the master-art manifest.
Roland Levillain [Mon, 7 Dec 2015 23:11:17 +0000 (23:11 +0000)]
Merge "Annotate Boolean literals more uniformly in Optimizing\'s intrinsics."
am:
a6756069c4
* commit '
a6756069c4363a231928b040ff0c86c80acdb9b9':
Annotate Boolean literals more uniformly in Optimizing's intrinsics.
Roland Levillain [Mon, 7 Dec 2015 23:11:08 +0000 (23:11 +0000)]
Merge "Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong."
am:
038f4f2f4d
* commit '
038f4f2f4de2def9a1d59a6f1b0162b1c2200c32':
Fix art::x86::IntrinsicLocationsBuilderX86::VisitUnsafeGetLong.
Mathieu Chartier [Mon, 7 Dec 2015 21:08:49 +0000 (21:08 +0000)]
Merge "Combine class sets when writing a class table"
Richard Uhler [Mon, 7 Dec 2015 20:27:52 +0000 (20:27 +0000)]
Merge "Annotate root objects and show their types."
Roland Levillain [Mon, 7 Dec 2015 12:38:49 +0000 (12:38 +0000)]
Merge "Revert "Fix the ART Buildbots using the master-art manifest.""
Roland Levillain [Mon, 7 Dec 2015 12:38:24 +0000 (12:38 +0000)]
Revert "Fix the ART Buildbots using the master-art manifest."
Reverting as repo syncing later won't work, as this symlink is an untracked file.
Bug:
26051370
This reverts commit
f1389288c6f642e16b5d9a06ef43f982dfeeb30d.
Change-Id: Idd41955710b4d3d5809e4f6bf963ed3a4cead126
Vladimir Marko [Fri, 4 Dec 2015 14:19:04 +0000 (14:19 +0000)]
Allow initializing runtime with parsed options.
Needed by upcoming refactoring of dex2oat to allow
early writing of dex files to the oat file.
Change-Id: Ia13c26132846801522f181f51f64035d625e8416
Roland Levillain [Mon, 7 Dec 2015 12:19:07 +0000 (12:19 +0000)]
Merge "Fix the ART Buildbots using the master-art manifest."