summaryrefslogtreecommitdiff
path: root/test/082-inline-execute
AgeCommit message (Collapse)Author
2024-10-17Do not package non-runnable ART run-tests in ART MTS. Roland Levillain
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
2021-11-11Support Math.fma Intrinsic for x86 and x86_64 Shalini Salomi Bodapati
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
2021-03-05Aesthetic changes in generated ART run-test Blueprint files. Roland Levillain
Test: Run `art/test/utils/regen-test-files` and check Blueprint files Bug: 147814778 Change-Id: I51dc20a7c7f26df163ab2de4fb33675740728a2f
2021-03-02[LSC] Add LOCAL_LICENSE_KINDS to art Bob Badour
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
2021-02-10Add Math.multiplyHigh intrinsic Nikita Iashchenko
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
2020-11-10Verify ART run-tests' standard output and standard error separately. Roland Levillain
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
2020-11-05Rename ART run-tests `expected.txt` files as `expected-stdout.txt`. Roland Levillain
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
2020-10-14Only tag supported ART run-tests as part of `art-target-run-test`. Roland Levillain
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
2020-09-25Introduce Long.divideUnsigned() intrinsic on ARM64. Artem Serov
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
2020-09-24Integer.divideUnsigned() intrinsic on ARM64. Vladimir Marko
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
2020-09-09Rename the expected-output text file in built TradeFed ART run-tests. Roland Levillain
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
2020-07-09Add some x86/x86-64 assembler tests. Vladimir Marko
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
2020-07-09Make Integer.divideUnsigned intrinsic for x86. Andra Danciu
Bug: 156736938 Test: Added a test to 082-inline-execute. Test: art/test.py --host --32 -r -t 082-inline-execute Change-Id: Id516126fce10f2fa52b95c1b2b107ca7bf45e347
2020-07-03Add Soong module definitions for ART run-tests with default build rules. Roland Levillain
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
2017-02-02Math.min and Math.max intrinsics for ARM xueliang.zhong
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
2017-01-31Implement Math.rint Intrinsic for ARM32. xueliang.zhong
Test: m test-art-host Test: m test-art-target Test: 082-inline-execute Change-Id: If73bcea5f9fb24942c7390c6ccbcfb012f8951c7
2016-06-16MIPS64: java.lang.Math.round Chris Larsen
- int java.lang.Math.round(float) - long java.lang.Math.round(double) BUG=26327751 Change-Id: I8bb7a5f32375b06b886a0babf39eb3e20df3a085
2016-04-26MIPS32: java.lang.Math.round(float) Chris Larsen
BUG=26327751 Change-Id: I9ec0d600bbbbcf9e1ed07fbfc0ce9187a2ae5727
2016-03-03MIPS32: Implement isInfinite intrinsics. Chris Larsen
- boolean java.lang.Float.isInfinite(float) - boolean java.lang.Double.isInfinite(double) Change-Id: I17dc2380ec864fd7612025ed400e29dd115ccab4
2016-02-25Add StrictMath.round tests for large integers. Vladimir Marko
This is a follow-up to https://android-review.googlesource.com/203175 . Bug: 27166445 Change-Id: I850999c782017650017fad7e27c83b60b57edaf9
2016-02-22MIPS32: Implement intrinsics from java.lang.Math: Chris Larsen
- 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
2016-02-17Add Math.round tests for large integers. Hans Boehm
These fail for OpenJDK7 and earlier code. Bug: 27166445 Change-Id: Ia09f61bd375e0935e05300cfef4304b2fd9ac12f
2015-11-21Merge mnc-dr-enso-dev into goog/master Przemyslaw Szczepaniak
Bug: 25758743 Change-Id: I19d433934f01856e7b5a7392a58b759c3ac386e7
2015-11-18Fix 082-inline-execute Yi Kong
Change the expectation for java.lang.Math.round and java.lang.StrictMath.round to follow API specification. Change-Id: I026a12a8be6abe8472531bff7564e9b65cd23d09
2015-09-11ARM/ARM64: Intrinsics - numberOfTrailingZeros, rotateLeft, rotateRight Scott Wakeling
Change-Id: I2a07c279756ee804fb7c129416bdc4a3962e93ed
2015-08-25ART: Additional ceil/floor/rint test cases Chris Larsen
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
2015-08-17Implement CountLeadingZeros for x86 Mark Mendell
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>
2015-08-04ARM/ARM64: Implement numberOfLeadingZeros intrinsic. Scott Wakeling
Change-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b
2015-07-08ART: Release inputs in Long.reverse intrinsic in x86 Andreas Gampe
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
2015-07-08ART: Release inputs in Long.reverse intrinsic in x86 Andreas Gampe
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
2015-05-12ART: arm indexOf intrinsics for the optimizing compiler Andreas Gampe
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
2015-05-12Merge "ART: arm indexOf intrinsics for the optimizing compiler" Andreas Gampe
2015-05-12ART: arm indexOf intrinsics for the optimizing compiler Andreas Gampe
Add intrinsics implementations for indexOf in the optimizing compiler. These are mostly ported from Quick. Bug: 20889065 Change-Id: I18ee849d41187a381f99529669e6f97040aaacf6
2015-05-11ART: x86 indexOf intrinsics for the optimizing compiler Andreas Gampe
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
2015-05-07ART: Refactor 082-inline-execute Andreas Gampe
Refactor the indexOf intrinsics tests so that the optimizing compiler would actually compile them. Bug: 20889065 Change-Id: I69bfda7fa3eb4ce42c593203731e3ddd61f7e1ed
2015-02-09ART: Arm intrinsics for Optimizing compiler Andreas Gampe
Add arm32 intrinsics to the optimizing compiler. Change-Id: If4aeedbf560862074d8ee08ca4484b666d6b9bf0
2015-01-28ART: Arm64 optimizing compiler intrinsics Andreas Gampe
Implement most intrinsics for the optimizing compiler for Arm64. Change-Id: Idb459be09f0524cb9aeab7a5c7fccb1c6b65a707
2015-01-26Quick: Fix range check for intrinsic String.charAt() on x86. Vladimir Marko
Bug: 19125146 Change-Id: I274190a7a60cd2e29a854738ed1ec99a9e611969
2015-01-21ART: Fix GenInlined functions Chao-ying Fu
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>
2015-01-15ART: Optimizing compiler intrinsics Andreas Gampe
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
2014-08-27Really fix tests. Alex Light
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
2014-08-04AArch64: Add inlining support for ceil(), floor(), rint(), round() Serban Constantinescu
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>
2014-07-18ART: inline Math.Max/Min (float and double) Alexei Zavjalov
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>
2014-07-11Merge "AArch64: Fix and enable reverseBytes intrinsic." Andreas Gampe
2014-07-11ART: Compacting ROS/DlMalloc spaces with semispace copy GC Zuo Wang
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>
2014-07-10AArch64: Fix and enable reverseBytes intrinsic. Zheng Xu
There is no revsh on arm64, use rev16 and sxth instead. Change-Id: I5f9879352f0ad76b386c82cbf476894af888a64c
2014-07-09ART: Add simple tests for inlining of CAS Andreas Gampe
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
2014-07-09x86_64: enable Peek and Poke intrinsics Alexei Zavjalov
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>
2014-07-08ART: Do not emit load when inlining unused Thread.currentThread() Andreas Gampe
When the result is not used, do not emit the load. This avoids uninitialized registers leading to size-check errors. Change-Id: I212392ffea7243720f120b2f12679df286106a02
2014-07-03AArch64: Add few more inline functions Serban Constantinescu
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>