| Age | Commit message (Collapse) | Author |
|
ART MTS package size comparison before and after this change:
* on Arm64:
```
build/soong/soong_ui.bash --make-mode dist TARGET_PRODUCT=aosp_arm64 \
TARGET_RELEASE=mainline WITH_DEXPREOPT=false mts-art \
&& stat -c %s out/host/linux-x86/mts-art/android-mts-art.zip
```
Before: 1465306040 bytes (~1397 MiB)
After: 1463062851 bytes (~1395 MiB)
Variation: -2243189 bytes (~2 MiB) (-0.15%)
* on x86-64:
```
build/soong/soong_ui.bash --make-mode dist TARGET_PRODUCT=aosp_x86_64 \
TARGET_RELEASE=mainline WITH_DEXPREOPT=false mts-art \
&& stat -c %s out/host/linux-x86/mts-art/android-mts-art.zip
```
Before: 1483408375 bytes (~1415 MiB)
After: 1481164834 bytes (~1413 MiB)
Variation: −2243541 bytes (~2 MiB) (-0.15%)
Test: Run the following command and verify that its output contains none of
the ART run-test modules mentioned in b/363075236#comment1:
m mts-art && \
unzip -l \
$ANDROID_SOONG_HOST_OUT/mts-art/android-mts-art-tests_list.zip
Bug: 363075236
Bug: 167385698
Change-Id: I5d0aaa042df47a1f8073bc522db7348ebc75c959
|
|
Intrinsic Implementation is 2287x faster than base
Time for base: 188.25s
Time for patch: 0.0822s
Test: ./run-test --host --64 --optimizing 082-inline-execute
Test: ./run-test --host --64 --optimizing --instruction-set-features sse4.1 082-inline-execute
Test: ./run-test --host --64 --optimizing --instruction-set-features sse4.1,avx2 082-inline-execute
Signed-off-by: Shalini Salomi Bodapati <shalini.salomi.bodapati@intel.com>
Change-Id: I68b96a35f41f3bb23d7e26d87fee1dd2a5ebf6a6
|
|
Test: Run `art/test/utils/regen-test-files` and check Blueprint files
Bug: 147814778
Change-Id: I51dc20a7c7f26df163ab2de4fb33675740728a2f
|
|
Added SPDX-license-identifier-Apache-2.0 to:
adbconnection/Android.bp
benchmark/Android.bp
build/Android.bp
build/Android.cpplint.mk
build/Android.gtest.mk
build/apex/Android.bp
build/boot/Android.bp
build/sdk/Android.bp
cmdline/Android.bp
compiler/Android.bp
dalvikvm/Android.bp
dex2oat/Android.bp
dexdump/Android.bp
dexlayout/Android.bp
dexlist/Android.bp
dexoptanalyzer/Android.bp
disassembler/Android.bp
dt_fd_forward/export/Android.bp
imgdiag/Android.bp
libartbase/Android.bp
libartpalette/Android.bp
libartservice/Android.bp
libartservice/tests/Android.bp
libarttools/Android.bp
libdexfile/Android.bp
libelffile/Android.bp
libnativebridge/Android.bp
libnativebridge/tests/Android.bp
libnativeloader/Android.bp
libnativeloader/test/Android.bp
libnativeloader/test/Android.mk
libprofile/Android.bp
oatdump/Android.bp
odrefresh/Android.bp
perfetto_hprof/Android.bp
profman/Android.bp
runtime/Android.bp
simulator/Android.bp
test/001-HelloWorld/Android.bp
test/001-Main/Android.bp
test/002-sleep/Android.bp
test/004-InterfaceTest/Android.bp
test/004-SignalTest/Android.bp
test/004-UnsafeTest/Android.bp
test/004-checker-UnsafeTest18/Android.bp
test/006-args/Android.bp
test/007-count10/Android.bp
test/009-instanceof/Android.bp
test/010-instance/Android.bp
test/011-array-copy/Android.bp
test/012-math/Android.bp
test/013-math2/Android.bp
test/014-math3/Android.bp
test/015-switch/Android.bp
test/016-intern/Android.bp
test/017-float/Android.bp
test/018-stack-overflow/Android.bp
test/019-wrong-array-type/Android.bp
test/020-string/Android.bp
test/021-string2/Android.bp
test/022-interface/Android.bp
test/025-access-controller/Android.bp
test/026-access/Android.bp
test/027-arithmetic/Android.bp
test/028-array-write/Android.bp
test/029-assert/Android.bp
test/030-bad-finalizer/Android.bp
test/033-class-init-deadlock/Android.bp
test/034-call-null/Android.bp
test/035-enum/Android.bp
test/036-finalizer/Android.bp
test/037-inherit/Android.bp
test/038-inner-null/Android.bp
test/039-join-main/Android.bp
test/040-miranda/Android.bp
test/041-narrowing/Android.bp
test/043-privates/Android.bp
test/044-proxy/Android.bp
test/045-reflect-array/Android.bp
test/046-reflect/Android.bp
test/047-returns/Android.bp
test/048-reflect-v8/Android.bp
test/049-show-object/Android.bp
test/050-sync-test/Android.bp
test/051-thread/Android.bp
test/052-verifier-fun/Android.bp
test/053-wait-some/Android.bp
test/054-uncaught/Android.bp
test/055-enum-performance/Android.bp
test/058-enum-order/Android.bp
test/059-finalizer-throw/Android.bp
test/061-out-of-memory/Android.bp
test/062-character-encodings/Android.bp
test/063-process-manager/Android.bp
test/067-preemptive-unpark/Android.bp
test/070-nio-buffer/Android.bp
test/072-precise-gc/Android.bp
test/072-reachability-fence/Android.bp
test/074-gc-thrash/Android.bp
test/076-boolean-put/Android.bp
test/078-polymorphic-virtual/Android.bp
test/079-phantom/Android.bp
test/080-oom-fragmentation/Android.bp
test/080-oom-throw-with-finalizer/Android.bp
test/080-oom-throw/Android.bp
test/081-hot-exceptions/Android.bp
test/082-inline-execute/Android.bp
test/083-compiler-regressions/Android.bp
test/084-class-init/Android.bp
test/086-null-super/Android.bp
test/087-gc-after-link/Android.bp
test/090-loop-formation/Android.bp
test/092-locale/Android.bp
test/093-serialization/Android.bp
test/094-pattern/Android.bp
test/095-switch-MAX_INT/Android.bp
test/096-array-copy-concurrent-gc/Android.bp
test/098-ddmc/Android.bp
test/099-vmdebug/Android.bp
test/100-reflect2/Android.bp
test/1004-checker-volatile-ref-load/Android.bp
test/101-fibonacci/Android.bp
test/102-concurrent-gc/Android.bp
test/103-string-append/Android.bp
test/104-growth-limit/Android.bp
test/105-invoke/Android.bp
test/106-exceptions2/Android.bp
test/107-int-math2/Android.bp
test/108-check-cast/Android.bp
test/109-suspend-check/Android.bp
test/110-field-access/Android.bp
test/112-double-math/Android.bp
test/114-ParallelGC/Android.bp
test/115-native-bridge/Android.bp
test/116-nodex2oat/Android.bp
test/120-hashcode/Android.bp
test/121-simple-suspend-check/Android.bp
test/122-npe/Android.bp
test/123-compiler-regressions-mt/Android.bp
test/123-inline-execute2/Android.bp
test/125-gc-and-classloading/Android.bp
test/128-reg-spill-on-implicit-nullcheck/Android.bp
test/129-ThreadGetId/Android.bp
test/132-daemon-locks-shutdown/Android.bp
test/133-static-invoke-super/Android.bp
test/1336-short-finalizer-timeout/Android.bp
test/1337-gc-coverage/Android.bp
test/1339-dead-reference-safe/Android.bp
test/136-daemon-jni-shutdown/Android.bp
test/139-register-natives/Android.bp
test/140-dce-regression/Android.bp
test/140-field-packing/Android.bp
test/143-string-value/Android.bp
test/144-static-field-sigquit/Android.bp
test/148-multithread-gc-annotations/Android.bp
test/149-suspend-all-stress/Android.bp
test/150-loadlibrary/Android.bp
test/151-OpenFileLimit/Android.bp
test/152-dead-large-object/Android.bp
test/153-reference-stress/Android.bp
test/154-gc-loop/Android.bp
test/156-register-dex-file-multi-loader/Android.bp
test/158-app-image-class-table/Android.bp
test/159-app-image-fields/Android.bp
test/163-app-image-methods/Android.bp
test/165-lock-owner-proxy/Android.bp
test/168-vmstack-annotated/Android.bp
test/169-threadgroup-jni/Android.bp
test/170-interface-init/Android.bp
test/172-app-image-twice/Android.bp
test/174-escaping-instance-of-bad-class/Android.bp
test/175-alloc-big-bignums/Android.bp
test/176-app-image-string/Android.bp
test/177-visibly-initialized-deadlock/Android.bp
test/178-app-image-native-method/Android.bp
test/179-nonvirtual-jni/Android.bp
test/1900-track-alloc/Android.bp
test/1901-get-bytecodes/Android.bp
test/1902-suspend/Android.bp
test/1903-suspend-self/Android.bp
test/1904-double-suspend/Android.bp
test/1905-suspend-native/Android.bp
test/1906-suspend-list-me-first/Android.bp
test/1907-suspend-list-self-twice/Android.bp
test/1908-suspend-native-resume-self/Android.bp
test/1909-per-agent-tls/Android.bp
test/1910-transform-with-default/Android.bp
test/1911-get-local-var-table/Android.bp
test/1912-get-set-local-primitive/Android.bp
test/1913-get-set-local-objects/Android.bp
test/1914-get-local-instance/Android.bp
test/1915-get-set-local-current-thread/Android.bp
test/1916-get-set-current-frame/Android.bp
test/1917-get-stack-frame/Android.bp
test/1919-vminit-thread-start-timing/Android.bp
test/1920-suspend-native-monitor/Android.bp
test/1921-suspend-native-recursive-monitor/Android.bp
test/1922-owned-monitors-info/Android.bp
test/1923-frame-pop/Android.bp
test/1924-frame-pop-toggle/Android.bp
test/1925-self-frame-pop/Android.bp
test/1926-missed-frame-pop/Android.bp
test/1927-exception-event/Android.bp
test/1928-exception-event-exception/Android.bp
test/1930-monitor-info/Android.bp
test/1931-monitor-events/Android.bp
test/1932-monitor-events-misc/Android.bp
test/1933-monitor-current-contended/Android.bp
test/1934-jvmti-signal-thread/Android.bp
test/1935-get-set-current-frame-jit/Android.bp
test/1936-thread-end-events/Android.bp
test/1937-transform-soft-fail/Android.bp
test/1938-transform-abstract-single-impl/Android.bp
test/1939-proxy-frames/Android.bp
test/1941-dispose-stress/Android.bp
test/1942-suspend-raw-monitor-exit/Android.bp
test/1943-suspend-raw-monitor-wait/Android.bp
test/1945-proxy-method-arguments/Android.bp
test/1947-breakpoint-redefine-deopt/Android.bp
test/1949-short-dex-file/Android.bp
test/1951-monitor-enter-no-suspend/Android.bp
test/1953-pop-frame/Android.bp
test/1954-pop-frame-jit/Android.bp
test/1955-pop-frame-jit-called/Android.bp
test/1956-pop-frame-jit-calling/Android.bp
test/1957-error-ext/Android.bp
test/1958-transform-try-jit/Android.bp
test/1959-redefine-object-instrument/Android.bp
test/1960-checker-bounds-codegen/Android.bp
test/1960-obsolete-jit-multithread-native/Android.bp
test/1961-checker-loop-vectorizer/Android.bp
test/1961-obsolete-jit-multithread/Android.bp
test/1962-multi-thread-events/Android.bp
test/1963-add-to-dex-classloader-in-memory/Android.bp
test/1967-get-set-local-bad-slot/Android.bp
test/1968-force-early-return/Android.bp
test/1969-force-early-return-void/Android.bp
test/1970-force-early-return-long/Android.bp
test/1971-multi-force-early-return/Android.bp
test/1972-jni-id-swap-indices/Android.bp
test/1973-jni-id-swap-pointer/Android.bp
test/1974-resize-array/Android.bp
test/1975-hello-structural-transformation/Android.bp
test/1976-hello-structural-static-methods/Android.bp
test/1977-hello-structural-obsolescence/Android.bp
test/1978-regular-obsolete-then-structural-obsolescence/Android.bp
test/1979-threaded-structural-transformation/Android.bp
test/1980-obsolete-object-cleared/Android.bp
test/1982-no-virtuals-structural-redefinition/Android.bp
test/1984-structural-redefine-field-trace/Android.bp
test/1985-structural-redefine-stack-scope/Android.bp
test/1986-structural-redefine-multi-thread-stack-scope/Android.bp
test/1987-structural-redefine-recursive-stack-scope/Android.bp
test/1988-multi-structural-redefine/Android.bp
test/1989-transform-bad-monitor/Android.bp
test/1990-structural-bad-verify/Android.bp
test/1991-hello-structural-retransform/Android.bp
test/1992-retransform-no-such-field/Android.bp
test/1993-fallback-non-structural/Android.bp
test/1994-final-virtual-structural/Android.bp
test/1995-final-virtual-structural-multithread/Android.bp
test/1996-final-override-virtual-structural/Android.bp
test/1997-structural-shadow-method/Android.bp
test/1998-structural-shadow-field/Android.bp
test/1999-virtual-structural/Android.bp
test/2003-double-virtual-structural/Android.bp
test/2004-double-virtual-structural-abstract/Android.bp
test/2005-pause-all-redefine-multithreaded/Android.bp
test/2008-redefine-then-old-reflect-field/Android.bp
test/201-built-in-except-detail-messages/Android.bp
test/2011-stack-walk-concurrent-instrument/Android.bp
test/2019-constantcalculationsinking/Android.bp
test/202-thread-oome/Android.bp
test/2020-InvokeVirtual-Inlining/Android.bp
test/2021-InvokeStatic-Inlining/Android.bp
test/2022-Invariantloops/Android.bp
test/2023-InvariantLoops_typecast/Android.bp
test/2024-InvariantNegativeLoop/Android.bp
test/2025-ChangedArrayValue/Android.bp
test/2026-DifferentMemoryLSCouples/Android.bp
test/2027-TwiceTheSameMemoryCouple/Android.bp
test/2028-MultiBackward/Android.bp
test/2029-contended-monitors/Android.bp
test/203-multi-checkpoint/Android.bp
test/2030-long-running-child/Android.bp
test/2031-zygote-compiled-frame-deopt/Android.bp
test/2033-shutdown-mechanics/Android.bp
test/2036-jni-filechannel/Android.bp
test/2037-thread-name-inherit/Android.bp
test/2231-checker-heap-poisoning/Android.bp
test/2232-write-metrics-to-log/Android.bp
test/300-package-override/Android.bp
test/301-abstract-protected/Android.bp
test/302-float-conversion/Android.bp
test/304-method-tracing/Android.bp
test/305-other-fault-handler/Android.bp
test/401-optimizing-compiler/Android.bp
test/402-optimizing-control-flow/Android.bp
test/403-optimizing-long/Android.bp
test/404-optimizing-allocator/Android.bp
test/405-optimizing-long-allocator/Android.bp
test/406-fields/Android.bp
test/407-arrays/Android.bp
test/408-move-bug/Android.bp
test/409-materialized-condition/Android.bp
test/410-floats/Android.bp
test/411-checker-hdiv-hrem-const/Android.bp
test/411-checker-hdiv-hrem-pow2/Android.bp
test/411-checker-instruct-simplifier-hrem/Android.bp
test/411-optimizing-arith/Android.bp
test/413-regalloc-regression/Android.bp
test/414-static-fields/Android.bp
test/418-const-string/Android.bp
test/419-long-parameter/Android.bp
test/420-const-class/Android.bp
test/421-exceptions/Android.bp
test/421-large-frame/Android.bp
test/422-instanceof/Android.bp
test/422-type-conversion/Android.bp
test/423-invoke-interface/Android.bp
test/424-checkcast/Android.bp
test/426-monitor/Android.bp
test/427-bitwise/Android.bp
test/427-bounds/Android.bp
test/429-ssa-builder/Android.bp
test/430-live-register-slow-path/Android.bp
test/433-gvn/Android.bp
test/434-shifter-operand/Android.bp
test/435-try-finally-without-catch/Android.bp
test/436-rem-float/Android.bp
test/436-shift-constant/Android.bp
test/437-inline/Android.bp
test/438-volatile/Android.bp
test/439-npe/Android.bp
test/439-swap-double/Android.bp
test/440-stmp/Android.bp
test/441-checker-inliner/Android.bp
test/443-not-bool-inline/Android.bp
test/444-checker-nce/Android.bp
test/445-checker-licm/Android.bp
test/446-checker-inliner2/Android.bp
test/447-checker-inliner3/Android.bp
test/449-checker-bce-rem/Android.bp
test/449-checker-bce/Android.bp
test/450-checker-types/Android.bp
test/451-regression-add-float/Android.bp
test/451-spill-splot/Android.bp
test/454-get-vreg/Android.bp
test/455-checker-gvn/Android.bp
test/456-baseline-array-set/Android.bp
test/458-long-to-fpu/Android.bp
test/461-get-reference-vreg/Android.bp
test/464-checker-inline-sharpen-calls/Android.bp
test/465-checker-clinit-gvn/Android.bp
test/466-get-live-vreg/Android.bp
test/469-condition-materialization/Android.bp
test/470-huge-method/Android.bp
test/471-deopt-environment/Android.bp
test/472-type-propagation/Android.bp
test/473-checker-inliner-constants/Android.bp
test/473-remove-dead-block/Android.bp
test/474-checker-boolean-input/Android.bp
test/474-fp-sub-neg/Android.bp
test/475-simplify-mul-zero/Android.bp
test/476-checker-ctor-fence-redun-elim/Android.bp
test/476-checker-ctor-memory-barrier/Android.bp
test/476-clinit-inline-static-invoke/Android.bp
test/477-checker-bound-type/Android.bp
test/477-long-2-float-convers-precision/Android.bp
test/478-checker-clinit-check-pruning/Android.bp
test/478-checker-inline-noreturn/Android.bp
test/478-checker-inliner-nested-loop/Android.bp
test/479-regression-implicit-null-check/Android.bp
test/480-checker-dead-blocks/Android.bp
test/481-regression-phi-cond/Android.bp
test/482-checker-loop-back-edge-use/Android.bp
test/483-dce-block/Android.bp
test/485-checker-dce-switch/Android.bp
test/486-checker-must-do-null-check/Android.bp
test/487-checker-inline-calls/Android.bp
test/488-checker-inline-recursive-calls/Android.bp
test/489-current-method-regression/Android.bp
test/490-checker-inline/Android.bp
test/491-current-method/Android.bp
test/492-checker-inline-invoke-interface/Android.bp
test/493-checker-inline-invoke-interface/Android.bp
test/494-checker-instanceof-tests/Android.bp
test/495-checker-checkcast-tests/Android.bp
test/496-checker-inlining-class-loader/Android.bp
test/497-inlining-and-class-loader/Android.bp
test/499-bce-phi-array-length/Android.bp
test/500-instanceof/Android.bp
test/505-simplifier-type-propagation/Android.bp
test/507-boolean-test/Android.bp
test/507-referrer/Android.bp
test/508-checker-disassembly/Android.bp
test/508-referrer-method/Android.bp
test/513-array-deopt/Android.bp
test/514-shifts/Android.bp
test/519-bound-load-class/Android.bp
test/521-checker-array-set-null/Android.bp
test/521-regression-integer-field-set/Android.bp
test/524-boolean-simplifier-regression/Android.bp
test/525-checker-arrays-fields1/Android.bp
test/525-checker-arrays-fields2/Android.bp
test/526-checker-caller-callee-regs/Android.bp
test/526-long-regalloc/Android.bp
test/527-checker-array-access-simd/Android.bp
test/527-checker-array-access-split/Android.bp
test/528-long-hint/Android.bp
test/529-long-split/Android.bp
test/530-checker-loops1/Android.bp
test/530-checker-loops2/Android.bp
test/530-checker-loops3/Android.bp
test/530-checker-loops4/Android.bp
test/530-checker-loops5/Android.bp
test/530-checker-lse-ctor-fences/Android.bp
test/530-checker-lse-simd/Android.bp
test/530-checker-lse/Android.bp
test/530-checker-lse2/Android.bp
test/530-instanceof-checkcast/Android.bp
test/530-regression-lse/Android.bp
test/532-checker-nonnull-arrayset/Android.bp
test/534-checker-bce-deoptimization/Android.bp
test/535-deopt-and-inlining/Android.bp
test/536-checker-intrinsic-optimization/Android.bp
test/537-checker-arraycopy/Android.bp
test/537-checker-jump-over-jump/Android.bp
test/538-checker-embed-constants/Android.bp
test/540-checker-rtp-bug/Android.bp
test/542-bitfield-rotates/Android.bp
test/542-inline-trycatch/Android.bp
test/542-unresolved-access-check/Android.bp
test/545-tracing-and-jit/Android.bp
test/548-checker-inlining-and-dce/Android.bp
test/549-checker-types-merge/Android.bp
test/550-checker-multiply-accumulate/Android.bp
test/550-new-instance-clinit/Android.bp
test/551-checker-clinit/Android.bp
test/551-checker-shifter-operand/Android.bp
test/551-implicit-null-checks/Android.bp
test/552-checker-sharpening/Android.bp
test/552-checker-x86-avx2-bit-manipulation/Android.bp
test/554-checker-rtp-checkcast/Android.bp
test/555-UnsafeGetLong-regression/Android.bp
test/557-checker-instruct-simplifier-ror/Android.bp
test/558-switch/Android.bp
test/559-bce-ssa/Android.bp
test/559-checker-rtp-ifnotnull/Android.bp
test/560-packed-switch/Android.bp
test/561-divrem/Android.bp
test/561-shared-slowpaths/Android.bp
test/562-bce-preheader/Android.bp
test/562-checker-no-intermediate/Android.bp
test/563-checker-invoke-super/Android.bp
test/564-checker-bitcount/Android.bp
test/564-checker-inline-loop/Android.bp
test/564-checker-negbitwise/Android.bp
test/565-checker-condition-liveness/Android.bp
test/566-checker-codegen-select/Android.bp
test/566-polymorphic-inlining/Android.bp
test/567-checker-builder-intrinsics/Android.bp
test/568-checker-onebit/Android.bp
test/570-checker-select/Android.bp
test/572-checker-array-get-regression/Android.bp
test/573-checker-checkcast-regression/Android.bp
test/576-polymorphic-inlining/Android.bp
test/577-checker-fp2int/Android.bp
test/578-bce-visit/Android.bp
test/578-polymorphic-inlining/Android.bp
test/579-inline-infinite/Android.bp
test/580-checker-round/Android.bp
test/580-crc32/Android.bp
test/581-rtp/Android.bp
test/582-checker-bce-length/Android.bp
test/583-checker-zero/Android.bp
test/584-checker-div-bool/Android.bp
test/589-super-imt/Android.bp
test/590-checker-arr-set-null-regression/Android.bp
test/591-checker-regression-dead-loop/Android.bp
test/593-checker-long-2-float-regression/Android.bp
test/594-checker-array-alias/Android.bp
test/594-load-string-regression/Android.bp
test/595-profile-saving/Android.bp
test/597-deopt-busy-loop/Android.bp
test/597-deopt-invoke-stub/Android.bp
test/597-deopt-new-string/Android.bp
test/602-deoptimizeable/Android.bp
test/603-checker-instanceof/Android.bp
test/604-hot-static-interface/Android.bp
test/605-new-string-from-bytes/Android.bp
test/607-daemon-stress/Android.bp
test/609-checker-inline-interface/Android.bp
test/609-checker-x86-bounds-check/Android.bp
test/610-arraycopy/Android.bp
test/611-checker-simplify-if/Android.bp
test/614-checker-dump-constant-location/Android.bp
test/615-checker-arm64-store-zero/Android.bp
test/616-cha-abstract/Android.bp
test/616-cha-interface/Android.bp
test/616-cha-miranda/Android.bp
test/616-cha-native/Android.bp
test/616-cha-regression-proxy-method/Android.bp
test/616-cha/Android.bp
test/617-clinit-oome/Android.bp
test/618-checker-induction/Android.bp
test/619-checker-current-method/Android.bp
test/620-checker-bce-intrinsics/Android.bp
test/622-checker-bce-regressions/Android.bp
test/623-checker-loop-regressions/Android.bp
test/625-checker-licm-regressions/Android.bp
test/626-set-resolved-string/Android.bp
test/627-checker-unroll/Android.bp
test/628-vdex/Android.bp
test/629-vdex-speed/Android.bp
test/631-checker-get-class/Android.bp
test/632-checker-char-at-bounds/Android.bp
test/635-checker-arm64-volatile-load-cc/Android.bp
test/636-arm64-veneer-pool/Android.bp
test/637-checker-throw-inline/Android.bp
test/638-checker-inline-cache-intrinsic/Android.bp
test/639-checker-code-sinking/Android.bp
test/640-checker-boolean-simd/Android.bp
test/640-checker-integer-valueof/Android.bp
test/640-checker-simd/Android.bp
test/641-checker-arraycopy/Android.bp
test/641-iterations/Android.bp
test/642-fp-callees/Android.bp
test/643-checker-bogus-ic/Android.bp
test/645-checker-abs-simd/Android.bp
test/646-checker-arraycopy-large-cst-pos/Android.bp
test/646-checker-long-const-to-int/Android.bp
test/646-checker-simd-hadd/Android.bp
test/647-jni-get-field-id/Android.bp
test/650-checker-inline-access-thunks/Android.bp
test/652-deopt-intrinsic/Android.bp
test/654-checker-periodic/Android.bp
test/655-checker-simd-arm-opt/Android.bp
test/655-jit-clinit/Android.bp
test/656-checker-simd-opt/Android.bp
test/656-loop-deopt/Android.bp
test/657-branches/Android.bp
test/658-fp-read-barrier/Android.bp
test/660-checker-sad/Android.bp
test/660-checker-simd-sad/Android.bp
test/660-clinit/Android.bp
test/661-checker-simd-reduc/Android.bp
test/661-oat-writer-layout/Android.bp
test/662-regression-alias/Android.bp
test/664-aget-verifier/Android.bp
test/665-checker-simd-zero/Android.bp
test/666-dex-cache-itf/Android.bp
test/667-checker-simd-alignment/Android.bp
test/667-jit-jni-stub/Android.bp
test/667-out-of-bounds/Android.bp
test/669-checker-break/Android.bp
test/671-npe-field-opts/Android.bp
test/672-checker-throw-method/Android.bp
test/673-checker-throw-vmethod/Android.bp
test/674-HelloWorld-Dm/Android.bp
test/674-hotness-compiled/Android.bp
test/676-proxy-jit-at-first-use/Android.bp
test/677-fsi2/Android.bp
test/679-locks/Android.bp
test/680-checker-deopt-dex-pc-0/Android.bp
test/680-sink-regression/Android.bp
test/684-checker-simd-dotprod/Android.bp
test/684-select-condition/Android.bp
test/685-deoptimizeable/Android.bp
test/687-deopt/Android.bp
test/689-multi-catch/Android.bp
test/689-zygote-jit-deopt/Android.bp
test/693-vdex-inmem-loader-evict/Android.bp
test/694-clinit-jit/Android.bp
test/695-simplify-throws/Android.bp
test/696-loop/Android.bp
test/697-checker-string-append/Android.bp
test/698-selects/Android.bp
test/700-LoadArgRegs/Android.bp
test/703-floating-point-div/Android.bp
test/704-multiply-accumulate/Android.bp
test/705-register-conflict/Android.bp
test/707-checker-invalid-profile/Android.bp
test/708-jit-cache-churn/Android.bp
test/711-checker-type-conversion/Android.bp
test/717-integer-value-of/Android.bp
test/718-zipfile-finalizer/Android.bp
test/720-thread-priority/Android.bp
test/721-osr/Android.bp
test/726-array-store/Android.bp
test/728-imt-conflict-zygote/Android.bp
test/805-TooDeepClassInstanceOf/Android.bp
test/806-TooWideClassInstanceOf/Android.bp
test/812-recursive-default/Android.bp
test/813-fp-args/Android.bp
test/814-large-field-offsets/Android.bp
test/815-invokeinterface-default/Android.bp
test/818-clinit-nterp/Android.bp
test/900-hello-plugin/Android.bp
test/901-hello-ti-agent/Android.bp
test/902-hello-transformation/Android.bp
test/903-hello-tagging/Android.bp
test/904-object-allocation/Android.bp
test/905-object-free/Android.bp
test/906-iterate-heap/Android.bp
test/907-get-loaded-classes/Android.bp
test/908-gc-start-finish/Android.bp
test/910-methods/Android.bp
test/911-get-stack-trace/Android.bp
test/913-heaps/Android.bp
test/914-hello-obsolescence/Android.bp
test/915-obsolete-2/Android.bp
test/916-obsolete-jit/Android.bp
test/917-fields-transformation/Android.bp
test/918-fields/Android.bp
test/919-obsolete-fields/Android.bp
test/920-objects/Android.bp
test/921-hello-failure/Android.bp
test/922-properties/Android.bp
test/923-monitors/Android.bp
test/924-threads/Android.bp
test/925-threadgroups/Android.bp
test/926-multi-obsolescence/Android.bp
test/927-timers/Android.bp
test/928-jni-table/Android.bp
test/930-hello-retransform/Android.bp
test/931-agent-thread/Android.bp
test/932-transform-saves/Android.bp
test/933-misc-events/Android.bp
test/937-hello-retransform-package/Android.bp
test/939-hello-transformation-bcp/Android.bp
test/940-recursive-obsolete/Android.bp
test/941-recursive-obsolete-jit/Android.bp
test/942-private-recursive/Android.bp
test/943-private-recursive-jit/Android.bp
test/944-transform-classloaders/Android.bp
test/945-obsolete-native/Android.bp
test/946-obsolete-throw/Android.bp
test/947-reflect-method/Android.bp
test/949-in-memory-transform/Android.bp
test/950-redefine-intrinsic/Android.bp
test/951-threaded-obsolete/Android.bp
test/963-default-range-smali/Android.bp
test/982-ok-no-retransform/Android.bp
test/983-source-transform-verify/Android.bp
test/984-obsolete-invoke/Android.bp
test/985-re-obsolete/Android.bp
test/986-native-method-bind/Android.bp
test/987-agent-bind/Android.bp
test/988-method-trace/Android.bp
test/989-method-trace-throw/Android.bp
test/990-field-trace/Android.bp
test/991-field-trace-2/Android.bp
test/992-source-data/Android.bp
test/993-breakpoints/Android.bp
test/994-breakpoint-line/Android.bp
test/995-breakpoints-throw/Android.bp
test/996-breakpoint-obsolete/Android.bp
test/997-single-step/Android.bp
test/Android.bp
tools/Android.bp
tools/ahat/Android.bp
tools/ahat/Android.mk
tools/art_verifier/Android.bp
tools/cpp-define-generator/Android.bp
tools/dexanalyze/Android.bp
tools/dexfuzz/Android.bp
tools/dmtracedump/Android.bp
tools/hiddenapi/Android.bp
tools/jfuzz/Android.bp
tools/jvmti-agents/breakpoint-logger/Android.bp
tools/jvmti-agents/chain-agents/Android.bp
tools/jvmti-agents/dump-jvmti-state/Android.bp
tools/jvmti-agents/enable-vlog/Android.bp
tools/jvmti-agents/field-counts/Android.bp
tools/jvmti-agents/field-null-percent/Android.bp
tools/jvmti-agents/jit-load/Android.bp
tools/jvmti-agents/list-extensions/Android.bp
tools/jvmti-agents/simple-force-redefine/Android.bp
tools/jvmti-agents/simple-profile/Android.bp
tools/jvmti-agents/ti-alloc-sample/Android.bp
tools/jvmti-agents/ti-fast/Android.bp
tools/jvmti-agents/titrace/Android.bp
tools/jvmti-agents/wrapagentproperties/Android.bp
tools/signal_dumper/Android.bp
tools/tracefast-plugin/Android.bp
tools/veridex/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
sigchainlib/Android.bp
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
SPDX-license-identifier-GPL-2.0
to:
Android.bp
Android.mk
Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0
SPDX-license-identifier-GPL-with-classpath-exception
to:
dt_fd_forward/Android.bp
openjdkjvmti/Android.bp
Added SPDX-license-identifier-GPL-2.0
SPDX-license-identifier-GPL-with-classpath-exception
to:
openjdkjvm/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: If775045c12955fa6d72d40ccf2a09beef93d1699
Merged-in: If775045c12955fa6d72d40ccf2a09beef93d1699
|
|
Test: ./art/test/testrunner/testrunner.py --target --optimizing --64 -t 082-inline-execute
Test: ./art/test/testrunner/testrunner.py --host --optimizing --64 -t 082-inline-execute
Change-Id: I4b6cafa8b9e513eca7c5c139440024d87a7ef758
|
|
Introduce expected standard error files for ART run-tests. Collect
tests' standard output and standard error separately and check them
against the corresponding expectation file.
Test: Run ART run-tests on host and device using `testrunner.py`.
Test: atest --test-mapping art:all
Test: atest --test-mapping cts/hostsidetests/jvmti:all
Bug: 171865375
Bug: 147812905
Change-Id: Ie95bec4a4684ff6791d464124ce8976339432d1f
|
|
This is in preparation for the addition of `expected-stderr.txt` files
in all ART run-test directories, which will record the expected
standard error for each of these tests, and which will be verified
along with `expected-stdout.txt`.
Test: Run ART run-tests on host and device using `testrunner.py`.
Test: atest --test-mapping art:all
Bug: 171865375
Bug: 147812905
Change-Id: I37e3c4b8409475790e2fc63514cdf57156d47ff4
|
|
All ART (target) run-tests supported at the build-level have been
tagged as part of the `art-target-run-test` TradeFed test suite;
however, only a part of them are actually expected to suceed at run
time at the moment, meaning that many tests are currently failing on
the postsubmit configuration running tests tagged as
`art-target-run-test` (currently running only on crosshatch devices).
To avoid this, use a different test configuration template for test
expected to succeed and for test expected to fail, and only have the
former test configuration template tag the test as part of the
`art-target-run-test` test suite.
Test: atest --test-mapping art:all
Test: Rely on ATP post-submit testing
Bug: 152374989
Bug: 147812905
Change-Id: I29ecc1d3021765cb5467f3a6f4e9d64afc4caead
|
|
Extends the 082-inline-execute test and reorders
divideUnsigned intrinsic code before VarHandle code.
Test: 082-inline-execute.
Test: testrunner.py --target --optimizing --64
Bug: 156736938
Change-Id: I8acf3db184da30640aff36cf02570ae0c6d2b88c
|
|
Implements the intrinsic for arm64; adds a comment
for a DCHECK() that prevented kNoOutputOverlap usage
in intrinsics with slow paths.
Author: Vladimir Marko.
Committer: Artem Serov.
Test: Covered by 082-inline-execute.
Test: testrunner.py --target --optimizing --64
Bug: 156736938
Change-Id: Ie1e61c19afe6a899fd4152206e5dbf9ad013e602
|
|
Test suite packages (e.g. `android-mts.zip`) flatten tests artifacts
into a single `testcases` directory, therefore each included file must
have a unique name. Have the build system rename every `expected.txt`
file to a unique name when building TradeFed-style ART run-tests.
Test: atest art-run-test-001-HelloWorld
Bug: 147812905
Change-Id: I0d433d0a611cb5214ae366e2c1af214e41c127f0
|
|
Also add divq() and divl() to x86-64 assembler and clean up
a test. This is a follow-up to
https://android-review.googlesource.com/1355865 .
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing -t 082-inline-execute
Bug: 156736938
Change-Id: Iade33a2250cea481249f6b976bc53c86663cb901
|
|
Bug: 156736938
Test: Added a test to 082-inline-execute.
Test: art/test.py --host --32 -r -t 082-inline-execute
Change-Id: Id516126fce10f2fa52b95c1b2b107ca7bf45e347
|
|
Introduce new Bash script `test/utils/regen-test-files` and use it
to generate a set of initial Soong module definitions for some ART
run-tests matching these conditions:
1. using default build rules (defined in `test/etc/default-build`), as
per the `test/run-test` script;
2. consisting only of Java source files contained in their `src`
directory;
3. containing no additional build complexity.
Also disable ErrorProne checks for ART run-tests on `errorprone`
builds.
Test: m $(find art/test \
-regextype egrep \
-regex 'art/test/[0-9]{3,}-.*/Android.bp' \
-printf '%P\n' \
| sed -r 's,(.*)/Android.bp,art-run-test-\1,' \
| sort)
Test: m javac-check $(find art/test \
-regextype egrep \
-regex 'art/test/[0-9]{3,}-.*/Android.bp' \
-printf '%P\n' \
| sed -r 's,(.*)/Android.bp,art-run-test-\1,' \
| sort) RUN_ERROR_PRONE=true
Bug: 147814778
Change-Id: Ife6b045a88bd18b06a3fc202f3d226e27e0fc03d
|
|
This patch implements min/max intrinsics for:
* Long
* Float
* Double
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: I2dfab8ab606f3d01fba712f9014d2e0617449d74
|
|
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: If73bcea5f9fb24942c7390c6ccbcfb012f8951c7
|
|
- int java.lang.Math.round(float)
- long java.lang.Math.round(double)
BUG=26327751
Change-Id: I8bb7a5f32375b06b886a0babf39eb3e20df3a085
|
|
BUG=26327751
Change-Id: I9ec0d600bbbbcf9e1ed07fbfc0ce9187a2ae5727
|
|
- boolean java.lang.Float.isInfinite(float)
- boolean java.lang.Double.isInfinite(double)
Change-Id: I17dc2380ec864fd7612025ed400e29dd115ccab4
|
|
This is a follow-up to
https://android-review.googlesource.com/203175 .
Bug: 27166445
Change-Id: I850999c782017650017fad7e27c83b60b57edaf9
|
|
- abs(double) - abs(float) - abs(int)
- abs(long) - max(double, double) - max(float, float)
- max(int, int) - max(long, long) - min(double, double)
- min(float, float) - min(int, int) - min(long, long)
- sqrt(double)
The math intrinsics:
- ceil(double) - floor(double) - rint(double)
- round(double) - round(float)
aren't implemented because they require instructions which only exist
for MIPS64, or for MIPS32r6.
Change-Id: I943be3592b52a423fcb7ac40f46f38a5e2a58c50
|
|
These fail for OpenJDK7 and earlier code.
Bug: 27166445
Change-Id: Ia09f61bd375e0935e05300cfef4304b2fd9ac12f
|
|
Bug: 25758743
Change-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7
|
|
Change the expectation for java.lang.Math.round and
java.lang.StrictMath.round to follow API specification.
Change-Id: I026a12a8be6abe8472531bff7564e9b65cd23d09
|
|
Change-Id: I2a07c279756ee804fb7c129416bdc4a3962e93ed
|
|
Test boundaries conditions around the precision limits of Double's 53
bit mantissa, and Long's [-2^63,2^63-1] range.
Change-Id: I7fa33f53d2547a5446f46bb12fbb1b7c2a639b2a
|
|
Generate Long and Integer numberOfLeadingZeros for x86 and x86_64. Uses
'bsr' instruction to find the first one bit, and then corrects the
result.
Added some more tests with constant values to test constant folding.
Also add a runtime test with 0 as the input.
Change-Id: I920b21bb00069bccf5f921f8f87a77e334114926
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
|
|
Change-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b
|
|
In the worst case we are using two temps each for input and output.
Then we do not have a temp left over for the swap operations. The
input is dead, however, after the first swap. So try to release it
(a no-op if it isn't actually a temp).
Bug: 22324327
(cherry picked from commit 575422fa5be7389bdaff5e2d25dd87b1d2d4de85)
Change-Id: I1fc50159afdad14160e34abeaf4670958171d6b2
|
|
In the worst case we are using two temps each for input and output.
Then we do not have a temp left over for the swap operations. The
input is dead, however, after the first swap. So try to release it
(a no-op if it isn't actually a temp).
Bug: 22324327
Change-Id: I1fc50159afdad14160e34abeaf4670958171d6b2
|
|
Add intrinsics implementations for indexOf in the optimizing
compiler. These are mostly ported from Quick.
Bug: 20889065
(cherry picked from commit ba6fdbcb764d5a8972f5ff2d7147e4d78226b347)
Change-Id: I18ee849d41187a381f99529669e6f97040aaacf6
|
|
|
|
Add intrinsics implementations for indexOf in the optimizing
compiler. These are mostly ported from Quick.
Bug: 20889065
Change-Id: I18ee849d41187a381f99529669e6f97040aaacf6
|
|
Add intrinsics implementations for indexOf in the optimizing
compiler. These are mostly ported from Quick. Add instruction
support to assemblers where necessary.
Change-Id: Ife90ed0245532a5c436a26fe84715dc357f353c8
|
|
Refactor the indexOf intrinsics tests so that the optimizing
compiler would actually compile them.
Bug: 20889065
Change-Id: I69bfda7fa3eb4ce42c593203731e3ddd61f7e1ed
|
|
Add arm32 intrinsics to the optimizing compiler.
Change-Id: If4aeedbf560862074d8ee08ca4484b666d6b9bf0
|
|
Implement most intrinsics for the optimizing compiler for Arm64.
Change-Id: Idb459be09f0524cb9aeab7a5c7fccb1c6b65a707
|
|
Bug: 19125146
Change-Id: I274190a7a60cd2e29a854738ed1ec99a9e611969
|
|
This patch fixes Mir2Lir::GenInlinedReverseBytes,
Mir2Lir::GenInlinedAbsInt, Mir2Lir::GenInlinedAbsLong,
Mir2Lir::GenInlinedFloatCvt, Mir2Lir::GenInlinedDoubleCvt,
X86Mir2Lir::GenInlinedSqrt, X86Mir2Lir::GenInlinedMinMaxFP,
X86Mir2Lir::GenInlinedMinMax, X86Mir2Lir::GenInlinedPeek,
and X86Mir2Lir::GenInlinedReverseBits to generate no code, when results
are unused.
New calls without assignments are added to 082-inline-execute.
Change-Id: I7076e9ddbea43545315f2aeb677c63a8a6e95224
Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com>
|
|
Add intrinsics infrastructure to the optimizing compiler.
Add almost all intrinsics supported by Quick to the x86-64 backend.
Further intrinsics require more assembler support.
Change-Id: I48de9b44c82886bb298d16e74e12a9506b8e8807
|
|
Remove extra line in Android.run-test.mk.
Update junit code in 082 and 021.
Set correct bootclasspath for --no-image.
Make host core.art depend on dex files being installed.
Make 118 pass in the correct bootclasspath.
Bug: 17290452
Change-Id: I415eddfa3632ec7eda927abe95925202de193749
|
|
This patch adds inlining support for the following Math, StrictMath
methods in the ARM64 backend:
* double ceil(double)
* double floor(double)
* double rint(double)
* long round(double)
* int round(float)
Also some cleanup.
Change-Id: I9f5a2f4065b1313649f4b0c4380b8176703c3fe1
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
|
This implements the inlined version of Math.Max/Min intrinsics.
Change-Id: I2db8fa7603db3cdf01016ec26811a96f91b1e6ed
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Signed-off-by: Shou, Yixin <yixin.shou@intel.com>
|
|
|
|
Current semispace copy GC is mainly associated with bump pointer
spaces. Though it squeezes fragmentation most aggressively, an extra
copy is required to re-establish the data in the ROS/DlMalloc space to allow
CMS GCs to happen afterwards. As semispace copy GC is still stop-the-world,
this not only introduces unnecessary overheads but also longer response time.
Response time indicates the time duration between the start of transition
request and the start of transition animation, which may impact the user
experience.
Using semispace copy GC to compact the data in a ROS space to another ROS(or
DlMalloc space to another DlMalloc) space solves this problem. Although it
squeezes less fragmentation, CMS GCs can run immediately after the compaction.
We apply this algorithm in two cases:
1) Right before throwing an OOM if -XX:EnableHSpaceCompactForOOM is passed in
as true.
2) When app is switched to background if the -XX:BackgroundGC option has value
HSpaceCompact.
For case 1), OOMs are significantly delayed in the harmony GC stress test,
with compaction ratio up to 0.87. For case 2), compaction ratio around 0.5 is
observed in both built-in SMS and browser. Similar results have been obtained
on other apps as well.
Change-Id: Iad9eabc6d046659fda3535ae20f21bc31f89ded3
Signed-off-by: Wang, Zuo <zuo.wang@intel.com>
Signed-off-by: Chang, Yang <yang.chang@intel.com>
Signed-off-by: Lei Li <lei.l.li@intel.com>
Signed-off-by: Lin Zang <lin.zang@intel.com>
|
|
There is no revsh on arm64, use rev16 and sxth instead.
Change-Id: I5f9879352f0ad76b386c82cbf476894af888a64c
|
|
Add simple test cases for the inlining of CAS in the quick compiler to
run-test 082. The tests are not multi-threaded and will just establish
that the baseline behavior is correct. For extensive evaluation consider
tests available in libcore.
Change-Id: I9f463599e48ab7abc725769dda84758c9c6a76c2
|
|
This implements intrinsics for:
Memory.peekByte/Short/Int/Long()
Memory.pokeByte/Short/Int/Long()
Change-Id: I6da6250f262dfd7aded35c2e3ade2d0916bd73cb
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
|
|
When the result is not used, do not emit the load. This avoids
uninitialized registers leading to size-check errors.
Change-Id: I212392ffea7243720f120b2f12679df286106a02
|
|
This patch adds inlining support for the following functions:
* Math.max/min(long, long)
* Math.max/min(float, float)
* Math.max/min(double, double)
* Integer.reverse(int)
* Long.reverse(long)
Change-Id: Ia2b1619fd052358b3a0d23e5fcbfdb823d2029b9
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|