Name Date Size #Lines LOC

..--

000-nop/H25-Apr-2025-307

001-HelloWorld/H25-Apr-2025-7045

001-Main/H25-Apr-2025-6743

002-sleep/H25-Apr-2025-7460

003-omnibus-opcodes/H25-Apr-2025-5,0394,200

004-InterfaceTest/H25-Apr-2025-10373

004-JniTest/H25-Apr-2025-1,7591,312

004-NativeAllocations/H25-Apr-2025-229141

004-ReferenceMap/H25-Apr-2025-33488

004-SignalTest/H25-Apr-2025-294206

004-StackWalk/H25-Apr-2025-299169

004-ThreadStress/H25-Apr-2025-1,021720

004-UnsafeTest/H25-Apr-2025-459342

004-checker-UnsafeTest18/H25-Apr-2025-421251

005-annotations/H25-Apr-2025-986612

006-args/H25-Apr-2025-13173

007-count10/H25-Apr-2025-9263

008-exceptions/H25-Apr-2025-325210

009-instanceof/H25-Apr-2025-299132

010-instance/H25-Apr-2025-233170

011-array-copy/H25-Apr-2025-529357

011-array-copy2/H25-Apr-2025-534427

012-math/H25-Apr-2025-218182

013-math2/H25-Apr-2025-11983

014-math3/H25-Apr-2025-11476

015-checker-switch/H25-Apr-2025-757644

016-intern/H25-Apr-2025-10873

017-float/H25-Apr-2025-9258

018-stack-overflow/H25-Apr-2025-150105

019-wrong-array-type/H25-Apr-2025-8756

020-string/H25-Apr-2025-238186

021-string2/H25-Apr-2025-1,4201,048

022-interface/H25-Apr-2025-362156

023-many-interfaces/H25-Apr-2025-535372

024-illegal-access/H25-Apr-2025-313147

025-access-controller/H25-Apr-2025-11564

026-access/H25-Apr-2025-17282

027-arithmetic/H25-Apr-2025-226165

028-array-write/H25-Apr-2025-14196

029-assert/H25-Apr-2025-8756

030-bad-finalizer/H25-Apr-2025-223123

031-class-attributes/H25-Apr-2025-690561

032-concrete-sub/H25-Apr-2025-240114

033-class-init-deadlock/H25-Apr-2025-12987

034-call-null/H25-Apr-2025-10054

035-enum/H25-Apr-2025-9361

036-finalizer/H25-Apr-2025-261190

037-inherit/H25-Apr-2025-9375

038-inner-null/H25-Apr-2025-11666

039-join-main/H25-Apr-2025-12687

040-miranda/H25-Apr-2025-268121

041-narrowing/H25-Apr-2025-190170

042-new-instance/H25-Apr-2025-388240

043-privates/H25-Apr-2025-11882

044-proxy/H25-Apr-2025-1,9771,355

045-reflect-array/H25-Apr-2025-334271

046-reflect/H25-Apr-2025-1,116912

047-returns/H25-Apr-2025-142103

048-reflect-v8/H25-Apr-2025-1,015553

049-show-object/H25-Apr-2025-11277

050-sync-test/H25-Apr-2025-313219

051-thread/H25-Apr-2025-367263

052-verifier-fun/H25-Apr-2025-212146

053-wait-some/H25-Apr-2025-167119

054-uncaught/H25-Apr-2025-201122

055-enum-performance/H25-Apr-2025-317255

056-const-string-jumbo/H25-Apr-2025-8725

057-math-intrinsics/H25-Apr-2025-365275

058-enum-order/H25-Apr-2025-8455

059-finalizer-throw/H25-Apr-2025-14885

061-out-of-memory/H25-Apr-2025-183129

062-character-encodings/H25-Apr-2025-7462

063-process-manager/H25-Apr-2025-157129

064-field-access/H25-Apr-2025-1,280874

065-mismatched-implements/H25-Apr-2025-15736

066-mismatched-super/H25-Apr-2025-19044

067-preemptive-unpark/H25-Apr-2025-177124

068-classloader/H25-Apr-2025-1,504643

069-field-type/H25-Apr-2025-12886

070-nio-buffer/H25-Apr-2025-231172

071-dexfile/H25-Apr-2025-14973

071-dexfile-get-static-size/H25-Apr-2025-10139

071-dexfile-map-clean/H25-Apr-2025-224102

072-precise-gc/H25-Apr-2025-163107

072-reachability-fence/H25-Apr-2025-11786

073-mismatched-field/H25-Apr-2025-15273

074-gc-thrash/H25-Apr-2025-408275

075-verification-error/H25-Apr-2025-513235

076-boolean-put/H25-Apr-2025-9961

077-method-override/H25-Apr-2025-356233

078-polymorphic-virtual/H25-Apr-2025-19192

079-phantom/H25-Apr-2025-321206

080-oom-fragmentation/H25-Apr-2025-8356

080-oom-throw/H25-Apr-2025-281203

080-oom-throw-with-finalizer/H25-Apr-2025-12787

081-hot-exceptions/H25-Apr-2025-9465

082-inline-execute/H25-Apr-2025-2,2661,781

083-compiler-regressions/H25-Apr-2025-10,0419,882

084-class-init/H25-Apr-2025-358207

085-old-style-inner-class/H25-Apr-2025-152100

086-null-super/H25-Apr-2025-215118

087-gc-after-link/H25-Apr-2025-233134

088-monitor-verification/H25-Apr-2025-659434

090-loop-formation/H25-Apr-2025-13899

091-override-package-private-method/H25-Apr-2025-12833

092-locale/H25-Apr-2025-219162

093-serialization/H25-Apr-2025-182134

094-pattern/H25-Apr-2025-149111

095-switch-MAX_INT/H25-Apr-2025-6051

096-array-copy-concurrent-gc/H25-Apr-2025-14195

097-duplicate-method/H25-Apr-2025-107

099-vmdebug/H25-Apr-2025-589500

100-reflect2/H25-Apr-2025-518407

1000-non-moving-space-stress/H25-Apr-2025-13491

1001-app-image-regions/H25-Apr-2025-17372

1002-notify-startup/H25-Apr-2025-186110

1003-metadata-section-strings/H25-Apr-2025-13858

1004-checker-volatile-ref-load/H25-Apr-2025-17781

101-fibonacci/H25-Apr-2025-10863

102-concurrent-gc/H25-Apr-2025-11469

103-string-append/H25-Apr-2025-8054

104-growth-limit/H25-Apr-2025-11676

105-invoke/H25-Apr-2025-155111

106-exceptions2/H25-Apr-2025-287205

107-int-math2/H25-Apr-2025-1,2661,044

108-check-cast/H25-Apr-2025-10373

109-suspend-check/H25-Apr-2025-269228

110-field-access/H25-Apr-2025-166135

111-unresolvable-exception/H25-Apr-2025-8728

112-double-math/H25-Apr-2025-8053

113-multidex/H25-Apr-2025-382171

114-ParallelGC/H25-Apr-2025-198124

115-native-bridge/H25-Apr-2025-1,069805

116-nodex2oat/H25-Apr-2025-9448

118-noimage-dex2oat/H25-Apr-2025-163103

120-hashcode/H25-Apr-2025-8859

121-modifiers/H25-Apr-2025-784555

121-simple-suspend-check/H25-Apr-2025-8458

122-npe/H25-Apr-2025-708574

123-compiler-regressions-mt/H25-Apr-2025-172130

123-inline-execute2/H25-Apr-2025-461428

124-missing-classes/H25-Apr-2025-13268

125-gc-and-classloading/H25-Apr-2025-3,1213,083

126-miranda-multidex/H25-Apr-2025-379154

127-checker-secondarydex/H25-Apr-2025-16257

128-reg-spill-on-implicit-nullcheck/H25-Apr-2025-9364

129-ThreadGetId/H25-Apr-2025-202159

130-hprof/H25-Apr-2025-297205

132-daemon-locks-shutdown/H25-Apr-2025-10067

133-static-invoke-super/H25-Apr-2025-136100

1336-short-finalizer-timeout/H25-Apr-2025-197105

1337-gc-coverage/H25-Apr-2025-193118

1338-gc-no-los/H25-Apr-2025-10760

1339-dead-reference-safe/H25-Apr-2025-550321

134-reg-promotion/H25-Apr-2025-11891

135-MirandaDispatch/H25-Apr-2025-8756

136-daemon-jni-shutdown/H25-Apr-2025-175108

137-cfi/H25-Apr-2025-508342

138-duplicate-classes-check/H25-Apr-2025-12844

138-duplicate-classes-check2/H25-Apr-2025-16761

139-register-natives/H25-Apr-2025-221131

140-dce-regression/H25-Apr-2025-8255

140-field-packing/H25-Apr-2025-17789

141-class-unload/H25-Apr-2025-854554

142-classloader2/H25-Apr-2025-18291

143-string-value/H25-Apr-2025-10558

144-static-field-sigquit/H25-Apr-2025-226117

145-alloc-tracking-stress/H25-Apr-2025-12795

146-bad-interface/H25-Apr-2025-14964

148-multithread-gc-annotations/H25-Apr-2025-310147

149-suspend-all-stress/H25-Apr-2025-176104

150-loadlibrary/H25-Apr-2025-10773

151-OpenFileLimit/H25-Apr-2025-159104

152-dead-large-object/H25-Apr-2025-7348

153-reference-stress/H25-Apr-2025-12292

154-gc-loop/H25-Apr-2025-12173

155-java-set-resolved-type/H25-Apr-2025-18065

156-register-dex-file-multi-loader/H25-Apr-2025-136102

157-void-class/H25-Apr-2025-12869

158-app-image-class-table/H25-Apr-2025-14674

159-app-image-fields/H25-Apr-2025-2,3012,179

160-read-barrier-stress/H25-Apr-2025-5,6755,431

161-final-abstract-class/H25-Apr-2025-311197

162-method-resolution/H25-Apr-2025-1,729828

163-app-image-methods/H25-Apr-2025-233125

164-resolution-trampoline-dex-cache/H25-Apr-2025-18873

165-lock-owner-proxy/H25-Apr-2025-199130

166-bad-interface-super/H25-Apr-2025-17289

167-visit-locks/H25-Apr-2025-254151

168-vmstack-annotated/H25-Apr-2025-297214

169-threadgroup-jni/H25-Apr-2025-15192

170-interface-init/H25-Apr-2025-10069

171-init-aste/H25-Apr-2025-6722

172-app-image-twice/H25-Apr-2025-17580

173-missing-field-type/H25-Apr-2025-209145

174-escaping-instance-of-bad-class/H25-Apr-2025-255197

175-alloc-big-bignums/H25-Apr-2025-9766

176-app-image-string/H25-Apr-2025-9853

177-visibly-initialized-deadlock/H25-Apr-2025-14187

178-app-image-native-method/H25-Apr-2025-1,9891,690

179-nonvirtual-jni/H25-Apr-2025-14396

180-native-default-method/H25-Apr-2025-11569

181-default-methods/H25-Apr-2025-761416

182-method-linking/H25-Apr-2025-906341

183-rmw-stress-test/H25-Apr-2025-584437

1900-track-alloc/H25-Apr-2025-432281

1901-get-bytecodes/H25-Apr-2025-300168

1902-suspend/H25-Apr-2025-236130

1903-suspend-self/H25-Apr-2025-211115

1904-double-suspend/H25-Apr-2025-228122

1905-suspend-native/H25-Apr-2025-238114

1906-suspend-list-me-first/H25-Apr-2025-208114

1907-suspend-list-self-twice/H25-Apr-2025-202106

1908-suspend-native-resume-self/H25-Apr-2025-267140

1909-per-agent-tls/H25-Apr-2025-373229

1910-transform-with-default/H25-Apr-2025-293184

1911-get-local-var-table/H25-Apr-2025-710499

1912-get-set-local-primitive/H25-Apr-2025-987774

1913-get-set-local-objects/H25-Apr-2025-920702

1914-get-local-instance/H25-Apr-2025-806568

1915-get-set-local-current-thread/H25-Apr-2025-624420

1916-get-set-current-frame/H25-Apr-2025-666467

1917-get-stack-frame/H25-Apr-2025-581406

1919-vminit-thread-start-timing/H25-Apr-2025-424252

1920-suspend-native-monitor/H25-Apr-2025-284151

1921-suspend-native-recursive-monitor/H25-Apr-2025-293158

1922-owned-monitors-info/H25-Apr-2025-1,3001,138

1923-frame-pop/H25-Apr-2025-837581

1924-frame-pop-toggle/H25-Apr-2025-891608

1925-self-frame-pop/H25-Apr-2025-787540

1926-missed-frame-pop/H25-Apr-2025-907622

1927-exception-event/H25-Apr-2025-1,086824

1928-exception-event-exception/H25-Apr-2025-766565

1929-exception-catch-exception/H25-Apr-2025-1,366975

1930-monitor-info/H25-Apr-2025-719528

1931-monitor-events/H25-Apr-2025-768588

1932-monitor-events-misc/H25-Apr-2025-1,3961,147

1933-monitor-current-contended/H25-Apr-2025-539386

1934-jvmti-signal-thread/H25-Apr-2025-964729

1935-get-set-current-frame-jit/H25-Apr-2025-686498

1936-thread-end-events/H25-Apr-2025-407264

1937-transform-soft-fail/H25-Apr-2025-299182

1938-transform-abstract-single-impl/H25-Apr-2025-285187

1939-proxy-frames/H25-Apr-2025-774540

1940-ddms-ext/H25-Apr-2025-660498

1941-dispose-stress/H25-Apr-2025-532353

1942-suspend-raw-monitor-exit/H25-Apr-2025-285151

1943-suspend-raw-monitor-wait/H25-Apr-2025-277141

1945-proxy-method-arguments/H25-Apr-2025-340233

1946-list-descriptors/H25-Apr-2025-339214

1947-breakpoint-redefine-deopt/H25-Apr-2025-536369

1948-obsolete-const-method-handle/H25-Apr-2025-578299

1949-short-dex-file/H25-Apr-2025-374219

1950-unprepared-transform/H25-Apr-2025-412270

1951-monitor-enter-no-suspend/H25-Apr-2025-322174

1953-pop-frame/H25-Apr-2025-1,8871,403

1954-pop-frame-jit/H25-Apr-2025-1,8201,357

1955-pop-frame-jit-called/H25-Apr-2025-1,8191,356

1956-pop-frame-jit-calling/H25-Apr-2025-1,8191,356

1957-error-ext/H25-Apr-2025-405259

1958-transform-try-jit/H25-Apr-2025-314192

1959-redefine-object-instrument/H25-Apr-2025-486344

1960-checker-bounds-codegen/H25-Apr-2025-16088

1960-obsolete-jit-multithread-native/H25-Apr-2025-554391

1961-checker-loop-vectorizer/H25-Apr-2025-13789

1961-obsolete-jit-multithread/H25-Apr-2025-508372

1962-multi-thread-events/H25-Apr-2025-270171

1963-add-to-dex-classloader-in-memory/H25-Apr-2025-638430

1964-add-to-dex-classloader-file/H25-Apr-2025-809547

1965-get-set-local-primitive-no-tables/H25-Apr-2025-1,261990

1966-get-set-local-objects-no-table/H25-Apr-2025-1,205938

1967-get-set-local-bad-slot/H25-Apr-2025-852639

1968-force-early-return/H25-Apr-2025-1,8961,469

1969-force-early-return-void/H25-Apr-2025-2,1991,737

1970-force-early-return-long/H25-Apr-2025-1,9331,507

1971-multi-force-early-return/H25-Apr-2025-699463

1972-jni-id-swap-indices/H25-Apr-2025-221146

1973-jni-id-swap-pointer/H25-Apr-2025-14798

1974-resize-array/H25-Apr-2025-1,009776

1975-hello-structural-transformation/H25-Apr-2025-736532

1976-hello-structural-static-methods/H25-Apr-2025-628435

1977-hello-structural-obsolescence/H25-Apr-2025-330203

1978-regular-obsolete-then-structural-obsolescence/H25-Apr-2025-436275

1979-threaded-structural-transformation/H25-Apr-2025-391266

1980-obsolete-object-cleared/H25-Apr-2025-1,043908

1981-structural-redef-private-method-handles/H25-Apr-2025-684499

1982-no-virtuals-structural-redefinition/H25-Apr-2025-433302

1983-structural-redefinition-failures/H25-Apr-2025-415286

1984-structural-redefine-field-trace/H25-Apr-2025-443292

1985-structural-redefine-stack-scope/H25-Apr-2025-348230

1986-structural-redefine-multi-thread-stack-scope/H25-Apr-2025-310213

1987-structural-redefine-recursive-stack-scope/H25-Apr-2025-284190

1988-multi-structural-redefine/H25-Apr-2025-335209

1989-transform-bad-monitor/H25-Apr-2025-310196

1990-structural-bad-verify/H25-Apr-2025-332171

1991-hello-structural-retransform/H25-Apr-2025-283170

1992-retransform-no-such-field/H25-Apr-2025-293178

1993-fallback-non-structural/H25-Apr-2025-294177

1994-final-virtual-structural/H25-Apr-2025-297173

1995-final-virtual-structural-multithread/H25-Apr-2025-381237

1996-final-override-virtual-structural/H25-Apr-2025-304187

1997-structural-shadow-method/H25-Apr-2025-290177

1998-structural-shadow-field/H25-Apr-2025-269163

1999-virtual-structural/H25-Apr-2025-293178

2000-virtual-list-structural/H25-Apr-2025-779350

2001-virtual-structural-multithread/H25-Apr-2025-426254

2002-virtual-structural-initializing/H25-Apr-2025-348193

2003-double-virtual-structural/H25-Apr-2025-338210

2004-double-virtual-structural-abstract/H25-Apr-2025-321197

2005-pause-all-redefine-multithreaded/H25-Apr-2025-603366

2006-virtual-structural-finalizing/H25-Apr-2025-304178

2007-virtual-structural-finalizable/H25-Apr-2025-309174

2008-redefine-then-old-reflect-field/H25-Apr-2025-289180

2009-structural-local-ref/H25-Apr-2025-429261

201-built-in-except-detail-messages/H25-Apr-2025-524410

2011-stack-walk-concurrent-instrument/H25-Apr-2025-213152

2012-structural-redefinition-failures-jni-id/H25-Apr-2025-423284

2019-constantcalculationsinking/H25-Apr-2025-276217

202-thread-oome/H25-Apr-2025-7651

2020-InvokeVirtual-Inlining/H25-Apr-2025-172114

2021-InvokeStatic-Inlining/H25-Apr-2025-13296

2022-Invariantloops/H25-Apr-2025-9668

2023-InvariantLoops_typecast/H25-Apr-2025-12793

2024-InvariantNegativeLoop/H25-Apr-2025-9869

2025-ChangedArrayValue/H25-Apr-2025-10268

2026-DifferentMemoryLSCouples/H25-Apr-2025-9871

2027-TwiceTheSameMemoryCouple/H25-Apr-2025-8862

2028-MultiBackward/H25-Apr-2025-9870

2029-contended-monitors/H25-Apr-2025-331264

203-multi-checkpoint/H25-Apr-2025-203137

2030-long-running-child/H25-Apr-2025-11383

2031-zygote-compiled-frame-deopt/H25-Apr-2025-490326

2032-default-method-private-override/H25-Apr-2025-194128

2033-shutdown-mechanics/H25-Apr-2025-191112

2034-spaces-in-SimpleName/H25-Apr-2025-13064

2035-structural-native-method/H25-Apr-2025-319163

2036-jni-filechannel/H25-Apr-2025-11165

2036-structural-subclass-shadow/H25-Apr-2025-331186

2037-thread-name-inherit/H25-Apr-2025-259188

2038-hiddenapi-jvmti-ext/H25-Apr-2025-291159

2039-load-transform-larger/H25-Apr-2025-306170

2040-huge-native-alloc/H25-Apr-2025-261172

2041-bad-cleaner/H25-Apr-2025-200107

2042-checker-dce-always-throw/H25-Apr-2025-614265

2042-reference-processing/H25-Apr-2025-365286

2043-reference-pauses/H25-Apr-2025-354248

2044-get-stack-traces/H25-Apr-2025-146104

2045-uffd-kernelfault/H25-Apr-2025-11160

2046-checker-comparison/H25-Apr-2025-491331

2047-checker-const-string-length/H25-Apr-2025-277108

2048-bad-native-registry/H25-Apr-2025-252137

2230-profile-save-hotness/H25-Apr-2025-171117

2231-checker-heap-poisoning/H25-Apr-2025-21558

2232-write-metrics-to-log/H25-Apr-2025-9954

2233-checker-remove-loop-suspend-check/H25-Apr-2025-13673

2233-metrics-background-thread/H25-Apr-2025-10357

2234-checker-remove-entry-suspendcheck/H25-Apr-2025-11463

2235-JdkUnsafeTest/H25-Apr-2025-777617

2236-JdkUnsafeGetLong-regression/H25-Apr-2025-9969

2237-checker-inline-multidex/H25-Apr-2025-14756

2238-checker-polymorphic-recursive-inlining/H25-Apr-2025-23991

2239-varhandle-perf-vh-cae/H25-Apr-2025-269117

2239-varhandle-perf-vh-cas/H25-Apr-2025-269117

2239-varhandle-perf-vh-cas-weak/H25-Apr-2025-269117

2239-varhandle-perf-vh-gaa/H25-Apr-2025-269117

2239-varhandle-perf-vh-gab/H25-Apr-2025-269117

2239-varhandle-perf-vh-gas/H25-Apr-2025-269117

2239-varhandle-perf-vh-get/H25-Apr-2025-269117

2239-varhandle-perf-vh-get-a/H25-Apr-2025-269117

2239-varhandle-perf-vh-get-bav/H25-Apr-2025-269117

2239-varhandle-perf-vh-reflect-get/H25-Apr-2025-269117

2239-varhandle-perf-vh-reflect-set/H25-Apr-2025-269117

2239-varhandle-perf-vh-set/H25-Apr-2025-269117

2239-varhandle-perf-vh-set-a/H25-Apr-2025-269117

2239-varhandle-perf-vh-set-bav/H25-Apr-2025-269117

2239-varhandle-perf-vh-unsafe-cas/H25-Apr-2025-269117

2239-varhandle-perf-vh-unsafe-get/H25-Apr-2025-269117

2239-varhandle-perf-vh-unsafe-put/H25-Apr-2025-269117

2240-tracing-non-invokable-method/H25-Apr-2025-14577

2241-checker-inline-try-catch/H25-Apr-2025-356268

2242-checker-lse-acquire-release-operations/H25-Apr-2025-1,251442

2243-checker-not-inline-into-throw/H25-Apr-2025-11373

2243-single-step-default/H25-Apr-2025-269149

2244-checker-remove-try-boundary/H25-Apr-2025-410175

2245-checker-smali-instance-of-comparison/H25-Apr-2025-7246

2246-trace-stream/H25-Apr-2025-2,2342,032

2246-trace-v2/H25-Apr-2025-2,0901,975

2247-checker-write-barrier-elimination/H25-Apr-2025-333177

2248-checker-smali-remove-try-until-the-end/H25-Apr-2025-6945

2249-checker-return-try-boundary-exit-in-loop/H25-Apr-2025-11872

2250-inline-throw-into-try/H25-Apr-2025-11179

2251-checker-irreducible-loop-do-not-inline/H25-Apr-2025-13084

2252-rem-optimization-dividend-divisor/H25-Apr-2025-8657

2253-checker-devirtualize-always-throws/H25-Apr-2025-9862

2254-checker-not-var-analyzed-pathological/H25-Apr-2025-169106

2254-class-value-before-and-after-u/H25-Apr-2025-9467

2255-checker-branch-redirection/H25-Apr-2025-333195

2256-checker-vector-replacement/H25-Apr-2025-11961

2257-checker-constant-folding-before-codegen/H25-Apr-2025-10863

2258-checker-valid-rti/H25-Apr-2025-11264

2259-checker-code-sinking-infinite-try-catch/H25-Apr-2025-11068

2260-checker-inline-unimplemented-intrinsics/H25-Apr-2025-10569

2261-badcleaner-in-systemcleaner/H25-Apr-2025-180104

2262-checker-return-sinking/H25-Apr-2025-227132

2262-default-conflict-methods/H25-Apr-2025-195115

2262-miranda-methods/H25-Apr-2025-231131

2263-method-trace-jit/H25-Apr-2025-1,3841,171

2264-throwing-systemcleaner/H25-Apr-2025-188111

2265-checker-select-binary-unary/H25-Apr-2025-19998

2265-const-method-type-cached/H25-Apr-2025-412256

2266-checker-remove-empty-ifs/H25-Apr-2025-202107

2267-class-implements-itself/H25-Apr-2025-12472

2268-checker-remove-dead-phis/H25-Apr-2025-10869

2269-checker-constant-folding-intrinsics/H25-Apr-2025-1,6671,296

2270-mh-internal-hiddenapi-use/H25-Apr-2025-15684

2271-profile-inline-cache/H25-Apr-2025-346246

2272-checker-codegen-honor-write-barrier-kind/H25-Apr-2025-17787

2273-checker-unreachable-intrinsics/H25-Apr-2025-9159

2274-checker-bitwise-gvn/H25-Apr-2025-10567

2275-checker-empty-loops/H25-Apr-2025-322130

2275-integral-unsigned-arithmetic/H25-Apr-2025-651523

2275-pthread-name/H25-Apr-2025-177128

2276-const-method-type-gc-cleanup/H25-Apr-2025-628358

2277-methodhandle-invokeexact/H25-Apr-2025-2,6791,648

2278-nested-loops/H25-Apr-2025-13796

2279-aconfig-flags/H25-Apr-2025-10660

2279-second-inner-loop-references-first/H25-Apr-2025-9665

2280-const-method-handle-validation/H25-Apr-2025-1,8261,032

2281-method-handle-invoke-static-class-unload/H25-Apr-2025-16492

2282-checker-always-throws-try-catch/H25-Apr-2025-10873

2282-single-step-before-catch/H25-Apr-2025-481316

2283-checker-remove-null-check/H25-Apr-2025-14173

2284-regression-test-368984521-loop-opt/H25-Apr-2025-6739

2285-var-and-methodhandles-staticfield-initialization/H25-Apr-2025-20278

300-package-override/H25-Apr-2025-15071

301-abstract-protected/H25-Apr-2025-8451

302-float-conversion/H25-Apr-2025-11880

303-verification-stress/H25-Apr-2025-16683

304-method-tracing/H25-Apr-2025-12072

305-other-fault-handler/H25-Apr-2025-178115

370-dex-v37/H25-Apr-2025-5620

401-optimizing-compiler/H25-Apr-2025-306230

402-optimizing-control-flow/H25-Apr-2025-13694

403-optimizing-long/H25-Apr-2025-164111

404-optimizing-allocator/H25-Apr-2025-213174

405-optimizing-long-allocator/H25-Apr-2025-219179

406-fields/H25-Apr-2025-315235

407-arrays/H25-Apr-2025-409303

408-move-bug/H25-Apr-2025-11780

409-materialized-condition/H25-Apr-2025-206143

410-floats/H25-Apr-2025-187138

411-checker-hdiv-hrem-const/H25-Apr-2025-1,9951,021

411-checker-hdiv-hrem-pow2/H25-Apr-2025-1,502854

411-checker-instruct-simplifier-hrem/H25-Apr-2025-893325

411-optimizing-arith/H25-Apr-2025-1,4171,052

412-new-array/H25-Apr-2025-896711

413-regalloc-regression/H25-Apr-2025-8962

414-static-fields/H25-Apr-2025-389269

416-optimizing-arith-not/H25-Apr-2025-9866

418-const-string/H25-Apr-2025-7850

419-long-parameter/H25-Apr-2025-8357

420-const-class/H25-Apr-2025-141102

421-exceptions/H25-Apr-2025-133104

421-large-frame/H25-Apr-2025-1,0901,056

422-instanceof/H25-Apr-2025-11784

422-type-conversion/H25-Apr-2025-739608

423-invoke-interface/H25-Apr-2025-168139

424-checkcast/H25-Apr-2025-12083

425-invoke-super/H25-Apr-2025-157115

426-monitor/H25-Apr-2025-10575

427-bitwise/H25-Apr-2025-280213

427-bounds/H25-Apr-2025-9965

429-ssa-builder/H25-Apr-2025-9864

430-live-register-slow-path/H25-Apr-2025-8754

431-type-propagation/H25-Apr-2025-7551

432-optimizing-cmp/H25-Apr-2025-303241

433-gvn/H25-Apr-2025-8759

434-invoke-direct/H25-Apr-2025-9954

434-shifter-operand/H25-Apr-2025-7953

435-new-instance/H25-Apr-2025-17488

435-try-finally-without-catch/H25-Apr-2025-11783

436-rem-float/H25-Apr-2025-311270

436-shift-constant/H25-Apr-2025-8961

437-inline/H25-Apr-2025-150101

438-volatile/H25-Apr-2025-10069

439-npe/H25-Apr-2025-1,075981

439-swap-double/H25-Apr-2025-9966

440-stmp/H25-Apr-2025-9869

441-checker-inliner/H25-Apr-2025-318154

442-checker-constant-folding/H25-Apr-2025-2,6141,125

443-not-bool-inline/H25-Apr-2025-8153

444-checker-nce/H25-Apr-2025-315187

445-checker-licm/H25-Apr-2025-319162

446-checker-inliner2/H25-Apr-2025-12268

447-checker-inliner3/H25-Apr-2025-12779

448-multiple-returns/H25-Apr-2025-7853

449-checker-bce/H25-Apr-2025-2,060914

449-checker-bce-rem/H25-Apr-2025-711304

450-checker-types/H25-Apr-2025-830431

451-regression-add-float/H25-Apr-2025-12086

451-spill-splot/H25-Apr-2025-151116

452-multiple-returns2/H25-Apr-2025-7349

453-not-byte/H25-Apr-2025-5632

454-get-vreg/H25-Apr-2025-230152

455-checker-gvn/H25-Apr-2025-18292

456-baseline-array-set/H25-Apr-2025-8255

457-regs/H25-Apr-2025-318210

458-checker-instruct-simplification/H25-Apr-2025-5,1011,688

458-checker-riscv64-shift-add/H25-Apr-2025-456163

458-long-to-fpu/H25-Apr-2025-8961

459-dead-phi/H25-Apr-2025-7248

460-multiple-returns3/H25-Apr-2025-7349

461-get-reference-vreg/H25-Apr-2025-210147

462-checker-inlining-dex-files/H25-Apr-2025-270103

463-checker-boolean-simplifier/H25-Apr-2025-618348

464-checker-inline-sharpen-calls/H25-Apr-2025-11464

465-checker-clinit-gvn/H25-Apr-2025-12875

466-get-live-vreg/H25-Apr-2025-236162

467-regalloc-pair/H25-Apr-2025-9973

468-checker-bool-simplif-regression/H25-Apr-2025-9061

469-condition-materialization/H25-Apr-2025-9659

470-huge-method/H25-Apr-2025-2,0802,051

471-deopt-environment/H25-Apr-2025-9658

471-uninitialized-locals/H25-Apr-2025-6135

472-type-propagation/H25-Apr-2025-8559

472-unreachable-if-regression/H25-Apr-2025-8961

473-checker-inliner-constants/H25-Apr-2025-12571

473-remove-dead-block/H25-Apr-2025-9362

474-checker-boolean-input/H25-Apr-2025-15787

474-fp-sub-neg/H25-Apr-2025-145110

475-regression-inliner-ids/H25-Apr-2025-10975

475-simplify-mul-zero/H25-Apr-2025-7550

476-checker-ctor-fence-redun-elim/H25-Apr-2025-904464

476-checker-ctor-memory-barrier/H25-Apr-2025-329111

476-clinit-inline-static-invoke/H25-Apr-2025-9965

477-checker-bound-type/H25-Apr-2025-18787

477-long-2-float-convers-precision/H25-Apr-2025-8753

478-checker-clinit-check-pruning/H25-Apr-2025-755328

478-checker-inline-noreturn/H25-Apr-2025-11270

478-checker-inliner-nested-loop/H25-Apr-2025-10872

479-regression-implicit-null-check/H25-Apr-2025-9857

480-checker-dead-blocks/H25-Apr-2025-247117

481-regression-phi-cond/H25-Apr-2025-9966

482-checker-loop-back-edge-use/H25-Apr-2025-255112

483-dce-block/H25-Apr-2025-10866

484-checker-register-hints/H25-Apr-2025-287207

485-checker-dce-loop-update/H25-Apr-2025-315247

485-checker-dce-switch/H25-Apr-2025-242165

486-checker-must-do-null-check/H25-Apr-2025-10366

487-checker-inline-calls/H25-Apr-2025-10769

488-checker-inline-recursive-calls/H25-Apr-2025-11176

489-current-method-regression/H25-Apr-2025-8455

490-checker-inline/H25-Apr-2025-10264

491-current-method/H25-Apr-2025-11879

492-checker-inline-invoke-interface/H25-Apr-2025-10866

493-checker-inline-invoke-interface/H25-Apr-2025-10570

494-checker-instanceof-tests/H25-Apr-2025-273162

495-checker-checkcast-tests/H25-Apr-2025-281188

496-checker-inlining-class-loader/H25-Apr-2025-218121

497-inlining-and-class-loader/H25-Apr-2025-309217

498-type-propagation/H25-Apr-2025-6239

499-bce-phi-array-length/H25-Apr-2025-11276

500-instanceof/H25-Apr-2025-8053

501-null-constant-dce/H25-Apr-2025-7147

501-regression-packed-switch/H25-Apr-2025-9565

503-dead-instructions/H25-Apr-2025-10677

504-regression-baseline-entry/H25-Apr-2025-6339

505-simplifier-type-propagation/H25-Apr-2025-8759

506-verify-aput/H25-Apr-2025-8962

507-boolean-test/H25-Apr-2025-7550

507-referrer/H25-Apr-2025-10056

508-checker-disassembly/H25-Apr-2025-7948

508-referrer-method/H25-Apr-2025-16766

509-pre-header/H25-Apr-2025-7148

510-checker-try-catch/H25-Apr-2025-2,5251,892

511-clinit-interface/H25-Apr-2025-5430

513-array-deopt/H25-Apr-2025-10265

514-shifts/H25-Apr-2025-154114

515-dce-dominator/H25-Apr-2025-6946

516-dead-move-result/H25-Apr-2025-5734

517-checker-builder-fallthrough/H25-Apr-2025-10465

518-null-array-get/H25-Apr-2025-266210

519-bound-load-class/H25-Apr-2025-8862

520-equivalent-phi/H25-Apr-2025-6744

521-checker-array-set-null/H25-Apr-2025-13066

521-regression-integer-field-set/H25-Apr-2025-9563

522-checker-regression-monitor-exit/H25-Apr-2025-12590

523-checker-can-throw-regression/H25-Apr-2025-9061

524-boolean-simplifier-regression/H25-Apr-2025-8657

525-checker-arrays-fields1/H25-Apr-2025-763444

525-checker-arrays-fields2/H25-Apr-2025-763444

526-checker-caller-callee-regs/H25-Apr-2025-13561

526-long-regalloc/H25-Apr-2025-11776

527-checker-array-access-simd/H25-Apr-2025-47587

527-checker-array-access-split/H25-Apr-2025-730133

528-long-hint/H25-Apr-2025-9361

529-checker-unresolved/H25-Apr-2025-362200

529-long-split/H25-Apr-2025-230115

530-checker-instance-of-simplifier/H25-Apr-2025-168157

530-checker-loops-try-catch/H25-Apr-2025-1,610518

530-checker-loops1/H25-Apr-2025-874508

530-checker-loops2/H25-Apr-2025-1,309719

530-checker-loops3/H25-Apr-2025-464212

530-checker-loops4/H25-Apr-2025-423215

530-checker-loops5/H25-Apr-2025-238122

530-checker-lse/H25-Apr-2025-4,5641,824

530-checker-lse-ctor-fences/H25-Apr-2025-243133

530-checker-lse-simd/H25-Apr-2025-368149

530-checker-lse-try-catch/H25-Apr-2025-487247

530-checker-lse3/H25-Apr-2025-222177

530-checker-peel-unroll/H25-Apr-2025-1,652490

530-checker-regression-reftyp-final/H25-Apr-2025-12676

530-instanceof-checkcast/H25-Apr-2025-295216

530-regression-lse/H25-Apr-2025-10069

531-regression-debugphi/H25-Apr-2025-144107

532-checker-nonnull-arrayset/H25-Apr-2025-9152

533-regression-debugphi/H25-Apr-2025-9664

534-checker-bce-deoptimization/H25-Apr-2025-190122

535-deopt-and-inlining/H25-Apr-2025-10369

535-regression-const-val/H25-Apr-2025-6037

536-checker-intrinsic-optimization/H25-Apr-2025-535251

536-checker-needs-access-check/H25-Apr-2025-301157

537-checker-arraycopy/H25-Apr-2025-15089

537-checker-debuggable/H25-Apr-2025-6437

537-checker-inline-and-unverified/H25-Apr-2025-16183

537-checker-jump-over-jump/H25-Apr-2025-12159

538-checker-embed-constants/H25-Apr-2025-803292

540-checker-rtp-bug/H25-Apr-2025-15489

541-regression-inlined-deopt/H25-Apr-2025-9459

542-bitfield-rotates/H25-Apr-2025-378279

542-inline-trycatch/H25-Apr-2025-175125

542-unresolved-access-check/H25-Apr-2025-303190

543-checker-dce-trycatch/H25-Apr-2025-400283

543-env-long-ref/H25-Apr-2025-13183

545-tracing-and-jit/H25-Apr-2025-299249

546-regression-simplify-catch/H25-Apr-2025-12981

547-regression-trycatch-critic-edge/H25-Apr-2025-8150

548-checker-inlining-and-dce/H25-Apr-2025-13777

549-checker-types-merge/H25-Apr-2025-18092

550-checker-multiply-accumulate/H25-Apr-2025-609172

550-checker-regression-wide-store/H25-Apr-2025-12384

550-new-instance-clinit/H25-Apr-2025-8257

551-checker-clinit/H25-Apr-2025-14384

551-checker-shifter-operand/H25-Apr-2025-1,162373

551-implicit-null-checks/H25-Apr-2025-12089

551-invoke-super/H25-Apr-2025-10473

552-checker-primitive-typeprop/H25-Apr-2025-529409

552-checker-sharpening/H25-Apr-2025-322121

552-checker-x86-avx2-bit-manipulation/H25-Apr-2025-287123

552-invoke-non-existent-super/H25-Apr-2025-10171

553-invoke-super/H25-Apr-2025-9752

554-checker-rtp-checkcast/H25-Apr-2025-12377

555-UnsafeGetLong-regression/H25-Apr-2025-9968

556-invoke-super/H25-Apr-2025-9752

557-checker-instruct-simplifier-ror/H25-Apr-2025-682186

557-checker-ref-equivalent/H25-Apr-2025-10267

558-switch/H25-Apr-2025-8358

559-bce-ssa/H25-Apr-2025-8054

559-checker-irreducible-loop/H25-Apr-2025-697610

559-checker-rtp-ifnotnull/H25-Apr-2025-10460

560-packed-switch/H25-Apr-2025-7953

561-divrem/H25-Apr-2025-13794

561-shared-slowpaths/H25-Apr-2025-203149

562-bce-preheader/H25-Apr-2025-201125

562-checker-no-intermediate/H25-Apr-2025-15253

563-checker-fakestring/H25-Apr-2025-652498

563-checker-invoke-super/H25-Apr-2025-9059

564-checker-bitcount/H25-Apr-2025-250174

564-checker-inline-loop/H25-Apr-2025-11162

564-checker-irreducible-loop/H25-Apr-2025-9163

564-checker-negbitwise/H25-Apr-2025-54389

565-checker-condition-liveness/H25-Apr-2025-24474

565-checker-doublenegbitwise/H25-Apr-2025-891700

565-checker-irreducible-loop/H25-Apr-2025-143106

566-checker-codegen-select/H25-Apr-2025-14283

566-polymorphic-inlining/H25-Apr-2025-316204

567-checker-builder-intrinsics/H25-Apr-2025-3,4691,741

568-checker-onebit/H25-Apr-2025-155106

569-checker-pattern-replacement/H25-Apr-2025-1,791598

570-checker-osr/H25-Apr-2025-617415

570-checker-osr-locals/H25-Apr-2025-191122

570-checker-select/H25-Apr-2025-764267

571-irreducible-loop/H25-Apr-2025-8052

572-checker-array-get-regression/H25-Apr-2025-11361

573-checker-checkcast-regression/H25-Apr-2025-10258

574-irreducible-and-constant-area/H25-Apr-2025-10056

575-checker-string-init-alias/H25-Apr-2025-149103

576-polymorphic-inlining/H25-Apr-2025-150110

577-checker-fp2int/H25-Apr-2025-176114

578-bce-visit/H25-Apr-2025-11075

578-polymorphic-inlining/H25-Apr-2025-10171

579-inline-infinite/H25-Apr-2025-8658

580-checker-fp16/H25-Apr-2025-572451

580-checker-round/H25-Apr-2025-262202

580-checker-string-fact-intrinsics/H25-Apr-2025-12667

580-crc32/H25-Apr-2025-583474

581-checker-rtp/H25-Apr-2025-9560

582-checker-bce-length/H25-Apr-2025-15187

583-checker-zero/H25-Apr-2025-8150

584-checker-div-bool/H25-Apr-2025-9260

585-inline-unresolved/H25-Apr-2025-7550

586-checker-null-array-get/H25-Apr-2025-316231

587-inline-class-error/H25-Apr-2025-13296

588-checker-irreducib-lifetime-hole/H25-Apr-2025-158116

589-super-imt/H25-Apr-2025-495461

590-checker-arr-set-null-regression/H25-Apr-2025-13062

590-infinite-loop-with-nop/H25-Apr-2025-5329

591-checker-regression-dead-loop/H25-Apr-2025-8554

591-new-instance-string/H25-Apr-2025-6339

592-checker-regression-bool-input/H25-Apr-2025-11278

593-checker-boolean-2-integral-conv/H25-Apr-2025-455292

593-checker-long-2-float-regression/H25-Apr-2025-11172

593-checker-shift-and-simplifier/H25-Apr-2025-13186

594-checker-array-alias/H25-Apr-2025-307160

594-checker-irreducible-linorder/H25-Apr-2025-150101

594-invoke-super/H25-Apr-2025-12370

594-load-string-regression/H25-Apr-2025-11969

595-error-class/H25-Apr-2025-11482

595-profile-saving/H25-Apr-2025-356229

596-app-images/H25-Apr-2025-352223

596-checker-dead-phi/H25-Apr-2025-11172

596-monitor-inflation/H25-Apr-2025-170114

597-app-images-same-classloader/H25-Apr-2025-12252

597-deopt-busy-loop/H25-Apr-2025-371224

597-deopt-invoke-stub/H25-Apr-2025-168113

597-deopt-new-string/H25-Apr-2025-208129

598-checker-irreducible-dominance/H25-Apr-2025-7846

599-checker-irreducible-loop/H25-Apr-2025-8856

600-verifier-fails/H25-Apr-2025-229184

601-method-access/H25-Apr-2025-12458

602-deoptimizeable/H25-Apr-2025-236177

603-checker-instanceof/H25-Apr-2025-13375

604-hot-static-interface/H25-Apr-2025-8656

605-new-string-from-bytes/H25-Apr-2025-9362

606-erroneous-class/H25-Apr-2025-10273

607-daemon-stress/H25-Apr-2025-8054

608-checker-unresolved-lse/H25-Apr-2025-12544

609-checker-inline-interface/H25-Apr-2025-12972

609-checker-x86-bounds-check/H25-Apr-2025-14053

610-arraycopy/H25-Apr-2025-9264

611-checker-simplify-if/H25-Apr-2025-339196

612-jit-dex-cache/H25-Apr-2025-19775

613-inlining-dex-cache/H25-Apr-2025-20175

614-checker-dump-constant-location/H25-Apr-2025-9356

615-checker-arm64-store-zero/H25-Apr-2025-522258

616-cha/H25-Apr-2025-320209

616-cha-abstract/H25-Apr-2025-226138

616-cha-interface/H25-Apr-2025-240150

616-cha-interface-default/H25-Apr-2025-264142

616-cha-miranda/H25-Apr-2025-223134

616-cha-native/H25-Apr-2025-8052

616-cha-proxy-method-inline/H25-Apr-2025-11452

616-cha-regression-proxy-method/H25-Apr-2025-177115

616-cha-unloading/H25-Apr-2025-297145

617-clinit-oome/H25-Apr-2025-13583

618-checker-induction/H25-Apr-2025-1,289590

619-checker-current-method/H25-Apr-2025-8353

620-checker-bce-intrinsics/H25-Apr-2025-337192

622-checker-bce-regressions/H25-Apr-2025-12583

622-simplifyifs-exception-edges/H25-Apr-2025-12392

623-checker-loop-regressions/H25-Apr-2025-1,371804

624-checker-stringops/H25-Apr-2025-541292

625-checker-licm-regressions/H25-Apr-2025-187101

626-checker-arm64-scratch-register/H25-Apr-2025-1,8211,216

626-const-class-linking/H25-Apr-2025-1,183757

626-set-resolved-string/H25-Apr-2025-9757

627-checker-unroll/H25-Apr-2025-17181

628-vdex/H25-Apr-2025-10557

629-vdex-speed/H25-Apr-2025-9449

630-safecast-array/H25-Apr-2025-3832

631-checker-get-class/H25-Apr-2025-16481

632-checker-char-at-bounds/H25-Apr-2025-9158

633-checker-rtp-getclass/H25-Apr-2025-140101

634-vdex-duplicate/H25-Apr-2025-6915

635-checker-arm64-volatile-load-cc/H25-Apr-2025-338269

636-arm64-veneer-pool/H25-Apr-2025-4,2724,240

636-wrong-static-access/H25-Apr-2025-14749

637-checker-throw-inline/H25-Apr-2025-11468

638-checker-inline-cache-intrinsic/H25-Apr-2025-208102

638-checker-inline-caches/H25-Apr-2025-299112

638-no-line-number/H25-Apr-2025-6425

639-checker-code-sinking/H25-Apr-2025-811371

640-checker-boolean-simd/H25-Apr-2025-180102

640-checker-integer-valueof/H25-Apr-2025-333128

640-checker-simd/H25-Apr-2025-1,966907

641-checker-arraycopy/H25-Apr-2025-13483

641-irreducible-inline/H25-Apr-2025-8557

641-iterations/H25-Apr-2025-12284

642-fp-callees/H25-Apr-2025-15599

643-checker-bogus-ic/H25-Apr-2025-12363

645-checker-abs-simd/H25-Apr-2025-560283

646-checker-arraycopy-large-cst-pos/H25-Apr-2025-9256

646-checker-long-const-to-int/H25-Apr-2025-11378

646-checker-simd-hadd/H25-Apr-2025-2,704809

647-jni-get-field-id/H25-Apr-2025-464290

647-sinking-catch/H25-Apr-2025-8052

648-inline-caches-unresolved/H25-Apr-2025-8023

648-many-direct-methods/H25-Apr-2025-187103

649-vdex-duplicate-method/H25-Apr-2025-21

650-checker-inline-access-thunks/H25-Apr-2025-11059

652-deopt-intrinsic/H25-Apr-2025-12168

654-checker-periodic/H25-Apr-2025-269163

655-checker-simd-arm-opt/H25-Apr-2025-227124

655-jit-clinit/H25-Apr-2025-10570

656-annotation-lookup-generic-jni/H25-Apr-2025-18966

656-checker-simd-opt/H25-Apr-2025-567204

656-loop-deopt/H25-Apr-2025-182115

657-branches/H25-Apr-2025-9761

658-fp-read-barrier/H25-Apr-2025-186142

659-unpadded-array/H25-Apr-2025-10168

660-checker-sad/H25-Apr-2025-845403

660-checker-simd-sad/H25-Apr-2025-2,6021,020

660-clinit/H25-Apr-2025-339245

660-store-8-16/H25-Apr-2025-172131

661-checker-simd-cf-loops/H25-Apr-2025-873514

661-checker-simd-reduc/H25-Apr-2025-727269

661-classloader-allocator/H25-Apr-2025-9849

661-oat-writer-layout/H25-Apr-2025-597416

662-regression-alias/H25-Apr-2025-12984

663-checker-select-generator/H25-Apr-2025-465212

663-odd-dex-size/H25-Apr-2025-1712

663-odd-dex-size2/H25-Apr-2025-3714

663-odd-dex-size3/H25-Apr-2025-4117

663-odd-dex-size4/H25-Apr-2025-4117

664-aget-verifier/H25-Apr-2025-159101

665-checker-simd-zero/H25-Apr-2025-368160

666-dex-cache-itf/H25-Apr-2025-165124

667-checker-simd-alignment/H25-Apr-2025-389144

667-jit-jni-stub/H25-Apr-2025-293171

667-out-of-bounds/H25-Apr-2025-8155

668-aiobe/H25-Apr-2025-7146

669-checker-break/H25-Apr-2025-414158

670-bitstring-type-check/H25-Apr-2025-260188

671-npe-field-opts/H25-Apr-2025-13599

672-checker-throw-method/H25-Apr-2025-378185

673-checker-throw-vmethod/H25-Apr-2025-279135

674-HelloWorld-Dm/H25-Apr-2025-9046

674-hiddenapi/H25-Apr-2025-2,3311,597

674-hotness-compiled/H25-Apr-2025-12274

674-vdex-uncompress/H25-Apr-2025-8523

675-checker-unverified-method/H25-Apr-2025-8758

676-proxy-jit-at-first-use/H25-Apr-2025-11163

676-resolve-field-type/H25-Apr-2025-15765

677-fsi/H25-Apr-2025-8020

677-fsi2/H25-Apr-2025-9047

678-quickening/H25-Apr-2025-14989

679-locks/H25-Apr-2025-12068

680-checker-deopt-dex-pc-0/H25-Apr-2025-10870

682-double-catch-phi/H25-Apr-2025-7953

683-clinit-inline-static-invoke/H25-Apr-2025-5911

684-checker-simd-dotprod/H25-Apr-2025-2,014741

684-select-condition/H25-Apr-2025-13082

685-deoptimizeable/H25-Apr-2025-301233

685-shifts/H25-Apr-2025-158115

686-get-this/H25-Apr-2025-9967

687-deopt/H25-Apr-2025-10059

688-shared-library/H25-Apr-2025-265167

689-multi-catch/H25-Apr-2025-8055

689-zygote-jit-deopt/H25-Apr-2025-13471

690-hiddenapi-same-name-methods/H25-Apr-2025-368250

691-hiddenapi-proxy/H25-Apr-2025-10949

692-vdex-inmem-loader/H25-Apr-2025-510318

692-vdex-secondary-loader/H25-Apr-2025-21093

693-vdex-inmem-loader-evict/H25-Apr-2025-320210

694-clinit-jit/H25-Apr-2025-13889

695-simplify-throws/H25-Apr-2025-9466

696-loop/H25-Apr-2025-8660

697-checker-string-append/H25-Apr-2025-507397

698-selects/H25-Apr-2025-9059

699-checker-string-append2/H25-Apr-2025-209173

700-LoadArgRegs/H25-Apr-2025-428384

701-easy-div-rem/H25-Apr-2025-225146

702-LargeBranchOffset/H25-Apr-2025-9639

703-floating-point-div/H25-Apr-2025-145103

704-multiply-accumulate/H25-Apr-2025-220169

705-register-conflict/H25-Apr-2025-12293

706-checker-scheduler/H25-Apr-2025-736182

707-checker-invalid-profile/H25-Apr-2025-13375

708-jit-cache-churn/H25-Apr-2025-359265

710-varhandle-creation/H25-Apr-2025-2,5412,311

711-checker-type-conversion/H25-Apr-2025-314205

712-varhandle-invocations/H25-Apr-2025-9,0878,208

713-varhandle-invokers/H25-Apr-2025-577428

714-invoke-custom-lambda-metafactory/H25-Apr-2025-7924

715-clinit-implicit-parameter-annotations/H25-Apr-2025-355276

716-jli-jit-samples/H25-Apr-2025-220156

717-integer-value-of/H25-Apr-2025-181122

718-zipfile-finalizer/H25-Apr-2025-8855

719-varhandle-concurrency/H25-Apr-2025-300190

720-thread-priority/H25-Apr-2025-14188

721-osr/H25-Apr-2025-9464

723-string-init-range/H25-Apr-2025-9467

724-invoke-super-npe/H25-Apr-2025-8861

725-imt-conflict-object/H25-Apr-2025-276250

726-array-store/H25-Apr-2025-11179

727-checker-unresolved-class/H25-Apr-2025-1,605658

728-imt-conflict-zygote/H25-Apr-2025-312262

729-checker-polymorphic-intrinsic/H25-Apr-2025-10957

730-cha-deopt/H25-Apr-2025-10469

730-checker-inlining-super/H25-Apr-2025-9567

731-bounds-check-slow-path/H25-Apr-2025-165129

732-checker-app-image/H25-Apr-2025-257107

800-smali/H25-Apr-2025-3,1322,413

801-VoidCheckCast/H25-Apr-2025-53

802-deoptimization/H25-Apr-2025-211129

803-no-super/H25-Apr-2025-4116

804-class-extends-itself/H25-Apr-2025-12572

805-TooDeepClassInstanceOf/H25-Apr-2025-12995

806-TooWideClassInstanceOf/H25-Apr-2025-1,3301,291

807-method-handle-and-mr/H25-Apr-2025-11971

808-checker-invoke-super/H25-Apr-2025-7666

809-checker-invoke-super-bss/H25-Apr-2025-134119

810-checker-invoke-super-default/H25-Apr-2025-152135

811-checker-invoke-super-secondary/H25-Apr-2025-156103

812-recursive-default/H25-Apr-2025-8457

813-fp-args/H25-Apr-2025-9161

814-large-field-offsets/H25-Apr-2025-408336

815-invokeinterface-default/H25-Apr-2025-239210

816-illegal-new-array/H25-Apr-2025-12880

817-hiddenapi/H25-Apr-2025-399174

818-clinit-nterp/H25-Apr-2025-10459

819-verification-runtime/H25-Apr-2025-6539

820-vdex-multidex/H25-Apr-2025-6712

821-madvise-willneed/H25-Apr-2025-9853

821-many-args/H25-Apr-2025-148111

822-hiddenapi-future/H25-Apr-2025-8830

823-cha-inlining/H25-Apr-2025-210135

824-verification-rethrow/H25-Apr-2025-6236

825-unbalanced-lock/H25-Apr-2025-6240

826-infinite-loop/H25-Apr-2025-7147

827-resolve-method/H25-Apr-2025-12049

828-partial-lse/H25-Apr-2025-10166

829-unresolved-enclosing/H25-Apr-2025-8239

830-goto-zero/H25-Apr-2025-7650

831-unresolved-field/H25-Apr-2025-10561

831-unverified-bcp/H25-Apr-2025-10354

832-cha-recursive/H25-Apr-2025-10069

833-background-verification/H25-Apr-2025-5,1245,037

834-lse/H25-Apr-2025-8861

835-b216762268/H25-Apr-2025-12291

836-32768classes/H25-Apr-2025-53

837-deopt/H25-Apr-2025-14094

838-override/H25-Apr-2025-418160

839-clinit-throw/H25-Apr-2025-11783

840-resolution/H25-Apr-2025-440195

841-defaults/H25-Apr-2025-180154

842-vdex-hard-failure/H25-Apr-2025-7936

843-default-interface/H25-Apr-2025-20277

844-exception/H25-Apr-2025-11473

844-exception2/H25-Apr-2025-9861

845-data-image/H25-Apr-2025-521356

845-fast-verify/H25-Apr-2025-9241

846-multidex-data-image/H25-Apr-2025-14975

847-filled-new-aray/H25-Apr-2025-4742

848-pattern-match/H25-Apr-2025-13179

849-records/H25-Apr-2025-5415

850-checker-branches/H25-Apr-2025-9952

851-null-instanceof/H25-Apr-2025-8053

852-invoke-super/H25-Apr-2025-7044

853-checker-inlining/H25-Apr-2025-10869

854-image-inlining/H25-Apr-2025-13845

855-native/H25-Apr-2025-19099

856-clone/H25-Apr-2025-7751

857-default-access/H25-Apr-2025-13470

858-checker-unsafe/H25-Apr-2025-166112

859-checker-var-handles-intrinsics/H25-Apr-2025-787312

900-hello-plugin/H25-Apr-2025-192114

901-hello-ti-agent/H25-Apr-2025-520356

902-hello-transformation/H25-Apr-2025-286171

903-hello-tagging/H25-Apr-2025-474306

904-object-allocation/H25-Apr-2025-417274

905-object-free/H25-Apr-2025-470308

906-iterate-heap/H25-Apr-2025-981759

907-get-loaded-classes/H25-Apr-2025-267147

908-gc-start-finish/H25-Apr-2025-267156

909-attach-agent/H25-Apr-2025-377252

910-methods/H25-Apr-2025-541379

911-get-stack-trace/H25-Apr-2025-2,4191,986

912-classes/H25-Apr-2025-1,6851,268

913-heaps/H25-Apr-2025-2,4041,950

914-hello-obsolescence/H25-Apr-2025-297188

915-obsolete-2/H25-Apr-2025-345224

916-obsolete-jit/H25-Apr-2025-412266

917-fields-transformation/H25-Apr-2025-309193

918-fields/H25-Apr-2025-332218

919-obsolete-fields/H25-Apr-2025-395254

920-objects/H25-Apr-2025-259151

921-hello-failure/H25-Apr-2025-1,678972

922-properties/H25-Apr-2025-397281

923-monitors/H25-Apr-2025-511358

924-threads/H25-Apr-2025-928696

925-threadgroups/H25-Apr-2025-399266

926-multi-obsolescence/H25-Apr-2025-358243

927-timers/H25-Apr-2025-240133

928-jni-table/H25-Apr-2025-246131

929-search/H25-Apr-2025-17471

930-hello-retransform/H25-Apr-2025-282173

931-agent-thread/H25-Apr-2025-299177

932-transform-saves/H25-Apr-2025-334206

933-misc-events/H25-Apr-2025-19396

934-load-transform/H25-Apr-2025-276152

935-non-retransformable/H25-Apr-2025-301169

936-search-onload/H25-Apr-2025-21385

937-hello-retransform-package/H25-Apr-2025-273164

938-load-transform-bcp/H25-Apr-2025-294170

939-hello-transformation-bcp/H25-Apr-2025-458306

940-recursive-obsolete/H25-Apr-2025-329215

941-recursive-obsolete-jit/H25-Apr-2025-390255

942-private-recursive/H25-Apr-2025-338220

943-private-recursive-jit/H25-Apr-2025-410271

944-transform-classloaders/H25-Apr-2025-510315

945-obsolete-native/H25-Apr-2025-351211

946-obsolete-throw/H25-Apr-2025-314204

947-reflect-method/H25-Apr-2025-289178

948-change-annotations/H25-Apr-2025-600314

949-in-memory-transform/H25-Apr-2025-330206

950-redefine-intrinsic/H25-Apr-2025-841481

951-threaded-obsolete/H25-Apr-2025-322204

952-invoke-custom/H25-Apr-2025-3,1632,459

953-invoke-polymorphic-compiler/H25-Apr-2025-424331

954-invoke-polymorphic-verifier/H25-Apr-2025-716602

955-methodhandles-smali/H25-Apr-2025-275217

956-methodhandles/H25-Apr-2025-2,0611,606

957-methodhandle-transforms/H25-Apr-2025-1,8131,373

958-methodhandle-stackframe/H25-Apr-2025-234143

959-invoke-polymorphic-accessors/H25-Apr-2025-1,089945

960-default-smali/H25-Apr-2025-1,009444

961-default-iface-resolution-gen/H25-Apr-2025-464328

962-iface-static/H25-Apr-2025-9527

963-default-range-smali/H25-Apr-2025-14184

964-default-iface-init-gen/H25-Apr-2025-509370

965-default-verify/H25-Apr-2025-208127

966-default-conflict/H25-Apr-2025-230143

967-default-ame/H25-Apr-2025-280151

968-default-partial-compile-gen/H25-Apr-2025-818620

969-iface-super/H25-Apr-2025-425182

970-iface-super-resolution-gen/H25-Apr-2025-767581

971-iface-super/H25-Apr-2025-904699

972-default-imt-collision/H25-Apr-2025-1,3391,122

972-iface-super-multidex/H25-Apr-2025-246197

973-default-multidex/H25-Apr-2025-12995

974-verify-interface-super/H25-Apr-2025-10286

975-iface-private/H25-Apr-2025-148113

976-conflict-no-methods/H25-Apr-2025-664526

978-virtual-interface/H25-Apr-2025-273221

979-const-method-handle/H25-Apr-2025-730478

980-redefine-object/H25-Apr-2025-480311

981-dedup-original-dex/H25-Apr-2025-391238

982-ok-no-retransform/H25-Apr-2025-243144

983-source-transform-verify/H25-Apr-2025-466258

984-obsolete-invoke/H25-Apr-2025-426269

985-re-obsolete/H25-Apr-2025-437294

986-native-method-bind/H25-Apr-2025-324207

987-agent-bind/H25-Apr-2025-18593

988-method-trace/H25-Apr-2025-1,7041,395

989-method-trace-throw/H25-Apr-2025-1,168970

990-field-trace/H25-Apr-2025-446331

991-field-trace-2/H25-Apr-2025-563421

992-source-data/H25-Apr-2025-261150

993-breakpoints/H25-Apr-2025-2,4922,224

993-breakpoints-non-debuggable/H25-Apr-2025-2,5262,222

994-breakpoint-line/H25-Apr-2025-401278

995-breakpoints-throw/H25-Apr-2025-469342

996-breakpoint-obsolete/H25-Apr-2025-654439

997-single-step/H25-Apr-2025-462311

998-redefine-use-after-free/H25-Apr-2025-338185

999-redefine-hiddenapi/H25-Apr-2025-357176

AbstractMethod/H25-Apr-2025-3210

AllFields/H25-Apr-2025-7624

ArrayClassWithUnresolvedComponent/H25-Apr-2025-9377

DefaultMethods/H25-Apr-2025-288

Dex2oatVdexPublicSdkDex/H25-Apr-2025-152124

Dex2oatVdexTestDex/H25-Apr-2025-8652

ErroneousA/H25-Apr-2025-181

ErroneousB/H25-Apr-2025-212

ErroneousInit/H25-Apr-2025-247

ExceptionHandle/H25-Apr-2025-4325

Extension1/H25-Apr-2025-214

Extension2/H25-Apr-2025-225

ForClassLoaderA/H25-Apr-2025-3210

ForClassLoaderB/H25-Apr-2025-3110

ForClassLoaderC/H25-Apr-2025-3110

ForClassLoaderD/H25-Apr-2025-288

GetMethodSignature/H25-Apr-2025-3013

HiddenApi/H25-Apr-2025-8818

HiddenApiSignatures/H25-Apr-2025-13539

HiddenApiStubs/H25-Apr-2025-4122

IMTA/H25-Apr-2025-258

IMTB/H25-Apr-2025-2912

ImageLayoutA/H25-Apr-2025-224

ImageLayoutB/H25-Apr-2025-268

Instrumentation/H25-Apr-2025-3615

Interfaces/H25-Apr-2025-4225

LinkageTest/H25-Apr-2025-6758

Lookup/H25-Apr-2025-543

Main/H25-Apr-2025-214

ManyMethods/H25-Apr-2025-10876

MethodTypes/H25-Apr-2025-214

MultiDex/H25-Apr-2025-5115

MultiDexModifiedSecondary/H25-Apr-2025-5618

MyClass/H25-Apr-2025-181

MyClassNatives/H25-Apr-2025-457321

Nested/H25-Apr-2025-236

NonStaticLeafMethods/H25-Apr-2025-5639

Packages/H25-Apr-2025-428

ProfileTestMultiDex/H25-Apr-2025-501437

ProtoCompare/H25-Apr-2025-236

ProtoCompare2/H25-Apr-2025-236

StaticLeafMethods/H25-Apr-2025-5437

Statics/H25-Apr-2025-5638

StaticsFromCode/H25-Apr-2025-246

StringLiterals/H25-Apr-2025-4827

SuperWithAccessChecks/H25-Apr-2025-8671

Transaction/H25-Apr-2025-195108

VerifierDeps/H25-Apr-2025-779665

VerifierDepsMulti/H25-Apr-2025-2622

VerifySoftFailDuringClinit/H25-Apr-2025-5144

XandY/H25-Apr-2025-406

common/H25-Apr-2025-889676

dexdump/H25-Apr-2025-37,30336,499

dexpreopt/H25-Apr-2025-328237

generate-boot-image/H25-Apr-2025-323268

jvmti-common/H25-Apr-2025-1,193806

odsign/H25-Apr-2025-2,6331,681

testing/H25-Apr-2025-229157

testrunner/H25-Apr-2025-1,9071,471

ti-agent/H25-Apr-2025-5,1424,035

ti-stress/H25-Apr-2025-911806

update-rollback/H25-Apr-2025-289167

utils/H25-Apr-2025-2,2881,639

Android.bpH A D25-Apr-202562.8 KiB1,8501,713

Android.run-test.bpH A D25-Apr-2025315.6 KiB9,3728,440

Android.run-test.bp.pyH A D25-Apr-20257.8 KiB218179

Android.run-test.mkH A D25-Apr-20255.6 KiB13281

OWNERSH A D25-Apr-2025105 54

README.arm_fvp.mdH A D25-Apr-20252.7 KiB6647

README.atest.mdH A D25-Apr-20256.1 KiB187142

README.chroot.mdH A D25-Apr-20257.9 KiB216207

README.chroot_vm.mdH A D25-Apr-20252.4 KiB7663

README.mdH A D25-Apr-20257.7 KiB233176

art-gtests-target-chroot.xmlH A D25-Apr-20253.5 KiB5729

art-gtests-target-install-apex.xmlH A D25-Apr-20252.3 KiB4318

art-gtests-target-standalone-cts-template.xmlH A D25-Apr-20252.9 KiB5224

art-gtests-target-standalone-non-multilib-template.xmlH A D25-Apr-20252.3 KiB4419

art-gtests-target-standalone-template.xmlH A D25-Apr-20252.2 KiB4318

art-gtests-target-standalone-with-boot-image-template.xmlH A D25-Apr-20253.1 KiB5730

art-run-test-target-cts-template.xmlH A D25-Apr-20252.8 KiB5224

art-run-test-target-no-test-suite-tag-template.xmlH A D25-Apr-20252.3 KiB4518

art-run-test-target-slow-template.xmlH A D25-Apr-20252.5 KiB4720

art-run-test-target-template.xmlH A D25-Apr-20252.4 KiB4619

art-standalone-gtest-version.mapH A D25-Apr-2025901 3329

art-standalone-test-version.mapH A D25-Apr-2025626 2119

csuite-app-compile-launch.xmlH A D25-Apr-20251.5 KiB3015

default_run.pyH A D25-Apr-202545.4 KiB1,135813

globals.pyH A D25-Apr-2025974 249

knownfailures.jsonH A D25-Apr-202561.4 KiB1,6321,631

merge_zips_to_tgz.pyH A D25-Apr-2025950 3123

run-testH A D25-Apr-202541 KiB1,009828

run_test_build.pyH A D25-Apr-202526.2 KiB671504

standalone_test_lib_check.ccH A D25-Apr-20256.2 KiB186119

README.arm_fvp.md

1# Testing ART on a model (QEMU or Arm FVP)
2
3This document describes how to test ART on a model - QEMU or the ARM Fixed Virtual Platform.
4
5It covers steps on how to build and run an Android system image targeting a model
6and to use it as a target platform for running ART tests via ADB in chroot mode. The guide
7covers both QEMU and the ARM Fixed Virtual Platform; the setup is very similar.
8
9More information on QEMU and Arm FVP could be found in
10{AOSP}/device/generic/goldfish/fvpbase/README.md.
11
12One would need two AOSP trees for this setup:
13 - a full stable (tagged) tree - to be used to build AOSP image for the model.
14   - android-13.0.0_r12 was tested successfully to run QEMU:
15     ```repo init  -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r12```
16 - a full or minimal tree - the one to be tested as part of ART test run.
17
18## Setting up the QEMU/Arm FVP
19
20Once a full AOSP tree is downloaded, please follow the instructions in
21${AOSP}/device/generic/goldfish/fvpbase/README.md; they should cover:
22 - fetching, configuring and building the model.
23 - building AOSP image for it.
24 - launching the model.
25
26Once the model is started and reachable via adb, ART tests could be run.
27
28Notes:
29 - fvp_mini lunch target should be used as we don't need graphics to run ART tests.
30 - 'Running the image in QEMU' mentions that a special commit should be checked out for QEMU
31   for GUI runs. Actually it is recommended to use it even for non-GUI runs (fvp_mini).
32
33### Running the Arm FVP with SVE enabled
34
35To test SVE on Arm FVP, one extra step is needed when following the instructions above;
36for QEMU run this is not needed. When launching the model some extra cmdline options should
37be provided for 'run_model':
38
39```
40export SVE_PLUGIN=${MODEL_PATH}/plugins/<os_and_toolchain>/ScalableVectorExtension.so
41$ ./device/generic/goldfish/fvpbase/run_model --plugin ${SVE_PLUGIN} -C SVE.ScalableVectorExtension.veclen=2
42```
43
44Note: SVE vector length is passed in units of 64-bit blocks. So "2" would stand
45for 128-bit vector length.
46
47## Running ART test
48
49QEMU/FVP behaves as a regular adb device so running ART tests is possible using
50the standard chroot method described in test/README.chroot.md with an additional step,
51described below. A separate AOSP tree (not the one used for the model itself), should
52be used - full or minimal.
53
54Then the regular ART testing routine should be performed; the regular "lunch"
55target ("armv8" and other targets, not "fvp-eng").
56
57```
58# Config the test run for QEMU/FVP.
59export ART_TEST_RUN_ON_ARM_FVP=true
60
61# Build, sync ART tests to the model and run, see test/README.chroot.md.
62```
63
64Note: ART scripts only support one adb device at a time. If you have other adb devices
65connected, use `export ANDROID_SERIAL=localhost:5555` to run scripts on QEMU/FVP."
66

README.atest.md

1# Running ART Tests with Atest / Trade Federation
2
3ART Testing has early support for execution in the [Trade
4Federation](https://source.android.com/devices/tech/test_infra/tradefed)
5("TradeFed") test harness, in particular via the
6[Atest](https://source.android.com/compatibility/tests/development/atest)
7command line tool.
8
9Atest conveniently takes care of building tests and their dependencies (using
10Soong, the Android build system) and executing them using Trade Federation.
11
12See also [README.md](README.md) for a general introduction to ART run-tests and
13gtests.
14
15## ART run-tests
16
17### Running ART run-tests on device
18
19ART run-tests are defined in sub-directories of `test/` starting with a number
20(e.g. `test/001-HelloWorld`). Each ART run-test is identified in the build
21system by a Soong module name following the `art-run-test-`*`<test-directory>`*
22format (e.g. `art-run-test-001-HelloWorld`).
23
24You can run a specific ART run-test on device by passing its Soong module name
25to Atest:
26```bash
27atest art-run-test-001-HelloWorld
28```
29
30To run all ART run-tests in a single command, the currently recommended way is
31to use [test mapping](#test-mapping) (see below).
32
33You can nonetheless run all supported ART run-tests with a single Atest command,
34using its support for wildcards:
35```bash
36atest art-run-test-\*
37```
38
39Note: Many ART run-tests are failing with the TradeFed harness as of March 2021,
40so the above Atest command will likely report many tests failures. The ART team
41is actively working on this issue.
42
43## ART gtests
44
45### Running ART gtests on device
46
47There are three ways to run ART gtests on device:
481. by building "standalone" ART gtests and running them against the active ART
49   APEX on the device;
502. by installing the Testing ART APEX (i.e. manually "updating" the ART APEX on
51   device); or
523. by setting up a `chroot` environment on the device, and "activating" the
53   Testing ART APEX in that environment.
54
55The first approach can be used to test the ART APEX presently residing on a
56device (either the original one, located in the "system" partition, or an
57updated package, present in the "data" partition).
58
59The second and third approaches make use of the Testing ART APEX
60(`com.android.art.testing.apex`), and were previously the only options to run
61ART gtests on device, because of build- and link-related limitations (the ART
62gtests had to be part of the ART APEX package itself to be able to build and run
63properly).
64
65### Running standalone ART gtests on device
66
67Standalone ART gtests are defined as Soong modules `art_standalone_*_tests`. You
68can run them individually with Atest, e.g:
69
70```bash
71atest art_standalone_cmdline_tests
72```
73
74You can also run all of them with a single Atest command, using its support for
75wildcards:
76
77```bash
78atest art_standalone_\*_tests
79```
80
81The previous commands build the corresponding ART gtests and their dependencies,
82dynamically link them against local ART APEX libraries (in the source tree), and
83run them on device against the active ART APEX.
84
85### Running ART gtests on device by installing the Testing ART APEX
86
87You can run ART gtests on device with the ART APEX installation strategy by
88using the following `atest` command:
89
90```bash
91atest ArtGtestsTargetInstallApex
92```
93
94This command:
951. builds the Testing ART APEX from the Android source tree (including the ART
96   gtests);
972. installs the Testing ART APEX using `adb install`;
983. reboots the device;
994. runs the tests; and
1005. uninstalls the module.
101
102You can run the tests of a single ART gtest C++ class using the
103`ArtGtestsTargetInstallApex:`*`<art-gtest-c++-class>`* syntax, e.g.:
104```bash
105atest ArtGtestsTargetInstallApex:JniInternalTest
106```
107
108This syntax also supports the use of wildcards, e.g.:
109```bash
110atest ArtGtestsTargetInstallApex:*Test*
111```
112
113You can also use Trade Federation options to run a subset of ART gtests, e.g.:
114```bash
115atest ArtGtestsTargetInstallApex -- \
116  --module ArtGtestsTargetInstallApex --test '*JniInternalTest*'
117```
118
119You can also pass option `--gtest_filter` to the gtest binary to achieve a
120similar effect:
121```bash
122atest ArtGtestsTargetInstallApex -- \
123  --test-arg com.android.tradefed.testtype.GTest:native-test-flag:"--gtest_filter=*JniInternalTest*"
124```
125
126### Running ART gtests on device using a `chroot` environment
127
128You can run ART gtests on device with the chroot-based strategy by using the
129following command:
130
131```bash
132atest ArtGtestsTargetChroot
133```
134
135This sequence:
1361. builds the Testing ART APEX from the Android source tree (including the ART
137   gtests) and all the necessary dependencies for the `chroot` environment;
1382. sets up a `chroot` environment on the device;
1393. "activates" the Testing ART APEX (and other APEXes that it depends on) in the
140   `chroot` environment;
1414. runs the tests within the `chroot` environment; and
1425. cleans up the environment (deactivates the APEXes and removes the `chroot`
143   environment).
144
145### Running ART gtests on host
146
147You first need to build the boot classpath and boot image on host:
148
149```bash
150m art-host-tests
151```
152
153Then you can use `atest --host` to run host gtests, e.g:
154
155```bash
156atest --host art_runtime_tests
157```
158
159## Test Mapping
160
161ART Testing supports the execution of tests via [Test
162Mapping](https://source.android.com/compatibility/tests/development/test-mapping).
163The tests declared in ART's [TEST_MAPPING](../TEST_MAPPING) file are executed
164during pre-submit testing (when an ART changelist in Gerrit is verified by
165Treehugger) and/or post-submit testing (when a given change is merged in the
166Android code base), depending on the "test group" where a test is declared.
167
168### Running tests via Test Mapping with Atest
169
170It is possible to run tests via test mapping locally using Atest.
171
172To run all the tests declared in ART's `TEST_MAPPING` file, use the following
173command from the Android source tree top-level directory:
174```bash
175atest --test-mapping art:all
176```
177In the previous command, `art` is the (relative) path to the directory
178containing the `TEST_MAPPING` file listing the tests to run, while `all` means
179that tests declared in all [test
180groups](https://source.android.com/compatibility/tests/development/test-mapping#defining_test_groups)
181shall be run.
182
183To only run tests executed during pre-submit testing, use:
184```bash
185atest --test-mapping art:presubmit
186```
187

README.chroot.md

1# ART Chroot-Based On-Device Testing
2
3This file documents the use of a chroot environment in on-device testing of the
4Android Runtime (ART). Using a chroot allows tests to run a standalone ART from
5a locally built source tree on a device running (almost any) system image and
6does not interfere with the Runtime installed in the device's system partition.
7
8## Introduction
9
10The Android Runtime (ART) supports testing in a chroot-based environment, by
11setting up a chroot directory in a `ART_TEST_CHROOT` directory located under
12`/data/local` (e.g. `ART_TEST_CHROOT=/data/local/art-test-chroot`) on a device,
13installing ART and all other required artifacts there, and having tests use `adb
14shell chroot $ART_TEST_CHROOT <command>` to execute commands on the device
15within this environment.
16
17This way to run tests using a "standalone ART" ("guest system") only affects
18files in the data partition (the system partition and other partitions are left
19untouched) and is as independent as possible from the Android system ("host
20system") running on the device. This has some benefits:
21
22* no need to build and flash a whole device to do ART testing (or "overwriting"
23  an existing ART by syncing the system partition);
24* the possibility to use a smaller AOSP Android manifest
25  ([`master-art`](https://android.googlesource.com/platform/manifest/+/refs/heads/master-art/default.xml))
26  to build ART and the required dependencies for testing;
27* no instability due to updating/replacing ART on the system partition (a
28  functional Android Runtime is necessary to properly boot a device);
29* the possibility to have several standalone ART instances (one per directory,
30  e.g. `/data/local/art-test-chroot1`, `/data/local/art-test-chroot2`, etc.).
31
32Note that using this chroot-based approach requires root access to the device
33(i.e. be able to run `adb root` successfully).
34
35## Quick User Guide
36
370. Unset variables which are not used with the chroot-based approach (if they
38   were set previously):
39   ```bash
40   unset ART_TEST_ANDROID_ROOT
41   unset CUSTOM_TARGET_LINKER
42   unset ART_TEST_ANDROID_ART_ROOT
43   unset ART_TEST_ANDROID_RUNTIME_ROOT
44   unset ART_TEST_ANDROID_I18N_ROOT
45   unset ART_TEST_ANDROID_TZDATA_ROOT
46   ```
471. Set the chroot directory in `ART_TEST_CHROOT`:
48    ```bash
49    export ART_TEST_CHROOT=/data/local/art-test-chroot
50    ```
512. Set lunch target and ADB:
52    * With a minimal `aosp/master-art` tree:
53        1. Initialize the environment:
54            ```bash
55            export SOONG_ALLOW_MISSING_DEPENDENCIES=true
56            . ./build/envsetup.sh
57            ```
58        2. Select a lunch target corresponding to the architecture you want to
59           build and test:
60            * For (32-bit) Arm:
61                ```bash
62                lunch arm_krait-trunk_staging-eng
63                ```
64            * For (64-bit only) Arm64:
65                ```bash
66                lunch armv8-trunk_staging-eng
67                ```
68            * For (32- and 64-bit) Arm64:
69                ```bash
70                lunch arm_v7_v8-trunk_staging-eng
71                ```
72            * For (32-bit) Intel x86:
73                ```bash
74                lunch silvermont-trunk_staging-eng
75                ```
76            * For (64-bit) RISC-V:
77                ```bash
78                lunch aosp_riscv64-trunk_staging-eng
79                ```
80        3. Set up the environment to use a pre-built ADB:
81            ```bash
82            export PATH="$(pwd)/prebuilts/runtime:$PATH"
83            export ADB="$ANDROID_BUILD_TOP/prebuilts/runtime/adb"
84            ```
85    * With a full Android (AOSP) `aosp/main` tree:
86        1. Initialize the environment:
87            ```bash
88            . ./build/envsetup.sh
89            ```
90        2. Select a lunch target corresponding to the architecture you want to
91           build and test:
92            * For (32-bit) Arm:
93                ```bash
94                lunch aosp_arm-trunk_staging-eng
95                ```
96            * For (32- and 64-bit) Arm64:
97                ```bash
98                lunch aosp_arm64-trunk_staging-eng
99                ```
100            * For (32-bit) Intel x86:
101                ```bash
102                lunch aosp_x86-trunk_staging-eng
103                ```
104            * For (32- and 64-bit) Intel x86-64:
105                ```bash
106                lunch aosp_x86_64-trunk_staging-eng
107                ```
108            * For (64-bit) RISC-V:
109                ```bash
110                lunch aosp_riscv64-trunk_staging-eng
111                ```
112        3. Build ADB:
113            ```bash
114            m adb
115            ```
1163. Build ART and required dependencies:
117    ```bash
118    art/tools/buildbot-build.sh --target
119    ```
120    After building it is fine to see it finish with an error like:
121    ```
122    linkerconfig E [...] variableloader.cc:83] Unable to access VNDK APEX at path: <path>: No such file or directory
123    ```
1244. Clean up the device:
125    ```bash
126    art/tools/buildbot-cleanup-device.sh
127    ```
1285. Setup the device (including setting up mount points and files in the chroot
129   directory):
130    ```bash
131    art/tools/buildbot-setup-device.sh
132    ```
1336. Populate the chroot tree on the device (including "activating" APEX packages
134   in the chroot environment):
135    ```bash
136    art/tools/buildbot-sync.sh
137    ```
1387. Run ART gtests:
139    ```bash
140    art/tools/run-gtests.sh -j4
141    ```
142    * Specific tests to run can be passed on the command line, specified by
143      their absolute paths beginning with `/apex/`:
144        ```bash
145        art/tools/run-gtests.sh \
146          /apex/com.android.art/bin/art/arm64/art_cmdline_tests \
147          /apex/com.android.art/bin/art/arm64/art_dexdump_tests
148        ```
149    * Gtest options can be passed to each gtest by passing them after `--`; see
150      the following examples.
151        * To print the list of all test cases of a given gtest, use option
152          `--gtest_list_tests`:
153            ```bash
154            art/tools/run-gtests.sh \
155              /apex/com.android.art/bin/art/arm64/art_cmdline_tests \
156              -- --gtest_list_tests
157            ```
158        * To filter the test cases to execute, use option `--gtest_filter`:
159            ```bash
160            art/tools/run-gtests.sh \
161              /apex/com.android.art/bin/art/arm64/art_cmdline_tests \
162              -- --gtest_filter="*TestJdwp*"
163            ```
164        * To see all the options supported by a gtest, use option `--help`:
165            ```bash
166            art/tools/run-gtests.sh \
167              /apex/com.android.art/bin/art/arm64/art_cmdline_tests \
168              -- --help
169            ```
170    * Note: Some test cases of `art_runtime_tests` defined in
171    `art/runtime/gc/space/image_space_test.cc` may fail when using the full AOSP
172    tree (b/119815008).
173        * Workaround: Run `m clean-oat-host` before the build step
174        (`art/tools/buildbot-build.sh --target`) above.
175    * Note: The `-j` option of script `art/tools/run-gtests.sh` is not honored
176      yet (b/129930445). However, gtests themselves support parallel execution,
177      which can be specified via the gtest option `-j`:
178        ```bash
179        art/tools/run-gtests.sh -- -j4
180        ```
1818. Run ART run-tests:
182    * On a 64-bit target:
183        ```bash
184        art/test/testrunner/testrunner.py --target --64
185        ```
186    * On a 32-bit target:
187        ```bash
188        art/test/testrunner/testrunner.py --target --32
189        ```
1909. Run Libcore tests:
191    * On a 64-bit target:
192        ```bash
193        art/tools/run-libcore-tests.sh --mode=device --variant=X64
194        ```
195    * On a 32-bit target:
196        ```bash
197        art/tools/run-libcore-tests.sh --mode=device --variant=X32
198        ```
19910. Run JDWP tests:
200    * On a 64-bit target:
201        ```bash
202        art/tools/run-libjdwp-tests.sh --mode=device --variant=X64
203        ```
204    * On a 32-bit target:
205        ```bash
206        art/tools/run-libjdwp-tests.sh --mode=device --variant=X32
207        ```
20811. Tear down device setup:
209    ```bash
210    art/tools/buildbot-teardown-device.sh
211    ```
21212. Clean up the device:
213    ```bash
214    art/tools/buildbot-cleanup-device.sh
215    ```
216

README.chroot_vm.md

1# ART chroot-based testing on a Linux VM
2
3This doc describes how to set up a Linux VM and how to run ART tests on it.
4
5## Set up the VM
6
7Use script art/build/buildbot-vm.sh. It has various commands (actions) described
8below. First, set up some environment variables used by the script (change as
9you see fit):
10```
11export ART_TEST_SSH_USER=ubuntu
12export ART_TEST_SSH_HOST=localhost
13export ART_TEST_SSH_PORT=10001
14```
15Create the VM (download it and do some initial setup):
16```
17art/tools/buildbot-vm.sh create
18```
19Install SSH keys on the VM:
20```
21art/tools/buildbot-vm.sh install-keys
22```
23Boot the VM (login is `$ART_TEST_SSH_USER`, password is `ubuntu`):
24```
25art/tools/buildbot-vm.sh boot
26```
27Now you have the shell (no need to enter password every time as we've installed
28SSH keys on the VM):
29```
30art/tools/buildbot-vm.sh connect
31```
32To power off the VM, do:
33```
34art/tools/buildbot-vm.sh quit
35```
36To speed up SSH access, set `UseDNS no` in /etc/ssh/sshd_config on the VM (and
37apply other tweaks described in https://jrs-s.net/2017/07/01/slow-ssh-logins).
38
39# Run ART tests
40```
41This is done in the same way as you would run tests in chroot on device (except
42for a few extra environment variables):
43
44export ANDROID_SERIAL=nonexistent
45export ART_TEST_SSH_USER=ubuntu
46export ART_TEST_SSH_HOST=localhost
47export ART_TEST_SSH_PORT=10001
48export ART_TEST_ON_VM=true
49
50. ./build/envsetup.sh
51lunch armv8-trunk_staging-eng  # or aosp_riscv64-trunk_staging-userdebug, etc.
52art/tools/buildbot-build.sh --target # --installclean
53
54art/tools/buildbot-cleanup-device.sh
55
56# The following two steps can be skipped for faster iteration, but it doesn't
57# always track and update dependencies correctly (e.g. if only an assembly file
58# has been modified).
59art/tools/buildbot-setup-device.sh
60art/tools/buildbot-sync.sh
61
62art/test/run-test --chroot $ART_TEST_CHROOT --64 --interpreter -O 001-HelloWorld
63art/test.py --target -r --ndebug --no-image --64 --interpreter  # specify tests
64art/tools/run-gtests.sh
65
66art/tools/buildbot-cleanup-device.sh
67```
68Both test.py and run-test scripts can be used. Tweak options as necessary.
69
70# Limitations
71
72Limitations are mostly related to the absence of system properties on the Linux.
73They are not really needed for ART tests, but they are used for test-related
74things, e.g. to find out if the tests should run in debug configuration (option
75`ro.debuggable`). Therefore debug configuration is currently broken.
76

README.md

1# ART Testing
2
3There are two suites of tests in the Android Runtime (ART):
4* _ART run-tests_: Tests of the ART runtime using Dex bytecode (mostly written
5  in Java).
6* _ART gtests_: C++ tests exercising various aspects of ART.
7
8## ART run-tests
9
10ART run-tests are tests exercising the runtime using Dex bytecode. They are
11written in Java and/or [Smali](https://github.com/JesusFreke/smali)
12(compiled/assembled as Dex bytecode) and sometimes native code (written as C/C++
13testing libraries). Some tests also make use of the
14[Jasmin](http://jasmin.sourceforge.net/) assembler or the
15[ASM](https://asm.ow2.io/) bytecode manipulation tool. Run-tests are
16executed on the ART runtime (`dalvikvm`), possibly preceded by a
17pre-optimization of the Dex code (using `dex2oat`).
18
19The run-tests are identified by directories in this `test` directory, named with
20a numeric prefix and containing an `info.txt` file. For most run tests, the
21sources are in the `src` subdirectory. Sources found in the `src2` directory are
22compiled separately but to the same output directory; this can be used to
23exercise "API mismatch" situations by replacing class files created in the first
24pass. The `src-ex` directory is built separately, and is intended for exercising
25class loaders.  Resources can be stored in the `res` directory, which is
26distributed together with the executable files.
27
28The run-tests logic lives in the `test/run-test` Bash script. The execution of a
29run-test has three main parts: building the test, running the test, and checking
30the test's output. By default, these three steps are implemented by three Bash
31scripts located in the `test/etc` directory (`default-build`, `default-run`, and
32`default-check`). These scripts rely on environment variables set by
33`test/run-test`.
34
35The default logic for all of these these steps (build, run, check) is overridden
36if the test's directory contains a Bash script named after the step
37(i.e. `build`, `run`, or `check`). Note that the default logic of the "run" step
38is actually implemented in the "JAR runner" (`test/etc/run-test-jar`), invoked
39by `test/etc/default-run`.
40
41After the execution of a run-test, the check step's default behavior
42(implemented in `test/etc/default-check`) is to respectively compare its
43standard output and standard error with the contents of the
44`expected-stdout.txt` and `expected-stderr.txt` files contained in the test's
45directory; any mismatch triggers a test failure.
46
47The `test/run-test` script handles the execution of a single run-test in a given
48configuration. The Python script `test/testrunner/testrunner.py` is a convenient
49script handling the construction and execution of multiple tests in one
50configuration or more.
51
52To see the invocation options supported by `run-test` and `testrunner.py`, run
53these commands from the Android source top-level directory:
54```sh
55art/test/run-test --help
56```
57```sh
58art/test/testrunner/testrunner.py --help
59```
60
61### Checker tests
62
63Some ART run-tests, known as "Checker tests", perform additional checks on ART's
64compiler. They are identified by their name, which match the
65`^[0-9]+-checker-.*` regular expression (e.g. `004-checker-UnsafeTest18`).
66
67Checker assertions are annotations in a run-test's (Java and Smali) source files
68verifying the behavior of the ART compiler when compiling the corresponding Dex
69code. They are checked by the `checker` tool (see [directory
70`art/tools/checker`](https://cs.android.com/android/platform/superproject/+/master:art/tools/checker/))
71against a c1visualizer-style (`.cfg`) file emitted by `dex2oat`, containing
72control-flow graphs (CFGs) for compiled methods at each step (pass) in the
73compiler's pipeline, as well as the emitted assembly code.
74
75## ART gtests
76
77ART gtests are written in C++ using the [Google
78Test](https://github.com/google/googletest) framework. These tests exercise
79various aspects of the runtime (the logic in `libart`, `libart-compiler`, etc.)
80and its binaries (`dalvikvm`, `dex2oat`, `oatdump`, etc.). Some of them are used
81as unit tests to verify a particular construct in ART. These tests may depend on
82some test Dex files and core images.
83
84ART gtests are defined in various directories within the ART project (usually in
85the same directory as the code they exercise). Their source files usually end
86with the suffix `_test.cc`. The construction logic of these tests is implemented
87in ART's build system (`Android.bp` and `Android*.mk` files). On host, these
88gtests can be run by executing `m test-art-host-gtest`. On device, the
89recommended approach is to run these tests in a chroot environment (see
90`README.chroot.md` in this directory).
91
92
93# Test execution
94
95All tests in either suite can be run using the `art/test.py`
96script. Additionally, run-tests can be run individually. All of the tests can be
97run on the build host, on a USB-attached device, or using the build host
98"reference implementation".
99
100ART also supports running target (device) tests in a chroot environment (see
101`README.chroot.md` in this directory). This is currently the recommended way to
102run tests on target (rather than using `art/test.py --target`).
103
104To see command flags run:
105
106```sh
107$ art/test.py -h
108```
109
110## Building tests
111
112In general all tests require some dependencies to be built before they can be run.
113In general you can pass the `--build-dependencies` flag (also available as short
114option -b) to `art/test.py` program to automatically build required dependencies.
115One can also directly use the various `test-art-...-dependencies` targets listed
116below.
117
118## Running all tests on the build host
119
120```sh
121$ # Build test files
122$ m test-art-host-run-test-dependencies
123$ # Run the tests
124$ art/test.py --host
125```
126
127Or:
128
129```
130$ art/test.py -b --host
131```
132
133## Running all tests on the target device
134
135```sh
136$ # Build test files
137$ m test-art-target-run-test-dependencies
138$ # Run the tests
139$ art/test.py --target
140```
141
142Or:
143
144```
145$ art/test.py -b --target
146```
147
148## Running all gtests on the build host
149
150```sh
151$ art/test.py --host -g
152```
153
154## Running all gtests on the target device
155
156```sh
157$ art/test.py --target -g
158```
159
160## Running all run-tests on the build host
161
162```sh
163$ # Build test files
164$ m test-art-host-run-test-dependencies
165$ art/test.py --host -r
166```
167
168Or:
169
170```
171$ art/test.py -b --host -r
172```
173
174## Running all run-tests on the target device
175
176```sh
177$ art/test.py --target -r
178```
179
180## Building and running one run-test on the build host
181
182```sh
183$ # Build test files
184$ m test-art-host-run-test-dependencies
185$ # Run the tests
186$ art/test.py --host -r -t 001-HelloWorld
187```
188
189Or:
190
191```
192$ art/test.py -b --host -r -t 001-HelloWorld
193```
194
195## Building and running one run-test on the target device
196
197```sh
198$ art/test.py --target -b -r -t 001-HelloWorld
199```
200
201The `-b` option (re)builds the shard for the given test(s) and pushes it to
202device. However the push may not include all necessary dependencies, e.g. test
203`.so` libraries like `libarttest.so`.
204
205## Running one gtest on the build host
206
207```sh
208$ m test-art-host-gtest-art_runtime_tests
209```
210
211Note: Although this is a build command, it actually builds the test with
212dependencies and runs the test.
213
214If you want to run the test with more options, use the following commands
215instead. Note that you need to run the test with the command above at least once
216before you run the commands below.
217
218```sh
219$ find out/host/ -type f -name art_runtime_tests  # Find the path of the test.
220$ out/host/linux-x86/nativetest/art_runtime_tests/art_runtime_tests
221```
222
223Add "--no_isolate" to run the tests one by one in single process (disable forking).
224Add "--gtest_filter=..." to select specific sub-test(s) to run.
225Prefix by "gdb --args " to run the test in gdb.
226
227# ART Continuous Integration
228
229Both ART run-tests and gtests are run continuously as part of [ART's continuous
230integration](https://ci.chromium.org/p/art/g/luci/console). In addition, two
231other test suites are run continuously on this service: Libcore tests and JDWP
232tests.
233