Age | Commit message (Collapse) | Author |
|
All paths explicitly enable or disable the command line option.
However, if we missed some or developers use stand-alone tools,
default to working backtraces, which is the common intention.
Change-Id: I1d308f2be881522ecfb945d5f679065e726d32aa
|
|
Since quickening is deprecated, it is no longer used.
This CL only removes compile-time dead code.
Bug: 170086509
Test: test-art-host-gtest
Test: test.py -r -b --host
Change-Id: I46c02fb7a9304f8361cecfafb9507c906a93592f
|
|
Adds reporting for some metadata associated with ART metrics,
including timestamp relative to ART startup, the session id, and the
process's user id. It additionally outputs placeholders for the
compilation reason and compiler filter, but these need some additional
plumbing from the Runtime and OatFileManager to fill in, so those will
come in a followup CL.
This CL also includes a fair amount of refactoring around metrics
reporting and handling the session data.
Example output:
*** ART internal metrics ***
Metadata:
timestamp_since_start_ms: 768
session_id: 5026277321588503825
uid: 123456
compilation_reason: Unknown
compiler_filter: (unspecified)
Metrics:
ClassVerificationTotalTime: count = 4167
JitMethodCompileTime: range = 0...1000000, buckets: 7,0,0,0,0,0
*** Done dumping ART internal metrics ***
Test: ./test/run-test --host --jit 2232-write-metrics-to-log
Change-Id: Ic74b503b135d71099d9e26bf660b60e4cc3a46bc
|
|
ReferenceTypePropogation::Visit(ArrayRef) relied on the input having a
particular order with known values at the front then topological. This
could cause issues if the list was not properly sorted, causing the
RTP to silently fail. This makes RTP robust against the ordering of
inputs for this function.
Test: ./test.py --host
Bug: 67037140
Change-Id: I03c522ea745f271ce438c82f7c6f3ab476c8249a
|
|
Let CompilerOptions hold the information whether it is AOT
or JIT compilation, or Zygote JIT for shared code.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing --jit
Test: aosp_taimen-userdebug boots.
Change-Id: Id9200572406f8e43d99b8b61ef0e3edf43b52fff
|
|
We can no longer rely on checking the "core.art" image name,
since we plan to remove it and use the shipped boot image.
This option enables test-specific features, such as $noinline$.
Test: ./art/test.py -r --optimizing --64
Bug: 147817558
Change-Id: Iadac6e1b0f46e83efd0551fb8462a6b268ad33d8
|
|
This reverts commit 16c08ca97486f535698f1a1b17f0332bfe78e95a.
Reason for revert: Disabled on device testing
Change-Id: I8d5442e0ebb6383ebfbce98f1857b5e844e0d5e1
Bug: none
Test: make test-art-host-gtest-dex2oat_test
|
|
This reverts commit 80c0c50de048da458c707adde5b0499d75f8253a.
Reason for revert: Test fails on device:
https://ci.chromium.org/p/art/builders/ci/angler-armv8-ndebug/1306?
Change-Id: I19e9b9e24023b2d7b6b86114c7a9e4018f65b2b8
|
|
This reverts commit 91a8e6f60c508c6e010b6ef8e4056e3a6f04c447.
Reason for revert: Moved tests to gtest and under compilation only.
Change-Id: I60899694946353bfcd334473c20bb17c84f095e0
Bug: none
Test: make test-art-host-gtest-dex2oat_test
|
|
This reverts commit 873bb64b8815b3f6a350ce109eb54ec770369d22.
Reason for revert: Test in CL fails on device, see:
https://ci.chromium.org/p/art/builders/ci/angler-armv7-ndebug/1302?
Change-Id: I18d8204f40bbc0f89eb230656e14966035b0b1c3
|
|
Add options to control "linkage" model. This involves checking for
redefinitions and subclassing classloaders.
Bug: none
Test: 1964-redefinition
Change-Id: I0cb3c725b7d62f7c6c0958dc6d5f9b55d6258fd5
|
|
optimizations.""
This reverts commit bbec8a6fc720ee5ce572d3fb63617fb0af6addc7.
Reason for revert: Fix vdex compilation with app images.
Test: 628-vdex
Bug: 150193586
Change-Id: Ic4d0445f277caf9405c18938c1f39ee08b9bf2fd
|
|
This reverts commit ada8536c19e57cbfe55dcb3c72aa95e79365ed21.
Reason for revert: test failures
Change-Id: I8640fe842d7f2255b5749403c798094f9e365fda
|
|
The biggest reason for this CL is to ensure a boot image and a boot
image extension always have their conflict tables filled.
Test: test.py
Bug: 149894949
Change-Id: I7bada1b3697322ce78b4f352dec854651c0e995c
|
|
Reduces the compilation time for the boot image extension
with said filter by over 0.5s (comparing the best observed
timing "before" to the worst observed timing "after").
Test: aosp_taimen-userdebug boots;
adb root && \
adb shell stop && \
adb shell setprop dalvik.vm.boot-image \
'boot.art:/nonx/boot-framework.art!/system/etc/boot-image.prof' && \
adb shell 'setprop dalvik.vm.extra-opts \
"-Ximage-compiler-option --compiler-filter=assume-verified"' && \
adb shell start # Starts correctly
# Check dex2oat timing in logcat
Bug: 119800099
Change-Id: I3fc82c9485385ff5e0ccc5031e1141a685ee6c19
|
|
- The right image location for it now ends with a profile
- Add profile locations to image spaces, so the JIT knows what to
compile
- Remove now deprecated ApexImage related code.
Bug:119800099
Test: boots, methods from framework gets compiled by zygote
Change-Id: Ie31b62d0a25f1b50e266c1537c43307d7b29e138
|
|
ART detects JIT-zygote boot image by the image name. This has been
broken since boot image extension has been enabled for JIT-zygote
config in CL I5493e575ebf90bad1d5ad2850004d54590bbc079.
This CL replaces 'kApexBootImage' with 'kApexBootImageExtension',
since the JIT-zygote image is always used with extension.
Test: compare boot-framework.art and apex-framework.art,
they were identical before this CL, and differ after this CL.
Test: JIT-zygote config boots, steps 1-2:
1. Temporarily enable Jit zygote in the product device config (in
this case device/google/muskie/aosp_walleye.mk):
+# System server should not contain compiled code.
+PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := verify
+
+# Use the apex image for preopting.
+DEXPREOPT_USE_APEX_IMAGE := true
+
+# Have the runtime pick up the apex image.
+PRODUCT_PROPERTY_OVERRIDES += \
+ dalvik.vm.boot-image=/apex/com.android.art/javalib/apex.art:/system/framework/apex-framework.art
2. Build and flash:
$ lunch aosp_walleye-userdebug && m \
&& adb reboot bootloader && fastboot flashall -w
Change-Id: Ifd3d3c13107c2e4514eed7c4e2b1bbc5a5a12245
|
|
Test: m test-art-host-gtest
Test: testrunnner.py --host --optimizing
Test: aosp_taimen-userdebug boots.
Test: run-gtest.sh
Test: testrunner.py --target --optimizing
Change-Id: I8e999c96ec908f26d8c529edc9d2a3be49a9379a
|
|
The new option is --initialize-app-image-classes. This attempts to
initialize app image classes by running the class initializers ahead
of time.
Will test this through test 660, but there are currently aborts when
it's enabled.
Test: test-art-host
Bug: 70735003
Change-Id: Icc05683b23098a15531097f67aad17144f0badaf
|
|
These are unused and nops.
Test: test-art-host-gtest
Change-Id: I6421387d53ec8692cf420be71ec47e1ef5e61f19
|
|
And when compiling an apex image, discard dex files not present
in an apex.
Test: m
Bug: 119800099
Change-Id: Ie91c5b8d271783f04e4c1501f315a3ec59137475
|
|
Introduce CommonCompilerDriverTest and inherit that in tests
that need to use CompilerDriver. This is in preparation for
moving the CompilerDriver to dex2oat/.
Test: m test-art-host-gtest
Change-Id: I46cf0bc1df4327569eef5526eeab0781473173a1
|
|
Preparation for moving CompilerDriver and other stuff
from libart-compiler.so to dex2oat.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ic221ebca4b8c79dd1549316921ace655f2e3f0fe
|
|
Update HashSet comment and related code. Also remove dead
CompilerOptions declarations with StringPiece parameters.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 123750182
Change-Id: I4a39d0e8e0392a414129369c5b304ec4813e9ed5
|
|
Treat verification results and image classes as mutable
only in CompilerDriver::PreCompile(), and treat them as
immutable during compilation, accessed through the
CompilerOptions. This severs the dependency of the inliner
on the CompilerDriver.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I594a0213ca6a5003c19b4bd488af98db4358d51d
|
|
VIXL macroassembler should be initialized properly
to support Armv8.X features in order to emit corresponding
instructions.
Test: codegen_test.cc, relative_patcher_arm64_test.
Test: test-art-host, test-art-target.
Change-Id: I2f9e155c28b4d2252a3cfb19717f5d25824d5e11
|
|
Add support for splitting the image into a set of solid blocks.
Added dex2oat option --max-image-block-size and correspodning image
unit test.
Motivation: Enable parallel image decompression in the future.
Bug: 116052292
Test: test-art-host
Change-Id: I37c6c6a43ef94c4a62bf38a0cf51f26ce06347ac
|
|
|
|
Prepare for introduction of boot image extension.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: Pixel 2 XL boots.
Change-Id: Id007c4aeb4ada84fe65c1148fdf67e8a412e5b74
|
|
Remove unused compiler option `core_image_` and cache
the IsCompilingWithCoreImage in the CompilerOptions instead.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Idcf3b6c96dab9a39f823a16778e7698589442cd8
|
|
Remove one HInliner dependency on the CompilerDriver.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: If6f0ab864095641b5697c8c6f5100520f91d5e53
|
|
Add --check-profiled-methods, which verifies that all methods mentioned
in a profile for a guided compilation are actually compiled instead of
being punted. As outcome it may log or abort dex2oat.
TODO: Extend dex2oat_test
Bug: 76145463
Test: mmma art
Test: m test-art-host
Change-Id: I956113b55796d0666db9dbfd387105a7d27b0868
|
|
Added dex2oat option --resolve-startup-const-strings=<true|false>
If true, this option causes the compiler driver to resolve all
const-strings that are referenced from methods marked as "startup" in
the profile.
Bug: 116059983
Test: test-art-host
Change-Id: I61cf9e945c125671fc4ab4b50458a911318a837f
|
|
Implemented as a stripped down version of the optimizing compiler,
not running any optimization.
Adjust code to still work with expectations in code generators.
bug: 111397239
Test: test.py --baseline
Change-Id: I4328283825f9a890616e7496ed4c1e77d6bcc5dd
|
|
Remove all uses of macros 'FINAL' and 'OVERRIDE' and replace them with
'final' and 'override' specifiers. Remove all definitions of these
macros as well, which were located in these files:
- libartbase/base/macros.h
- test/913-heaps/heaps.cc
- test/ti-agent/ti_macros.h
ART is now using C++14; the 'final' and 'override' specifiers have
been introduced in C++11.
Test: mmma art
Change-Id: I256c7758155a71a2940ef2574925a44076feeebf
|
|
Removes CompilerDriver dependency from ImageWriter and
several other classes.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: Pixel 2 XL boots.
Test: m test-art-target-gtest
Test: testrunner.py --target --optimizing
Change-Id: I3c5b8ff73732128b9c4fad9405231a216ea72465
|
|
A step toward removing the CompilerDriver dependency from
several classes, including HSharpening and ImageWriter.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: I364ef66511fdf855cb11b12c818a40572b037727
|
|
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Change-Id: Ifb30e071d7b39ae939fc3f83d7eba82fd077c7e8
|
|
This replaces the old --dump-passes option removed in
https://android-review.googlesource.com/549200 .
Using --dump-timing for timing optimization passes makes
the high level timings useless, so return to using two
different options for these.
Test: Manually run dex2oat with --dump-timings,
--dump-pass-timings and both.
Change-Id: Iddc4cfee35652fb493656e7d6081a898c2894f72
|
|
Remove runtime/globals.h and make clients point to the right globals.h
(libartbase/base/globals.h). Also make within-libartbase includes
relative rather than using base/, etc.
Bug: 22322814
Test: make -j 40 checkbuild
Change-Id: I99de63fc851d48946ab401e2369de944419041c7
|
|
Enforce the layering that code in runtime/base should not depend on
runtime by separating it into libartbase. Some of the code in
runtime/base depends on the Runtime class, so it cannot be moved yet.
Also, some of the tests depend on CommonRuntimeTest, which itself needs
to be factored (in a subsequent CL).
Bug: 22322814
Test: make -j 50 checkbuild
make -j 50 test-art-host
Change-Id: I8b096c1e2542f829eb456b4b057c71421b77d7e2
|
|
For eventually easier profiling of boot classpath and
system server.
bug: 30934496
Test: 674-hotness-compiled
Change-Id: I0f63c644527b74f6ef2649f481c2a1c731bb9f21
|
|
Remove dump-passes inherited from Quick days,
and move dump-timings and dump-stats to CompilerStats.
Test: test.py
Change-Id: Ie79be858a141e59dc0b2a87d8cb5a5248a5bc7af
|
|
Cleanup errors from upstream cpplint in preparation
for moving art's cpplint fork to upstream tip-of-tree cpplint.
Test: cd art && mm
Bug: 68951293
Change-Id: I15faed4594cbcb8399850f8bdee39d42c0c5b956
|
|
Add --deduplicate-code and --no-deduplicate-code to ease in
experiments with deduplication, e.g., profiling.
Add dex2oat test.
Test: m test-art-host
Change-Id: Ib6c7fe082f43c5f76c8463cc563e2503c9a50480
|
|
Add an option to abort compilation if any class fails compile-time
verification.
Bug: 65318848
Bug: 67358823
Test: m test-art-host-gtest-dex2oat_test
Change-Id: I5d2a7cd1d2ed048ab39d6f787ecc9eb2f41d3d77
|
|
Refactor dex2oat and the compiler to use the cmdline parser. In
an effort to standardize command-line parsing and make it easier
to add new properties in a principled manner.
Test: m test-art-host
Change-Id: Ia077a56234dbf579d7ca3430fef325b57aa06333
|
|
App images prevent dex2oat unloading and should not be used in this
mode. Disable app image generation when very large app mode is
detected.
Bug: 63467744
Test: test-art-host-gtest-dex2oat_test
(cherry picked from commit df8a96a1cde9dafbb1811358be1fbba6d3aec267)
Change-Id: Icd5b0d9d3e61ececffe60f7472aaee8a54d1847b
|
|
Generate run-time code in the Optimizing compiler checking that
the Marking Register's value matches `self.tls32_.is.gc_marking`
in debug mode (on target; and on host with JIT, or with AOT when
compiling the core image). If a check fails, abort.
Test: m test-art-target
Test: m test-art-target with tree built with ART_USE_READ_BARRIER=false
Test: ARM64 device boot test with libartd.
Bug: 37707231
Change-Id: Ie9b322b22b3d26654a06821e1db71dbda3c43061
|
|
Now support passing --verbose-methods and --dump-cfg.
Test: test.py
Test: ./out/host/linux-x86/bin/art -Xcompiler-option --dump-cfg=foo.cfg -Xcompiler-option --verbose-methods=run -Xcompiler-option --compiler-filter=quicken -Xusejit:true -cp benchmarks.dex benchmarks.DeltaBlue.java.DeltaBlue
Change-Id: I75ffed146ffff43ef70f3e9e80a160751e08cb04
|