Merge JDK-8200758-branch
authorherrick
Thu, 01 Nov 2018 09:01:15 -0400
branchJDK-8200758-branch
changeset 57014 d3a84ae11429
parent 57013 0ece1b6f0958 (current diff)
parent 52368 ecef74be8e25 (diff)
child 57015 5d2008115309
Merge
src/hotspot/cpu/arm/arm_64.ad
src/hotspot/cpu/arm/assembler_arm_64.cpp
src/hotspot/cpu/arm/assembler_arm_64.hpp
src/hotspot/cpu/arm/nativeInst_arm_64.cpp
src/hotspot/cpu/arm/nativeInst_arm_64.hpp
src/hotspot/cpu/arm/vm_version_arm_64.cpp
src/hotspot/os_cpu/linux_arm/linux_arm_64.s
src/java.base/macosx/classes/module-info.java.extra
src/java.base/macosx/native/libjli/java_md_macosx.m
src/java.base/share/classes/jdk/internal/misc/VMNotification.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java
test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java
test/jdk/java/util/Calendar/GenericTimeZoneNamesTest.sh
test/jdk/java/util/Calendar/NarrowNamesTest.sh
test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.sh
test/jdk/java/util/prefs/CheckUserPrefsStorage.sh
test/jdk/java/util/prefs/PrefsSpi.sh
test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java
--- a/.hgtags	Thu Nov 01 08:52:50 2018 -0400
+++ b/.hgtags	Thu Nov 01 09:01:15 2018 -0400
@@ -519,3 +519,5 @@
 6f04692c7d5137ee34a6bd94c0c8a6c9219cb127 jdk-12+14
 f8626bcc169813a4b2a15880386b952719d1d6d1 jdk-12+15
 199658d1ef860cdc17055b4fd3e94b057f292fe9 jdk-12+16
+eefa65e142af305923d2adcd596fab9c639723a1 jdk-12+17
+e38473506688e0995e701fc7f77d5a91b438ef93 jdk-12+18
--- a/doc/building.html	Thu Nov 01 08:52:50 2018 -0400
+++ b/doc/building.html	Thu Nov 01 09:01:15 2018 -0400
@@ -707,7 +707,6 @@
 <p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
 <h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
 <p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
-<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
 <h3 id="verifying-the-build">Verifying the Build</h3>
 <p>The build will end up in a directory named like <code>build/linux-arm-normal-server-release</code>.</p>
 <p>Inside this build output directory, the <code>images/jdk</code> will contain the newly built JDK, for your <em>target</em> system.</p>
--- a/doc/building.md	Thu Nov 01 08:52:50 2018 -0400
+++ b/doc/building.md	Thu Nov 01 09:01:15 2018 -0400
@@ -1080,14 +1080,6 @@
 armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer
 properly supported by the JDK.
 
-The JDK contains two different ports for the aarch64 platform, one is the
-original aarch64 port from the [AArch64 Port Project](
-http://openjdk.java.net/projects/aarch64-port) and one is a 64-bit version of
-the Oracle contributed ARM port. When targeting aarch64, by the default the
-original aarch64 port is used. To select the Oracle ARM 64 port, use
-`--with-cpu-port=arm64`. Also set the corresponding value (`aarch64` or
-`arm64`) to --with-abi-profile, to ensure a consistent build.
-
 ### Verifying the Build
 
 The build will end up in a directory named like
--- a/doc/testing.html	Thu Nov 01 08:52:50 2018 -0400
+++ b/doc/testing.html	Thu Nov 01 09:01:15 2018 -0400
@@ -18,12 +18,13 @@
 </header>
 <nav id="TOC">
 <ul>
-<li><a href="#using-the-run-test-framework">Using the run-test framework</a><ul>
+<li><a href="#using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</a><ul>
 <li><a href="#configuration">Configuration</a></li>
 </ul></li>
 <li><a href="#test-selection">Test selection</a><ul>
 <li><a href="#jtreg">JTReg</a></li>
 <li><a href="#gtest">Gtest</a></li>
+<li><a href="#special-tests">Special tests</a></li>
 </ul></li>
 <li><a href="#test-results-and-summary">Test results and summary</a></li>
 <li><a href="#test-suite-control">Test suite control</a><ul>
@@ -32,22 +33,23 @@
 </ul></li>
 </ul>
 </nav>
-<h2 id="using-the-run-test-framework">Using the run-test framework</h2>
+<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
 <p>This new way of running tests is developer-centric. It assumes that you have built a JDK locally and want to test it. Running common test targets is simple, and more complex ad-hoc combination of tests is possible. The user interface is forgiving, and clearly report errors it cannot resolve.</p>
-<p>The main target &quot;run-test&quot; uses the jdk-image as the tested product. There is also an alternate target &quot;exploded-run-test&quot; that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
+<p>The main target <code>test</code> uses the jdk-image as the tested product. There is also an alternate target <code>exploded-test</code> that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
+<p>Previously, <code>make test</code> was used invoke an old system for running test, and <code>make run-test</code> was used for the new test framework. For backward compatibility with scripts and muscle memory, <code>run-test</code> (and variants like <code>exploded-run-test</code> or <code>run-test-tier1</code>) are kept as aliases. The old system can still be accessed for some time using <code>cd test &amp;&amp; make</code>.</p>
 <p>Some example command-lines:</p>
-<pre><code>$ make run-test-tier1
-$ make run-test-jdk_lang JTREG=&quot;JOBS=8&quot;
-$ make run-test TEST=jdk_lang
-$ make run-test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
-$ make run-test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
-$ make run-test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
-$ make exploded-run-test TEST=tier2</code></pre>
+<pre><code>$ make test-tier1
+$ make test-jdk_lang JTREG=&quot;JOBS=8&quot;
+$ make test TEST=jdk_lang
+$ make test-only TEST=&quot;gtest:LogTagSet gtest:LogTagSetDescriptions&quot; GTEST=&quot;REPEAT=-1&quot;
+$ make test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;
+$ make test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
+$ make exploded-test TEST=tier2</code></pre>
 <h3 id="configuration">Configuration</h3>
 <p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
 <h2 id="test-selection">Test selection</h2>
-<p>All functionality is available using the run-test make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, run-test-only can be used instead, which do not depend on the source and test image build.</p>
-<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make run-test-tier1</code> is equivalent to <code>make run-test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>run-test TEST=&quot;x&quot;</code> solution needs to be used.</p>
+<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
+<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
 <p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
 <h3 id="jtreg">JTReg</h3>
 <p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
@@ -59,6 +61,14 @@
 <p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
 <p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
 <p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
+<h3 id="special-tests">Special tests</h3>
+<p>A handful of odd tests that are not covered by any other testing framework are accessible using the <code>special:</code> test descriptor. Currently, this includes <code>hotspot-internal</code>, <code>failure-handler</code> and <code>make</code>.</p>
+<ul>
+<li><p>Hotspot legacy internal testing (run using <code>-XX:+ExecuteInternalVMTests</code>) is run using <code>special:hotspot-internal</code> or just <code>hotspot-internal</code> as test descriptor, and will only work on a debug JVM.</p></li>
+<li><p>Failure handler testing is run using <code>special:failure-handler</code> or just <code>failure-handler</code> as test descriptor.</p></li>
+<li><p>Tests for the build system, including both makefiles and related functionality, is run using <code>special:make</code> or just <code>make</code> as test descriptor. This is equivalent to <code>special:make:all</code>.</p>
+<p>A specific make test can be run by supplying it as argument, e.g. <code>special:make:idea</code>. As a special syntax, this can also be expressed as <code>make-idea</code>, which allows for command lines as <code>make test-make-idea</code>.</p></li>
+</ul>
 <h2 id="test-results-and-summary">Test results and summary</h2>
 <p>At the end of the test run, a summary of all tests run will be presented. This will have a consistent look, regardless of what test suites were used. This is a sample summary:</p>
 <pre><code>==============================
@@ -72,7 +82,7 @@
 TEST FAILURE</code></pre>
 <p>Tests where the number of TOTAL tests does not equal the number of PASSed tests will be considered a test failure. These are marked with the <code>&gt;&gt; ... &lt;&lt;</code> marker for easy identification.</p>
 <p>The classification of non-passed tests differs a bit between test suites. In the summary, ERROR is used as a catch-all for tests that neither passed nor are classified as failed by the framework. This might indicate test framework error, timeout or other problems.</p>
-<p>In case of test failures, <code>make run-test</code> will exit with a non-zero exit value.</p>
+<p>In case of test failures, <code>make test</code> will exit with a non-zero exit value.</p>
 <p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
 <p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
 <h2 id="test-suite-control">Test suite control</h2>
--- a/doc/testing.md	Thu Nov 01 08:52:50 2018 -0400
+++ b/doc/testing.md	Thu Nov 01 09:01:15 2018 -0400
@@ -1,26 +1,32 @@
 % Testing the JDK
 
-## Using the run-test framework
+## Using "make test" (the run-test framework)
 
 This new way of running tests is developer-centric. It assumes that you have
 built a JDK locally and want to test it. Running common test targets is simple,
 and more complex ad-hoc combination of tests is possible. The user interface is
 forgiving, and clearly report errors it cannot resolve.
 
-The main target "run-test" uses the jdk-image as the tested product. There is
-also an alternate target "exploded-run-test" that uses the exploded image
+The main target `test` uses the jdk-image as the tested product. There is
+also an alternate target `exploded-test` that uses the exploded image
 instead. Not all tests will run successfully on the exploded image, but using
 this target can greatly improve rebuild times for certain workflows.
 
+Previously, `make test` was used invoke an old system for running test, and
+`make run-test` was used for the new test framework. For backward compatibility
+with scripts and muscle memory, `run-test` (and variants like
+`exploded-run-test` or `run-test-tier1`) are kept as aliases. The old system
+can still be accessed for some time using `cd test && make`.
+
 Some example command-lines:
 
-    $ make run-test-tier1
-    $ make run-test-jdk_lang JTREG="JOBS=8"
-    $ make run-test TEST=jdk_lang
-    $ make run-test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
-    $ make run-test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
-    $ make run-test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
-    $ make exploded-run-test TEST=tier2
+    $ make test-tier1
+    $ make test-jdk_lang JTREG="JOBS=8"
+    $ make test TEST=jdk_lang
+    $ make test-only TEST="gtest:LogTagSet gtest:LogTagSetDescriptions" GTEST="REPEAT=-1"
+    $ make test TEST="hotspot:hotspot_gc" JTREG="JOBS=1;TIMEOUT=8;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"
+    $ make test TEST="jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java"
+    $ make exploded-test TEST=tier2
 
 ### Configuration
 
@@ -33,16 +39,16 @@
 
 ## Test selection
 
-All functionality is available using the run-test make target. In this use
-case, the test or tests to be executed is controlled using the `TEST` variable.
-To speed up subsequent test runs with no source code changes, run-test-only can
-be used instead, which do not depend on the source and test image build.
+All functionality is available using the `test` make target. In this use case,
+the test or tests to be executed is controlled using the `TEST` variable. To
+speed up subsequent test runs with no source code changes, `test-only` can be
+used instead, which do not depend on the source and test image build.
 
 For some common top-level tests, direct make targets have been generated. This
 includes all JTReg test groups, the hotspot gtest, and custom tests (if
-present). This means that `make run-test-tier1` is equivalent to `make run-test
+present). This means that `make test-tier1` is equivalent to `make test
 TEST="tier1"`, but the latter is more tab-completion friendly. For more complex
-test runs, the `run-test TEST="x"` solution needs to be used.
+test runs, the `test TEST="x"` solution needs to be used.
 
 The test specifications given in `TEST` is parsed into fully qualified test
 descriptors, which clearly and unambigously show which tests will be run. As an
@@ -98,6 +104,27 @@
 variant present (e.g. server, client). So if you only have the server JVM
 present, then `gtest:all` will be equivalent to `gtest:all/server`.
 
+### Special tests
+
+A handful of odd tests that are not covered by any other testing framework are
+accessible using the `special:` test descriptor. Currently, this includes
+`hotspot-internal`, `failure-handler` and `make`.
+
+  * Hotspot legacy internal testing (run using `-XX:+ExecuteInternalVMTests`)
+    is run using `special:hotspot-internal` or just `hotspot-internal` as test
+    descriptor, and will only work on a debug JVM.
+
+  * Failure handler testing is run using `special:failure-handler` or just
+    `failure-handler` as test descriptor.
+
+  * Tests for the build system, including both makefiles and related
+    functionality, is run using `special:make` or just `make` as test
+    descriptor. This is equivalent to `special:make:all`.
+
+    A specific make test can be run by supplying it as argument, e.g.
+    `special:make:idea`. As a special syntax, this can also be expressed as
+    `make-idea`, which allows for command lines as `make test-make-idea`.
+
 ## Test results and summary
 
 At the end of the test run, a summary of all tests run will be presented. This
@@ -123,7 +150,7 @@
 classified as failed by the framework. This might indicate test framework
 error, timeout or other problems.
 
-In case of test failures, `make run-test` will exit with a non-zero exit value.
+In case of test failures, `make test` will exit with a non-zero exit value.
 
 All tests have their result stored in `build/$BUILD/test-results/$TEST_ID`,
 where TEST_ID is a path-safe conversion from the fully qualified test
--- a/make/Docs.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/Docs.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -61,11 +61,11 @@
     $(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
 
 # URLs
-JAVADOC_BASE_URL := http://www.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage
-BUG_SUBMIT_URL := http://bugreport.java.com/bugreport/
+JAVADOC_BASE_URL := https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage
+BUG_SUBMIT_URL := https://bugreport.java.com/bugreport/
 COPYRIGHT_URL := {@docroot}/../legal/copyright.html
-LICENSE_URL := http://www.oracle.com/technetwork/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
-REDISTRIBUTION_URL := http://www.oracle.com/technetwork/java/redist-137594.html
+LICENSE_URL := https://www.oracle.com/technetwork/java/javase/terms/license/java$(VERSION_NUMBER)speclicense.html
+REDISTRIBUTION_URL := https://www.oracle.com/technetwork/java/redist-137594.html
 
 # In order to get a specific ordering it's necessary to specify the total
 # ordering of tags as the tags are otherwise ordered in order of definition.
--- a/make/Help.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/Help.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -55,10 +55,10 @@
 	$(info $(_) make install           # Install the generated images locally)
 	$(info $(_) make reconfigure       # Rerun configure with the same arguments as last time)
 	$(info $(_) make help              # Give some help on using make)
-	$(info $(_) make test              # Run tests, default is all tests (see TEST below))
-	$(info $(_) make run-test-<test>   # Run test, e.g. run-test-tier1)
-	$(info $(_) make run-test TEST=<t> # Run test(s) given by TEST specification)
-	$(info $(_) make exploded-run-test TEST=<t> # Run test(s) on the exploded image instead of)
+	$(info $(_) make check             # Run basic testing (currently tier1))
+	$(info $(_) make test-<test>       # Run test, e.g. test-tier1)
+	$(info $(_) make test TEST=<t>     # Run test(s) given by TEST specification)
+	$(info $(_) make exploded-test TEST=<t> # Run test(s) on the exploded image instead of)
 	$(info $(_)                        # the full jdk image)
 	$(info )
 	$(info Targets for cleaning)
@@ -99,10 +99,12 @@
 	$(info $(_) TEST_JOBS=<n>          # Run <n> parallel test jobs)
 	$(info $(_) CONF_CHECK=<method>    # What to do if spec file is out of date)
 	$(info $(_)                        # method is 'auto', 'ignore' or 'fail' (default))
-	$(info $(_) make test TEST=<test>  # Only run the given test or tests, e.g.)
-	$(info $(_)                        # make test TEST="jdk_lang jdk_net")
-	$(info $(_) JTREG="OPT1=x;OPT2=y"  # Control the JTREG test harness for run-test)
-	$(info $(_) GTEST="OPT1=x;OPT2=y"  # Control the GTEST test harness for run-test)
+	$(info $(_) TEST="test1 ..."       # Use the given test descriptor(s) for testing, e.g.)
+	$(info $(_)                        # make test TEST="jdk_lang gtest:all")
+	$(info $(_) JTREG="OPT1=x;OPT2=y"  # Control the JTREG test harness)
+	$(info $(_) GTEST="OPT1=x;OPT2=y"  # Control the GTEST test harness)
+	$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
+	$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
 	$(info )
 	$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
 	    $(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
--- a/make/Main.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/Main.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -473,10 +473,10 @@
 #
 
 define DeclareRunTestRecipe
-  run-test-$1:
+  test-$1:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test TEST="$1")
 
-  exploded-run-test-$1:
+  exploded-test-$1:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
 	    TEST="$1" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
 
@@ -484,8 +484,8 @@
 
 # ALL_NAMED_TESTS is defined in FindTests.gmk
 $(foreach t, $(ALL_NAMED_TESTS), $(eval $(call DeclareRunTestRecipe,$t)))
-ALL_TEST_TARGETS := $(addprefix run-test-, $(ALL_NAMED_TESTS))
-ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-run-test-, $(ALL_NAMED_TESTS))
+ALL_TEST_TARGETS := $(addprefix test-, $(ALL_NAMED_TESTS))
+ALL_EXPLODED_TEST_TARGETS := $(addprefix exploded-test-, $(ALL_NAMED_TESTS))
 
 ALL_TARGETS += $(ALL_TEST_TARGETS) $(ALL_EXPLODED_TEST_TARGETS)
 
@@ -520,13 +520,6 @@
 	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f JtregGraalUnit.gmk \
 	     test-image-hotspot-jtreg-graal)
 
-run-test:
-	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test TEST="$(TEST)")
-
-exploded-run-test:
-	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
-	    TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
-
 ifeq ($(BUILD_GTEST), true)
   test-image-hotspot-gtest:
 	+($(CD) $(TOPDIR)/make/hotspot/test && $(MAKE) $(MAKE_ARGS) -f GtestImage.gmk)
@@ -541,11 +534,6 @@
 	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
 	    -f BuildFailureHandler.gmk build)
 
-  # Runs the tests for the failure handler jtreg extension
-  test-failure-handler:
-	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
-	    -f BuildFailureHandler.gmk test)
-
   # Copies the failure handler jtreg extension into the test image
   test-image-failure-handler:
 	+($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) \
@@ -556,40 +544,19 @@
     test-image-hotspot-jtreg-native build-test-jdk-jtreg-native \
     test-image-jdk-jtreg-native build-test-lib build-test-failure-handler \
     test-failure-handler test-image-failure-handler test-image-hotspot-gtest \
-    test-image-hotspot-jtreg-graal build-test-hotspot-jtreg-graal \
-    run-test exploded-run-test
+    test-image-hotspot-jtreg-graal build-test-hotspot-jtreg-graal
 
 ################################################################################
 # Run tests
 
-# Run tests specified by $(TEST), or the default test set.
 test:
-	$(call RunTests, $(TEST), $(JDK_IMAGE_DIR))
-
-test-hotspot-jtreg:
-	$(call RunTests, "hotspot_all", $(JDK_IMAGE_DIR))
-
-test-hotspot-jtreg-native:
-	$(call RunTests, "hotspot_native_sanity", $(JDK_IMAGE_DIR))
-
-test-hotspot-internal:
-	$(call RunTests, "hotspot_internal", $(JDK_OUTPUTDIR))
+	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test TEST="$(TEST)")
 
-test-hotspot-gtest:
-	$(call RunTests, "hotspot_gtest", $(JDK_OUTPUTDIR))
-
-test-jdk-jtreg-native:
-	$(call RunTests, "jdk_native_sanity", $(JDK_IMAGE_DIR))
+exploded-test:
+	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f RunTests.gmk run-test \
+	    TEST="$(TEST)" JDK_IMAGE_DIR=$(JDK_OUTPUTDIR))
 
-test-make:
-	($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk $(TEST_TARGET))
-
-test-compile-commands:
-	($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk test-compile-commands)
-
-ALL_TARGETS += test test-hotspot-jtreg test-hotspot-jtreg-native \
-    test-hotspot-internal test-hotspot-gtest test-jdk-jtreg-native test-make \
-    test-compile-commands
+ALL_TARGETS += test exploded-test
 
 ################################################################################
 # Bundles
@@ -874,14 +841,18 @@
 
   docs-zip: docs-jdk
 
+  # Tests
   test: jdk-image test-image
 
-  run-test: jdk-image test-image
-  exploded-run-test: exploded-image test-image
+  exploded-test: exploded-image test-image
+
+  test-make: clean-test-make compile-commands
+
+  test-make-compile-commands: compile-commands
 
   # Declare dependency for all generated test targets
-  $(foreach t, $(ALL_TEST_TARGETS), $(eval $t: jdk-image test-image))
-  $(foreach t, $(ALL_EXPLODED_TEST_TARGETS), $(eval $t: exploded-image test-image))
+  $(foreach t, $(filter-out test-make%, $(ALL_TEST_TARGETS)), $(eval $t: jdk-image test-image))
+  $(foreach t, $(filter-out exploded-test-make%, $(ALL_EXPLODED_TEST_TARGETS)), $(eval $t: exploded-image test-image))
 
   create-buildjdk-copy: jdk.jlink-java java.base-gendata \
       $(addsuffix -java, $(INTERIM_IMAGE_MODULES))
@@ -890,16 +861,10 @@
 
   interim-image: $(INTERIM_JMOD_TARGETS)
 
-  test-make: clean-test-make
-
-  test-compile-commands: compile-commands
-
   build-test-lib: exploded-image-optimize
 
   build-test-failure-handler: interim-langtools
 
-  test-failure-handler: build-test-failure-handler
-
   test-image-failure-handler: build-test-failure-handler
 
   build-test-hotspot-jtreg-native: buildtools-jdk \
@@ -917,12 +882,6 @@
 
   test-image-hotspot-gtest: hotspot
 
-  test-hotspot-internal: exploded-image
-
-  test-hotspot-jtreg: jdk-image test-image
-
-  test-hotspot-gtest: exploded-image test-image-hotspot-gtest
-
   install: product-images
 
   product-bundles: product-images
@@ -1091,6 +1050,30 @@
 
 ALL_TARGETS += default jdk images docs bundles all
 
+# Aliases used for running tests.
+
+# Let "run-test" be an alias for "test"
+$(foreach t, $(ALL_NAMED_TESTS), $(eval run-test-$t: test-$t))
+$(foreach t, $(ALL_NAMED_TESTS), $(eval exploded-run-test-$t: exploded-test-$t))
+RUN_TEST_TARGETS := $(addprefix run-test-, $(ALL_NAMED_TESTS)) \
+    $(addprefix exploded-run-test-, $(ALL_NAMED_TESTS))
+
+run-test: test
+exploded-run-test: exploded-test
+
+# "make check" is a common idiom for running basic testing
+check: test-tier1
+
+# Keep some old names as aliases
+test-hotspot-jtreg: test-hotspot_all
+test-hotspot-jtreg-native: test-hotspot_native_sanity
+test-hotspot-gtest: exploded-test-gtest
+test-jdk-jtreg-native: test-jdk_native_sanity
+
+ALL_TARGETS += $(RUN_TEST_TARGETS) run-test exploded-run-test check \
+    test-hotspot-jtreg test-hotspot-jtreg-native test-hotspot-gtest \
+    test-jdk-jtreg-native
+
 ################################################################################
 ################################################################################
 #
--- a/make/MainSupport.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/MainSupport.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -30,17 +30,6 @@
 ifndef _MAINSUPPORT_GMK
 _MAINSUPPORT_GMK := 1
 
-# Run the tests specified by $1, with PRODUCT_HOME specified by $2
-# JT_JAVA is picked up by the jtreg launcher and used to run Jtreg itself.
-define RunTests
-	($(CD) $(TOPDIR)/test && $(MAKE) $(MAKE_ARGS) -j1 -k MAKEFLAGS= \
-	    JT_HOME=$(JT_HOME) PRODUCT_HOME=$(strip $2) \
-	    TEST_IMAGE_DIR=$(TEST_IMAGE_DIR) \
-	    ALT_OUTPUTDIR=$(OUTPUTDIR) TEST_JOBS=$(TEST_JOBS) \
-	    JT_JAVA=$(BOOT_JDK) JIB_JAR=$(JIB_JAR) \
-	    JOBS=$(JOBS) $1) || true
-endef
-
 define CleanDocs
 	@$(PRINTF) "Cleaning docs ..."
 	@$(PRINTF) "\n" $(LOG_DEBUG)
--- a/make/RunTests.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/RunTests.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,14 @@
   ifndef _NT_SYMBOL_PATH
     # Can't use PathList here as it adds quotes around the value.
     _NT_SYMBOL_PATH := \
-        $(subst $(SPACE),;, $(foreach p, $(sort $(dir $(wildcard \
-        $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), $(call FixPath, $p)))
+        $(subst $(SPACE),;,$(strip \
+            $(foreach p, $(sort $(dir $(wildcard \
+                $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), \
+              $(call FixPath, $p) \
+            ) \
+        ))
     export _NT_SYMBOL_PATH
-    $(info _NT_SYMBOL_PATH $(_NT_SYMBOL_PATH))
+    $(info _NT_SYMBOL_PATH=$(_NT_SYMBOL_PATH))
   endif
 endif
 
@@ -296,16 +300,32 @@
 
 # Helper function to determine if a test specification is a special test
 #
-# It is a special test if it is "special:" followed by a test name.
+# It is a special test if it is "special:" followed by a test name,
+# if it is "make:" or "make-" followed by a make test, or any of the special test names
+# as a single word.
 define ParseSpecialTestSelection
   $(if $(filter special:%, $1), \
     $1 \
+  ) \
+  $(if $(filter make%, $1), \
+    $(if $(filter make:%, $1), \
+      special:$(strip $1) \
+    ) \
+    $(if $(filter make-%, $1), \
+      special:$(patsubst make-%,make:%, $1) \
+    ) \
+    $(if $(filter make, $1), \
+      special:make:all \
+    )
+  ) \
+  $(if $(filter hotspot-internal failure-handler, $1), \
+    special:$(strip $1) \
   )
 endef
 
 ifeq ($(TEST), )
   $(info No test selection given in TEST!)
-  $(info Please use e.g. 'run-test TEST=tier1' or 'run-test-tier1')
+  $(info Please use e.g. 'make test TEST=tier1' or 'make test-tier1')
   $(info See doc/testing.[md|html] for help)
   $(error Cannot continue)
 endif
@@ -659,9 +679,13 @@
         $$(JDK_IMAGE_DIR)/bin/java -XX:+ExecuteInternalVMTests \
         -XX:+ShowMessageBoxOnError -version
   else ifeq ($$($1_TEST_NAME), failure-handler)
-    $1_TEST_COMMAND_LINE := \
-        ($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f \
-        BuildFailureHandler.gmk test)
+    ifeq ($(BUILD_FAILURE_HANDLER), true)
+      $1_TEST_COMMAND_LINE := \
+          ($(CD) $(TOPDIR)/make/test && $(MAKE) $(MAKE_ARGS) -f \
+          BuildFailureHandler.gmk test)
+    else
+      $$(error Cannot test failure handler if it is not built)
+    endif
   else ifeq ($$($1_TEST_NAME), make)
     $1_TEST_COMMAND_LINE := \
         ($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f \
--- a/make/RunTestsPrebuiltSpec.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/RunTestsPrebuiltSpec.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -182,3 +182,7 @@
   SED := gsed
   TAR := gtar
 endif
+
+ifeq ($(OPENJDK_BUILD_OS), windows)
+  CYGPATH := cygpath
+endif
--- a/make/autoconf/flags-cflags.m4	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/autoconf/flags-cflags.m4	Thu Nov 01 09:01:15 2018 -0400
@@ -747,10 +747,6 @@
       # -Wno-psabi to get rid of annoying "note: the mangling of 'va_list' has changed in GCC 4.4"
       $1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
       $1_CFLAGS_CPU_JVM="-DARM"
-    elif test "x$FLAGS_CPU" = xaarch64; then
-      if test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
-        $1_CFLAGS_CPU_JVM="-fsigned-char -DARM"
-      fi
     elif test "x$FLAGS_CPU_ARCH" = xppc; then
       $1_CFLAGS_CPU_JVM="-minsert-sched-nops=regroup_exact -mno-multiple -mno-string"
       if test "x$FLAGS_CPU" = xppc64; then
--- a/make/autoconf/flags-ldflags.m4	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/autoconf/flags-ldflags.m4	Thu Nov 01 09:01:15 2018 -0400
@@ -173,10 +173,6 @@
     elif test "x$OPENJDK_$1_CPU" = xarm; then
       $1_CPU_LDFLAGS_JVM_ONLY="${$1_CPU_LDFLAGS_JVM_ONLY} -fsigned-char"
       $1_CPU_LDFLAGS="$ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
-    elif test "x$FLAGS_CPU" = xaarch64; then
-      if test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
-        $1_CPU_LDFLAGS_JVM_ONLY="${$1_CPU_LDFLAGS_JVM_ONLY} -fsigned-char"
-      fi
     fi
 
   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
--- a/make/autoconf/flags.m4	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/autoconf/flags.m4	Thu Nov 01 09:01:15 2018 -0400
@@ -34,7 +34,7 @@
 AC_DEFUN([FLAGS_SETUP_ABI_PROFILE],
 [
   AC_ARG_WITH(abi-profile, [AS_HELP_STRING([--with-abi-profile],
-      [specify ABI profile for ARM builds (arm-vfp-sflt,arm-vfp-hflt,arm-sflt, armv5-vfp-sflt,armv6-vfp-hflt,arm64,aarch64) @<:@toolchain dependent@:>@ ])])
+      [specify ABI profile for ARM builds (arm-vfp-sflt,arm-vfp-hflt,arm-sflt, armv5-vfp-sflt,armv6-vfp-hflt,aarch64) @<:@toolchain dependent@:>@ ])])
 
   if test "x$with_abi_profile" != x; then
     if test "x$OPENJDK_TARGET_CPU" != xarm && \
@@ -61,10 +61,6 @@
     elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarmv6-vfp-hflt; then
       ARM_FLOAT_TYPE=vfp-hflt
       ARM_ARCH_TYPE_FLAGS='-march=armv6 -marm'
-    elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm64; then
-      # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
-      ARM_FLOAT_TYPE=
-      ARM_ARCH_TYPE_FLAGS=
     elif test "x$OPENJDK_TARGET_ABI_PROFILE" = xaarch64; then
       # No special flags, just need to trigger setting JDK_ARCH_ABI_PROP_NAME
       ARM_FLOAT_TYPE=
--- a/make/autoconf/hotspot.m4	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/autoconf/hotspot.m4	Thu Nov 01 09:01:15 2018 -0400
@@ -72,8 +72,6 @@
   AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
       [JVM variants (separated by commas) to build (server,client,minimal,core,zero,custom) @<:@server@:>@])])
 
-  SETUP_HOTSPOT_TARGET_CPU_PORT
-
   if test "x$with_jvm_variants" = x; then
     with_jvm_variants="server"
   fi
@@ -299,9 +297,6 @@
   if test "x$OPENJDK_TARGET_CPU" = xarm; then
     HOTSPOT_TARGET_CPU=arm_32
     HOTSPOT_TARGET_CPU_DEFINE="ARM32"
-  elif test "x$OPENJDK_TARGET_CPU" = xaarch64 && test "x$HOTSPOT_TARGET_CPU_PORT" = xarm64; then
-    HOTSPOT_TARGET_CPU=arm_64
-    HOTSPOT_TARGET_CPU_ARCH=arm
   fi
 
   # Verify that dependencies are met for explicitly set features.
@@ -542,6 +537,9 @@
 
   # Used for verification of Makefiles by check-jvm-feature
   AC_SUBST(VALID_JVM_FEATURES)
+
+  # --with-cpu-port is no longer supported
+  BASIC_DEPRECATED_ARG_WITH(with-cpu-port)
 ])
 
 ###############################################################################
@@ -579,31 +577,6 @@
 ])
 
 ################################################################################
-#
-# Specify which sources will be used to build the 64-bit ARM port
-#
-# --with-cpu-port=arm64   will use hotspot/src/cpu/arm
-# --with-cpu-port=aarch64 will use hotspot/src/cpu/aarch64
-#
-AC_DEFUN([SETUP_HOTSPOT_TARGET_CPU_PORT],
-[
-  AC_ARG_WITH(cpu-port, [AS_HELP_STRING([--with-cpu-port],
-      [specify sources to use for Hotspot 64-bit ARM port (arm64,aarch64) @<:@aarch64@:>@ ])])
-
-  if test "x$with_cpu_port" != x; then
-    if test "x$OPENJDK_TARGET_CPU" != xaarch64; then
-      AC_MSG_ERROR([--with-cpu-port only available on aarch64])
-    fi
-    if test "x$with_cpu_port" != xarm64 && \
-        test "x$with_cpu_port" != xaarch64; then
-      AC_MSG_ERROR([--with-cpu-port must specify arm64 or aarch64])
-    fi
-    HOTSPOT_TARGET_CPU_PORT="$with_cpu_port"
-  fi
-])
-
-
-################################################################################
 # Check if gtest should be built
 #
 AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
--- a/make/common/FindTests.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/common/FindTests.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -72,6 +72,15 @@
 # Add Gtest
 ALL_NAMED_TESTS += gtest
 
+# Find make test targets
+MAKE_TEST_TARGETS := $(shell $(MAKE) -s --no-print-directory $(MAKE_ARGS) \
+    SPEC=$(SPEC) -f $(TOPDIR)/test/make/TestMake.gmk print-targets)
+
+ALL_NAMED_TESTS += $(addprefix make-, $(MAKE_TEST_TARGETS))
+
+# Add special tests
+ALL_NAMED_TESTS += hotspot-internal failure-handler make
+
 ################################################################################
 
 endif # _FIND_TESTS_GMK
--- a/make/conf/jib-profiles.js	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/conf/jib-profiles.js	Thu Nov 01 09:01:15 2018 -0400
@@ -233,8 +233,7 @@
     common.main_profile_names = [
         "linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
         "solaris-sparcv9", "windows-x64", "windows-x86",
-        "linux-aarch64", "linux-arm32", "linux-arm64", "linux-arm-vfp-hflt",
-        "linux-arm-vfp-hflt-dyn"
+        "linux-aarch64", "linux-arm32"
     ];
 
     // These are the base setttings for all the main build profiles.
@@ -440,20 +439,7 @@
             dependencies: ["devkit", "build_devkit", "cups"],
             configure_args: [
                 "--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
-                "--disable-warnings-as-errors", "--with-cpu-port=aarch64",
-            ],
-        },
-
-        "linux-arm64": {
-            target_os: "linux",
-            target_cpu: "aarch64",
-            build_cpu: "x64",
-            dependencies: ["devkit", "build_devkit", "cups", "headless_stubs"],
-            configure_args: [
-                "--with-cpu-port=arm64",
-                "--with-jvm-variants=server",
-                "--openjdk-target=aarch64-linux-gnu",
-                "--enable-headless-only"
+                "--disable-warnings-as-errors"
             ],
         },
 
@@ -467,30 +453,7 @@
                 "--with-abi-profile=arm-vfp-hflt", "--disable-warnings-as-errors"
             ],
         },
-
-        "linux-arm-vfp-hflt": {
-            target_os: "linux",
-            target_cpu: "arm",
-            build_cpu: "x64",
-            dependencies: ["devkit", "build_devkit", "cups"],
-            configure_args: [
-                "--with-jvm-variants=minimal1,client",
-                "--with-x=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
-                "--with-fontconfig=" + input.get("devkit", "install_path") + "/arm-linux-gnueabihf/libc/usr/X11R6-PI",
-                "--openjdk-target=arm-linux-gnueabihf",
-                "--with-abi-profile=arm-vfp-hflt",
-                "--with-freetype=bundled"
-            ],
-        },
-
-        // Special version of the SE profile adjusted to be testable on arm64 hardware.
-        "linux-arm-vfp-hflt-dyn": {
-            configure_args: "--with-stdc++lib=dynamic"
-        }
     };
-    // Let linux-arm-vfp-hflt-dyn inherit everything from linux-arm-vfp-hflt
-    profiles["linux-arm-vfp-hflt-dyn"] = concatObjects(
-        profiles["linux-arm-vfp-hflt-dyn"], profiles["linux-arm-vfp-hflt"]);
 
     // Add the base settings to all the main profiles
     common.main_profile_names.forEach(function (name) {
@@ -522,7 +485,7 @@
         .forEach(function (name) {
             var maketestName = name + "-testmake";
             profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
-            profiles[maketestName].default_make_targets = [ "test-make", "test-compile-commands" ];
+            profiles[maketestName].default_make_targets = [ "test-make" ];
         });
 
     // Profiles for building the zero jvm variant. These are used for verification.
@@ -617,15 +580,6 @@
         },
        "linux-arm32": {
             platform: "linux-arm32",
-        },
-       "linux-arm64": {
-            platform: "linux-arm64-vfp-hflt",
-        },
-        "linux-arm-vfp-hflt": {
-            platform: "linux-arm32-vfp-hflt",
-        },
-        "linux-arm-vfp-hflt-dyn": {
-            platform: "linux-arm32-vfp-hflt-dyn",
         }
     }
     // Generate common artifacts for all main profiles
@@ -759,7 +713,7 @@
                 testedProfile + ".test"
             ],
             src: "src.conf",
-            make_args: [ "run-test-prebuilt", "LOG_CMDLINES=true" ],
+            make_args: [ "run-test-prebuilt", "LOG_CMDLINES=true", "JTREG_VERBOSE=fail,error,time" ],
             environment: {
                 "BOOT_JDK": common.boot_jdk_home,
                 "JDK_IMAGE_DIR": input.get(testedProfile + ".jdk", "home_path"),
@@ -845,21 +799,13 @@
 var getJibProfilesDependencies = function (input, common) {
 
     var devkit_platform_revisions = {
-        linux_x64: "gcc7.3.0-OEL6.4+1.0",
+        linux_x64: "gcc7.3.0-OEL6.4+1.1",
         macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
         solaris_x64: "SS12u4-Solaris11u1+1.0",
         solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
         windows_x64: "VS2017-15.5.5+1.0",
-        linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
-                    ? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
-                    : "gcc7.3.0-Fedora27+1.0"),
-        linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0
-                    ? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0"
-                    : (input.profile != null && input.profile.indexOf("arm32") >= 0
-                       ? "gcc7.3.0-Fedora27+1.0"
-                       : "arm-linaro-4.7+1.0"
-                       )
-                    )
+        linux_aarch64: "gcc7.3.0-Fedora27+1.0",
+        linux_arm: "gcc7.3.0-Fedora27+1.0"
     };
 
     var devkit_platform = (input.target_cpu == "x86"
--- a/make/devkit/Makefile	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/devkit/Makefile	Thu Nov 01 09:01:15 2018 -0400
@@ -36,7 +36,7 @@
 # By default this Makefile will build a native toolchain for the current
 # platform if called with something like this:
 #
-# make tars
+# make tars BASE_OS=OEL6
 #
 # To build the full set of crosstools for additional platforms, use a command
 # line looking like this:
--- a/make/devkit/Tools.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/devkit/Tools.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -110,6 +110,7 @@
     libXext libXext-devel \
     libXtst libXtst-devel \
     libXrender libXrender-devel \
+    libXrandr libXrandr-devel \
     freetype freetype-devel \
     libXt libXt-devel \
     libSM libSM-devel \
--- a/make/hotspot/lib/CompileJvm.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/hotspot/lib/CompileJvm.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -60,12 +60,6 @@
   OPENJDK_TARGET_CPU_VM_VERSION := amd64
 else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
   OPENJDK_TARGET_CPU_VM_VERSION := sparc
-else ifeq ($(HOTSPOT_TARGET_CPU_ARCH), arm)
-  ifeq ($(OPENJDK_TARGET_CPU), aarch64)
-    # This sets the Oracle Aarch64 port to use arm64
-    # while the original Aarch64 port uses aarch64
-    OPENJDK_TARGET_CPU_VM_VERSION := arm64
-  endif
 else
   OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
 endif
--- a/make/jdk/src/classes/build/tools/taglet/ExtLink.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/jdk/src/classes/build/tools/taglet/ExtLink.java	Thu Nov 01 09:01:15 2018 -0400
@@ -48,7 +48,7 @@
  * will produce the following html
  * <p>
  * {@code
- * Please see <a href="https://www.oracle.com/pls/topic/lookup?ctx=javase10&id=Borealis">a spectacular</a> sight.
+ * Please see <a href="https://docs.oracle.com/pls/topic/lookup?ctx=javase10&id=Borealis">a spectacular</a> sight.
  * }
  */
 public class ExtLink implements Taglet {
@@ -63,7 +63,7 @@
 
     static final String TAG_NAME = "extLink";
 
-    static final String URL = "https://www.oracle.com/pls/topic/lookup?ctx=javase" +
+    static final String URL = "https://docs.oracle.com/pls/topic/lookup?ctx=javase" +
         SPEC_VERSION + "&amp;id=";
 
     static final Pattern TAG_PATTERN = Pattern.compile("(?s)(\\s*)(?<name>\\w+)(\\s+)(?<desc>.*)$");
--- a/make/launcher/Launcher-java.base.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/make/launcher/Launcher-java.base.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -84,7 +84,7 @@
 
 ################################################################################
 
-ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix linux), )
   $(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
       NAME := jspawnhelper, \
       SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
--- a/src/bsd/doc/man/java.1	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/bsd/doc/man/java.1	Thu Nov 01 09:01:15 2018 -0400
@@ -1606,11 +1606,6 @@
 .PP
 These options control the dynamic just\-in\-time (JIT) compilation performed by the Java HotSpot VM\&.
 .PP
-\-XX:+AggressiveOpts
-.RS 4
-Enables the use of aggressive performance optimization features, which are expected to become default in upcoming releases\&. By default, this option is disabled and experimental performance features are not used\&.
-.RE
-.PP
 \-XX:AllocateInstancePrefetchLines=\fIlines\fR
 .RS 4
 Sets the number of lines to prefetch ahead of the instance allocation pointer\&. By default, the number of lines to prefetch is set to 1:
@@ -3444,7 +3439,7 @@
 .RS 4
 .\}
 .nf
-\fBjava \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
+\fBjava \-d64 \-server \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
  
 .fi
 .if n \{\
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/Destinations.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/Destinations.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -160,28 +160,28 @@
     public static class CompatImg extends Destinations {
         int transparency;
 
-        public static String ShortNames[] = {
+        public static String[] ShortNames = {
             "compatimg",
             "opqcompatimg",
             "bmcompatimg",
             "transcompatimg",
         };
 
-        public static String ShortDescriptions[] = {
+        public static String[] ShortDescriptions = {
             "Default",
             "Opaque",
             "Bitmask",
             "Translucent",
         };
 
-        public static String LongDescriptions[] = {
+        public static String[] LongDescriptions = {
             "Default Compatible Image",
             "Opaque Compatible Image",
             "Bitmask Compatible Image",
             "Translucent Compatible Image",
         };
 
-        public static String ModifierNames[] = {
+        public static String[] ModifierNames = {
             "CompatImage()",
             "CompatImage(Opaque)",
             "CompatImage(Bitmask)",
@@ -282,7 +282,7 @@
         int type;
         Image img;
 
-        public static String ShortNames[] = {
+        public static String[] ShortNames = {
             "custom",
             "IntXrgb",
             "IntArgb",
@@ -299,7 +299,7 @@
             "ByteIndexed",
         };
 
-        public static String Descriptions[] = {
+        public static String[] Descriptions = {
             "Custom Image",
             "32-bit XRGB Packed Image",
             "32-bit ARGB Packed Image",
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/J2DBench.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/J2DBench.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -187,7 +187,7 @@
         System.exit(exitcode);
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         init();
         TestEnvironment.init();
         Result.init();
@@ -310,8 +310,8 @@
 
                 if (argv[i].indexOf(":") >= 0) {
 
-                    String values[] = argv[i].split(":");
-                    int intVals[] = new int[3];
+                    String[] values = argv[i].split(":");
+                    int[] intVals = new int[3];
 
                     for(int j=0; j<values.length; j++) {
                         try {
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/Option.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/Option.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -123,8 +123,8 @@
         public static final int On = 1;
         public static final int Both = 2;
 
-        private static final String valnames[] = {"Off", "On", "Both"};
-        private static final Boolean valuelist[][] = {
+        private static final String[] valnames = {"Off", "On", "Both"};
+        private static final Boolean[][] valuelist = {
             BooleanIterator.FalseList,
             BooleanIterator.TrueList,
             BooleanIterator.FalseTrueList,
@@ -420,10 +420,10 @@
 
     public static class ObjectList extends Option {
         int size;
-        String optionnames[];
-        Object optionvalues[];
-        String abbrevnames[];
-        String descnames[];
+        String[] optionnames;
+        Object[] optionvalues;
+        String[] abbrevnames;
+        String[] descnames;
         int defaultenabled;
         int enabled;
         JPanel jp;
@@ -431,10 +431,10 @@
         int numrows;
 
         public ObjectList(Group parent, String nodeName, String description,
-                          String optionnames[],
-                          Object optionvalues[],
-                          String abbrevnames[],
-                          String descnames[],
+                          String[] optionnames,
+                          Object[] optionvalues,
+                          String[] abbrevnames,
+                          String[] descnames,
                           int defaultenabled)
         {
             this(parent, nodeName, description,
@@ -448,10 +448,10 @@
 
         public ObjectList(Group parent, String nodeName, String description,
                           int size,
-                          String optionnames[],
-                          Object optionvalues[],
-                          String abbrevnames[],
-                          String descnames[],
+                          String[] optionnames,
+                          Object[] optionvalues,
+                          String[] abbrevnames,
+                          String[] descnames,
                           int defaultenabled)
         {
             super(parent, nodeName, description);
@@ -463,20 +463,20 @@
             this.enabled = this.defaultenabled = defaultenabled;
         }
 
-        private static String[] trim(String list[], int size) {
+        private static String[] trim(String[] list, int size) {
             if (list.length == size) {
                 return list;
             }
-            String newlist[] = new String[size];
+            String[] newlist = new String[size];
             System.arraycopy(list, 0, newlist, 0, size);
             return newlist;
         }
 
-        private static Object[] trim(Object list[], int size) {
+        private static Object[] trim(Object[] list, int size) {
             if (list.length == size) {
                 return list;
             }
-            Object newlist[] = new Object[size];
+            Object[] newlist = new Object[size];
             System.arraycopy(list, 0, newlist, 0, size);
             return newlist;
         }
@@ -604,7 +604,7 @@
 
     public static class IntList extends ObjectList {
         public IntList(Group parent, String nodeName, String description,
-                       int values[], String abbrevnames[], String descnames[],
+                       int[] values, String[] abbrevnames, String[] descnames,
                        int defaultenabled)
         {
             super(parent, nodeName, description,
@@ -612,16 +612,16 @@
                   abbrevnames, descnames, defaultenabled);
         }
 
-        private static String[] makeNames(int intvalues[]) {
-            String names[] = new String[intvalues.length];
+        private static String[] makeNames(int[] intvalues) {
+            String[] names = new String[intvalues.length];
             for (int i = 0; i < intvalues.length; i++) {
                 names[i] = Integer.toString(intvalues[i]);
             }
             return names;
         }
 
-        private static Object[] makeValues(int intvalues[]) {
-            Object values[] = new Object[intvalues.length];
+        private static Object[] makeValues(int[] intvalues) {
+            Object[] values = new Object[intvalues.length];
             for (int i = 0; i < intvalues.length; i++) {
                 values[i] = new Integer(intvalues[i]);
             }
@@ -631,20 +631,20 @@
 
     public static class ObjectChoice extends Option {
          int size;
-         String optionnames[];
-         Object optionvalues[];
-         String abbrevnames[];
-         String descnames[];
+         String[] optionnames;
+         Object[] optionvalues;
+         String[] abbrevnames;
+         String[] descnames;
          int defaultselected;
          int selected;
          JPanel jp;
          JComboBox jcombo;
 
          public ObjectChoice(Group parent, String nodeName, String description,
-                             String optionnames[],
-                             Object optionvalues[],
-                             String abbrevnames[],
-                             String descnames[],
+                             String[] optionnames,
+                             Object[] optionvalues,
+                             String[] abbrevnames,
+                             String[] descnames,
                              int defaultselected)
          {
              this(parent, nodeName, description,
@@ -658,10 +658,10 @@
 
          public ObjectChoice(Group parent, String nodeName, String description,
                              int size,
-                             String optionnames[],
-                             Object optionvalues[],
-                             String abbrevnames[],
-                             String descnames[],
+                             String[] optionnames,
+                             Object[] optionvalues,
+                             String[] abbrevnames,
+                             String[] descnames,
                              int defaultselected)
          {
              super(parent, nodeName, description);
@@ -673,20 +673,20 @@
              this.selected = this.defaultselected = defaultselected;
          }
 
-         private static String[] trim(String list[], int size) {
+         private static String[] trim(String[] list, int size) {
              if (list.length == size) {
                  return list;
              }
-             String newlist[] = new String[size];
+             String[] newlist = new String[size];
              System.arraycopy(list, 0, newlist, 0, size);
              return newlist;
          }
 
-         private static Object[] trim(Object list[], int size) {
+         private static Object[] trim(Object[] list, int size) {
              if (list.length == size) {
                  return list;
              }
-             Object newlist[] = new Object[size];
+             Object[] newlist = new Object[size];
              System.arraycopy(list, 0, newlist, 0, size);
              return newlist;
          }
@@ -799,21 +799,21 @@
     }
 
     public static class BooleanIterator implements Modifier.Iterator {
-        private Boolean list[];
+        private Boolean[] list;
         private int index;
 
-        public static final Boolean FalseList[] = { Boolean.FALSE };
-        public static final Boolean TrueList[] = { Boolean.TRUE };
-        public static final Boolean
-            FalseTrueList[] = { Boolean.FALSE, Boolean.TRUE };
-        public static final Boolean
-            TrueFalseList[] = { Boolean.TRUE, Boolean.FALSE };
+        public static final Boolean[] FalseList = { Boolean.FALSE };
+        public static final Boolean[] TrueList = { Boolean.TRUE };
+        public static final Boolean[]
+            FalseTrueList = { Boolean.FALSE, Boolean.TRUE };
+        public static final Boolean[]
+            TrueFalseList = { Boolean.TRUE, Boolean.FALSE };
 
         public BooleanIterator(boolean v) {
             this(v ? TrueList : FalseList);
         }
 
-        public BooleanIterator(Boolean list[]) {
+        public BooleanIterator(Boolean[] list) {
             this.list = list;
         }
 
@@ -834,7 +834,7 @@
     }
 
     public static class SwitchIterator implements Modifier.Iterator {
-        private Object list[];
+        private Object[] list;
         private int enabled;
         private int index;
 
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/Result.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/Result.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -70,7 +70,7 @@
         resultoptroot = new Group(TestEnvironment.globaloptroot,
                                   "results", "Result Options");
 
-        String workStrings[] = {
+        String[] workStrings = {
             "units",
             "kilounits",
             "megaunits",
@@ -80,7 +80,7 @@
             "megaops",
             "autoops",
         };
-        String workDescriptions[] = {
+        String[] workDescriptions = {
             "Test Units",
             "Thousands of Test Units",
             "Millions of Test Units",
@@ -90,7 +90,7 @@
             "Millions of Operations",
             "Auto-scaled Operations",
         };
-        Integer workObjects[] = {
+        Integer[] workObjects = {
             new Integer(WORK_UNITS),
             new Integer(WORK_THOUSANDS),
             new Integer(WORK_MILLIONS),
@@ -105,21 +105,21 @@
                                           workStrings, workObjects,
                                           workStrings, workDescriptions,
                                           0);
-        String timeStrings[] = {
+        String[] timeStrings = {
             "sec",
             "msec",
             "usec",
             "nsec",
             "autosec",
         };
-        String timeDescriptions[] = {
+        String[] timeDescriptions = {
             "Seconds",
             "Milliseconds",
             "Microseconds",
             "Nanoseconds",
             "Auto-scaled seconds",
         };
-        Integer timeObjects[] = {
+        Integer[] timeObjects = {
             new Integer(TIME_SECONDS),
             new Integer(TIME_MILLIS),
             new Integer(TIME_MICROS),
@@ -131,15 +131,15 @@
                                           timeStrings, timeObjects,
                                           timeStrings, timeDescriptions,
                                           0);
-        String rateStrings[] = {
+        String[] rateStrings = {
             "unitspersec",
             "secsperunit",
         };
-        String rateDescriptions[] = {
+        String[] rateDescriptions = {
             "Work units per Time",
             "Time units per Work",
         };
-        Boolean rateObjects[] = {
+        Boolean[] rateObjects = {
             Boolean.FALSE,
             Boolean.TRUE,
         };
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/ResultSet.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/ResultSet.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -51,7 +51,7 @@
     static Hashtable ignoreprops;
 
     // Preferred props - will be listed even if undefined
-    static String preferredkeys[] = {
+    static String[] preferredkeys = {
         "java.version",
         "java.runtime.version",
         "java.class.version",
@@ -69,7 +69,7 @@
     };
 
     // Ignored props - will not be copied to results file
-    static String ignoredkeys[] = {
+    static String[] ignoredkeys = {
         "user.dir",
         "user.home",
         "user.timezone",
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -468,7 +468,7 @@
     /**
      * main
      */
-    public static void main(String args[]) {
+    public static void main(String[] args) {
 
         String resDir = ".";
         ArrayList results = new ArrayList();
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/report/IIOComparator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/report/IIOComparator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -284,7 +284,7 @@
             String key = (String)e.nextElement();
             keylist.add(key);
         }
-        String keys[] = new String[keylist.size()];
+        String[] keys = new String[keylist.size()];
         keylist.copyInto(keys);
         if (special) {
             sort2(keys);
@@ -294,7 +294,7 @@
         return keys;
     }
 
-    public static void sort(String strs[]) {
+    public static void sort(String[] strs) {
         for (int i = 1; i < strs.length; i++) {
             for (int j = i; j > 0; j--) {
                 if (strs[j].compareTo(strs[j-1]) >= 0) {
@@ -307,7 +307,7 @@
         }
     }
 
-    public static void sort2(String strs[]) {
+    public static void sort2(String[] strs) {
         for (int i = 1; i < strs.length; i++) {
             for (int j = i; j > 0; j--) {
                 if (compare(strs[j-1], strs[j])) {
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -91,12 +91,12 @@
                     "are best of all result sets in that group");
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         boolean gavehelp = false;
         boolean graph = false;
         boolean ignoreuncontested = true;
         if (argv.length > 0 && argv[0].equalsIgnoreCase("-html")) {
-            String newargs[] = new String[argv.length-1];
+            String[] newargs = new String[argv.length-1];
             System.arraycopy(argv, 1, newargs, 0, newargs.length);
             HTMLSeriesReporter.main(newargs);
             return;
@@ -144,15 +144,15 @@
         }
 
         int numsets = results.size();
-        double totalscore[] = new double[numsets];
-        int numwins[] = new int[numsets];
-        int numties[] = new int[numsets];
-        int numloss[] = new int[numsets];
-        int numtests[] = new int[numsets];
-        double bestscore[] = new double[numsets];
-        double worstscore[] = new double[numsets];
-        double bestspread[] = new double[numsets];
-        double worstspread[] = new double[numsets];
+        double[] totalscore = new double[numsets];
+        int[] numwins = new int[numsets];
+        int[] numties = new int[numsets];
+        int[] numloss = new int[numsets];
+        int[] numtests = new int[numsets];
+        double[] bestscore = new double[numsets];
+        double[] worstscore = new double[numsets];
+        double[] bestspread = new double[numsets];
+        double[] worstspread = new double[numsets];
         for (int i = 0; i < numsets; i++) {
             bestscore[i] = Double.NEGATIVE_INFINITY;
             worstscore[i] = Double.POSITIVE_INFINITY;
@@ -166,7 +166,7 @@
         while (enum_.hasMoreElements()) {
             keyvector.add(enum_.nextElement());
         }
-        String keys[] = new String[keyvector.size()];
+        String[] keys = new String[keyvector.size()];
         keyvector.copyInto(keys);
         sort(keys);
         enum_ = ResultHolder.commonkeys.keys();
@@ -647,7 +647,7 @@
         }
 
         private String makeKey(boolean prunecommon) {
-            String keys[] = new String[options.size()];
+            String[] keys = new String[options.size()];
             Enumeration enum_ = options.keys();
             int i = 0;
             while (enum_.hasMoreElements()) {
@@ -811,7 +811,7 @@
         return ret;
     }
 
-    public static void sort(String strs[]) {
+    public static void sort(String[] strs) {
         for (int i = 1; i < strs.length; i++) {
             for (int j = i; j > 0; j--) {
                 if (strs[j].compareTo(strs[j-1]) >= 0) {
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -102,7 +102,7 @@
      */
     private static void addGroup(String testName) {
 
-        String testNameSplit[] = testName.replace('.', '_').split("_");
+        String[] testNameSplit = testName.replace('.', '_').split("_");
         String group = testNameSplit[0];
         for(int i=1; i<LEVEL; i++) {
             group = group + "." + testNameSplit[i];
@@ -119,7 +119,7 @@
      */
     private static String getDisplayGroupName(String group) {
 
-        String groupSplit[] = group.replace('.', '_').split("_");
+        String[] groupSplit = group.replace('.', '_').split("_");
 
         StringBuffer groupName = new StringBuffer();
         String tempName = null;
@@ -142,7 +142,7 @@
      */
     private static String getGroup(String testName) {
 
-        String testNameSplit[] = testName.replace('.', '_').split("_");
+        String[] testNameSplit = testName.replace('.', '_').split("_");
         String group = testNameSplit[0];
         for(int i=1; i<LEVEL; i++) {
             group = group + "." + testNameSplit[i];
@@ -200,7 +200,7 @@
             while (enum_.hasMoreElements()) {
                 keyvector.add(enum_.nextElement());
             }
-            String keys[] = new String[keyvector.size()];
+            String[] keys = new String[keyvector.size()];
             keyvector.copyInto(keys);
             J2DAnalyzer.sort(keys);
 
@@ -323,7 +323,7 @@
         while (baseEnum_.hasMoreElements()) {
             baseKeyvector.add(baseEnum_.nextElement());
         }
-        String baseKeys[] = new String[baseKeyvector.size()];
+        String[] baseKeys = new String[baseKeyvector.size()];
         baseKeyvector.copyInto(baseKeys);
         J2DAnalyzer.sort(baseKeys);
 
@@ -337,7 +337,7 @@
         while (targetEnum_.hasMoreElements()) {
             targetKeyvector.add(targetEnum_.nextElement());
         }
-        String targetKeys[] = new String[targetKeyvector.size()];
+        String[] targetKeys = new String[targetKeyvector.size()];
         targetKeyvector.copyInto(targetKeys);
         J2DAnalyzer.sort(targetKeys);
 
@@ -797,7 +797,7 @@
                                           "</font></td></tr>");
             testResultsScoreBuffer.append(testResultsStartBuffer);
 
-            String tableTags[] = null;
+            String[] tableTags = null;
 
             for(int i=0; i<testCaseList.length; i++) {
 
@@ -1350,7 +1350,7 @@
     /**
      * main
      */
-    public static void main(String args[]) {
+    public static void main(String[] args) {
 
         String resDir = ".";
         String baseXML = null;
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -126,7 +126,7 @@
                                           "Huge Shapes (4000x4000)",
                                       }, 0xa);
         if (hasGraphics2D) {
-            String rulenames[] = {
+            String[] rulenames = {
                 "Clear",
                 "Src",
                 "Dst",
@@ -140,8 +140,8 @@
                 "DstAtop",
                 "Xor",
             };
-            String ruledescs[] = new String[rulenames.length];
-            Object rules[] = new Object[rulenames.length];
+            String[] ruledescs = new String[rulenames.length];
+            Object[] rules = new Object[rulenames.length];
             int j = 0;
             int defrule = 0;
             for (int i = 0; i < rulenames.length; i++) {
@@ -181,7 +181,7 @@
                                       ruledescs, (1 << defrule));
             ((Option.ObjectList) compRules).setNumRows(4);
 
-            Transform xforms[] = {
+            Transform[] xforms = {
                 Identity.instance,
                 FTranslate.instance,
                 Scale2x2.instance,
@@ -189,8 +189,8 @@
                 ShearX.instance,
                 ShearY.instance,
             };
-            String xformnames[] = new String[xforms.length];
-            String xformdescs[] = new String[xforms.length];
+            String[] xformnames = new String[xforms.length];
+            String[] xformdescs = new String[xforms.length];
             for (int i = 0; i < xforms.length; i++) {
                 xformnames[i] = xforms[i].getShortName();
                 xformdescs[i] = xforms[i].getDescription();
@@ -214,7 +214,7 @@
                 new Option.Toggle(groptroot, "clip",
                                   "Render through a complex clip shape",
                                   Option.Toggle.Off);
-            String rhintnames[] = {
+            String[] rhintnames = {
                 "Default", "Speed", "Quality",
             };
             renderHint =
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -116,11 +116,11 @@
     static Option doTouchSrc;
     static Option interpolation;
 
-    static String transNodeNames[] = {
+    static String[] transNodeNames = {
         null, "opaque", "bitmask", "translucent",
     };
 
-    static String transDescriptions[] = {
+    static String[] transDescriptions = {
         null, "Opaque", "Bitmask", "Translucent",
     };
 
@@ -220,7 +220,7 @@
             new RasterOpFilter(false);
             new RasterOpFilter(true);
 
-            String interpolationnames[] = {"Nearest neighbor", "Bilinear",
+            String[] interpolationnames = {"Nearest neighbor", "Bilinear",
                                            "Bicubic",};
             interpolation =
                     new ObjectList(imgtestOptRoot, "interpolation",
@@ -369,7 +369,7 @@
         int type;
         boolean unmanaged;
 
-        static int Transparencies[] = {
+        static int[] Transparencies = {
             Transparency.TRANSLUCENT, // "custom",
             Transparency.OPAQUE,      // "IntXrgb",
             Transparency.TRANSLUCENT, // "IntArgb",
@@ -433,7 +433,7 @@
 
         public Image makeImage(TestEnvironment env, int w, int h) {
             if (icm == null) {
-                int cmap[] = new int[256];
+                int[] cmap = new int[256];
                 // Workaround for transparency rendering bug in earlier VMs
                 // Can only render transparency if first cmap entry is 0x0
                 // This bug is fixed in 1.4.2 (Mantis)
@@ -462,7 +462,7 @@
         static Color translucentGreen  = makeAlphaColor(Color.green, 128);
         static Color translucentYellow = makeAlphaColor(Color.yellow, 64);
 
-        static Color colorsets[][] = new Color[][] {
+        static Color[][] colorsets = new Color[][] {
             null,
             {
                 Color.blue,       Color.red,
@@ -838,8 +838,8 @@
                 ictx.bufImgOp = new ConvolveOp(kernel, edge, null);
             } else if (op.startsWith("lookup")) {
                 if (op.endsWith("byte")) {
-                    byte invert[] = new byte[256];
-                    byte ordered[] = new byte[256];
+                    byte[] invert = new byte[256];
+                    byte[] ordered = new byte[256];
                     for (int j = 0; j < 256 ; j++) {
                         invert[j] = (byte)(255-j);
                         ordered[j] = (byte)j;
@@ -856,8 +856,8 @@
                                          null);
                     }
                 } else { // (op.endsWith("short"))
-                    short invert[] = new short[256];
-                    short ordered[] = new short[256];
+                    short[] invert = new short[256];
+                    short[] ordered = new short[256];
                     for (int j = 0; j < 256 ; j++) {
                         invert[j] = (short)((255-j) * 255);
                         ordered[j] = (short)(j * 255);
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/tests/PixelTests.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/tests/PixelTests.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -133,7 +133,7 @@
         BufferedImage bimg;
         WritableRaster ras;
         DataBuffer db;
-        int pixeldata[];
+        int[] pixeldata;
         Object elemdata;
     }
 
@@ -172,14 +172,14 @@
     }
 
     public static class BufImg extends Option.Enable {
-        public static int rgbvals[] = {
+        public static int[] rgbvals = {
             0x00000000,
             0xff0000ff,
             0x8000ff00,
             0xffffffff
         };
 
-        static int cmap[] = {
+        static int[] cmap = {
             0xff000000,  // 0: opaque black
             0xffffffff,  // 1: opaque white
 
@@ -333,7 +333,7 @@
 
             public void runTest(Object context, int numReps) {
                 Raster ras = ((Context) context).ras;
-                int pixeldata[] = ((Context) context).pixeldata;
+                int[] pixeldata = ((Context) context).pixeldata;
                 do {
                     ras.getPixel(numReps&7, 0, pixeldata);
                 } while (--numReps > 0);
@@ -347,7 +347,7 @@
 
             public void runTest(Object context, int numReps) {
                 WritableRaster ras = ((Context) context).ras;
-                int pixeldata[] = ((Context) context).pixeldata;
+                int[] pixeldata = ((Context) context).pixeldata;
                 do {
                     ras.setPixel(numReps&7, 0, pixeldata);
                 } while (--numReps > 0);
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/tests/RenderTests.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/tests/RenderTests.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -83,8 +83,8 @@
 
     static final int NUM_RANDOMCOLORS = 4096;
     static final int NUM_RANDOMCOLORMASK = (NUM_RANDOMCOLORS - 1);
-    static Color randAlphaColors[];
-    static Color randOpaqueColors[];
+    static Color[] randAlphaColors;
+    static Color[] randOpaqueColors;
 
     static {
         randOpaqueColors = new Color[NUM_RANDOMCOLORS];
@@ -161,7 +161,7 @@
                 new Option.Toggle(renderoptroot, "antialias",
                                   "Render shapes antialiased",
                                   Option.Toggle.Off);
-            String strokeStrings[] = {
+            String[] strokeStrings = {
                 "width0",
                 "width1",
                 "width5",
@@ -171,7 +171,7 @@
                 "dash5_20",
                 "dash20_50",
             };
-            String strokeDescriptions[] = {
+            String[] strokeDescriptions = {
                 "Solid Thin lines",
                 "Solid Width 1 lines",
                 "Solid Width 5 lines",
@@ -181,7 +181,7 @@
                 "Dashed Width 5 lines",
                 "Dashed Width 20 lines",
             };
-            BasicStroke strokeObjects[] = {
+            BasicStroke[] strokeObjects = {
                 new BasicStroke(0f),
                 new BasicStroke(1f),
                 new BasicStroke(5f),
@@ -272,7 +272,7 @@
 
     public static class Context extends GraphicsTests.Context {
         int colorindex;
-        Color colorlist[];
+        Color[] colorlist;
     }
 
     public RenderTests(Group parent, String nodeName, String description) {
@@ -410,7 +410,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -455,7 +455,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -500,7 +500,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -536,7 +536,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -583,7 +583,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -626,7 +626,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -680,7 +680,7 @@
             int y = rctx.initY;
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             if (rctx.animate) {
                 do {
@@ -733,11 +733,11 @@
             int size = rctx.size;
             int x = rctx.initX;
             int y = rctx.initY;
-            int hexaX[] = new int[6];
-            int hexaY[] = new int[6];
+            int[] hexaX = new int[6];
+            int[] hexaY = new int[6];
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             do {
                 hexaX[0] = x;
@@ -798,11 +798,11 @@
             int size = rctx.size - 1;
             int x = rctx.initX;
             int y = rctx.initY;
-            int hexaX[] = new int[6];
-            int hexaY[] = new int[6];
+            int[] hexaX = new int[6];
+            int[] hexaY = new int[6];
             Graphics g = rctx.graphics;
             g.translate(rctx.orgX, rctx.orgY);
-            Color rCArray[] = rctx.colorlist;
+            Color[] rCArray = rctx.colorlist;
             int ci = rctx.colorindex;
             do {
                 hexaX[0] = x;
@@ -868,7 +868,7 @@
             CubicCurve2D curve = cctx.curve;
             Graphics2D g2d = (Graphics2D) cctx.graphics;
             g2d.translate(cctx.orgX, cctx.orgY);
-            Color rCArray[] = cctx.colorlist;
+            Color[] rCArray = cctx.colorlist;
             int ci = cctx.colorindex;
             do {
                 curve.setCurve(x, y+size/2.0,
@@ -922,7 +922,7 @@
             CubicCurve2D curve = cctx.curve;
             Graphics2D g2d = (Graphics2D) cctx.graphics;
             g2d.translate(cctx.orgX, cctx.orgY);
-            Color rCArray[] = cctx.colorlist;
+            Color[] rCArray = cctx.colorlist;
             int ci = cctx.colorindex;
             do {
                 curve.setCurve(x, y+size/2.0,
@@ -970,7 +970,7 @@
             Ellipse2D ellipse = cctx.ellipse;
             Graphics2D g2d = (Graphics2D) cctx.graphics;
             g2d.translate(cctx.orgX, cctx.orgY);
-            Color rCArray[] = cctx.colorlist;
+            Color[] rCArray = cctx.colorlist;
             int ci = cctx.colorindex;
             do {
                 if (rCArray != null) {
@@ -1012,7 +1012,7 @@
             Ellipse2D ellipse = cctx.ellipse;
             Graphics2D g2d = (Graphics2D) cctx.graphics;
             g2d.translate(cctx.orgX, cctx.orgY);
-            Color rCArray[] = cctx.colorlist;
+            Color[] rCArray = cctx.colorlist;
             int ci = cctx.colorindex;
             do {
                 if (rCArray != null) {
--- a/src/demo/share/java2d/J2DBench/src/j2dbench/ui/EnableButton.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/java2d/J2DBench/src/j2dbench/ui/EnableButton.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -57,7 +57,7 @@
     private Group group;
     private int type;
 
-    public static final String icons[] = {
+    public static final String[] icons = {
         "Set",
         "Clear",
         "Invert",
--- a/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -791,7 +791,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
--- a/src/demo/share/jfc/Font2DTest/Font2DTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/Font2DTest/Font2DTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -116,16 +116,16 @@
     private JTextArea userTextArea;
     private JDialog printDialog;
     private JDialog fontInfoDialog;
-    private LabelV2 fontInfos[] = new LabelV2[2];
+    private LabelV2[] fontInfos = new LabelV2[2];
     private JFileChooser filePromptDialog = null;
 
     private ButtonGroup printCBGroup;
-    private JRadioButton printModeCBs[] = new JRadioButton[3];
+    private JRadioButton[] printModeCBs = new JRadioButton[3];
 
     /// Status bar
     private final LabelV2 statusBar;
 
-    private int fontStyles [] = {Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD | Font.ITALIC};
+    private int[] fontStyles  = {Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD | Font.ITALIC};
 
     /// Text filename
     private String tFileName;
@@ -289,7 +289,7 @@
 
         parent.setJMenuBar( mb );
 
-        String fontList[] =
+        String[] fontList =
           GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
 
         for ( int i = 0; i < fontList.length; i++ )
@@ -422,7 +422,7 @@
     /// RangeMenu object signals using this function
     /// when Unicode range has been changed and text needs to be redrawn
     public void fireRangeChanged() {
-        int range[] = rm.getSelectedRange();
+        int[] range = rm.getSelectedRange();
         fp.setTextToDraw( fp.RANGE_TEXT, range, null, null );
         if(canDisplayCheck) {
             setupFontList(range[0], range[1]);
@@ -445,7 +445,7 @@
     /// Updates the information about the selected font
     public void fireUpdateFontInfo() {
         if ( showFontInfoCBMI.getState() ) {
-            String infos[] = fp.getFontInfo();
+            String[] infos = fp.getFontInfo();
             for ( int i = 0; i < fontInfos.length; i++ )
               fontInfos[i].setText( infos[i] );
             fontInfoDialog.pack();
@@ -533,7 +533,7 @@
     private String[] parseUserText( String orig ) {
         int length = orig.length();
         StringTokenizer perLine = new StringTokenizer( orig, "\n" );
-        String textLines[] = new String[ perLine.countTokens() ];
+        String[] textLines = new String[ perLine.countTokens() ];
         int lineNumber = 0;
 
         while ( perLine.hasMoreElements() ) {
@@ -583,14 +583,15 @@
     /// Then breaks the text into String array, delimited at every line break
     private void readTextFile( String fileName ) {
         try {
-            String fileText, textLines[];
+            String fileText;
+            String[] textLines;
             BufferedInputStream bis =
               new BufferedInputStream( new FileInputStream( fileName ));
             int numBytes = bis.available();
             if (numBytes == 0) {
                 throw new Exception("Text file " + fileName + " is empty");
             }
-            byte byteData[] = new byte[ numBytes ];
+            byte[] byteData = new byte[ numBytes ];
             bis.read( byteData, 0, numBytes );
             bis.close();
 
@@ -648,7 +649,7 @@
             BufferedOutputStream bos =
               new BufferedOutputStream( new FileOutputStream( fileName ));
             /// Prepend title and the option that is only obtainable here
-            int range[] = rm.getSelectedRange();
+            int[] range = rm.getSelectedRange();
             String completeOptions =
               ( "Font2DTest Option File\n" +
                 displayGridCBMI.getState() + "\n" +
@@ -656,7 +657,7 @@
                 showFontInfoCBMI.getState() + "\n" +
                 rm.getSelectedItem() + "\n" +
                 range[0] + "\n" + range[1] + "\n" + curOptions + tFileName);
-            byte toBeWritten[] = completeOptions.getBytes( "UTF-16" );
+            byte[] toBeWritten = completeOptions.getBytes( "UTF-16" );
             bos.write( toBeWritten, 0, toBeWritten.length );
             bos.close();
         }
@@ -714,7 +715,7 @@
             BufferedInputStream bis =
               new BufferedInputStream( new FileInputStream( fileName ));
             int numBytes = bis.available();
-            byte byteData[] = new byte[ numBytes ];
+            byte[] byteData = new byte[ numBytes ];
             bis.read( byteData, 0, numBytes );
             bis.close();
             if ( numBytes < 2 ||
@@ -744,7 +745,7 @@
             int antialiasOpt = Integer.parseInt(perLine.nextToken());
             int fractionalOpt = Integer.parseInt(perLine.nextToken());
             int lcdContrast = Integer.parseInt(perLine.nextToken());
-            String userTextOpt[] = { "Font2DTest!" };
+            String[] userTextOpt = { "Font2DTest!" };
             String dialogEntry = "Font2DTest!";
             if (textToUseOpt == fp.USER_TEXT )  {
                 int numLines = perLine.countTokens(), lineNumber = 0;
@@ -1016,7 +1017,7 @@
     }
 
     /// Main function
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
 
         if(argv.length > 0) {
             if(argv[0].equalsIgnoreCase("-disablecandisplaycheck") ||
--- a/src/demo/share/jfc/Font2DTest/FontPanel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/Font2DTest/FontPanel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -95,14 +95,14 @@
 public final class FontPanel extends JPanel implements AdjustmentListener {
 
     /// Drawing Option Constants
-    private final String STYLES[] =
+    private final String[] STYLES =
       { "plain", "bold", "italic", "bold italic" };
 
     private final int NONE = 0;
     private final int SCALE = 1;
     private final int SHEAR = 2;
     private final int ROTATE = 3;
-    private final String TRANSFORMS[] =
+    private final String[] TRANSFORMS =
       { "with no transforms", "with scaling", "with Shearing", "with rotation" };
 
     private final int DRAW_STRING = 0;
@@ -112,7 +112,7 @@
     private final int TL_DRAW = 4;
     private final int GV_OUTLINE = 5;
     private final int TL_OUTLINE = 6;
-    private final String METHODS[] = {
+    private final String[] METHODS = {
         "drawString", "drawChars", "drawBytes", "drawGlyphVector",
         "TextLayout.draw", "GlyphVector.getOutline", "TextLayout.getOutline" };
 
@@ -120,9 +120,9 @@
     public final int ALL_GLYPHS = 1;
     public final int USER_TEXT = 2;
     public final int FILE_TEXT = 3;
-    private final String MS_OPENING[] =
+    private final String[] MS_OPENING =
       { " Unicode ", " Glyph Code ", " lines ", " lines " };
-    private final String MS_CLOSING[] =
+    private final String[] MS_CLOSING =
       { "", "", " of User Text ", " of LineBreakMeasurer-reformatted Text " };
 
     /// General Graphics Variable
@@ -153,10 +153,10 @@
     private Object lcdContrast = getDefaultLCDContrast();
     private int drawMethod = DRAW_STRING;
     private int textToUse = RANGE_TEXT;
-    private String userText[] = null;
-    private String fileText[] = null;
-    private int drawRange[] = { 0x0000, 0x007f };
-    private String fontInfos[] = new String[2];
+    private String[] userText = null;
+    private String[] fileText = null;
+    private int[] drawRange = { 0x0000, 0x007f };
+    private String[] fontInfos = new String[2];
     private boolean showGrid = true;
 
     /// Parent Font2DTest panel
@@ -271,8 +271,8 @@
         fc.repaint();
     }
 
-    public void setTextToDraw( int i, int range[],
-                               String textSet[], String fileData[] ) {
+    public void setTextToDraw( int i, int[] range,
+                               String[] textSet, String[] fileData ) {
         textToUse = i;
 
         if ( textToUse == RANGE_TEXT )
@@ -377,8 +377,8 @@
                              String name, float size, int style,
                              int transform, int g2transform,
                              int text, int method, int aa, int fm,
-                             int contrast, String user[] ) {
-        int range[] = { start, end };
+                             int contrast, String[] user ) {
+        int[] range = { start, end };
 
         /// Since repaint call has a low priority, these functions will finish
         /// before the actual repainting is done
@@ -458,7 +458,7 @@
         private String backupStatusString = null;
 
         /// Error constants
-        private final String ERRORS[] = {
+        private final String[] ERRORS = {
             "ERROR: drawBytes cannot handle characters beyond 0x00FF. Select different range or draw methods.",
             "ERROR: Cannot fit text with the current font size. Resize the window or use smaller font size.",
             "ERROR: Cannot print with the current font size. Use smaller font size.",
@@ -480,7 +480,7 @@
             /// Creates an invisble pointer by giving it bogus image
             /// Possibly find a workaround for this...
             Toolkit tk = Toolkit.getDefaultToolkit();
-            byte bogus[] = { (byte) 0 };
+            byte[] bogus = { (byte) 0 };
             blankCursor =
               tk.createCustomCursor( tk.createImage( bogus ), new Point(0, 0), "" );
 
@@ -545,8 +545,8 @@
         public void modeSpecificDrawChar( Graphics2D g2, int charCode,
                                           int baseX, int baseY ) {
             GlyphVector gv;
-            int oneGlyph[] = { charCode };
-            char charArray[] = Character.toChars( charCode );
+            int[] oneGlyph = { charCode };
+            char[] charArray = Character.toChars( charCode );
 
             FontRenderContext frc = g2.getFontRenderContext();
             AffineTransform oldTX = g2.getTransform();
@@ -563,7 +563,7 @@
             // we need to convert back to user space to be able to
             // calculate the shift as baseX is in user space.
             try {
-                 double pt[] = new double[4];
+                 double[] pt = new double[4];
                  pt[0] = r2d2.getX();
                  pt[1] = r2d2.getY();
                  pt[2] = r2d2.getX()+r2d2.getWidth();
@@ -597,7 +597,7 @@
                   case DRAW_BYTES:
                     if ( charCode > 0xff )
                       throw new CannotDrawException( DRAW_BYTES_ERROR );
-                    byte oneByte[] = { (byte) charCode };
+                    byte[] oneByte = { (byte) charCode };
                     g2.drawBytes( oneByte, 0, 1, 0, 0 );
                     break;
                   case DRAW_GLYPHV:
@@ -644,7 +644,7 @@
                 break;
               case DRAW_BYTES:
                 try {
-                    byte lineBytes[] = line.getBytes( "ISO-8859-1" );
+                    byte[] lineBytes = line.getBytes( "ISO-8859-1" );
                     g2.drawBytes( lineBytes, 0, lineBytes.length, 0, 0 );
                 }
                 catch ( Exception e ) {
@@ -934,7 +934,7 @@
                       oneLine.isLeftToRight() ?
                       canvasInset_X : ( (float) w - oneLine.getAdvance() - canvasInset_X );
 
-                    float fmData[] = {0, oneLine.getAscent(), 0, oneLine.getDescent(), 0, oneLine.getLeading()};
+                    float[] fmData = {0, oneLine.getAscent(), 0, oneLine.getDescent(), 0, oneLine.getLeading()};
                     if (g2Transform != NONE) {
                         AffineTransform at = getAffineTransform(g2Transform);
                         at.transform( fmData, 0, fmData, 0, 3);
--- a/src/demo/share/jfc/J2Ddemo/java2d/CloningFeature.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/CloningFeature.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -161,7 +161,7 @@
             return;
         }
 
-        Component cmps[] = dg.clonePanels[0].getComponents();
+        Component[] cmps = dg.clonePanels[0].getComponents();
         for (int i = 0; i < cmps.length && thread != null; i++) {
             if ((dp = (DemoPanel) cmps[i]).tools == null) {
                 continue;
--- a/src/demo/share/jfc/J2Ddemo/java2d/DemoGroup.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/DemoGroup.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -76,7 +76,7 @@
     private final EmptyBorder emptyB = new EmptyBorder(5, 5, 5, 5);
     private final BevelBorder bevelB = new BevelBorder(BevelBorder.LOWERED);
     private String groupName;
-    public JPanel clonePanels[];
+    public JPanel[] clonePanels;
     public JTabbedPane tabbedPane;
 
     public DemoGroup(String name, DemoInstVarsAccessor demoInstVars) {
@@ -234,9 +234,9 @@
                 Tools t = dp.tools;
                 t.setVisible(isValid());
                 t.issueRepaint = issueRepaint;
-                JToggleButton b[] = { t.toggleB, t.aliasB, t.renderB,
+                JToggleButton[] b = { t.toggleB, t.aliasB, t.renderB,
                     t.textureB, t.compositeB };
-                JCheckBox cb[] = { c.toolBarCB, c.aliasCB, c.renderCB,
+                JCheckBox[] cb = { c.toolBarCB, c.aliasCB, c.renderCB,
                     c.textureCB, c.compositeCB };
                 for (int j = 0; j < b.length; j++) {
                     if (c.obj != null && c.obj.equals(cb[j])) {
@@ -334,7 +334,7 @@
         panel.revalidate();
     }
 
-    public static void main(String args[]) {
+    public static void main(String[] args) {
         class DemoInstVarsAccessorImpl extends DemoInstVarsAccessorImplBase {
             private volatile JCheckBoxMenuItem ccthreadCB;
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -74,8 +74,8 @@
             }
             if (obj instanceof CustomControlsContext) {
                 ccc = (CustomControlsContext) obj;
-                Component cmps[] = ccc.getControls();
-                String cons[] = ccc.getConstraints();
+                Component[] cmps = ccc.getControls();
+                String[] cons = ccc.getConstraints();
                 for (int i = 0; i < cmps.length; i++) {
                     add(cmps[i], cons[i]);
                 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/Intro.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/Intro.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -157,7 +157,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         final Intro intro = new Intro();
         WindowListener l = new WindowAdapter() {
 
@@ -497,7 +497,7 @@
             Font f3 = new Font(Font.SERIF, Font.PLAIN, 72);
 
             public Director(Surface surf) {
-                Object partsInfo[][][] = {
+                Object[][][] partsInfo = {
                 { { "J  -  scale text on gradient", "0" },
                     { new GpE(GpE.BURI, myBlack, myBlue, 0, 20),
                         new TxE("J", f1, TxE.SCI, myYellow, 2, 20) } },
@@ -677,7 +677,7 @@
             private int type;
             private double rIncr, sIncr;
             private double sx, sy, rotate;
-            private Shape shapes[], txShapes[];
+            private Shape[] shapes, txShapes;
             private int sw;
             private int numRev;
             private Paint paint;
@@ -1610,7 +1610,7 @@
             static final Font font2 = new Font(Font.SERIF, Font.PLAIN, 24);
             private final FontMetrics fm1;
             private final FontMetrics fm2;
-            private static final String table[][] = { { "Graphics", "Antialiased rendering",
+            private static final String[][] table = { { "Graphics", "Antialiased rendering",
                     "Bezier paths",
                     "Transforms", "Compositing", "Stroking parameters" },
                 { "Text", "Extended font support",
@@ -1622,7 +1622,7 @@
                     "RenderableImage interface" },
                 { "Color", "ICC profile support", "Color conversion",
                     "Arbitrary color spaces" } };
-            private String list[];
+            private String[] list;
             private int beginning, ending;
             private int strH;
             private int endIndex, listIndex;
@@ -1687,7 +1687,7 @@
          */
         static class Contributors implements Part {
 
-            private static final String members[] = {
+            private static final String[] members = {
                 "Brian Lichtenwalter", "Jeannette Hung",
                 "Thanh Nguyen", "Jim Graham", "Jerry Evans",
                 "John Raley", "Michael Peirce", "Robert Kim",
--- a/src/demo/share/jfc/J2Ddemo/java2d/J2Ddemo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/J2Ddemo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -678,7 +678,7 @@
 
     }
 
-    public static void main(final String args[]) {
+    public static void main(final String[] args) {
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
--- a/src/demo/share/jfc/J2Ddemo/java2d/MemoryMonitor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/MemoryMonitor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -125,7 +125,7 @@
         private Font font = new Font(Font.SERIF, Font.PLAIN, 11);
         private Runtime r = Runtime.getRuntime();
         private int columnInc;
-        private int pts[];
+        private int[] pts;
         private int ptNum;
         private int ascent, descent;
         private Rectangle graphOutlineRect = new Rectangle();
@@ -247,7 +247,7 @@
                 pts = new int[graphW];
                 ptNum = 0;
             } else if (pts.length != graphW) {
-                int tmp[] = null;
+                int[] tmp = null;
                 if (ptNum < graphW) {
                     tmp = new int[ptNum];
                     System.arraycopy(pts, 0, tmp, 0, tmp.length);
@@ -337,7 +337,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         final MemoryMonitor demo = new MemoryMonitor();
         WindowListener l = new WindowAdapter() {
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/TextureChooser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/TextureChooser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -224,7 +224,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         Frame f = new Frame("J2D Demo - TextureChooser");
         f.addWindowListener(new WindowAdapter() {
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Arcs.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Arcs.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -45,7 +45,7 @@
 @SuppressWarnings("serial")
 public class Arcs extends AnimatingSurface {
 
-    private static String types[] = { "Arc2D.OPEN", "Arc2D.CHORD", "Arc2D.PIE" };
+    private static String[] types = { "Arc2D.OPEN", "Arc2D.CHORD", "Arc2D.PIE" };
     private static final int CLOSE = 0;
     private static final int OPEN = 1;
     private static final int FORWARD = 0;
@@ -159,7 +159,7 @@
         g2.fill(at.createTransformedShape(pieArc));
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Arcs());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/BezierAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/BezierAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -74,8 +74,8 @@
     protected BasicStroke dashed = new BasicStroke(10.0f,
             BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 10, new float[] { 5 },
             0);
-    private float animpts[] = new float[NUMPTS * 2];
-    private float deltas[] = new float[NUMPTS * 2];
+    private float[] animpts = new float[NUMPTS * 2];
+    private float[] deltas = new float[NUMPTS * 2];
     protected Paint fillPaint, drawPaint;
     protected boolean doFill = true;
     protected boolean doDraw = true;
@@ -173,7 +173,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new BezierAnim());
     }
 
@@ -194,21 +194,21 @@
             tp2 = new TexturePaint(bi, new Rectangle(0, 0, 2, 1));
         }
         BezierAnim demo;
-        static Paint drawPaints[] = { new Color(0, 0, 0, 0), BLUE, new Color(0,
+        static Paint[] drawPaints = { new Color(0, 0, 0, 0), BLUE, new Color(0,
             0, 255, 126),
             BLUE, tp2 };
-        static String drawName[] = { "No Draw", "Blue", "Blue w/ Alpha",
+        static String[] drawName = { "No Draw", "Blue", "Blue w/ Alpha",
             "Blue Dash", "Texture" };
-        static Paint fillPaints[] = { new Color(0, 0, 0, 0), GREEN, new Color(0,
+        static Paint[] fillPaints = { new Color(0, 0, 0, 0), GREEN, new Color(0,
             255, 0, 126),
             tp1, new GradientPaint(0, 0, RED, 30, 30, YELLOW) };
-        String fillName[] = { "No Fill", "Green", "Green w/ Alpha", "Texture",
+        String[] fillName = { "No Fill", "Green", "Green w/ Alpha", "Texture",
             "Gradient" };
         JMenu fillMenu, drawMenu;
-        JMenuItem fillMI[] = new JMenuItem[fillPaints.length];
-        JMenuItem drawMI[] = new JMenuItem[drawPaints.length];
-        PaintedIcon fillIcons[] = new PaintedIcon[fillPaints.length];
-        PaintedIcon drawIcons[] = new PaintedIcon[drawPaints.length];
+        JMenuItem[] fillMI = new JMenuItem[fillPaints.length];
+        JMenuItem[] drawMI = new JMenuItem[drawPaints.length];
+        PaintedIcon[] fillIcons = new PaintedIcon[fillPaints.length];
+        PaintedIcon[] drawIcons = new PaintedIcon[drawPaints.length];
         Font font = new Font(Font.SERIF, Font.PLAIN, 10);
 
         @SuppressWarnings("LeakingThisInConstructor")
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Curves.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Curves.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -52,7 +52,7 @@
 @SuppressWarnings("serial")
 public class Curves extends Surface {
 
-    private static Color colors[] = { BLUE, GREEN, RED };
+    private static Color[] colors = { BLUE, GREEN, RED };
 
     public Curves() {
         setBackground(WHITE);
@@ -136,7 +136,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Curves());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Ellipses.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Arcs_Curves/Ellipses.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -44,12 +44,12 @@
 @SuppressWarnings("serial")
 public final class Ellipses extends AnimatingSurface {
 
-    private static Color colors[] = {
+    private static Color[] colors = {
         BLUE, CYAN, GREEN, MAGENTA, ORANGE, PINK, RED,
         YELLOW, LIGHT_GRAY, WHITE };
     private Ellipse2D.Float[] ellipses;
-    private double esize[];
-    private float estroke[];
+    private double[] esize;
+    private float[] estroke;
     private double maxSize;
 
     public Ellipses() {
@@ -102,7 +102,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Ellipses());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -141,7 +141,7 @@
         g2.draw(area);
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Areas());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/ClipAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/ClipAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -61,7 +61,7 @@
         big.fillRect(0, 0, 3, 3);
         texturePaint = new TexturePaint(bi, new Rectangle(0, 0, 5, 5));
     }
-    private AnimVal animval[] = new AnimVal[3];
+    private AnimVal[] animval = new AnimVal[3];
     protected boolean doObjects = true;
     private Font originalFont = new Font(Font.SERIF, Font.PLAIN, 12);
     private Font font;
@@ -158,7 +158,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new ClipAnim());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Intersection.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Intersection.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -171,7 +171,7 @@
     }
 
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Intersection());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Text.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Text.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -161,7 +161,7 @@
         g2.draw(shape);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Text());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/BullsEye.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/BullsEye.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -53,7 +53,7 @@
     @Override
     public void render(int w, int h, Graphics2D g2) {
 
-        Color reds[] = { RED.darker(), RED };
+        Color[] reds = { RED.darker(), RED };
         for (int N = 0; N < 18; N++) {
             float i = (N + 2) / 2.0f;
             float x = (5 + i * (w / 2 / 10));
@@ -70,7 +70,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new BullsEye());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/ColorConvert.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/ColorConvert.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -65,7 +65,7 @@
 public class ColorConvert extends Surface {
 
     private static Image img;
-    private static Color colors[] = { red, pink, orange,
+    private static Color[] colors = { red, pink, orange,
         yellow, green, magenta, cyan, blue };
 
     public ColorConvert() {
@@ -123,7 +123,7 @@
         g2.drawImage(dstImg, w / 2 + 10, 20, w / 2 - 20, h - 30, null);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new ColorConvert());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/Rotator3D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Colors/Rotator3D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -50,7 +50,7 @@
 @SuppressWarnings("serial")
 public class Rotator3D extends AnimatingSurface {
 
-    private Objects3D objs[] = new Objects3D[3];
+    private Objects3D[] objs = new Objects3D[3];
     private static final int[][][] polygons = {
         // Solid cube
         { { 5, 1, 15, 13, 21, 23, 15 },
@@ -142,7 +142,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Rotator3D());
     }
 
@@ -170,8 +170,8 @@
         private double ix = 3.0, iy = 3.0;
         private double[][] rotPts;
         private int[][] scrPts;
-        private int xx[] = new int[20];
-        private int yy[] = new int[20];
+        private int[] xx = new int[20];
+        private int[] yy = new int[20];
         private double x, y;
         private int p, j;
         private int colour;
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/ACimages.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/ACimages.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -61,11 +61,11 @@
 @SuppressWarnings("serial")
 public class ACimages extends Surface {
 
-    private static final String s[] = { "box", "fight", "magnify",
+    private static final String[] s = { "box", "fight", "magnify",
         "boxwave", "globe", "snooze",
         "tip", "thumbsup", "dukeplug" };
-    private static Image imgs[] = new Image[s.length];
-    private static Color colors[] = { BLUE, CYAN, GREEN,
+    private static Image[] imgs = new Image[s.length];
+    private static Color[] colors = { BLUE, CYAN, GREEN,
         MAGENTA, ORANGE, PINK, RED, YELLOW, LIGHT_GRAY };
 
     public ACimages() {
@@ -121,7 +121,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new ACimages());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/ACrules.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/ACrules.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -64,7 +64,7 @@
 @SuppressWarnings("serial")
 public class ACrules extends AnimatingSurface {
 
-    private static String compNames[] = {
+    private static String[] compNames = {
         "Src",
         "SrcOver",
         "SrcIn",
@@ -77,17 +77,17 @@
         "DstOut",
         "DstAtop",
         "Xor", };
-    private static final AlphaComposite compObjs[] = {
+    private static final AlphaComposite[] compObjs = {
         Src, SrcOver, SrcIn, SrcOut, SrcAtop, Clear,
         Dst, DstOver, DstIn, DstOut, DstAtop, Xor, };
     private static final int NUM_RULES = compObjs.length;
     private static final int HALF_NUM_RULES = NUM_RULES / 2;
     private int fadeIndex;
-    private static float fadeValues[][] = {
+    private static float[][] fadeValues = {
         { 1.0f, -0.1f, 0.0f, 1.0f, 0.0f, 1.0f },
         { 0.0f, 0.1f, 1.0f, 1.0f, -0.1f, 0.0f },
         { 1.0f, 0.0f, 1.0f, 0.0f, 0.1f, 1.0f }, };
-    private static String fadeNames[] = {
+    private static String[] fadeNames = {
         "Src => transparent, Dest opaque",
         "Src => opaque, Dest => transparent",
         "Src opaque, Dest => opaque", };
@@ -257,7 +257,7 @@
         return bi;
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new ACrules());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/FadeAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Composite/FadeAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -107,18 +107,18 @@
         texturePaint = new TexturePaint(bi, new Rectangle(0, 0, w, h));
     }
     private static BasicStroke bs = new BasicStroke(6);
-    private static Font fonts[] = {
+    private static Font[] fonts = {
         new Font(Font.SERIF, Font.PLAIN, 64),
         new Font(Font.SERIF, Font.BOLD | Font.ITALIC, 24),
         new Font(Font.MONOSPACED, Font.BOLD, 36),
         new Font(Font.SANS_SERIF, Font.BOLD | Font.ITALIC, 48),
         new Font(Font.SANS_SERIF, Font.PLAIN, 52) };
-    private static String strings[] = {
+    private static String[] strings = {
         "Alpha", "Composite", "Src", "SrcOver",
         "SrcIn", "SrcOut", "Clear", "DstOver", "DstIn" };
-    private static String imgs[] = {
+    private static String[] imgs = {
         "jumptojavastrip.png", "duke.png", "star7.png" };
-    private static Paint paints[] = {
+    private static Paint[] paints = {
         RED, BLUE, GREEN, MAGENTA,
         ORANGE, PINK, CYAN, texturePaint,
         YELLOW, LIGHT_GRAY, WHITE };
@@ -276,7 +276,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new FadeAnim());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/AllFonts.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/AllFonts.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -125,7 +125,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new AllFonts());
     }
 
@@ -135,9 +135,9 @@
 
         AllFonts demo;
         JSlider slider;
-        int fsize[] = { 8, 14, 18, 24 };
-        JMenuItem menuitem[] = new JMenuItem[fsize.length];
-        Font font[] = new Font[fsize.length];
+        int[] fsize = { 8, 14, 18, 24 };
+        JMenuItem[] menuitem = new JMenuItem[fsize.length];
+        Font[] font = new Font[fsize.length];
 
         @SuppressWarnings("LeakingThisInConstructor")
         public DemoControls(AllFonts demo) {
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/AttributedStr.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/AttributedStr.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -184,7 +184,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new AttributedStr());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Highlighting.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Highlighting.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -55,8 +55,8 @@
 @SuppressWarnings("serial")
 public class Highlighting extends AnimatingSurface {
 
-    private static String text[] = { "HIGHLIGHTING", "OpenJDK" };
-    private static Color colors[] = { CYAN, LIGHT_GRAY };
+    private static String[] text = { "HIGHLIGHTING", "OpenJDK" };
+    private static Color[] colors = { CYAN, LIGHT_GRAY };
     private static Font smallF = new Font("Monospaced", Font.PLAIN, 8);
     private int[] curPos;
     private TextLayout[] layouts;
@@ -129,7 +129,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Highlighting());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Outline.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Outline.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -109,7 +109,7 @@
         g2.fill(sha);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Outline());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -90,7 +90,7 @@
     static double Twidth = 0.6;
     static double Rwidth = 0.6;
     static double FontHeight = 0.75;
-    static Color colors[] = { BLUE,
+    static Color[] colors = { BLUE,
         RED.darker(),
         GREEN.darker() };
 
@@ -123,7 +123,7 @@
         g2d.setTransform(new AffineTransform());
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Tree());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/DukeAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/DukeAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -91,7 +91,7 @@
         return isShowing();
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new DukeAnim());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -66,12 +66,12 @@
 public class ImageOps extends ControlsSurface implements ChangeListener {
 
     protected JSlider slider1, slider2;
-    private static final String imgName[] = { "bld.jpg", "boat.png" };
-    private static final BufferedImage img[] = new BufferedImage[imgName.length];
-    private static final String opsName[] = {
+    private static final String[] imgName = { "bld.jpg", "boat.png" };
+    private static final BufferedImage[] img = new BufferedImage[imgName.length];
+    private static final String[] opsName = {
         "Threshold", "RescaleOp", "Invert", "Yellow Invert", "3x3 Blur",
         "3x3 Sharpen", "3x3 Edge", "5x5 Edge" };
-    private static final BufferedImageOp biop[] =
+    private static final BufferedImageOp[] biop =
             new BufferedImageOp[opsName.length];
     private static int rescaleFactor = 128;
     private static float rescaleOffset = 0;
@@ -82,8 +82,8 @@
         thresholdOp(low, high);
         int i = 1;
         biop[i++] = new RescaleOp(1.0f, 0, null);
-        byte invert[] = new byte[256];
-        byte ordered[] = new byte[256];
+        byte[] invert = new byte[256];
+        byte[] ordered = new byte[256];
         for (int j = 0; j < 256; j++) {
             invert[j] = (byte) (256 - j);
             ordered[j] = (byte) j;
@@ -91,8 +91,8 @@
         biop[i++] = new LookupOp(new ByteLookupTable(0, invert), null);
         byte[][] yellowInvert = new byte[][] { invert, invert, ordered };
         biop[i++] = new LookupOp(new ByteLookupTable(0, yellowInvert), null);
-        int dim[][] = { { 3, 3 }, { 3, 3 }, { 3, 3 }, { 5, 5 } };
-        float data[][] = { { 0.1f, 0.1f, 0.1f, // 3x3 blur
+        int[][] dim = { { 3, 3 }, { 3, 3 }, { 3, 3 }, { 5, 5 } };
+        float[][] data = { { 0.1f, 0.1f, 0.1f, // 3x3 blur
                 0.1f, 0.2f, 0.1f,
                 0.1f, 0.1f, 0.1f },
             { -1.0f, -1.0f, -1.0f, // 3x3 sharpen
@@ -134,7 +134,7 @@
     }
 
     public static void thresholdOp(int low, int high) {
-        byte threshold[] = new byte[256];
+        byte[] threshold = new byte[256];
         for (int j = 0; j < 256; j++) {
             if (j > high) {
                 threshold[j] = (byte) 255;
@@ -180,7 +180,7 @@
         repaint();
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new ImageOps());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/JPEGFlip.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/JPEGFlip.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -176,7 +176,7 @@
         g2.drawLine(0, hh, w, hh);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new JPEGFlip());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/WarpImage.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Images/WarpImage.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -51,7 +51,7 @@
     private static Image img;
     private static final int FORWARD = 0;
     private static final int BACK = 1;
-    private Point2D pts[];
+    private Point2D[] pts;
     private int direction = FORWARD;
     private int pNum;
     private int x, y;
@@ -73,7 +73,7 @@
         CubicCurve2D cc = new CubicCurve2D.Float(
                 w * .2f, h * .5f, w * .4f, 0, w * .6f, h, w * .8f, h * .5f);
         PathIterator pi = cc.getPathIterator(null, 0.1);
-        Point2D tmp[] = new Point2D[200];
+        Point2D[] tmp = new Point2D[200];
         int i = 0;
         while (!pi.isDone()) {
             float[] coords = new float[6];
@@ -128,7 +128,7 @@
                 this);
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new WarpImage());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Caps.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Caps.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -53,8 +53,8 @@
 @SuppressWarnings("serial")
 public class Caps extends Surface {
 
-    private static int cap[] = { CAP_BUTT, CAP_ROUND, CAP_SQUARE };
-    private static String desc[] = { "Butt Cap", "Round Cap", "Square Cap" };
+    private static int[] cap = { CAP_BUTT, CAP_ROUND, CAP_SQUARE };
+    private static String[] desc = { "Butt Cap", "Round Cap", "Square Cap" };
 
     public Caps() {
         setBackground(WHITE);
@@ -75,7 +75,7 @@
         }
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Caps());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Dash.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Dash.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -76,11 +76,11 @@
 
         int x = 0;
         int y = h - 34;
-        BasicStroke bs[] = new BasicStroke[6];
+        BasicStroke[] bs = new BasicStroke[6];
 
         float j = 1.1f;
         for (int i = 0; i < bs.length; i++, j += 1.0f) {
-            float dash[] = { j };
+            float[] dash = { j };
             BasicStroke b = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
                     BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f);
             g2.setStroke(b);
@@ -128,7 +128,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Dash());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Joins.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/Joins.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -113,7 +113,7 @@
         g2.draw(bs.createStrokedShape(p));
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Joins());
     }
 
@@ -121,12 +121,12 @@
     class DemoControls extends CustomControls implements ActionListener {
 
         Joins demo;
-        int joinType[] = { BasicStroke.JOIN_MITER,
+        int[] joinType = { BasicStroke.JOIN_MITER,
             BasicStroke.JOIN_ROUND, BasicStroke.JOIN_BEVEL };
-        String joinName[] = { "Mitered Join", "Rounded Join", "Beveled Join" };
+        String[] joinName = { "Mitered Join", "Rounded Join", "Beveled Join" };
         JMenu menu;
-        JMenuItem menuitem[] = new JMenuItem[joinType.length];
-        JoinIcon icons[] = new JoinIcon[joinType.length];
+        JMenuItem[] menuitem = new JMenuItem[joinType.length];
+        JoinIcon[] icons = new JoinIcon[joinType.length];
         JToolBar toolbar;
 
         @SuppressWarnings("LeakingThisInConstructor")
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/LineAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Lines/LineAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -55,18 +55,18 @@
 @SuppressWarnings("serial")
 public class LineAnim extends AnimatingSurface {
 
-    private static int caps[] = { BasicStroke.CAP_BUTT,
+    private static int[] caps = { BasicStroke.CAP_BUTT,
         BasicStroke.CAP_SQUARE, BasicStroke.CAP_ROUND };
-    private static int joins[] = { BasicStroke.JOIN_MITER,
+    private static int[] joins = { BasicStroke.JOIN_MITER,
         BasicStroke.JOIN_BEVEL, BasicStroke.JOIN_ROUND };
-    private static Color colors[] = { GRAY, PINK, LIGHT_GRAY };
+    private static Color[] colors = { GRAY, PINK, LIGHT_GRAY };
     private static BasicStroke bs1 = new BasicStroke(1.0f);
     private static final int CLOCKWISE = 0;
-    private Line2D lines[] = new Line2D[3];
-    private int rAmt[] = new int[lines.length];
-    private int direction[] = new int[lines.length];
-    private int speed[] = new int[lines.length];
-    private BasicStroke strokes[] = new BasicStroke[lines.length];
+    private Line2D[] lines = new Line2D[3];
+    private int[] rAmt = new int[lines.length];
+    private int[] direction = new int[lines.length];
+    private int[] speed = new int[lines.length];
+    private BasicStroke[] strokes = new BasicStroke[lines.length];
     private GeneralPath path;
     private Point2D[] pts;
     private float size;
@@ -158,7 +158,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new LineAnim());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -65,11 +65,11 @@
 @SuppressWarnings("serial")
 public class Balls extends AnimatingControlsSurface {
 
-    private static Color colors[] = { RED, ORANGE, YELLOW, GREEN.darker(), BLUE,
+    private static Color[] colors = { RED, ORANGE, YELLOW, GREEN.darker(), BLUE,
         new Color(75, 00, 82), new Color(238, 130, 238) };
     private long now, deltaT, lasttime;
     private boolean active;
-    protected Ball balls[] = new Ball[colors.length];
+    protected Ball[] balls = new Ball[colors.length];
     protected boolean clearToggle;
     protected JComboBox combo;
 
@@ -129,7 +129,7 @@
         lasttime = now;
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Balls());
     }
 
@@ -141,7 +141,7 @@
         public float x, y;
         public float Vx = 0.1f;
         public float Vy = 0.05f;
-        public BufferedImage imgs[];
+        public BufferedImage[] imgs;
         // Pick a random starting image index, but not the last: we're going UP
         // and that would throw us off the end.
         public int index = (int) (random() * (nImgs - 1));
@@ -182,11 +182,11 @@
             imgs = new BufferedImage[nImgs];
 
             int bg = 255;
-            byte red[] = new byte[256];
+            byte[] red = new byte[256];
             red[0] = (byte) bg;
-            byte green[] = new byte[256];
+            byte[] green = new byte[256];
             green[0] = (byte) bg;
-            byte blue[] = new byte[256];
+            byte[] blue = new byte[256];
             blue[0] = (byte) bg;
 
             for (int r = 0; r < imgs.length; r++) {
@@ -202,7 +202,7 @@
                 IndexColorModel icm = new IndexColorModel(8, maxr + 1,
                         red, green, blue, 0);
                 DataBufferByte dbb = new DataBufferByte(data, data.length);
-                int bandOffsets[] = { 0 };
+                int[] bandOffsets = { 0 };
                 WritableRaster wr = Raster.createInterleavedRaster(dbb,
                         R * 2, R * 2, R * 2, 1, bandOffsets, null);
                 imgs[r] = new BufferedImage(icm, wr, icm.isAlphaPremultiplied(),
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -72,7 +72,7 @@
 @SuppressWarnings("serial")
 public class BezierScroller extends AnimatingControlsSurface {
 
-    private static String appletStrs[] = { " ", "J2Ddemo",
+    private static String[] appletStrs = { " ", "J2Ddemo",
         "BezierScroller - Animated Bezier Curve shape with images",
         "For README.txt file scrolling run in application mode", " " };
     private static final int NUMPTS = 6;
@@ -84,8 +84,8 @@
     private static BufferedImage img;
     private static final int UP = 0;
     private static final int DOWN = 1;
-    private float animpts[] = new float[NUMPTS * 2];
-    private float deltas[] = new float[NUMPTS * 2];
+    private float[] animpts = new float[NUMPTS * 2];
+    private float[] deltas = new float[NUMPTS * 2];
     private BufferedReader reader;
     private int nStrs;
     private int strH;
@@ -293,7 +293,7 @@
             g2.fill(gp);
 
             PathIterator pi = gp.getPathIterator(null);
-            float pts[] = new float[6];
+            float[] pts = new float[6];
             while (!pi.isDone()) {
                 if (pi.currentSegment(pts) == PathIterator.SEG_CUBICTO) {
                     g2.drawImage(hotj_img, (int) pts[0], (int) pts[1], this);
@@ -310,7 +310,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new BezierScroller());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Stars3D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Stars3D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -67,7 +67,7 @@
 @SuppressWarnings("serial")
 public class Stars3D extends ControlsSurface {
 
-    private static Color colors[] = { RED, GREEN, WHITE };
+    private static Color[] colors = { RED, GREEN, WHITE };
     private static AffineTransform at = AffineTransform.getTranslateInstance(-5,
             -5);
     private Shape shape, tshape;
@@ -99,8 +99,8 @@
         tshape = at.createTransformedShape(shape);
         PathIterator pi = shape.getPathIterator(null);
 
-        float seg[] = new float[6];
-        float tseg[] = new float[6];
+        float[] seg = new float[6];
+        float[] tseg = new float[6];
 
         GeneralPath working = new GeneralPath(Path2D.WIND_NON_ZERO);
         float x = 0, y = 0; // Current point on the path
@@ -247,7 +247,7 @@
         g2.draw(shape);
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new Stars3D());
     }
 
@@ -306,8 +306,8 @@
                 return;
             }
             int length = getSize().width / 4;
-            int size[] = { length, length };
-            String str[] = { "OpenJDK", "J2D" };
+            int[] size = { length, length };
+            String[] str = { "OpenJDK", "J2D" };
             while (thread == me) {
                 for (int i = 0; i < str.length; i++) {
                     demo.fontSize = size[i];
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -258,7 +258,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new GradAnim());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/Gradient.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/Gradient.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -93,7 +93,7 @@
                 (int) (h / 2 + tl.getBounds().getHeight() / 2));
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Gradient());
     }
 
@@ -101,13 +101,13 @@
     static class DemoControls extends CustomControls implements ActionListener {
 
         Gradient demo;
-        Color colors[] = { red, orange, yellow, green, blue, lightGray, cyan,
+        Color[] colors = { red, orange, yellow, green, blue, lightGray, cyan,
             magenta };
-        String colorName[] = { "Red", "Orange", "Yellow", "Green",
+        String[] colorName = { "Red", "Orange", "Yellow", "Green",
             "Blue", "lightGray", "Cyan", "Magenta" };
-        JMenuItem innerMI[] = new JMenuItem[colors.length];
-        JMenuItem outerMI[] = new JMenuItem[colors.length];
-        ColoredSquare squares[] = new ColoredSquare[colors.length];
+        JMenuItem[] innerMI = new JMenuItem[colors.length];
+        JMenuItem[] outerMI = new JMenuItem[colors.length];
+        ColoredSquare[] squares = new ColoredSquare[colors.length];
         JMenu imenu, omenu;
 
         @SuppressWarnings("LeakingThisInConstructor")
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/Texture.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/Texture.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -166,7 +166,7 @@
         g2.fill(sha);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Texture());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -80,7 +80,7 @@
     private boolean sheary = false;
     private boolean showanchor = true;
     private AnimVal w, h, x, y, rot, shx, shy;
-    private static Image img[] = new Image[2];
+    private static Image[] img = new Image[2];
 
     public TextureAnim() {
         img[0] = getImage("duke.gif");   // 8 bit gif
@@ -218,7 +218,7 @@
         }
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new TextureAnim());
     }
 
@@ -301,7 +301,7 @@
         JToolBar toolbar;
         JComboBox combo;
         JMenu menu;
-        JMenuItem menuitems[];
+        JMenuItem[] menuitems;
         int iconSize = 20;
         ButtonBorder buttonBorder = new ButtonBorder();
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/Append.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/Append.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -77,7 +77,7 @@
         g2.drawString("Append, connect", (int) (w * .25), (int) (h * .6) - 5);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Append());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/CurveQuadTo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/CurveQuadTo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -66,7 +66,7 @@
         g2.drawString("quadTo", (int) (w * .2), (int) (h * .6f) - 5);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new CurveQuadTo());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/FillStroke.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/FillStroke.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -69,7 +69,7 @@
         tl.draw(g2, (float) (w / 2 - tl.getBounds().getWidth() / 2), h * .85f);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new FillStroke());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/WindingRule.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Paths/WindingRule.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -86,7 +86,7 @@
         g2.drawString("EVEN_ODD rule", 0, -5);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new WindingRule());
     }
 }
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/Rotate.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/Rotate.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -99,7 +99,7 @@
         g2.drawString("Rotate", 5, 15);
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         createDemoFrame(new Rotate());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/SelectTx.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/SelectTx.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -232,7 +232,7 @@
 
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new SelectTx());
     }
 
--- a/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/TransformAnim.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/J2Ddemo/java2d/demos/Transforms/TransformAnim.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -107,16 +107,16 @@
     }
 
     private static BasicStroke bs = new BasicStroke(6);
-    private static Font fonts[] = {
+    private static Font[] fonts = {
                 new Font(Font.SERIF,      PLAIN,       48),
                 new Font(Font.SERIF,      BOLD|ITALIC, 24),
                 new Font(Font.MONOSPACED, BOLD,        36),
                 new Font(Font.SANS_SERIF, BOLD|ITALIC, 64),
                 new Font(Font.SANS_SERIF, PLAIN,       52)};
-    private static String strings[] = {
+    private static String[] strings = {
                 "Transformation", "Rotate", "Translate", "Shear", "Scale" };
-    private static String imgs[] = { "duke.png" };
-    private static Paint paints[] = {
+    private static String[] imgs = { "duke.png" };
+    private static Paint[] paints = {
                 RED, BLUE, texturePaint, GREEN, MAGENTA, ORANGE, PINK, CYAN,
                 new Color(0, 255, 0, 128), new Color(0, 0, 255, 128),
                 YELLOW, LIGHT_GRAY, WHITE};
@@ -253,7 +253,7 @@
     }
 
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         createDemoFrame(new TransformAnim());
     }
 
--- a/src/demo/share/jfc/SampleTree/SampleTree.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/SampleTree/SampleTree.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -615,7 +615,7 @@
         }
     } // End of class SampleTree.TreeEditableChangeListener
 
-    public static void main(String args[]) {
+    public static void main(String[] args) {
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
 
--- a/src/demo/share/jfc/SwingSet2/BezierAnimationPanel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/SwingSet2/BezierAnimationPanel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -64,11 +64,11 @@
 
     public final int NUMPTS = 6;
 
-    float animpts[] = new float[NUMPTS * 2];
+    float[] animpts = new float[NUMPTS * 2];
 
-    float deltas[] = new float[NUMPTS * 2];
+    float[] deltas = new float[NUMPTS * 2];
 
-    float staticpts[] = {
+    float[] staticpts = {
          50.0f,   0.0f,
         150.0f,   0.0f,
         200.0f,  75.0f,
@@ -77,7 +77,7 @@
           0.0f,  75.0f,
     };
 
-    float movepts[] = new float[staticpts.length];
+    float[] movepts = new float[staticpts.length];
 
     BufferedImage img;
 
--- a/src/demo/share/jfc/SwingSet2/ListDemo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/SwingSet2/ListDemo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -350,7 +350,7 @@
         }
     }
 
-    ImageIcon images[] = new ImageIcon[7];
+    ImageIcon[] images = new ImageIcon[7];
     void loadImages() {
             images[0] = createImageIcon("list/red.gif",  getString("ListDemo.red"));
             images[1] = createImageIcon("list/blue.gif",  getString("ListDemo.blue"));
--- a/src/demo/share/jfc/SwingSet2/TabbedPaneDemo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/SwingSet2/TabbedPaneDemo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
  *
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -149,19 +149,19 @@
     class HeadSpin extends JComponent implements ActionListener {
         javax.swing.Timer animator;
 
-        ImageIcon icon[] = new ImageIcon[6];
+        ImageIcon[] icon = new ImageIcon[6];
 
         int tmpScale;
 
         static final int numImages = 6;
 
-        double x[] = new double[numImages];
-        double y[] = new double[numImages];
+        double[] x = new double[numImages];
+        double[] y = new double[numImages];
 
-        int xh[] = new int[numImages];
-        int yh[] = new int[numImages];
+        int[] xh = new int[numImages];
+        int[] yh = new int[numImages];
 
-        double scale[] = new double[numImages];
+        double[] scale = new double[numImages];
 
         public HeadSpin() {
             setBackground(Color.black);
--- a/src/demo/share/jfc/TableExample/TableExample.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/TableExample/TableExample.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -248,7 +248,7 @@
         return scrollpane;
     }
 
-    public static void main(String s[]) {
+    public static void main(String[] s) {
         // Trying to set Nimbus look and feel
         try {
             for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
--- a/src/demo/share/jfc/TableExample/TableSorter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/demo/share/jfc/TableExample/TableSorter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -71,7 +71,7 @@
 @SuppressWarnings("serial")
 public final class TableSorter extends TableMap {
 
-    int indexes[];
+    int[] indexes;
     List<Integer> sortingColumns = new ArrayList<Integer>();
     boolean ascending = true;
     int compares;
@@ -249,7 +249,7 @@
     // arrays. The number of compares appears to vary between N-1 and
     // NlogN depending on the initial order but the main reason for
     // using it here is that, unlike qsort, it is stable.
-    public void shuttlesort(int from[], int to[], int low, int high) {
+    public void shuttlesort(int[] from, int[] to, int low, int high) {
         if (high - low < 2) {
             return;
         }
--- a/src/hotspot/cpu/arm/abstractInterpreter_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/abstractInterpreter_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -38,19 +38,6 @@
 int AbstractInterpreter::BasicType_as_index(BasicType type) {
   int i = 0;
   switch (type) {
-#ifdef AARCH64
-    case T_BOOLEAN: i = 0; break;
-    case T_CHAR   : i = 1; break;
-    case T_BYTE   : i = 2; break;
-    case T_SHORT  : i = 3; break;
-    case T_INT    : // fall through
-    case T_LONG   : // fall through
-    case T_VOID   : // fall through
-    case T_FLOAT  : // fall through
-    case T_DOUBLE : i = 4; break;
-    case T_OBJECT : // fall through
-    case T_ARRAY  : i = 5; break;
-#else
     case T_VOID   : i = 0; break;
     case T_BOOLEAN: i = 1; break;
     case T_CHAR   : i = 2; break;
@@ -62,7 +49,6 @@
     case T_LONG   : i = 7; break;
     case T_FLOAT  : i = 8; break;
     case T_DOUBLE : i = 9; break;
-#endif // AARCH64
     default       : ShouldNotReachHere();
   }
   assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers, "index out of bounds");
@@ -71,7 +57,7 @@
 
 // How much stack a method activation needs in words.
 int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
-  const int stub_code = AARCH64_ONLY(24) NOT_AARCH64(12);  // see generate_call_stub
+  const int stub_code = 12;  // see generate_call_stub
   // Save space for one monitor to get into the interpreted method in case
   // the method is synchronized
   int monitor_size    = method->is_synchronized() ?
@@ -108,9 +94,6 @@
          (moncount*frame::interpreter_frame_monitor_size()) +
          tempcount*Interpreter::stackElementWords + extra_args;
 
-#ifdef AARCH64
-  size = align_up(size, StackAlignmentInBytes/BytesPerWord);
-#endif // AARCH64
 
   return size;
 }
@@ -146,65 +129,7 @@
   // interpreter_frame_sender_sp is the original sp of the caller (the unextended_sp)
   // and sender_sp is (fp + sender_sp_offset*wordSize)
 
-#ifdef AARCH64
-  intptr_t* locals;
-  if (caller->is_interpreted_frame()) {
-    // attach locals to the expression stack of caller interpreter frame
-    locals = caller->interpreter_frame_tos_address() + caller_actual_parameters*Interpreter::stackElementWords - 1;
-  } else {
-    assert (is_bottom_frame, "should be");
-    locals = interpreter_frame->fp() + frame::sender_sp_offset + method->max_locals() - 1;
-  }
-
-  if (TraceDeoptimization) {
-    tty->print_cr("layout_activation:");
-
-    if (caller->is_entry_frame()) {
-      tty->print("entry ");
-    }
-    if (caller->is_compiled_frame()) {
-      tty->print("compiled ");
-    }
-    if (caller->is_interpreted_frame()) {
-      tty->print("interpreted ");
-    }
-    tty->print_cr("caller: sp=%p, unextended_sp=%p, fp=%p, pc=%p", caller->sp(), caller->unextended_sp(), caller->fp(), caller->pc());
-    tty->print_cr("interpreter_frame: sp=%p, unextended_sp=%p, fp=%p, pc=%p", interpreter_frame->sp(), interpreter_frame->unextended_sp(), interpreter_frame->fp(), interpreter_frame->pc());
-    tty->print_cr("method: max_locals = %d, size_of_parameters = %d", method->max_locals(), method->size_of_parameters());
-    tty->print_cr("caller_actual_parameters = %d", caller_actual_parameters);
-    tty->print_cr("locals = %p", locals);
-  }
-
-#ifdef ASSERT
-  if (caller_actual_parameters != method->size_of_parameters()) {
-    assert(caller->is_interpreted_frame(), "adjusted caller_actual_parameters, but caller is not interpreter frame");
-    Bytecode_invoke inv(caller->interpreter_frame_method(), caller->interpreter_frame_bci());
-
-    if (is_bottom_frame) {
-      assert(caller_actual_parameters == 0, "invalid adjusted caller_actual_parameters value for bottom frame");
-      assert(inv.is_invokedynamic() || inv.is_invokehandle(), "adjusted caller_actual_parameters for bottom frame, but not invokedynamic/invokehandle");
-    } else {
-      assert(caller_actual_parameters == method->size_of_parameters()+1, "invalid adjusted caller_actual_parameters value");
-      assert(!inv.is_invokedynamic() && MethodHandles::has_member_arg(inv.klass(), inv.name()), "adjusted caller_actual_parameters, but no member arg");
-    }
-  }
-  if (caller->is_interpreted_frame()) {
-    intptr_t* locals_base = (locals - method->max_locals()*Interpreter::stackElementWords + 1);
-    locals_base = align_down(locals_base, StackAlignmentInBytes);
-    assert(interpreter_frame->sender_sp() <= locals_base, "interpreter-to-interpreter frame chaining");
-
-  } else if (caller->is_compiled_frame()) {
-    assert(locals + 1 <= caller->unextended_sp(), "compiled-to-interpreter frame chaining");
-
-  } else {
-    assert(caller->is_entry_frame(), "should be");
-    assert(locals + 1 <= caller->fp(), "entry-to-interpreter frame chaining");
-  }
-#endif // ASSERT
-
-#else
   intptr_t* locals = interpreter_frame->sender_sp() + max_locals - 1;
-#endif // AARCH64
 
   interpreter_frame->interpreter_frame_set_locals(locals);
   BasicObjectLock* montop = interpreter_frame->interpreter_frame_monitor_begin();
@@ -215,44 +140,16 @@
   intptr_t* stack_top = (intptr_t*) monbot  -
     tempcount*Interpreter::stackElementWords -
     popframe_extra_args;
-#ifdef AARCH64
-  interpreter_frame->interpreter_frame_set_stack_top(stack_top);
-
-  // We have to add extra reserved slots to max_stack. There are 3 users of the extra slots,
-  // none of which are at the same time, so we just need to make sure there is enough room
-  // for the biggest user:
-  //   -reserved slot for exception handler
-  //   -reserved slots for JSR292. Method::extra_stack_entries() is the size.
-  //   -3 reserved slots so get_method_counters() can save some registers before call_VM().
-  int max_stack = method->constMethod()->max_stack() + MAX2(3, Method::extra_stack_entries());
-  intptr_t* extended_sp = (intptr_t*) monbot  -
-    (max_stack * Interpreter::stackElementWords) -
-    popframe_extra_args;
-  extended_sp = align_down(extended_sp, StackAlignmentInBytes);
-  interpreter_frame->interpreter_frame_set_extended_sp(extended_sp);
-#else
   interpreter_frame->interpreter_frame_set_last_sp(stack_top);
-#endif // AARCH64
 
   // All frames but the initial (oldest) interpreter frame we fill in have a
   // value for sender_sp that allows walking the stack but isn't
   // truly correct. Correct the value here.
 
-#ifdef AARCH64
-  if (caller->is_interpreted_frame()) {
-    intptr_t* sender_sp = align_down(caller->interpreter_frame_tos_address(), StackAlignmentInBytes);
-    interpreter_frame->set_interpreter_frame_sender_sp(sender_sp);
-
-  } else {
-    // in case of non-interpreter caller sender_sp of the oldest frame is already
-    // set to valid value
-  }
-#else
   if (extra_locals != 0 &&
       interpreter_frame->sender_sp() == interpreter_frame->interpreter_frame_sender_sp() ) {
     interpreter_frame->set_interpreter_frame_sender_sp(caller->sp() + extra_locals);
   }
-#endif // AARCH64
 
   *interpreter_frame->interpreter_frame_cache_addr() =
     method->constants()->cache();
--- a/src/hotspot/cpu/arm/arm.ad	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/arm.ad	Thu Nov 01 09:01:15 2018 -0400
@@ -67,15 +67,10 @@
   return MacroAssembler::_cache_fully_reachable();
 }
 
-#ifdef AARCH64
-#define ldr_32 ldr_w
-#define str_32 str_w
-#else
 #define ldr_32 ldr
 #define str_32 str
 #define tst_32 tst
 #define teq_32 teq
-#endif
 #if 1
 extern bool PrintOptoAssembly;
 #endif
@@ -111,12 +106,7 @@
   static int emit_deopt_handler(CodeBuffer& cbuf);
 
   static uint size_exception_handler() {
-#ifdef AARCH64
-    // ldr_literal; br; (pad); <literal>
-    return 3 * Assembler::InstructionSize + wordSize;
-#else
     return ( 3 * 4 );
-#endif
   }
 
 
@@ -205,9 +195,6 @@
 const RegMask& MachConstantBaseNode::_out_RegMask = PTR_REG_mask();
 
 int Compile::ConstantTable::calculate_table_base_offset() const {
-#ifdef AARCH64
-  return 0;
-#else
   int offset = -(size() / 2);
   // flds, fldd: 8-bit  offset multiplied by 4: +/- 1024
   // ldr, ldrb : 12-bit offset:                 +/- 4096
@@ -215,7 +202,6 @@
     offset = Assembler::min_simm10();
   }
   return offset;
-#endif
 }
 
 bool MachConstantBaseNode::requires_postalloc_expand() const { return false; }
@@ -240,11 +226,7 @@
 }
 
 uint MachConstantBaseNode::size(PhaseRegAlloc*) const {
-#ifdef AARCH64
-  return 5 * Assembler::InstructionSize;
-#else
   return 8;
-#endif
 }
 
 #ifndef PRODUCT
@@ -262,12 +244,6 @@
   for (int i = 0; i < OptoPrologueNops; i++) {
     st->print_cr("NOP"); st->print("\t");
   }
-#ifdef AARCH64
-  if (OptoPrologueNops <= 0) {
-    st->print_cr("NOP\t! required for safe patching");
-    st->print("\t");
-  }
-#endif
 
   size_t framesize = C->frame_size_in_bytes();
   assert((framesize & (StackAlignmentInBytes-1)) == 0, "frame size not aligned");
@@ -298,11 +274,6 @@
   for (int i = 0; i < OptoPrologueNops; i++) {
     __ nop();
   }
-#ifdef AARCH64
-  if (OptoPrologueNops <= 0) {
-    __ nop(); // required for safe patching by patch_verified_entry()
-  }
-#endif
 
   size_t framesize = C->frame_size_in_bytes();
   assert((framesize & (StackAlignmentInBytes-1)) == 0, "frame size not aligned");
@@ -361,18 +332,8 @@
 
   if (do_polling() && ra_->C->is_method_compilation()) {
     st->print("\n\t");
-#ifdef AARCH64
-    if (MacroAssembler::page_reachable_from_cache(os::get_polling_page())) {
-      st->print("ADRP     Rtemp, #PollAddr\t! Load Polling address\n\t");
-      st->print("LDR      ZR,[Rtemp + #PollAddr & 0xfff]\t!Poll for Safepointing");
-    } else {
-      st->print("mov_slow Rtemp, #PollAddr\t! Load Polling address\n\t");
-      st->print("LDR      ZR,[Rtemp]\t!Poll for Safepointing");
-    }
-#else
     st->print("MOV    Rtemp, #PollAddr\t! Load Polling address\n\t");
     st->print("LDR    Rtemp,[Rtemp]\t!Poll for Safepointing");
-#endif
   }
 }
 #endif
@@ -390,36 +351,15 @@
 
   // If this does safepoint polling, then do it here
   if (do_polling() && ra_->C->is_method_compilation()) {
-#ifdef AARCH64
-    if (false && MacroAssembler::page_reachable_from_cache(os::get_polling_page())) {
-/* FIXME: TODO
-      __ relocate(relocInfo::xxx);
-      __ adrp(Rtemp, (intptr_t)os::get_polling_page());
-      __ relocate(relocInfo::poll_return_type);
-      int offset = os::get_polling_page() & 0xfff;
-      __ ldr(ZR, Address(Rtemp + offset));
-*/
-    } else {
-      __ mov_address(Rtemp, (address)os::get_polling_page(), symbolic_Relocation::polling_page_reference);
-      __ relocate(relocInfo::poll_return_type);
-      __ ldr(ZR, Address(Rtemp));
-    }
-#else
     // mov_slow here is usually one or two instruction
     __ mov_address(Rtemp, (address)os::get_polling_page(), symbolic_Relocation::polling_page_reference);
     __ relocate(relocInfo::poll_return_type);
     __ ldr(Rtemp, Address(Rtemp));
-#endif
   }
 }
 
 uint MachEpilogNode::size(PhaseRegAlloc *ra_) const {
-#ifdef AARCH64
-  // allow for added alignment nop from mov_address bind_literal
-  return MachNode::size(ra_) + 1 * Assembler::InstructionSize;
-#else
   return MachNode::size(ra_);
-#endif
 }
 
 int MachEpilogNode::reloc() const {
@@ -451,16 +391,12 @@
 }
 
 static inline bool is_iRegLd_memhd(OptoReg::Name src_first, OptoReg::Name src_second, int offset) {
-#ifdef AARCH64
-  return is_memoryHD(offset);
-#else
   int rlo = Matcher::_regEncode[src_first];
   int rhi = Matcher::_regEncode[src_second];
   if (!((rlo&1)==0 && (rlo+1 == rhi))) {
     tty->print_cr("CAUGHT BAD LDRD/STRD");
   }
   return (rlo&1)==0 && (rlo+1 == rhi) && is_memoryHD(offset);
-#endif
 }
 
 uint MachSpillCopyNode::implementation( CodeBuffer *cbuf,
@@ -549,11 +485,6 @@
                 Matcher::regName[src_first]);
 #endif
     }
-#ifdef AARCH64
-    if (src_first+1 == src_second && dst_first+1 == dst_second) {
-      return size + 4;
-    }
-#endif
     size += 4;
   }
 
@@ -722,20 +653,12 @@
       assert((src_first&1)==0 && src_first+1 == src_second, "pairs of registers must be aligned/contiguous");
       assert(src_second_rc == rc_int && dst_second_rc == rc_float, "unsupported");
       if (cbuf) {
-#ifdef AARCH64
-        __ fmov_dx(reg_to_FloatRegister_object(Matcher::_regEncode[dst_first]), reg_to_register_object(Matcher::_regEncode[src_first]));
-#else
         __ fmdrr(reg_to_FloatRegister_object(Matcher::_regEncode[dst_first]), reg_to_register_object(Matcher::_regEncode[src_first]), reg_to_register_object(Matcher::_regEncode[src_second]));
-#endif
 #ifndef PRODUCT
       } else if (!do_size) {
         if (size != 0) st->print("\n\t");
-#ifdef AARCH64
-        st->print("FMOV_DX   R_%s, R_%s\t! spill",OptoReg::regname(dst_first), OptoReg::regname(src_first));
-#else
         st->print("FMDRR   R_%s, R_%s, R_%s\t! spill",OptoReg::regname(dst_first), OptoReg::regname(src_first), OptoReg::regname(src_second));
 #endif
-#endif
       }
       return size + 4;
     } else {
@@ -759,20 +682,12 @@
       assert((dst_first&1)==0 && dst_first+1 == dst_second, "pairs of registers must be aligned/contiguous");
       assert(src_second_rc == rc_float && dst_second_rc == rc_int, "unsupported");
       if (cbuf) {
-#ifdef AARCH64
-        __ fmov_xd(reg_to_register_object(Matcher::_regEncode[dst_first]), reg_to_FloatRegister_object(Matcher::_regEncode[src_first]));
-#else
         __ fmrrd(reg_to_register_object(Matcher::_regEncode[dst_first]), reg_to_register_object(Matcher::_regEncode[dst_second]), reg_to_FloatRegister_object(Matcher::_regEncode[src_first]));
-#endif
 #ifndef PRODUCT
       } else if (!do_size) {
         if (size != 0) st->print("\n\t");
-#ifdef AARCH64
-        st->print("FMOV_XD R_%s, R_%s\t! spill",OptoReg::regname(dst_first), OptoReg::regname(src_first));
-#else
         st->print("FMRRD   R_%s, R_%s, R_%s\t! spill",OptoReg::regname(dst_first), OptoReg::regname(dst_second), OptoReg::regname(src_first));
 #endif
-#endif
       }
       return size + 4;
     } else {
@@ -795,7 +710,6 @@
     return size;               // Self copy; no move
   assert( src_second_rc != rc_bad && dst_second_rc != rc_bad, "src_second & dst_second cannot be Bad" );
 
-#ifndef AARCH64
   // Check for integer reg-reg copy.  Hi bits are stuck up in the top
   // 32-bits of a 64-bit register, but are needed in low bits of another
   // register (else it's a hi-bits-to-hi-bits copy which should have
@@ -852,7 +766,6 @@
     }
     return size + 4;
   }
-#endif
 
   Unimplemented();
   return 0; // Mute compiler
@@ -910,11 +823,7 @@
     __ add(dst, SP, offset);
   } else {
     __ mov_slow(dst, offset);
-#ifdef AARCH64
-    __ add(dst, SP, dst, ex_lsl);
-#else
     __ add(dst, SP, dst);
-#endif
   }
 }
 
@@ -926,11 +835,7 @@
 
 //=============================================================================
 #ifndef PRODUCT
-#ifdef AARCH64
-#define R_RTEMP "R_R16"
-#else
 #define R_RTEMP "R_R12"
-#endif
 void MachUEPNode::format( PhaseRegAlloc *ra_, outputStream *st ) const {
   st->print_cr("\nUEP:");
   if (UseCompressedClassPointers) {
@@ -952,14 +857,7 @@
 
   __ load_klass(Rtemp, receiver);
   __ cmp(Rtemp, iCache);
-#ifdef AARCH64
-  Label match;
-  __ b(match, eq);
-  __ jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type, Rtemp);
-  __ bind(match);
-#else
   __ jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type, noreg, ne);
-#endif
 }
 
 uint MachUEPNode::size(PhaseRegAlloc *ra_) const {
@@ -1005,24 +903,12 @@
   int offset = __ offset();
   address deopt_pc = __ pc();
 
-#ifdef AARCH64
-  // See LR saved by caller in sharedRuntime_arm.cpp
-  // see also hse1 ws
-  // see also LIR_Assembler::emit_deopt_handler
-
-  __ raw_push(LR, LR); // preserve LR in both slots
-  __ mov_relative_address(LR, deopt_pc);
-  __ str(LR, Address(SP, 1 * wordSize)); // save deopt PC
-  // OK to kill LR, because deopt blob will restore it from SP[0]
-  __ jump(SharedRuntime::deopt_blob()->unpack(), relocInfo::runtime_call_type, LR_tmp);
-#else
   __ sub(SP, SP, wordSize); // make room for saved PC
   __ push(LR); // save LR that may be live when we get here
   __ mov_relative_address(LR, deopt_pc);
   __ str(LR, Address(SP, wordSize)); // save deopt PC
   __ pop(LR); // restore LR
   __ jump(SharedRuntime::deopt_blob()->unpack(), relocInfo::runtime_call_type, noreg);
-#endif
 
   assert(__ offset() - offset <= (int) size_deopt_handler(), "overflow");
 
@@ -1073,21 +959,13 @@
   case Op_AddVF:
   case Op_SubVF:
   case Op_MulVF:
-#ifdef AARCH64
-    return VM_Version::has_simd();
-#else
     return VM_Version::has_vfp() || VM_Version::has_simd();
-#endif
   case Op_AddVD:
   case Op_SubVD:
   case Op_MulVD:
   case Op_DivVF:
   case Op_DivVD:
-#ifdef AARCH64
-    return VM_Version::has_simd();
-#else
     return VM_Version::has_vfp();
-#endif
   }
 
   return true;  // Per default match rules are supported.
@@ -1158,11 +1036,7 @@
 }
 
 const bool Matcher::convL2FSupported(void) {
-#ifdef AARCH64
-  return true;
-#else
   return false;
-#endif
 }
 
 // Is this branch offset short enough that a short branch can be used?
@@ -1181,29 +1055,17 @@
 
 const bool Matcher::isSimpleConstant64(jlong value) {
   // Will one (StoreL ConL) be cheaper than two (StoreI ConI)?.
-#ifdef AARCH64
-  return (value == 0);
-#else
   return false;
-#endif
 }
 
 // No scaling for the parameter the ClearArray node.
 const bool Matcher::init_array_count_is_in_bytes = true;
 
-#ifdef AARCH64
-const int Matcher::long_cmove_cost() { return 1; }
-#else
 // Needs 2 CMOV's for longs.
 const int Matcher::long_cmove_cost() { return 2; }
-#endif
-
-#ifdef AARCH64
-const int Matcher::float_cmove_cost() { return 1; }
-#else
+
 // CMOVF/CMOVD are expensive on ARM.
 const int Matcher::float_cmove_cost() { return ConditionalMoveLimit; }
-#endif
 
 // Does the CPU require late expand (see block.cpp for description of late expand)?
 const bool Matcher::require_postalloc_expand = false;
@@ -1211,11 +1073,7 @@
 // Do we need to mask the count passed to shift instructions or does
 // the cpu only look at the lower 5/6 bits anyway?
 // FIXME: does this handle vector shifts as well?
-#ifdef AARCH64
-const bool Matcher::need_masked_shift_count = false;
-#else
 const bool Matcher::need_masked_shift_count = true;
-#endif
 
 const bool Matcher::convi2l_type_required = true;
 
@@ -1261,14 +1119,7 @@
 // needed.  Else we split the double into 2 integer pieces and move it
 // piece-by-piece.  Only happens when passing doubles into C code as the
 // Java calling convention forces doubles to be aligned.
-#ifdef AARCH64
-// On stack replacement support:
-// We don't need Load[DL]_unaligned support, because interpreter stack
-// has correct alignment
-const bool Matcher::misaligned_doubles_ok = true;
-#else
 const bool Matcher::misaligned_doubles_ok = false;
-#endif
 
 // No-op on ARM.
 void Matcher::pd_implicit_null_fixup(MachNode *node, uint idx) {
@@ -1300,10 +1151,6 @@
 // Registers not mentioned will be killed by the VM call in the trampoline, and
 // arguments in those registers not be available to the callee.
 bool Matcher::can_be_java_arg( int reg ) {
-#ifdef AARCH64
-  if (reg >= R_R0_num && reg < R_R8_num) return true;
-  if (reg >= R_V0_num && reg <= R_V7b_num && ((reg & 3) < 2)) return true;
-#else
   if (reg == R_R0_num ||
       reg == R_R1_num ||
       reg == R_R2_num ||
@@ -1311,7 +1158,6 @@
 
   if (reg >= R_S0_num &&
       reg <= R_S13_num) return true;
-#endif
   return false;
 }
 
@@ -1454,44 +1300,14 @@
     Register R8_ic_reg = reg_to_register_object(Matcher::inline_cache_reg_encode());
     assert(R8_ic_reg == Ricklass, "should be");
     __ set_inst_mark();
-#ifdef AARCH64
-// TODO: see C1 LIR_Assembler::ic_call()
-    InlinedAddress oop_literal((address)Universe::non_oop_word());
-    int offset = __ offset();
-    int fixed_size = mov_oop_size * 4;
-    if (VM_Version::prefer_moves_over_load_literal()) {
-      uintptr_t val = (uintptr_t)Universe::non_oop_word();
-      __ movz(R8_ic_reg, (val >>  0) & 0xffff,  0);
-      __ movk(R8_ic_reg, (val >> 16) & 0xffff, 16);
-      __ movk(R8_ic_reg, (val >> 32) & 0xffff, 32);
-      __ movk(R8_ic_reg, (val >> 48) & 0xffff, 48);
-    } else {
-      __ ldr_literal(R8_ic_reg, oop_literal);
-    }
-    assert(__ offset() - offset == fixed_size, "bad mov_oop size");
-#else
     __ movw(R8_ic_reg, ((unsigned int)Universe::non_oop_word()) & 0xffff);
     __ movt(R8_ic_reg, ((unsigned int)Universe::non_oop_word()) >> 16);
-#endif
     address  virtual_call_oop_addr = __ inst_mark();
     // CALL to fixup routine.  Fixup routine uses ScopeDesc info to determine
     // who we intended to call.
     int method_index = resolved_method_index(cbuf);
     __ relocate(virtual_call_Relocation::spec(virtual_call_oop_addr, method_index));
     emit_call_reloc(cbuf, as_MachCall(), $meth, RelocationHolder::none);
-#ifdef AARCH64
-    if (!VM_Version::prefer_moves_over_load_literal()) {
-      Label skip_literal;
-      __ b(skip_literal);
-      int off2 = __ offset();
-      __ bind_literal(oop_literal);
-      if (__ offset() - off2 == wordSize) {
-        // no padding, so insert nop for worst-case sizing
-        __ nop();
-      }
-      __ bind(skip_literal);
-    }
-#endif
   %}
 
   enc_class LdReplImmI(immI src, regD dst, iRegI tmp, int cnt, int wth) %{
@@ -1558,16 +1374,8 @@
     // See if the lengths are different, and calculate min in str1_reg.
     // Stash diff in tmp2 in case we need it for a tie-breaker.
     __ subs_32(tmp2_reg, cnt1_reg, cnt2_reg);
-#ifdef AARCH64
-    Label Lskip;
-    __ _lsl_w(cnt1_reg, cnt1_reg, exact_log2(sizeof(jchar))); // scale the limit
-    __ b(Lskip, mi);
-    __ _lsl_w(cnt1_reg, cnt2_reg, exact_log2(sizeof(jchar))); // scale the limit
-    __ bind(Lskip);
-#else
     __ mov(cnt1_reg, AsmOperand(cnt1_reg, lsl, exact_log2(sizeof(jchar)))); // scale the limit
     __ mov(cnt1_reg, AsmOperand(cnt2_reg, lsl, exact_log2(sizeof(jchar))), pl); // scale the limit
-#endif
 
     // reallocate cnt1_reg, cnt2_reg, result_reg
     // Note:  limit_reg holds the string length pre-scaled by 2
@@ -1717,16 +1525,6 @@
     int base_offset    = arrayOopDesc::base_offset_in_bytes(T_CHAR);
 
     // return true if the same array
-#ifdef AARCH64
-    __ cmp(ary1_reg, ary2_reg);
-    __ b(Lequal, eq);
-
-    __ mov(result_reg, 0);
-
-    __ cbz(ary1_reg, Ldone); // not equal
-
-    __ cbz(ary2_reg, Ldone); // not equal
-#else
     __ teq(ary1_reg, ary2_reg);
     __ mov(result_reg, 1, eq);
     __ b(Ldone, eq); // equal
@@ -1738,19 +1536,12 @@
     __ tst(ary2_reg, ary2_reg);
     __ mov(result_reg, 0, eq);
     __ b(Ldone, eq);    // not equal
-#endif
 
     //load the lengths of arrays
     __ ldr_s32(tmp1_reg, Address(ary1_reg, length_offset)); // int
     __ ldr_s32(tmp2_reg, Address(ary2_reg, length_offset)); // int
 
     // return false if the two arrays are not equal length
-#ifdef AARCH64
-    __ cmp_w(tmp1_reg, tmp2_reg);
-    __ b(Ldone, ne);    // not equal
-
-    __ cbz_w(tmp1_reg, Lequal); // zero-length arrays are equal
-#else
     __ teq_32(tmp1_reg, tmp2_reg);
     __ mov(result_reg, 0, ne);
     __ b(Ldone, ne);    // not equal
@@ -1758,7 +1549,6 @@
     __ tst(tmp1_reg, tmp1_reg);
     __ mov(result_reg, 1, eq);
     __ b(Ldone, eq);    // zero-length arrays are equal
-#endif
 
     // load array addresses
     __ add(ary1_reg, ary1_reg, base_offset);
@@ -1852,11 +1642,7 @@
   sync_stack_slots(1 * VMRegImpl::slots_per_word);
 
   // Compiled code's Frame Pointer
-#ifdef AARCH64
-  frame_pointer(R_SP);
-#else
   frame_pointer(R_R13);
-#endif
 
   // Stack alignment requirement
   stack_alignment(StackAlignmentInBytes);
@@ -1953,7 +1739,6 @@
   interface(CONST_INTER);
 %}
 
-#ifndef AARCH64
 // Integer Immediate: offset for half and double word loads and stores
 operand immIHD() %{
   predicate(is_memoryHD(n->get_int()));
@@ -1972,7 +1757,6 @@
   format %{ %}
   interface(CONST_INTER);
 %}
-#endif
 
 // Valid scale values for addressing modes and shifts
 operand immU5() %{
@@ -2183,45 +1967,6 @@
   interface(CONST_INTER);
 %}
 
-#ifdef AARCH64
-// Long Immediate: for logical instruction
-operand limmL() %{
-  predicate(is_limmL(n->get_long()));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand limmLn() %{
-  predicate(is_limmL(~n->get_long()));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Long Immediate: for arithmetic instruction
-operand aimmL() %{
-  predicate(is_aimm(n->get_long()));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand aimmLneg() %{
-  predicate(is_aimm(-n->get_long()));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-#endif // AARCH64
 
 // Long Immediate: the value FF
 operand immL_FF() %{
@@ -2404,11 +2149,7 @@
   match(R1RegI);
   match(R2RegI);
   match(R3RegI);
-#ifdef AARCH64
-  match(ZRRegI);
-#else
   match(R12RegI);
-#endif
 
   format %{ %}
   interface(REG_INTER);
@@ -2446,49 +2187,6 @@
   interface(REG_INTER);
 %}
 
-#ifdef AARCH64
-// Like sp_ptr_reg, but exclude regs (Aarch64 SP) that can't be
-// stored directly.  Includes ZR, so can't be used as a destination.
-operand store_ptr_RegP() %{
-  constraint(ALLOC_IN_RC(store_ptr_reg));
-  match(RegP);
-  match(iRegP);
-  match(ZRRegP);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand store_RegI() %{
-  constraint(ALLOC_IN_RC(store_reg));
-  match(RegI);
-  match(iRegI);
-  match(ZRRegI);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand store_RegL() %{
-  constraint(ALLOC_IN_RC(store_ptr_reg));
-  match(RegL);
-  match(iRegL);
-  match(ZRRegL);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand store_RegN() %{
-  constraint(ALLOC_IN_RC(store_reg));
-  match(RegN);
-  match(iRegN);
-  match(ZRRegN);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-#endif
 
 operand R0RegP() %{
   constraint(ALLOC_IN_RC(R0_regP));
@@ -2578,7 +2276,6 @@
   interface(REG_INTER);
 %}
 
-#ifndef AARCH64
 operand R12RegI() %{
   constraint(ALLOC_IN_RC(R12_regI));
   match(iRegI);
@@ -2586,18 +2283,13 @@
   format %{ %}
   interface(REG_INTER);
 %}
-#endif
 
 // Long Register
 operand iRegL() %{
   constraint(ALLOC_IN_RC(long_reg));
   match(RegL);
-#ifdef AARCH64
-  match(iRegLd);
-#else
   match(R0R1RegL);
   match(R2R3RegL);
-#endif
 //match(iRegLex);
 
   format %{ %}
@@ -2612,7 +2304,6 @@
   interface(REG_INTER);
 %}
 
-#ifndef AARCH64
 // first long arg, or return value
 operand R0R1RegL() %{
   constraint(ALLOC_IN_RC(R0R1_regL));
@@ -2629,7 +2320,6 @@
   format %{ %}
   interface(REG_INTER);
 %}
-#endif
 
 // Condition Code Flag Register
 operand flagsReg() %{
@@ -2671,7 +2361,6 @@
 %}
 
 // Condition Code Register, long comparisons.
-#ifndef AARCH64
 operand flagsRegL_LTGE() %{
   constraint(ALLOC_IN_RC(int_flags));
   match(RegFlags);
@@ -2719,7 +2408,6 @@
   format %{ "apsr_UL_LEGT" %}
   interface(REG_INTER);
 %}
-#endif
 
 // Condition Code Register, floating comparisons, unordered same as "less".
 operand flagsRegF() %{
@@ -2800,113 +2488,12 @@
   format %{ "[$reg]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp(0x0);
   %}
 %}
 
-#ifdef AARCH64
-// Indirect with scaled*1 uimm12 offset
-operand indOffsetU12ScaleB(sp_ptr_RegP reg, immUL12 offset) %{
-  constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(AddP reg offset);
-
-  op_cost(100);
-  format %{ "[$reg + $offset]" %}
-  interface(MEMORY_INTER) %{
-    base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
-    index(0xf); // PC => no index
-#endif
-    scale(0x0);
-    disp($offset);
-  %}
-%}
-
-// Indirect with scaled*2 uimm12 offset
-operand indOffsetU12ScaleS(sp_ptr_RegP reg, immUL12x2 offset) %{
-  constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(AddP reg offset);
-
-  op_cost(100);
-  format %{ "[$reg + $offset]" %}
-  interface(MEMORY_INTER) %{
-    base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
-    index(0xf); // PC => no index
-#endif
-    scale(0x0);
-    disp($offset);
-  %}
-%}
-
-// Indirect with scaled*4 uimm12 offset
-operand indOffsetU12ScaleI(sp_ptr_RegP reg, immUL12x4 offset) %{
-  constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(AddP reg offset);
-
-  op_cost(100);
-  format %{ "[$reg + $offset]" %}
-  interface(MEMORY_INTER) %{
-    base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
-    index(0xf); // PC => no index
-#endif
-    scale(0x0);
-    disp($offset);
-  %}
-%}
-
-// Indirect with scaled*8 uimm12 offset
-operand indOffsetU12ScaleL(sp_ptr_RegP reg, immUL12x8 offset) %{
-  constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(AddP reg offset);
-
-  op_cost(100);
-  format %{ "[$reg + $offset]" %}
-  interface(MEMORY_INTER) %{
-    base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
-    index(0xf); // PC => no index
-#endif
-    scale(0x0);
-    disp($offset);
-  %}
-%}
-
-// Indirect with scaled*16 uimm12 offset
-operand indOffsetU12ScaleQ(sp_ptr_RegP reg, immUL12x16 offset) %{
-  constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(AddP reg offset);
-
-  op_cost(100);
-  format %{ "[$reg + $offset]" %}
-  interface(MEMORY_INTER) %{
-    base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
-    index(0xf); // PC => no index
-#endif
-    scale(0x0);
-    disp($offset);
-  %}
-%}
-
-#else // ! AARCH64
 
 // Indirect with Offset in ]-4096, 4096[
 operand indOffset12(sp_ptr_RegP reg, immI12 offset) %{
@@ -2917,11 +2504,7 @@
   format %{ "[$reg + $offset]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp($offset);
   %}
@@ -2936,11 +2519,7 @@
   format %{ "[$reg + $offset]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp($offset);
   %}
@@ -2955,11 +2534,7 @@
   format %{ "[$reg + $offset]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp($offset);
   %}
@@ -2974,11 +2549,7 @@
   format %{ "[$reg + $offset]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp($offset);
   %}
@@ -2993,16 +2564,11 @@
   format %{ "[$reg + $offset]" %}
   interface(MEMORY_INTER) %{
     base($reg);
-#ifdef AARCH64
-    index(0xff); // 0xff => no index
-#else
     index(0xf); // PC => no index
-#endif
     scale(0x0);
     disp($offset);
   %}
 %}
-#endif // !AARCH64
 
 // Indirect with Register Index
 operand indIndex(iRegP addr, iRegX index) %{
@@ -3019,127 +2585,6 @@
   %}
 %}
 
-#ifdef AARCH64
-// Indirect Memory Times Scale Plus Index Register
-operand indIndexScaleS(iRegP addr, iRegX index, immI_1 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX index scale));
-
-  op_cost(100);
-  format %{"[$addr + $index << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x0);
-  %}
-%}
-
-// Indirect Memory Times Scale Plus 32-bit Index Register
-operand indIndexIScaleS(iRegP addr, iRegI index, immI_1 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX (ConvI2L index) scale));
-
-  op_cost(100);
-  format %{"[$addr + $index.w << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x7fffffff); // sxtw
-  %}
-%}
-
-// Indirect Memory Times Scale Plus Index Register
-operand indIndexScaleI(iRegP addr, iRegX index, immI_2 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX index scale));
-
-  op_cost(100);
-  format %{"[$addr + $index << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x0);
-  %}
-%}
-
-// Indirect Memory Times Scale Plus 32-bit Index Register
-operand indIndexIScaleI(iRegP addr, iRegI index, immI_2 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX (ConvI2L index) scale));
-
-  op_cost(100);
-  format %{"[$addr + $index.w << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x7fffffff); // sxtw
-  %}
-%}
-
-// Indirect Memory Times Scale Plus Index Register
-operand indIndexScaleL(iRegP addr, iRegX index, immI_3 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX index scale));
-
-  op_cost(100);
-  format %{"[$addr + $index << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x0);
-  %}
-%}
-
-// Indirect Memory Times Scale Plus 32-bit Index Register
-operand indIndexIScaleL(iRegP addr, iRegI index, immI_3 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX (ConvI2L index) scale));
-
-  op_cost(100);
-  format %{"[$addr + $index.w << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x7fffffff); // sxtw
-  %}
-%}
-
-// Indirect Memory Times Scale Plus Index Register
-operand indIndexScaleQ(iRegP addr, iRegX index, immI_4 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX index scale));
-
-  op_cost(100);
-  format %{"[$addr + $index << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x0);
-  %}
-%}
-
-// Indirect Memory Times Scale Plus 32-bit Index Register
-operand indIndexIScaleQ(iRegP addr, iRegI index, immI_4 scale) %{
-  constraint(ALLOC_IN_RC(ptr_reg));
-  match(AddP addr (LShiftX (ConvI2L index) scale));
-
-  op_cost(100);
-  format %{"[$addr + $index.w << $scale]" %}
-  interface(MEMORY_INTER) %{
-    base($addr);
-    index($index);
-    scale($scale);
-    disp(0x7fffffff); // sxtw
-  %}
-%}
-#else
 // Indirect Memory Times Scale Plus Index Register
 operand indIndexScale(iRegP addr, iRegX index, immU5 scale) %{
   constraint(ALLOC_IN_RC(ptr_reg));
@@ -3154,7 +2599,6 @@
     disp(0x0);
   %}
 %}
-#endif
 
 // Operands for expressing Control Flow
 // NOTE:  Label is a predefined operand which should not be redefined in
@@ -3312,29 +2756,6 @@
 // instructions for every form of operand when the instruction accepts
 // multiple operand types with the same basic encoding and format.  The classic
 // case of this is memory operands.
-#ifdef AARCH64
-opclass memoryB(indirect, indIndex, indOffsetU12ScaleB);
-opclass memoryS(indirect, indIndex, indIndexScaleS, indIndexIScaleS, indOffsetU12ScaleS);
-opclass memoryI(indirect, indIndex, indIndexScaleI, indIndexIScaleI, indOffsetU12ScaleI);
-opclass memoryL(indirect, indIndex, indIndexScaleL, indIndexIScaleL, indOffsetU12ScaleL);
-opclass memoryP(indirect, indIndex, indIndexScaleL, indIndexIScaleL, indOffsetU12ScaleL);
-opclass memoryQ(indirect, indIndex, indIndexScaleQ, indIndexIScaleQ, indOffsetU12ScaleQ);
-opclass memoryF(indirect, indIndex, indIndexScaleI, indIndexIScaleI, indOffsetU12ScaleI);
-opclass memoryD(indirect, indIndex, indIndexScaleL, indIndexIScaleL, indOffsetU12ScaleL);
-
-opclass memoryScaledS(indIndexScaleS, indIndexIScaleS);
-opclass memoryScaledI(indIndexScaleI, indIndexIScaleI);
-opclass memoryScaledL(indIndexScaleL, indIndexIScaleL);
-opclass memoryScaledP(indIndexScaleL, indIndexIScaleL);
-opclass memoryScaledQ(indIndexScaleQ, indIndexIScaleQ);
-opclass memoryScaledF(indIndexScaleI, indIndexIScaleI);
-opclass memoryScaledD(indIndexScaleL, indIndexIScaleL);
-// when ldrex/strex is used:
-opclass memoryex ( indirect );
-opclass indIndexMemory( indIndex );
-opclass memoryvld ( indirect /* , write back mode not implemented */ );
-
-#else
 
 opclass memoryI ( indirect, indOffset12, indIndex, indIndexScale );
 opclass memoryP ( indirect, indOffset12, indIndex, indIndexScale );
@@ -3354,7 +2775,6 @@
 opclass indIndexMemory( indIndex );
 opclass memorylong ( indirect, indOffset12x2 );
 opclass memoryvld ( indirect /* , write back mode not implemented */ );
-#endif
 
 //----------PIPELINE-----------------------------------------------------------
 pipeline %{
@@ -4163,7 +3583,6 @@
   size(4);
   format %{ "LDRSB   $dst,$mem\t! byte -> int" %}
   ins_encode %{
-    // High 32 bits are harmlessly set on Aarch64
     __ ldrsb($dst$$Register, $mem$$Address);
   %}
   ins_pipe(iload_mask_mem);
@@ -4174,13 +3593,6 @@
   match(Set dst (ConvI2L (LoadB mem)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRSB $dst,$mem\t! byte -> long"  %}
-  ins_encode %{
-    __ ldrsb($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRSB $dst.lo,$mem\t! byte -> long\n\t"
             "ASR   $dst.hi,$dst.lo,31" %}
@@ -4188,7 +3600,6 @@
     __ ldrsb($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), AsmOperand($dst$$Register, asr, 31));
   %}
-#endif
   ins_pipe(iload_mask_mem);
 %}
 
@@ -4210,13 +3621,6 @@
   match(Set dst (ConvI2L (LoadUB mem)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRB  $dst,$mem\t! ubyte -> long"  %}
-  ins_encode %{
-    __ ldrb($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRB  $dst.lo,$mem\t! ubyte -> long\n\t"
             "MOV   $dst.hi,0" %}
@@ -4224,7 +3628,6 @@
     __ ldrb($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
@@ -4232,16 +3635,6 @@
 instruct loadUB2L_limmI(iRegL dst, memoryB mem, limmIlow8 mask) %{
   match(Set dst (ConvI2L (AndI (LoadUB mem) mask)));
 
-#ifdef AARCH64
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST);
-  size(8);
-  format %{ "LDRB  $dst,$mem\t! ubyte -> long\n\t"
-            "AND  $dst,$dst,$mask" %}
-  ins_encode %{
-    __ ldrb($dst$$Register, $mem$$Address);
-    __ andr($dst$$Register, $dst$$Register, limmI_low($mask$$constant, 8));
-  %}
-#else
   ins_cost(MEMORY_REF_COST + 2*DEFAULT_COST);
   size(12);
   format %{ "LDRB  $dst.lo,$mem\t! ubyte -> long\n\t"
@@ -4252,29 +3645,10 @@
     __ mov($dst$$Register->successor(), 0);
     __ andr($dst$$Register, $dst$$Register, limmI_low($mask$$constant, 8));
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
 // Load Short (16bit signed)
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadSoff(iRegI dst, memoryScaledS mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadS (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "LDRSH   $dst,$mem+$off\t! short temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldrsh($dst$$Register, nmem);
-  %}
-  ins_pipe(iload_mask_mem);
-%}
-#endif
 
 instruct loadS(iRegI dst, memoryS mem) %{
   match(Set dst (LoadS mem));
@@ -4297,7 +3671,6 @@
 
   format %{ "LDRSB   $dst,$mem\t! short -> byte" %}
   ins_encode %{
-    // High 32 bits are harmlessly set on Aarch64
     __ ldrsb($dst$$Register, $mem$$Address);
   %}
   ins_pipe(iload_mask_mem);
@@ -4308,13 +3681,6 @@
   match(Set dst (ConvI2L (LoadS mem)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRSH $dst,$mem\t! short -> long"  %}
-  ins_encode %{
-    __ ldrsh($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRSH $dst.lo,$mem\t! short -> long\n\t"
             "ASR   $dst.hi,$dst.lo,31" %}
@@ -4322,30 +3688,11 @@
     __ ldrsh($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), AsmOperand($dst$$Register, asr, 31));
   %}
-#endif
   ins_pipe(iload_mask_mem);
 %}
 
 // Load Unsigned Short/Char (16bit UNsigned)
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadUSoff(iRegI dst, memoryScaledS mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadUS (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "LDRH   $dst,$mem+$off\t! ushort/char temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldrh($dst$$Register, nmem);
-  %}
-  ins_pipe(iload_mem);
-%}
-#endif
 
 instruct loadUS(iRegI dst, memoryS mem) %{
   match(Set dst (LoadUS mem));
@@ -4377,13 +3724,6 @@
   match(Set dst (ConvI2L (LoadUS mem)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRH  $dst,$mem\t! short -> long"  %}
-  ins_encode %{
-    __ ldrh($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRH  $dst.lo,$mem\t! short -> long\n\t"
             "MOV   $dst.hi, 0" %}
@@ -4391,7 +3731,6 @@
     __ ldrh($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
@@ -4400,13 +3739,6 @@
   match(Set dst (ConvI2L (AndI (LoadUS mem) mask)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRB  $dst,$mem"  %}
-  ins_encode %{
-    __ ldrb($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRB  $dst.lo,$mem\t! \n\t"
             "MOV   $dst.hi, 0" %}
@@ -4414,24 +3746,12 @@
     __ ldrb($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
 // Load Unsigned Short/Char (16bit UNsigned) with a immediate mask into a Long Register
 instruct loadUS2L_limmI(iRegL dst, memoryS mem, limmI mask) %{
   match(Set dst (ConvI2L (AndI (LoadUS mem) mask)));
-#ifdef AARCH64
-  ins_cost(MEMORY_REF_COST + 1*DEFAULT_COST);
-
-  size(8);
-  format %{ "LDRH   $dst,$mem\t! ushort/char & mask -> long\n\t"
-            "AND    $dst,$dst,$mask" %}
-  ins_encode %{
-    __ ldrh($dst$$Register, $mem$$Address);
-    __ andr($dst$$Register, $dst$$Register, (uintx)$mask$$constant);
-  %}
-#else
   ins_cost(MEMORY_REF_COST + 2*DEFAULT_COST);
 
   size(12);
@@ -4443,30 +3763,11 @@
     __ mov($dst$$Register->successor(), 0);
     __ andr($dst$$Register, $dst$$Register, $mask$$constant);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
 // Load Integer
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadIoff(iRegI dst, memoryScaledI mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadI (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "ldr_s32 $dst,$mem+$off\t! int temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldr_s32($dst$$Register, nmem);
-  %}
-  ins_pipe(iload_mem);
-%}
-#endif
 
 instruct loadI(iRegI dst, memoryI mem) %{
   match(Set dst (LoadI mem));
@@ -4537,15 +3838,6 @@
 // Load Integer into a Long Register
 instruct loadI2L(iRegL dst, memoryI mem) %{
   match(Set dst (ConvI2L (LoadI mem)));
-#ifdef AARCH64
-  ins_cost(MEMORY_REF_COST);
-
-  size(4);
-  format %{ "LDRSW $dst.lo,$mem\t! int -> long"  %}
-  ins_encode %{
-    __ ldr_s32($dst$$Register, $mem$$Address);
-  %}
-#else
   ins_cost(MEMORY_REF_COST);
 
   size(8);
@@ -4555,22 +3847,12 @@
     __ ldr($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), AsmOperand($dst$$Register, asr, 31));
   %}
-#endif
   ins_pipe(iload_mask_mem);
 %}
 
 // Load Integer with mask 0xFF into a Long Register
 instruct loadI2L_immI_255(iRegL dst, memoryB mem, immI_255 mask) %{
   match(Set dst (ConvI2L (AndI (LoadI mem) mask)));
-#ifdef AARCH64
-  ins_cost(MEMORY_REF_COST);
-
-  size(4);
-  format %{ "LDRB   $dst.lo,$mem\t! int & 0xFF -> long"  %}
-  ins_encode %{
-    __ ldrb($dst$$Register, $mem$$Address);
-  %}
-#else
   ins_cost(MEMORY_REF_COST);
 
   size(8);
@@ -4580,7 +3862,6 @@
     __ ldrb($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
@@ -4589,13 +3870,6 @@
   match(Set dst (ConvI2L (AndI (LoadI mem) mask)));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LDRH   $dst,$mem\t! int & 0xFFFF -> long" %}
-  ins_encode %{
-    __ ldrh($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDRH   $dst,$mem\t! int & 0xFFFF -> long\n\t"
             "MOV    $dst.hi, 0" %}
@@ -4603,27 +3877,9 @@
     __ ldrh($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mask_mem);
 %}
 
-#ifdef AARCH64
-// Load Integer with an immediate mask into a Long Register
-instruct loadI2L_limmI(iRegL dst, memoryI mem, limmI mask) %{
-  match(Set dst (ConvI2L (AndI (LoadI mem) mask)));
-  ins_cost(MEMORY_REF_COST + 1*DEFAULT_COST);
-
-  size(8);
-  format %{ "LDRSW $dst,$mem\t! int -> long\n\t"
-            "AND   $dst,$dst,$mask" %}
-
-  ins_encode %{
-    __ ldr_s32($dst$$Register, $mem$$Address);
-    __ andr($dst$$Register, $dst$$Register, (uintx)$mask$$constant);
-  %}
-  ins_pipe(iload_mem);
-%}
-#else
 // Load Integer with a 31-bit immediate mask into a Long Register
 instruct loadI2L_limmU31(iRegL dst, memoryI mem, limmU31 mask) %{
   match(Set dst (ConvI2L (AndI (LoadI mem) mask)));
@@ -4641,27 +3897,7 @@
   %}
   ins_pipe(iload_mem);
 %}
-#endif
-
-#ifdef AARCH64
-// Load Integer with mask into a Long Register
-// FIXME: use signedRegI mask, remove tmp?
-instruct loadI2L_immI(iRegL dst, memoryI mem, immI mask, iRegI tmp) %{
-  match(Set dst (ConvI2L (AndI (LoadI mem) mask)));
-  effect(TEMP dst, TEMP tmp);
-
-  ins_cost(MEMORY_REF_COST + 3*DEFAULT_COST);
-  format %{ "LDRSW    $mem,$dst\t! int & 31-bit mask -> long\n\t"
-            "MOV_SLOW $tmp,$mask\n\t"
-            "AND      $dst,$tmp,$dst" %}
-  ins_encode %{
-    __ ldrsw($dst$$Register, $mem$$Address);
-    __ mov_slow($tmp$$Register, $mask$$constant);
-    __ andr($dst$$Register, $dst$$Register, $tmp$$Register);
-  %}
-  ins_pipe(iload_mem);
-%}
-#else
+
 // Load Integer with a 31-bit mask into a Long Register
 // FIXME: use iRegI mask, remove tmp?
 instruct loadI2L_immU31(iRegL dst, memoryI mem, immU31 mask, iRegI tmp) %{
@@ -4682,20 +3918,12 @@
   %}
   ins_pipe(iload_mem);
 %}
-#endif
 
 // Load Unsigned Integer into a Long Register
 instruct loadUI2L(iRegL dst, memoryI mem, immL_32bits mask) %{
   match(Set dst (AndL (ConvI2L (LoadI mem)) mask));
   ins_cost(MEMORY_REF_COST);
 
-#ifdef AARCH64
-//size(4);
-  format %{ "LDR_w $dst,$mem\t! uint -> long" %}
-  ins_encode %{
-    __ ldr_w($dst$$Register, $mem$$Address);
-  %}
-#else
   size(8);
   format %{ "LDR   $dst.lo,$mem\t! uint -> long\n\t"
             "MOV   $dst.hi,0" %}
@@ -4703,37 +3931,14 @@
     __ ldr($dst$$Register, $mem$$Address);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(iload_mem);
 %}
 
 // Load Long
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadLoff(iRegLd dst, memoryScaledL mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadL (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "LDR    $dst,$mem+$off\t! long temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldr($dst$$Register, nmem);
-  %}
-  ins_pipe(iload_mem);
-%}
-#endif
 
 instruct loadL(iRegLd dst, memoryL mem ) %{
-#ifdef AARCH64
-  // already atomic for Aarch64
-#else
   predicate(!((LoadLNode*)n)->require_atomic_access());
-#endif
   match(Set dst (LoadL mem));
   effect(TEMP dst);
   ins_cost(MEMORY_REF_COST);
@@ -4746,7 +3951,6 @@
   ins_pipe(iload_mem);
 %}
 
-#ifndef AARCH64
 instruct loadL_2instr(iRegL dst, memorylong mem ) %{
   predicate(!((LoadLNode*)n)->require_atomic_access());
   match(Set dst (LoadL mem));
@@ -4822,7 +4026,6 @@
   %}
   ins_pipe(iload_mem);
 %}
-#endif // !AARCH64
 
 // Load Range
 instruct loadRange(iRegI dst, memoryI mem) %{
@@ -4839,24 +4042,6 @@
 
 // Load Pointer
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadPoff(iRegP dst, memoryScaledP mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadP (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "LDR    $dst,$mem+$off\t! ptr temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldr($dst$$Register, nmem);
-  %}
-  ins_pipe(iload_mem);
-%}
-#endif
 
 instruct loadP(iRegP dst, memoryP mem) %{
   match(Set dst (LoadP mem));
@@ -4950,24 +4135,6 @@
 %}
 #endif
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadDoff(regD dst, memoryScaledD mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadD (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "ldr    $dst,$mem+$off\t! double temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldr_d($dst$$FloatRegister, nmem);
-  %}
-  ins_pipe(floadD_mem);
-%}
-#endif
 
 instruct loadD(regD dst, memoryD mem) %{
   match(Set dst (LoadD mem));
@@ -4983,7 +4150,6 @@
   ins_pipe(floadD_mem);
 %}
 
-#ifndef AARCH64
 // Load Double - UNaligned
 instruct loadD_unaligned(regD_low dst, memoryF2 mem ) %{
   match(Set dst (LoadD_unaligned mem));
@@ -4999,26 +4165,7 @@
   %}
   ins_pipe(iload_mem);
 %}
-#endif
-
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct loadFoff(regF dst, memoryScaledF mem, aimmX off, iRegP tmp) %{
-  match(Set dst (LoadF (AddP mem off)));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "ldr    $dst,$mem+$off\t! float temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ ldr_s($dst$$FloatRegister, nmem);
-  %}
-  ins_pipe(floadF_mem);
-%}
-#endif
+
 
 instruct loadF(regF dst, memoryF mem) %{
   match(Set dst (LoadF mem));
@@ -5032,17 +4179,6 @@
   ins_pipe(floadF_mem);
 %}
 
-#ifdef AARCH64
-instruct load_limmI(iRegI dst, limmI src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST + 1); // + 1 because MOV is preferred
-  format %{ "ORR_w  $dst, ZR, $src\t! int"  %}
-  ins_encode %{
-    __ orr_w($dst$$Register, ZR, (uintx)$src$$constant);
-  %}
-  ins_pipe(ialu_imm);
-%}
-#endif
 
 // // Load Constant
 instruct loadConI( iRegI dst, immI src ) %{
@@ -5065,7 +4201,6 @@
   ins_pipe(ialu_imm);
 %}
 
-#ifndef AARCH64
 instruct loadConIMovn( iRegI dst, immIRotn src ) %{
   match(Set dst src);
   size(4);
@@ -5075,22 +4210,13 @@
   %}
   ins_pipe(ialu_imm_n);
 %}
-#endif
 
 instruct loadConI16( iRegI dst, immI16 src ) %{
   match(Set dst src);
   size(4);
-#ifdef AARCH64
-  format %{ "MOVZ_w  $dst, $src" %}
-#else
   format %{ "MOVW    $dst, $src" %}
-#endif
-  ins_encode %{
-#ifdef AARCH64
-    __ mov_w($dst$$Register, $src$$constant);
-#else
+  ins_encode %{
     __ movw($dst$$Register, $src$$constant);
-#endif
   %}
   ins_pipe(ialu_imm_n);
 %}
@@ -5124,80 +4250,6 @@
   ins_pipe(loadConP_poll);
 %}
 
-#ifdef AARCH64
-instruct loadConP0(iRegP dst, immP0 src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST);
-  format %{ "MOV    $dst,ZR\t!ptr" %}
-  ins_encode %{
-    __ mov($dst$$Register, ZR);
-  %}
-  ins_pipe(ialu_none);
-%}
-
-instruct loadConN(iRegN dst, immN src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST * 3/2);
-  format %{ "SET    $dst,$src\t! compressed ptr" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    // FIXME: use $constanttablebase?
-    __ set_narrow_oop(dst, (jobject)$src$$constant);
-  %}
-  ins_pipe(ialu_hi_lo_reg);
-%}
-
-instruct loadConN0(iRegN dst, immN0 src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST);
-  format %{ "MOV    $dst,ZR\t! compressed ptr" %}
-  ins_encode %{
-    __ mov($dst$$Register, ZR);
-  %}
-  ins_pipe(ialu_none);
-%}
-
-instruct loadConNKlass(iRegN dst, immNKlass src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST * 3/2);
-  format %{ "SET    $dst,$src\t! compressed klass ptr" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    // FIXME: use $constanttablebase?
-    __ set_narrow_klass(dst, (Klass*)$src$$constant);
-  %}
-  ins_pipe(ialu_hi_lo_reg);
-%}
-
-instruct load_limmL(iRegL dst, limmL src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST);
-  format %{ "ORR    $dst, ZR, $src\t! long"  %}
-  ins_encode %{
-    __ orr($dst$$Register, ZR, (uintx)$src$$constant);
-  %}
-  ins_pipe(loadConL);
-%}
-instruct load_immLMov(iRegL dst, immLMov src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST);
-  format %{ "MOV    $dst, $src\t! long"  %}
-  ins_encode %{
-    __ mov($dst$$Register, $src$$constant);
-  %}
-  ins_pipe(loadConL);
-%}
-instruct loadConL(iRegL dst, immL src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST * 4); // worst case
-  format %{ "mov_slow   $dst, $src\t! long"  %}
-  ins_encode %{
-    // FIXME: use $constanttablebase?
-    __ mov_slow($dst$$Register, $src$$constant);
-  %}
-  ins_pipe(loadConL);
-%}
-#else
 instruct loadConL(iRegL dst, immL src) %{
   match(Set dst src);
   ins_cost(DEFAULT_COST * 4);
@@ -5223,7 +4275,6 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif
 
 instruct loadConF_imm8(regF dst, imm8F src) %{
   match(Set dst src);
@@ -5238,25 +4289,6 @@
   ins_pipe(loadConFD); // FIXME
 %}
 
-#ifdef AARCH64
-instruct loadIConF(iRegI dst, immF src) %{
-  match(Set dst src);
-  ins_cost(DEFAULT_COST * 2);
-
-  format %{ "MOV_SLOW  $dst, $src\t! loadIConF"  %}
-
-  ins_encode %{
-    // FIXME revisit once 6961697 is in
-    union {
-      jfloat f;
-      int i;
-    } v;
-    v.f = $src$$constant;
-    __ mov_slow($dst$$Register, v.i);
-  %}
-  ins_pipe(ialu_imm);
-%}
-#endif
 
 instruct loadConF(regF dst, immF src, iRegI tmp) %{
   match(Set dst src);
@@ -5323,11 +4355,7 @@
 
   format %{ "PLDW $mem\t! Prefetch allocation" %}
   ins_encode %{
-#ifdef AARCH64
-    __ prfm(pstl1keep, $mem$$Address);
-#else
     __ pldw($mem$$Address);
-#endif
   %}
   ins_pipe(iload_mem);
 %}
@@ -5360,24 +4388,6 @@
 
 // Store Char/Short
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeCoff(store_RegI src, memoryScaledS mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreC (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "STRH    $src,$mem+$off\t! short temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ strh($src$$Register, nmem);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 instruct storeC(memoryS mem, store_RegI src) %{
   match(Set mem (StoreC mem src));
@@ -5393,24 +4403,6 @@
 
 // Store Integer
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeIoff(store_RegI src, memoryScaledI mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreI (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "str_32 $src,$mem+$off\t! int temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str_32($src$$Register, nmem);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 instruct storeI(memoryI mem, store_RegI src) %{
   match(Set mem (StoreI mem src));
@@ -5426,31 +4418,9 @@
 
 // Store Long
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeLoff(store_RegLd src, memoryScaledL mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreL (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "str_64 $src,$mem+$off\t! long temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str_64($src$$Register, nmem);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 instruct storeL(memoryL mem, store_RegLd src) %{
-#ifdef AARCH64
-  // already atomic for Aarch64
-#else
   predicate(!((StoreLNode*)n)->require_atomic_access());
-#endif
   match(Set mem (StoreL mem src));
   ins_cost(MEMORY_REF_COST);
 
@@ -5463,7 +4433,6 @@
   ins_pipe(istore_mem_reg);
 %}
 
-#ifndef AARCH64
 instruct storeL_2instr(memorylong mem, iRegL src) %{
   predicate(!((StoreLNode*)n)->require_atomic_access());
   match(Set mem (StoreL mem src));
@@ -5496,9 +4465,7 @@
   %}
   ins_pipe(istore_mem_reg);
 %}
-#endif // !AARCH64
-
-#ifndef AARCH64
+
 instruct storeL_volatile_fp(memoryD mem, iRegL src) %{
   predicate(((StoreLNode*)n)->require_atomic_access());
   match(Set mem (StoreL mem src));
@@ -5512,7 +4479,6 @@
   %}
   ins_pipe(istore_mem_reg);
 %}
-#endif
 
 #ifdef XXX
 // Move SP Pointer
@@ -5534,60 +4500,12 @@
 %}
 #endif
 
-#ifdef AARCH64
-// FIXME
-// Store SP Pointer
-instruct storeSP(memoryP mem, SPRegP src, iRegP tmp) %{
-  match(Set mem (StoreP mem src));
-  predicate(_kids[1]->_leaf->is_Proj() && _kids[1]->_leaf->as_Proj()->_con == TypeFunc::FramePtr);
-  // Multiple StoreP rules, different only in register mask.
-  // Matcher makes the last always valid.  The others will
-  // only be valid if they cost less than the last valid
-  // rule.  So cost(rule1) < cost(rule2) < cost(last)
-  // Unlike immediates, register constraints are not checked
-  // at match time.
-  ins_cost(MEMORY_REF_COST+DEFAULT_COST+4);
-  effect(TEMP tmp);
-  size(8);
-
-  format %{ "MOV    $tmp,$src\t! SP ptr\n\t"
-            "STR    $tmp,$mem\t! SP ptr" %}
-  ins_encode %{
-    assert($src$$Register == SP, "SP expected");
-    __ mov($tmp$$Register, $src$$Register);
-    __ str($tmp$$Register, $mem$$Address);
-  %}
-  ins_pipe(istore_mem_spORreg); // FIXME
-%}
-#endif // AARCH64
 
 // Store Pointer
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storePoff(store_ptr_RegP src, memoryScaledP mem, aimmX off, iRegP tmp) %{
-  predicate(!_kids[1]->_leaf->is_Proj() || _kids[1]->_leaf->as_Proj()->_con != TypeFunc::FramePtr);
-  match(Set mem (StoreP (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "STR    $src,$mem+$off\t! ptr temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str($src$$Register, nmem);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 instruct storeP(memoryP mem, store_ptr_RegP src) %{
   match(Set mem (StoreP mem src));
-#ifdef AARCH64
-  predicate(!_kids[1]->_leaf->is_Proj() || _kids[1]->_leaf->as_Proj()->_con != TypeFunc::FramePtr);
-#endif
   ins_cost(MEMORY_REF_COST);
   size(4);
 
@@ -5598,42 +4516,10 @@
   ins_pipe(istore_mem_spORreg);
 %}
 
-#ifdef AARCH64
-// Store NULL Pointer
-instruct storeP0(memoryP mem, immP0 src) %{
-  match(Set mem (StoreP mem src));
-  ins_cost(MEMORY_REF_COST);
-  size(4);
-
-  format %{ "STR    ZR,$mem\t! ptr" %}
-  ins_encode %{
-    __ str(ZR, $mem$$Address);
-  %}
-  ins_pipe(istore_mem_spORreg);
-%}
-#endif // AARCH64
 
 #ifdef _LP64
 // Store Compressed Pointer
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeNoff(store_RegN src, memoryScaledI mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreN (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "str_32 $src,$mem+$off\t! compressed ptr temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str_32($src$$Register, nmem);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 instruct storeN(memoryI mem, store_RegN src) %{
   match(Set mem (StoreN mem src));
@@ -5647,20 +4533,6 @@
   ins_pipe(istore_mem_reg);
 %}
 
-#ifdef AARCH64
-// Store NULL Pointer
-instruct storeN0(memoryI mem, immN0 src) %{
-  match(Set mem (StoreN mem src));
-  ins_cost(MEMORY_REF_COST);
-  size(4);
-
-  format %{ "str_32 ZR,$mem\t! compressed ptr" %}
-  ins_encode %{
-    __ str_32(ZR, $mem$$Address);
-  %}
-  ins_pipe(istore_mem_reg);
-%}
-#endif
 
 // Store Compressed Klass Pointer
 instruct storeNKlass(memoryI mem, store_RegN src) %{
@@ -5678,24 +4550,6 @@
 
 // Store Double
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeDoff(regD src, memoryScaledD mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreD (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "STR    $src,$mem+$off\t! double temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str_d($src$$FloatRegister, nmem);
-  %}
-  ins_pipe(fstoreD_mem_reg);
-%}
-#endif
 
 instruct storeD(memoryD mem, regD src) %{
   match(Set mem (StoreD mem src));
@@ -5711,50 +4565,9 @@
   ins_pipe(fstoreD_mem_reg);
 %}
 
-#ifdef AARCH64
-instruct movI2F(regF dst, iRegI src) %{
-  match(Set dst src);
-  size(4);
-
-  format %{ "FMOV_sw $dst,$src\t! movI2F" %}
-  ins_encode %{
-    __ fmov_sw($dst$$FloatRegister, $src$$Register);
-  %}
-  ins_pipe(ialu_reg); // FIXME
-%}
-
-instruct movF2I(iRegI dst, regF src) %{
-  match(Set dst src);
-  size(4);
-
-  format %{ "FMOV_ws $dst,$src\t! movF2I" %}
-  ins_encode %{
-    __ fmov_ws($dst$$Register, $src$$FloatRegister);
-  %}
-  ins_pipe(ialu_reg); // FIXME
-%}
-#endif
 
 // Store Float
 
-#ifdef AARCH64
-// XXX This variant shouldn't be necessary if 6217251 is implemented
-instruct storeFoff(regF src, memoryScaledF mem, aimmX off, iRegP tmp) %{
-  match(Set mem (StoreF (AddP mem off) src));
-  ins_cost(MEMORY_REF_COST + DEFAULT_COST); // assume shift/sign-extend is free
-  effect(TEMP tmp);
-  size(4 * 2);
-
-  format %{ "str_s  $src,$mem+$off\t! float temp=$tmp" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    __ add($tmp$$Register, base, $off$$constant);
-    Address nmem = Address::make_raw($tmp$$reg, $mem$$index, $mem$$scale, $mem$$disp, relocInfo::none);
-    __ str_s($src$$FloatRegister, nmem);
-  %}
-  ins_pipe(fstoreF_mem_reg);
-%}
-#endif
 
 instruct storeF( memoryF mem, regF src) %{
   match(Set mem (StoreF mem src));
@@ -5768,75 +4581,10 @@
   ins_pipe(fstoreF_mem_reg);
 %}
 
-#ifdef AARCH64
-// Convert oop pointer into compressed form
-instruct encodeHeapOop(iRegN dst, iRegP src, flagsReg ccr) %{
-  predicate(n->bottom_type()->make_ptr()->ptr() != TypePtr::NotNull);
-  match(Set dst (EncodeP src));
-  effect(KILL ccr);
-  format %{ "encode_heap_oop $dst, $src" %}
-  ins_encode %{
-    __ encode_heap_oop($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct encodeHeapOop_not_null(iRegN dst, iRegP src) %{
-  predicate(n->bottom_type()->make_ptr()->ptr() == TypePtr::NotNull);
-  match(Set dst (EncodeP src));
-  format %{ "encode_heap_oop_not_null $dst, $src" %}
-  ins_encode %{
-    __ encode_heap_oop_not_null($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct decodeHeapOop(iRegP dst, iRegN src, flagsReg ccr) %{
-  predicate(n->bottom_type()->is_oopptr()->ptr() != TypePtr::NotNull &&
-            n->bottom_type()->is_oopptr()->ptr() != TypePtr::Constant);
-  match(Set dst (DecodeN src));
-  effect(KILL ccr);
-  format %{ "decode_heap_oop $dst, $src" %}
-  ins_encode %{
-    __ decode_heap_oop($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct decodeHeapOop_not_null(iRegP dst, iRegN src) %{
-  predicate(n->bottom_type()->is_oopptr()->ptr() == TypePtr::NotNull ||
-            n->bottom_type()->is_oopptr()->ptr() == TypePtr::Constant);
-  match(Set dst (DecodeN src));
-  format %{ "decode_heap_oop_not_null $dst, $src" %}
-  ins_encode %{
-    __ decode_heap_oop_not_null($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct encodeKlass_not_null(iRegN dst, iRegP src) %{
-  match(Set dst (EncodePKlass src));
-  format %{ "encode_klass_not_null $dst, $src" %}
-  ins_encode %{
-    __ encode_klass_not_null($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct decodeKlass_not_null(iRegP dst, iRegN src) %{
-  match(Set dst (DecodeNKlass src));
-  format %{ "decode_klass_not_null $dst, $src" %}
-  ins_encode %{
-    __ decode_klass_not_null($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-#endif // AARCH64
 
 //----------MemBar Instructions-----------------------------------------------
 // Memory barrier flavors
 
-// TODO: take advantage of Aarch64 load-acquire, store-release, etc
 // pattern-match out unnecessary membars
 instruct membar_storestore() %{
   match(MemBarStoreStore);
@@ -5932,53 +4680,6 @@
 // %}
 
 
-#ifdef AARCH64
-// 0 constant in register
-instruct zrImmI0(ZRRegI dst, immI0 imm) %{
-  match(Set dst imm);
-  size(0);
-  ins_cost(0);
-
-  format %{ "! ZR (int 0)" %}
-  ins_encode( /*empty encoding*/ );
-  ins_pipe(ialu_none);
-%}
-
-// 0 constant in register
-instruct zrImmL0(ZRRegL dst, immL0 imm) %{
-  match(Set dst imm);
-  size(0);
-  ins_cost(0);
-
-  format %{ "! ZR (long 0)" %}
-  ins_encode( /*empty encoding*/ );
-  ins_pipe(ialu_none);
-%}
-
-#ifdef XXX
-// 0 constant in register
-instruct zrImmN0(ZRRegN dst, immN0 imm) %{
-  match(Set dst imm);
-  size(0);
-  ins_cost(0);
-
-  format %{ "! ZR (compressed pointer NULL)" %}
-  ins_encode( /*empty encoding*/ );
-  ins_pipe(ialu_none);
-%}
-
-// 0 constant in register
-instruct zrImmP0(ZRRegP dst, immP0 imm) %{
-  match(Set dst imm);
-  size(0);
-  ins_cost(0);
-
-  format %{ "! ZR (NULL)" %}
-  ins_encode( /*empty encoding*/ );
-  ins_pipe(ialu_none);
-%}
-#endif
-#endif // AARCH64
 
 // Cast Index to Pointer for unsafe natives
 instruct castX2P(iRegX src, iRegP dst) %{
@@ -6006,7 +4707,6 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifndef AARCH64
 //----------Conditional Move---------------------------------------------------
 // Conditional move
 instruct cmovIP_reg(cmpOpP cmp, flagsRegP pcc, iRegI dst, iRegI src) %{
@@ -6019,187 +4719,8 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif
-
-#ifdef AARCH64
-instruct cmovI_reg3(cmpOp cmp, flagsReg icc, iRegI dst, iRegI src1, iRegI src2) %{
-  match(Set dst (CMoveI (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! int" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovL_reg3(cmpOp cmp, flagsReg icc, iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (CMoveL (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! long" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovP_reg3(cmpOp cmp, flagsReg icc, iRegP dst, iRegP src1, iRegP src2) %{
-  match(Set dst (CMoveP (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovN_reg3(cmpOp cmp, flagsReg icc, iRegN dst, iRegN src1, iRegN src2) %{
-  match(Set dst (CMoveN (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! compressed ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovIP_reg3(cmpOpP cmp, flagsRegP icc, iRegI dst, iRegI src1, iRegI src2) %{
-  match(Set dst (CMoveI (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! int" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovLP_reg3(cmpOpP cmp, flagsRegP icc, iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (CMoveL (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! long" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovPP_reg3(cmpOpP cmp, flagsRegP icc, iRegP dst, iRegP src1, iRegP src2) %{
-  match(Set dst (CMoveP (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovNP_reg3(cmpOpP cmp, flagsRegP icc, iRegN dst, iRegN src1, iRegN src2) %{
-  match(Set dst (CMoveN (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! compressed ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovIU_reg3(cmpOpU cmp, flagsRegU icc, iRegI dst, iRegI src1, iRegI src2) %{
-  match(Set dst (CMoveI (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! int" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovLU_reg3(cmpOpU cmp, flagsRegU icc, iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (CMoveL (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! long" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovPU_reg3(cmpOpU cmp, flagsRegU icc, iRegP dst, iRegP src1, iRegP src2) %{
-  match(Set dst (CMoveP (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovNU_reg3(cmpOpU cmp, flagsRegU icc, iRegN dst, iRegN src1, iRegN src2) %{
-  match(Set dst (CMoveN (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! compressed ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovIZ_reg3(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegI dst, iRegI src1, iRegI src2) %{
-  match(Set dst (CMoveI (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! int" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovLZ_reg3(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (CMoveL (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! long" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovPZ_reg3(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegP dst, iRegP src1, iRegP src2) %{
-  match(Set dst (CMoveP (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-
-instruct cmovNZ_reg3(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegN dst, iRegN src1, iRegN src2) %{
-  match(Set dst (CMoveN (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "CSEL $dst,$src1,$src2,$cmp\t! compressed ptr" %}
-  ins_encode %{
-    __ csel($dst$$Register, $src1$$Register, $src2$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-#endif // AARCH64
-
-#ifndef AARCH64
+
+
 instruct cmovIP_immMov(cmpOpP cmp, flagsRegP pcc, iRegI dst, immIMov src) %{
   match(Set dst (CMoveI (Binary cmp pcc) (Binary dst src)));
   ins_cost(140);
@@ -6221,7 +4742,6 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif
 
 instruct cmovI_reg(cmpOp cmp, flagsReg icc, iRegI dst, iRegI src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
@@ -6234,20 +4754,7 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifdef AARCH64
-instruct cmovL_reg(cmpOp cmp, flagsReg icc, iRegL dst, iRegL src) %{
-  match(Set dst (CMoveL (Binary cmp icc) (Binary dst src)));
-  ins_cost(150);
-  size(4);
-  format %{ "MOV$cmp  $dst,$src\t! long" %}
-  ins_encode %{
-    __ mov($dst$$Register, $src$$Register, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(ialu_reg);
-%}
-#endif
-
-#ifndef AARCH64
+
 instruct cmovI_immMov(cmpOp cmp, flagsReg icc, iRegI dst, immIMov src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
   ins_cost(140);
@@ -6269,7 +4776,6 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif
 
 instruct cmovII_reg_EQNELTGE(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegI dst, iRegI src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
@@ -6286,7 +4792,6 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifndef AARCH64
 instruct cmovII_immMov_EQNELTGE(cmpOp0 cmp, flagsReg_EQNELTGE icc, iRegI dst, immIMov src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
   predicate(_kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq ||
@@ -6316,7 +4821,6 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif
 
 instruct cmovIIu_reg(cmpOpU cmp, flagsRegU icc, iRegI dst, iRegI src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
@@ -6329,7 +4833,6 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifndef AARCH64
 instruct cmovIIu_immMov(cmpOpU cmp, flagsRegU icc, iRegI dst, immIMov src) %{
   match(Set dst (CMoveI (Binary cmp icc) (Binary dst src)));
   ins_cost(140);
@@ -6351,7 +4854,6 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif
 
 // Conditional move
 instruct cmovPP_reg(cmpOpP cmp, flagsRegP pcc, iRegP dst, iRegP src) %{
@@ -6369,17 +4871,9 @@
   match(Set dst (CMoveP (Binary cmp pcc) (Binary dst src)));
   ins_cost(140);
   size(4);
-#ifdef AARCH64
-  format %{ "MOV$cmp  $dst,ZR" %}
-#else
   format %{ "MOV$cmp  $dst,$src" %}
-#endif
-  ins_encode %{
-#ifdef AARCH64
-    __ mov($dst$$Register,             ZR, (AsmCondition)($cmp$$cmpcode));
-#else
+  ins_encode %{
     __ mov($dst$$Register, $src$$constant, (AsmCondition)($cmp$$cmpcode));
-#endif
   %}
   ins_pipe(ialu_imm);
 %}
@@ -6430,17 +4924,9 @@
   ins_cost(140);
 
   size(4);
-#ifdef AARCH64
-  format %{ "MOV$cmp  $dst,ZR\t! ptr" %}
-#else
   format %{ "MOV$cmp  $dst,$src\t! ptr" %}
-#endif
-  ins_encode %{
-#ifdef AARCH64
-    __ mov($dst$$Register,             ZR, (AsmCondition)($cmp$$cmpcode));
-#else
+  ins_encode %{
     __ mov($dst$$Register, $src$$constant, (AsmCondition)($cmp$$cmpcode));
-#endif
   %}
   ins_pipe(ialu_imm);
 %}
@@ -6454,17 +4940,9 @@
   ins_cost(140);
 
   size(4);
-#ifdef AARCH64
-  format %{ "MOV$cmp  $dst,ZR\t! ptr" %}
-#else
   format %{ "MOV$cmp  $dst,$src\t! ptr" %}
-#endif
-  ins_encode %{
-#ifdef AARCH64
-    __ mov($dst$$Register,             ZR, (AsmCondition)($cmp$$cmpcode));
-#else
+  ins_encode %{
     __ mov($dst$$Register, $src$$constant, (AsmCondition)($cmp$$cmpcode));
-#endif
   %}
   ins_pipe(ialu_imm);
 %}
@@ -6474,112 +4952,13 @@
   ins_cost(140);
 
   size(4);
-#ifdef AARCH64
-  format %{ "MOV$cmp  $dst,ZR\t! ptr" %}
-#else
   format %{ "MOV$cmp  $dst,$src\t! ptr" %}
-#endif
-  ins_encode %{
-#ifdef AARCH64
-    __ mov($dst$$Register,             ZR, (AsmCondition)($cmp$$cmpcode));
-#else
+  ins_encode %{
     __ mov($dst$$Register, $src$$constant, (AsmCondition)($cmp$$cmpcode));
-#endif
   %}
   ins_pipe(ialu_imm);
 %}
 
-#ifdef AARCH64
-// Conditional move
-instruct cmovF_reg(cmpOp cmp, flagsReg icc, regF dst, regF src1, regF src2) %{
-  match(Set dst (CMoveF (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_s $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_s($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovD_reg(cmpOp cmp, flagsReg icc, regD dst, regD src1, regD src2) %{
-  match(Set dst (CMoveD (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_d $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_d($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovFP_reg(cmpOpP cmp, flagsRegP icc, regF dst, regF src1, regF src2) %{
-  match(Set dst (CMoveF (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_s $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_s($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovDP_reg(cmpOpP cmp, flagsRegP icc, regD dst, regD src1, regD src2) %{
-  match(Set dst (CMoveD (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_d $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_d($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovFU_reg(cmpOpU cmp, flagsRegU icc, regF dst, regF src1, regF src2) %{
-  match(Set dst (CMoveF (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_s $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_s($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovDU_reg(cmpOpU cmp, flagsRegU icc, regD dst, regD src1, regD src2) %{
-  match(Set dst (CMoveD (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_d $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_d($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovFZ_reg(cmpOp0 cmp, flagsReg_EQNELTGE icc, regF dst, regF src1, regF src2) %{
-  match(Set dst (CMoveF (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_s $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_s($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-instruct cmovDZ_reg(cmpOp0 cmp, flagsReg_EQNELTGE icc, regD dst, regD src1, regD src2) %{
-  match(Set dst (CMoveD (Binary cmp icc) (Binary src2 src1)));
-  ins_cost(150);
-  size(4);
-  format %{ "FCSEL_d $dst,$src1,$src2,$cmp" %}
-  ins_encode %{
-    __ fcsel_d($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister, (AsmCondition)($cmp$$cmpcode));
-  %}
-  ins_pipe(int_conditional_float_move);
-%}
-
-#else // !AARCH64
 
 // Conditional move
 instruct cmovFP_reg(cmpOpP cmp, flagsRegP pcc, regF dst, regF src) %{
@@ -6840,7 +5219,6 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif // !AARCH64
 
 
 //----------OS and Locking Instructions----------------------------------------
@@ -6897,7 +5275,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct addshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AddI (LShiftI src1 src2) src3));
 
@@ -6908,22 +5285,7 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
-
-#ifdef AARCH64
-#ifdef TODO
-instruct addshlL_reg_imm_reg(iRegL dst, iRegL src1, immU6 src2, iRegL src3) %{
-  match(Set dst (AddL (LShiftL src1 src2) src3));
-
-  size(4);
-  format %{ "ADD    $dst,$src3,$src1<<$src2\t! long" %}
-  ins_encode %{
-    __ add($dst$$Register, $src3$$Register, AsmOperand($src1$$Register, lsl, $src2$$constant));
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-#endif
-#endif
+
 
 instruct addshlI_reg_imm_reg(iRegI dst, iRegI src1, immU5 src2, iRegI src3) %{
   match(Set dst (AddI (LShiftI src1 src2) src3));
@@ -6936,7 +5298,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct addsarI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AddI (RShiftI src1 src2) src3));
 
@@ -6947,7 +5308,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct addsarI_reg_imm_reg(iRegI dst, iRegI src1, immU5 src2, iRegI src3) %{
   match(Set dst (AddI (RShiftI src1 src2) src3));
@@ -6960,7 +5320,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct addshrI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AddI (URShiftI src1 src2) src3));
 
@@ -6971,7 +5330,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct addshrI_reg_imm_reg(iRegI dst, iRegI src1, immU5 src2, iRegI src3) %{
   match(Set dst (AddI (URShiftI src1 src2) src3));
@@ -7008,69 +5366,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifdef AARCH64
-// unshifted I2L operand
-operand unshiftedI2L(iRegI src2) %{
-//constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(ConvI2L src2);
-
-  op_cost(1);
-  format %{ "$src2.w" %}
-  interface(MEMORY_INTER) %{
-    base($src2);
-    index(0xff);
-    scale(0x0);
-    disp(0x0);
-  %}
-%}
-
-// shifted I2L operand
-operand shiftedI2L(iRegI src2, immI_0_4 src3) %{
-//constraint(ALLOC_IN_RC(sp_ptr_reg));
-  match(LShiftX (ConvI2L src2) src3);
-
-  op_cost(1);
-  format %{ "$src2.w << $src3" %}
-  interface(MEMORY_INTER) %{
-    base($src2);
-    index(0xff);
-    scale($src3);
-    disp(0x0);
-  %}
-%}
-
-opclass shiftedRegI(shiftedI2L, unshiftedI2L);
-
-instruct shlL_reg_regI(iRegL dst, iRegI src1, immU6 src2) %{
-  match(Set dst (LShiftL (ConvI2L src1) src2));
-
-  size(4);
-  format %{ "LSL    $dst,$src1.w,$src2\t! ptr" %}
-  ins_encode %{
-    int c = $src2$$constant;
-    int r = 64 - c;
-    int s = 31;
-    if (s >= r) {
-      s = r - 1;
-    }
-    __ sbfm($dst$$Register, $src1$$Register, r, s);
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-
-instruct addP_reg_regI(iRegP dst, iRegP src1, shiftedRegI src2) %{
-  match(Set dst (AddP src1 src2));
-
-  ins_cost(DEFAULT_COST * 3/2);
-  size(4);
-  format %{ "ADD    $dst,$src1,$src2, sxtw\t! ptr" %}
-  ins_encode %{
-    Register base = reg_to_register_object($src2$$base);
-    __ add($dst$$Register, $src1$$Register, base, ex_sxtw, $src2$$scale);
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-#endif
 
 // shifted iRegX operand
 operand shiftedX(iRegX src2, shimmX src3) %{
@@ -7113,30 +5408,6 @@
 %}
 
 // Long Addition
-#ifdef AARCH64
-instruct addL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (AddL src1 src2));
-  size(4);
-  format %{ "ADD     $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ add($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-
-instruct addL_reg_regI(iRegL dst, iRegL src1, shiftedRegI src2) %{
-  match(Set dst (AddL src1 src2));
-
-  ins_cost(DEFAULT_COST * 3/2);
-  size(4);
-  format %{ "ADD    $dst,$src1,$src2, sxtw\t! long" %}
-  ins_encode %{
-    Register base = reg_to_register_object($src2$$base);
-    __ add($dst$$Register, $src1$$Register, base, ex_sxtw, $src2$$scale);
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-#else
 instruct addL_reg_reg(iRegL dst, iRegL src1, iRegL src2, flagsReg ccr) %{
   match(Set dst (AddL src1 src2));
   effect(KILL ccr);
@@ -7149,36 +5420,9 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
-
-#ifdef AARCH64
-// Immediate Addition
-instruct addL_reg_aimm(iRegL dst, iRegL src1, aimmL src2) %{
-  match(Set dst (AddL src1 src2));
-
-  size(4);
-  format %{ "ADD    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ add($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-
-instruct addL_reg_immLneg(iRegL dst, iRegL src1, aimmLneg src2) %{
-  match(Set dst (SubL src1 src2));
-
-  size(4);
-  format %{ "ADD    $dst,$src1,-($src2)\t! long" %}
-  ins_encode %{
-    __ add($dst$$Register, $src1$$Register, -$src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
+
 // TODO
-#endif
-
-#ifndef AARCH64
+
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct addL_reg_immRot(iRegL dst, iRegL src1, immLlowRot con, flagsReg ccr) %{
@@ -7193,26 +5437,19 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 //----------Conditional_store--------------------------------------------------
 // Conditional-store of the updated heap-top.
 // Used during allocation of the shared heap.
 // Sets flags (EQ) on success.
 
-// TODO: optimize out barriers with AArch64 load-acquire/store-release
 // LoadP-locked.
 instruct loadPLocked(iRegP dst, memoryex mem) %{
   match(Set dst (LoadPLocked mem));
   size(4);
   format %{ "LDREX  $dst,$mem" %}
   ins_encode %{
-#ifdef AARCH64
-    Register base = reg_to_register_object($mem$$base);
-    __ ldxr($dst$$Register, base);
-#else
     __ ldrex($dst$$Register,$mem$$Address);
-#endif
   %}
   ins_pipe(iload_mem);
 %}
@@ -7225,12 +5462,7 @@
   format %{ "STREX  $tmp,$newval,$heap_top_ptr\n\t"
             "CMP    $tmp, 0" %}
   ins_encode %{
-#ifdef AARCH64
-    Register base = reg_to_register_object($heap_top_ptr$$base);
-    __ stxr($tmp$$Register, $newval$$Register, base);
-#else
     __ strex($tmp$$Register, $newval$$Register, $heap_top_ptr$$Address);
-#endif
     __ cmp($tmp$$Register, 0);
   %}
   ins_pipe( long_memory_op );
@@ -7238,20 +5470,6 @@
 
 // Conditional-store of an intx value.
 instruct storeXConditional( memoryex mem, iRegX oldval, iRegX newval, iRegX tmp, flagsReg icc ) %{
-#ifdef AARCH64
-  match(Set icc (StoreLConditional mem (Binary oldval newval)));
-  effect( TEMP tmp );
-  size(28);
-  format %{ "loop:\n\t"
-            "LDXR     $tmp, $mem\t! If $oldval==[$mem] Then store $newval into [$mem], DOESN'T set $newval=[$mem] in any case\n\t"
-            "SUBS     $tmp, $tmp, $oldval\n\t"
-            "B.ne     done\n\t"
-            "STXR     $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop\n\t"
-            "CMP      $tmp, 0\n\t"
-            "done:\n\t"
-            "membar   LoadStore|LoadLoad" %}
-#else
   match(Set icc (StoreIConditional mem (Binary oldval newval)));
   effect( TEMP tmp );
   size(28);
@@ -7263,29 +5481,15 @@
             "B.eq     loop \n\t"
             "TEQ      $tmp, 0\n\t"
             "membar   LoadStore|LoadLoad" %}
-#endif
   ins_encode %{
     Label loop;
     __ bind(loop);
-#ifdef AARCH64
-// FIXME: use load-acquire/store-release, remove membar?
-    Label done;
-    Register base = reg_to_register_object($mem$$base);
-    __ ldxr($tmp$$Register, base);
-    __ subs($tmp$$Register, $tmp$$Register, $oldval$$Register);
-    __ b(done, ne);
-    __ stxr($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-    __ cmp($tmp$$Register, 0);
-    __ bind(done);
-#else
     __ ldrex($tmp$$Register, $mem$$Address);
     __ eors($tmp$$Register, $tmp$$Register, $oldval$$Register);
     __ strex($tmp$$Register, $newval$$Register, $mem$$Address, eq);
     __ cmp($tmp$$Register, 1, eq);
     __ b(loop, eq);
     __ teq($tmp$$Register, 0);
-#endif
     // used by biased locking only. Requires a membar.
     __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::LoadStore | MacroAssembler::LoadLoad), noreg);
   %}
@@ -7294,118 +5498,6 @@
 
 // No flag versions for CompareAndSwap{P,I,L} because matcher can't match them
 
-#ifdef AARCH64
-// TODO: if combined with membar, elide membar and use
-// load-acquire/store-release if appropriate
-instruct compareAndSwapL_bool(memoryex mem, iRegL oldval, iRegL newval, iRegI res, iRegI tmp, flagsReg ccr) %{
-  match(Set res (CompareAndSwapL mem (Binary oldval newval)));
-  effect( KILL ccr, TEMP tmp);
-  size(24);
-  format %{ "loop:\n\t"
-            "LDXR     $tmp, $mem\t! If $oldval==[$mem] Then store $newval into [$mem]\n\t"
-            "CMP      $tmp, $oldval\n\t"
-            "B.ne     done\n\t"
-            "STXR     $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop\n\t"
-            "done:\n\t"
-            "CSET_w   $res, eq" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    Label loop, done;
-    __ bind(loop);
-    __ ldxr($tmp$$Register, base);
-    __ cmp($tmp$$Register, $oldval$$Register);
-    __ b(done, ne);
-    __ stxr($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-    __ bind(done);
-    __ cset_w($res$$Register, eq);
-  %}
-  ins_pipe( long_memory_op );
-%}
-
-instruct compareAndSwapI_bool(memoryex mem, iRegI oldval, iRegI newval, iRegI res, iRegI tmp, flagsReg ccr) %{
-  match(Set res (CompareAndSwapI mem (Binary oldval newval)));
-  effect( KILL ccr, TEMP tmp);
-  size(24);
-  format %{ "loop:\n\t"
-            "LDXR_w   $tmp, $mem\t! If $oldval==[$mem] Then store $newval into [$mem]\n\t"
-            "CMP_w    $tmp, $oldval\n\t"
-            "B.ne     done\n\t"
-            "STXR_w   $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop\n\t"
-            "done:\n\t"
-            "CSET_w   $res, eq" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    Label loop, done;
-    __ bind(loop);
-    __ ldxr_w($tmp$$Register, base);
-    __ cmp_w($tmp$$Register, $oldval$$Register);
-    __ b(done, ne);
-    __ stxr_w($tmp$$Register, $newval$$Register,  base);
-    __ cbnz_w($tmp$$Register, loop);
-    __ bind(done);
-    __ cset_w($res$$Register, eq);
-  %}
-  ins_pipe( long_memory_op );
-%}
-
-// tmp must use iRegI instead of iRegN until 8051805 is fixed.
-instruct compareAndSwapN_bool(memoryex mem, iRegN oldval, iRegN newval, iRegI res, iRegI tmp, flagsReg ccr) %{
-  match(Set res (CompareAndSwapN mem (Binary oldval newval)));
-  effect( KILL ccr, TEMP tmp);
-  size(24);
-  format %{ "loop:\n\t"
-            "LDXR_w   $tmp, $mem\t! If $oldval==[$mem] Then store $newval into [$mem]\n\t"
-            "CMP_w    $tmp, $oldval\n\t"
-            "B.ne     done\n\t"
-            "STXR_w   $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop\n\t"
-            "done:\n\t"
-            "CSET_w   $res, eq" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    Label loop, done;
-    __ bind(loop);
-    __ ldxr_w($tmp$$Register, base);
-    __ cmp_w($tmp$$Register, $oldval$$Register);
-    __ b(done, ne);
-    __ stxr_w($tmp$$Register, $newval$$Register,  base);
-    __ cbnz_w($tmp$$Register, loop);
-    __ bind(done);
-    __ cset_w($res$$Register, eq);
-  %}
-  ins_pipe( long_memory_op );
-%}
-
-instruct compareAndSwapP_bool(memoryex mem, iRegP oldval, iRegP newval, iRegI res, iRegI tmp, flagsReg ccr) %{
-  match(Set res (CompareAndSwapP mem (Binary oldval newval)));
-  effect( KILL ccr, TEMP tmp);
-  size(24);
-  format %{ "loop:\n\t"
-            "LDXR     $tmp, $mem\t! If $oldval==[$mem] Then store $newval into [$mem]\n\t"
-            "CMP      $tmp, $oldval\n\t"
-            "B.ne     done\n\t"
-            "STXR     $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop\n\t"
-            "done:\n\t"
-            "CSET_w   $res, eq" %}
-  ins_encode %{
-    Register base = reg_to_register_object($mem$$base);
-    Label loop, done;
-    __ bind(loop);
-    __ ldxr($tmp$$Register, base);
-    __ cmp($tmp$$Register, $oldval$$Register);
-    __ b(done, ne);
-    __ stxr($tmp$$Register, $newval$$Register,  base);
-    __ cbnz_w($tmp$$Register, loop);
-    __ bind(done);
-    __ cset_w($res$$Register, eq);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else // !AARCH64
 instruct compareAndSwapL_bool(memoryex mem, iRegL oldval, iRegLd newval, iRegI res, iRegLd tmp, flagsReg ccr ) %{
   match(Set res (CompareAndSwapL mem (Binary oldval newval)));
   effect( KILL ccr, TEMP tmp);
@@ -7488,32 +5580,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif // !AARCH64
-
-#ifdef AARCH64
-instruct xaddI_aimmI_no_res(memoryex mem, aimmI add, Universe dummy, iRegI tmp1, iRegI tmp2) %{
-  predicate(n->as_LoadStore()->result_not_used());
-  match(Set dummy (GetAndAddI mem add));
-  effect(TEMP tmp1, TEMP tmp2);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR_w   $tmp1, $mem\n\t"
-            "ADD_w    $tmp1, $tmp1, $add\n\t"
-            "STXR_w   $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($tmp1$$Register, base);
-    __ add_w($tmp1$$Register, $tmp1$$Register, $add$$constant);
-    __ stxr_w($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddI_aimmI_no_res(memoryex mem, aimmI add, Universe dummy, iRegI tmp1, iRegI tmp2, flagsReg ccr) %{
   predicate(n->as_LoadStore()->result_not_used());
   match(Set dummy (GetAndAddI mem add));
@@ -7537,32 +5604,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddI_reg_no_res(memoryex mem, iRegI add, Universe dummy, iRegI tmp1, iRegI tmp2) %{
-  predicate(n->as_LoadStore()->result_not_used());
-  match(Set dummy (GetAndAddI mem add));
-  effect(TEMP tmp1, TEMP tmp2);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR_w   $tmp1, $mem\n\t"
-            "ADD_w    $tmp1, $tmp1, $add\n\t"
-            "STXR_w   $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($tmp1$$Register, base);
-    __ add_w($tmp1$$Register, $tmp1$$Register, $add$$Register);
-    __ stxr_w($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddI_reg_no_res(memoryex mem, iRegI add, Universe dummy, iRegI tmp1, iRegI tmp2, flagsReg ccr) %{
   predicate(n->as_LoadStore()->result_not_used());
   match(Set dummy (GetAndAddI mem add));
@@ -7586,31 +5628,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddI_aimmI(memoryex mem, aimmI add, iRegI res, iRegI tmp1, iRegI tmp2) %{
-  match(Set res (GetAndAddI mem add));
-  effect(TEMP tmp1, TEMP tmp2, TEMP res);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR_w   $res, $mem\n\t"
-            "ADD_w    $tmp1, $res, $add\n\t"
-            "STXR_w   $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($res$$Register, base);
-    __ add_w($tmp1$$Register, $res$$Register, $add$$constant);
-    __ stxr_w($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddI_aimmI(memoryex mem, aimmI add, iRegI res, iRegI tmp1, iRegI tmp2, flagsReg ccr) %{
   match(Set res (GetAndAddI mem add));
   effect(KILL ccr, TEMP tmp1, TEMP tmp2, TEMP res);
@@ -7633,31 +5651,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddI_reg(memoryex mem, iRegI add, iRegI res, iRegI tmp1, iRegI tmp2) %{
-  match(Set res (GetAndAddI mem add));
-  effect(TEMP tmp1, TEMP tmp2, TEMP res);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR_w   $res, $mem\n\t"
-            "ADD_w    $tmp1, $res, $add\n\t"
-            "STXR_w   $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($res$$Register, base);
-    __ add_w($tmp1$$Register, $res$$Register, $add$$Register);
-    __ stxr_w($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddI_reg(memoryex mem, iRegI add, iRegI res, iRegI tmp1, iRegI tmp2, flagsReg ccr) %{
   match(Set res (GetAndAddI mem add));
   effect(KILL ccr, TEMP tmp1, TEMP tmp2, TEMP res);
@@ -7680,32 +5674,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddL_reg_no_res(memoryex mem, iRegL add, Universe dummy, iRegL tmp1, iRegI tmp2) %{
-  predicate(n->as_LoadStore()->result_not_used());
-  match(Set dummy (GetAndAddL mem add));
-  effect(TEMP tmp1, TEMP tmp2);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR     $tmp1, $mem\n\t"
-            "ADD      $tmp1, $tmp1, $add\n\t"
-            "STXR     $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr($tmp1$$Register, base);
-    __ add($tmp1$$Register, $tmp1$$Register, $add$$Register);
-    __ stxr($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddL_reg_no_res(memoryex mem, iRegL add, Universe dummy, iRegLd tmp1, iRegI tmp2, flagsReg ccr) %{
   predicate(n->as_LoadStore()->result_not_used());
   match(Set dummy (GetAndAddL mem add));
@@ -7731,32 +5700,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddL_imm_no_res(memoryex mem, aimmL add, Universe dummy, iRegL tmp1, iRegI tmp2) %{
-  predicate(n->as_LoadStore()->result_not_used());
-  match(Set dummy (GetAndAddL mem add));
-  effect(TEMP tmp1, TEMP tmp2);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR     $tmp1, $mem\n\t"
-            "ADD      $tmp1, $tmp1, $add\n\t"
-            "STXR     $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr($tmp1$$Register, base);
-    __ add($tmp1$$Register, $tmp1$$Register, $add$$constant);
-    __ stxr($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct xaddL_immRot_no_res(memoryex mem, immLlowRot add, Universe dummy, iRegLd tmp1, iRegI tmp2, flagsReg ccr) %{
@@ -7784,31 +5728,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddL_reg(memoryex mem, iRegL add, iRegL res, iRegL tmp1, iRegI tmp2) %{
-  match(Set res (GetAndAddL mem add));
-  effect(TEMP tmp1, TEMP tmp2, TEMP res);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR     $res, $mem\n\t"
-            "ADD      $tmp1, $res, $add\n\t"
-            "STXR     $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr($res$$Register, base);
-    __ add($tmp1$$Register, $res$$Register, $add$$Register);
-    __ stxr($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xaddL_reg(memoryex mem, iRegL add, iRegLd res, iRegLd tmp1, iRegI tmp2, flagsReg ccr) %{
   match(Set res (GetAndAddL mem add));
   effect( KILL ccr, TEMP tmp1, TEMP tmp2, TEMP res);
@@ -7833,31 +5753,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xaddL_imm(memoryex mem, aimmL add, iRegL res, iRegL tmp1, iRegI tmp2) %{
-  match(Set res (GetAndAddL mem add));
-  effect(TEMP tmp1, TEMP tmp2, TEMP res);
-  size(16);
-  format %{ "loop:\n\t"
-            "LDXR     $res, $mem\n\t"
-            "ADD      $tmp1, $res, $add\n\t"
-            "STXR     $tmp2, $tmp1, $mem\n\t"
-            "CBNZ_w   $tmp2, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr($res$$Register, base);
-    __ add($tmp1$$Register, $res$$Register, $add$$constant);
-    __ stxr($tmp2$$Register, $tmp1$$Register, base);
-    __ cbnz_w($tmp2$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct xaddL_immRot(memoryex mem, immLlowRot add, iRegLd res, iRegLd tmp1, iRegI tmp2, flagsReg ccr) %{
@@ -7884,52 +5780,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xchgI(memoryex mem, iRegI newval, iRegI res, iRegI tmp) %{
-  match(Set res (GetAndSetI mem newval));
-  effect(TEMP tmp, TEMP res);
-  size(12);
-  format %{ "loop:\n\t"
-            "LDXR_w   $res, $mem\n\t"
-            "STXR_w   $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($res$$Register, base);
-    __ stxr_w($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-
-#ifdef XXX
-// Disabled until 8051805 is fixed.
-instruct xchgN(memoryex mem, iRegN newval, iRegN res, iRegN tmp) %{
-  match(Set res (GetAndSetN mem newval));
-  effect(TEMP tmp, TEMP res);
-  size(12);
-  format %{ "loop:\n\t"
-            "LDXR_w   $res, $mem\n\t"
-            "STXR_w   $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr_w($res$$Register, base);
-    __ stxr_w($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#endif
-#else
+
 instruct xchgI(memoryex mem, iRegI newval, iRegI res, iRegI tmp, flagsReg ccr) %{
   match(Set res (GetAndSetI mem newval));
   effect(KILL ccr, TEMP tmp, TEMP res);
@@ -7950,29 +5801,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif
-
-#ifdef AARCH64
-instruct xchgL(memoryex mem, iRegL newval, iRegL res, iRegI tmp) %{
-  match(Set res (GetAndSetL mem newval));
-  effect(TEMP tmp, TEMP res);
-  size(12);
-  format %{ "loop:\n\t"
-            "LDXR     $res, $mem\n\t"
-            "STXR     $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldxr($res$$Register, base);
-    __ stxr($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xchgL(memoryex mem, iRegLd newval, iRegLd res, iRegI tmp, flagsReg ccr) %{
   match(Set res (GetAndSetL mem newval));
   effect( KILL ccr, TEMP tmp, TEMP res);
@@ -7993,29 +5822,7 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif // !AARCH64
-
-#ifdef AARCH64
-instruct xchgP(memoryex mem, iRegP newval, iRegP res, iRegI tmp) %{
-  match(Set res (GetAndSetP mem newval));
-  effect(TEMP tmp, TEMP res);
-  size(12);
-  format %{ "loop:\n\t"
-            "LDREX    $res, $mem\n\t"
-            "STREX    $tmp, $newval, $mem\n\t"
-            "CBNZ_w   $tmp, loop" %}
-
-  ins_encode %{
-    Label loop;
-    Register base = reg_to_register_object($mem$$base);
-    __ bind(loop);
-    __ ldrex($res$$Register, base);
-    __ strex($tmp$$Register, $newval$$Register, base);
-    __ cbnz_w($tmp$$Register, loop);
-  %}
-  ins_pipe( long_memory_op );
-%}
-#else
+
 instruct xchgP(memoryex mem, iRegP newval, iRegP res, iRegI tmp, flagsReg ccr) %{
   match(Set res (GetAndSetP mem newval));
   effect(KILL ccr, TEMP tmp, TEMP res);
@@ -8036,7 +5843,6 @@
   %}
   ins_pipe( long_memory_op );
 %}
-#endif // !AARCH64
 
 //---------------------
 // Subtraction Instructions
@@ -8052,7 +5858,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct subshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (SubI src1 (LShiftI src2 src3)));
 
@@ -8063,7 +5868,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct subshlI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (SubI src1 (LShiftI src2 src3)));
@@ -8076,7 +5880,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct subsarI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (SubI src1 (RShiftI src2 src3)));
 
@@ -8087,7 +5890,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct subsarI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (SubI src1 (RShiftI src2 src3)));
@@ -8100,7 +5902,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct subshrI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (SubI src1 (URShiftI src2 src3)));
 
@@ -8111,7 +5912,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct subshrI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (SubI src1 (URShiftI src2 src3)));
@@ -8124,7 +5924,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct rsbshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (SubI (LShiftI src1 src2) src3));
 
@@ -8190,7 +5989,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 // Immediate Subtraction
 instruct subI_reg_aimmI(iRegI dst, iRegI src1, aimmI src2) %{
@@ -8215,7 +6013,6 @@
   ins_pipe(ialu_reg_imm);
 %}
 
-#ifndef AARCH64
 instruct subI_immRot_reg(iRegI dst, immIRot src1, iRegI src2) %{
   match(Set dst (SubI src1 src2));
 
@@ -8226,21 +6023,8 @@
   %}
   ins_pipe(ialu_zero_reg);
 %}
-#endif
 
 // Register Subtraction
-#ifdef AARCH64
-instruct subL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (SubL src1 src2));
-
-  size(4);
-  format %{ "SUB    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ sub($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg);
-%}
-#else
 instruct subL_reg_reg(iRegL dst, iRegL src1, iRegL src2, flagsReg icc ) %{
   match(Set dst (SubL src1 src2));
   effect (KILL icc);
@@ -8254,36 +6038,9 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
-
-#ifdef AARCH64
-// Immediate Subtraction
-instruct subL_reg_aimm(iRegL dst, iRegL src1, aimmL src2) %{
-  match(Set dst (SubL src1 src2));
-
-  size(4);
-  format %{ "SUB    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ sub($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-
-instruct subL_reg_immLneg(iRegL dst, iRegL src1, aimmLneg src2) %{
-  match(Set dst (AddL src1 src2));
-
-  size(4);
-  format %{ "SUB    $dst,$src1,-($src2)\t! long" %}
-  ins_encode %{
-    __ sub($dst$$Register, $src1$$Register, -$src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
+
 // TODO
-#endif
-
-#ifndef AARCH64
+
 // Immediate Subtraction
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
@@ -8315,7 +6072,6 @@
   %}
   ins_pipe(ialu_zero_reg);
 %}
-#endif // !AARCH64
 
 // Multiplication Instructions
 // Integer Multiplication
@@ -8331,17 +6087,6 @@
   ins_pipe(imul_reg_reg);
 %}
 
-#ifdef AARCH64
-instruct mulL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (MulL src1 src2));
-  size(4);
-  format %{ "MUL  $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ mul($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(imul_reg_reg);
-%}
-#else
 instruct mulL_lo1_hi2(iRegL dst, iRegL src1, iRegL src2) %{
   effect(DEF dst, USE src1, USE src2);
   size(4);
@@ -8383,22 +6128,9 @@
     mulL_lo1_lo2(dst, src1, src2);
   %}
 %}
-#endif // !AARCH64
 
 // Integer Division
 // Register Division
-#ifdef AARCH64
-instruct divI_reg_reg(iRegI dst, iRegI src1, iRegI src2) %{
-  match(Set dst (DivI src1 src2));
-
-  size(4);
-  format %{ "SDIV    $dst,$src1,$src2\t! 32-bit" %}
-  ins_encode %{
-    __ sdiv_w($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-%}
-#else
 instruct divI_reg_reg(R1RegI dst, R0RegI src1, R2RegI src2, LRRegP lr, flagsReg ccr) %{
   match(Set dst (DivI src1 src2));
   effect( KILL ccr, KILL src1, KILL src2, KILL lr);
@@ -8410,21 +6142,8 @@
   %}
   ins_pipe(sdiv_reg_reg);
 %}
-#endif
 
 // Register Long Division
-#ifdef AARCH64
-instruct divL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
-  match(Set dst (DivL src1 src2));
-
-  size(4);
-  format %{ "SDIV    $dst,$src1,$src2" %}
-  ins_encode %{
-    __ sdiv($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-%}
-#else
 instruct divL_reg_reg(R0R1RegL dst, R2R3RegL src1, R0R1RegL src2) %{
   match(Set dst (DivL src1 src2));
   effect(CALL);
@@ -8436,38 +6155,9 @@
   %}
   ins_pipe(divL_reg_reg);
 %}
-#endif
 
 // Integer Remainder
 // Register Remainder
-#ifdef AARCH64
-#ifdef TODO
-instruct msubI_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
-  match(Set dst (SubI src1 (MulI src2 src3)));
-
-  size(4);
-  format %{ "MSUB    $dst,$src2,$src3,$src1\t! 32-bit\n\t" %}
-  ins_encode %{
-    __ msub_w($dst$$Register, $src2$$Register, $src3$$Register, $src1$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-%}
-#endif
-
-instruct modI_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI temp) %{
-  match(Set dst (ModI src1 src2));
-  effect(TEMP temp);
-
-  size(8);
-  format %{ "SDIV    $temp,$src1,$src2\t! 32-bit\n\t"
-            "MSUB    $dst,$src2,$temp,$src1\t! 32-bit\n\t" %}
-  ins_encode %{
-    __ sdiv_w($temp$$Register, $src1$$Register, $src2$$Register);
-    __ msub_w($dst$$Register, $src2$$Register, $temp$$Register, $src1$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-%}
-#else
 instruct modI_reg_reg(R0RegI dst, R0RegI src1, R2RegI src2, R1RegI temp, LRRegP lr, flagsReg ccr ) %{
   match(Set dst (ModI src1 src2));
   effect( KILL ccr, KILL temp, KILL src2, KILL lr);
@@ -8478,24 +6168,8 @@
   %}
   ins_pipe(sdiv_reg_reg);
 %}
-#endif
 
 // Register Long Remainder
-#ifdef AARCH64
-instruct modL_reg_reg(iRegL dst, iRegL src1, iRegL src2, iRegL temp) %{
-  match(Set dst (ModL src1 src2));
-  effect(TEMP temp);
-
-  size(8);
-  format %{ "SDIV    $temp,$src1,$src2\n\t"
-            "MSUB    $dst,$src2,$temp,$src1" %}
-  ins_encode %{
-    __ sdiv($temp$$Register, $src1$$Register, $src2$$Register);
-    __ msub($dst$$Register, $src2$$Register, $temp$$Register, $src1$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-%}
-#else
 instruct modL_reg_reg(R0R1RegL dst, R2R3RegL src1, R0R1RegL src2) %{
   match(Set dst (ModL src1 src2));
   effect(CALL);
@@ -8507,7 +6181,6 @@
   %}
   ins_pipe(divL_reg_reg);
 %}
-#endif
 
 // Integer Shift Instructions
 
@@ -8516,17 +6189,10 @@
   match(Set dst (LShiftI src1 src2));
 
   size(4);
-#ifdef AARCH64
-  format %{ "LSLV   $dst,$src1,$src2\t! int" %}
-  ins_encode %{
-    __ lslv_w($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   format %{ "LSL  $dst,$src1,$src2 \n\t" %}
   ins_encode %{
     __ mov($dst$$Register, AsmOperand($src1$$Register, lsl, $src2$$Register));
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
@@ -8535,21 +6201,13 @@
   match(Set dst (LShiftI src1 src2));
 
   size(4);
-#ifdef AARCH64
-  format %{ "LSL_w  $dst,$src1,$src2\t! int" %}
-  ins_encode %{
-    __ _lsl($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-#else
   format %{ "LSL    $dst,$src1,$src2\t! int" %}
   ins_encode %{
     __ logical_shift_left($dst$$Register, $src1$$Register, $src2$$constant);
   %}
-#endif
   ins_pipe(ialu_reg_imm);
 %}
 
-#ifndef AARCH64
 instruct shlL_reg_reg_merge_hi(iRegL dst, iRegL src1, iRegI src2) %{
   effect(USE_DEF dst, USE src1, USE src2);
   size(4);
@@ -8587,40 +6245,18 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif // !AARCH64
 
 instruct shlL_reg_reg(iRegL dst, iRegL src1, iRegI src2) %{
   match(Set dst (LShiftL src1 src2));
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LSLV  $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ lslv($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg);
-#else
   expand %{
     flagsReg ccr;
     shlL_reg_reg_overlap(dst, src1, src2, ccr);
     shlL_reg_reg_merge_hi(dst, src1, src2);
     shlL_reg_reg_merge_lo(dst, src1, src2);
   %}
-#endif
-%}
-
-#ifdef AARCH64
-instruct shlL_reg_imm6(iRegL dst, iRegL src1, immU6 src2) %{
-  match(Set dst (LShiftL src1 src2));
-
-  size(4);
-  format %{ "LSL    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ logical_shift_left($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
+%}
+
 // Register Shift Left Immediate
 instruct shlL_reg_imm6(iRegL dst, iRegL src1, immU6Big src2) %{
   match(Set dst (LShiftL src1 src2));
@@ -8655,23 +6291,15 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif // !AARCH64
 
 // Register Arithmetic Shift Right
 instruct sarI_reg_reg(iRegI dst, iRegI src1, iRegI src2) %{
   match(Set dst (RShiftI src1 src2));
   size(4);
-#ifdef AARCH64
-  format %{ "ASRV   $dst,$src1,$src2\t! int" %}
-  ins_encode %{
-    __ asrv_w($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   format %{ "ASR    $dst,$src1,$src2\t! int" %}
   ins_encode %{
     __ mov($dst$$Register, AsmOperand($src1$$Register, asr, $src2$$Register));
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
@@ -8680,21 +6308,13 @@
   match(Set dst (RShiftI src1 src2));
 
   size(4);
-#ifdef AARCH64
-  format %{ "ASR_w  $dst,$src1,$src2" %}
-  ins_encode %{
-    __ _asr_w($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-#else
   format %{ "ASR    $dst,$src1,$src2" %}
   ins_encode %{
     __ mov($dst$$Register, AsmOperand($src1$$Register, asr, $src2$$constant));
   %}
-#endif
   ins_pipe(ialu_reg_imm);
 %}
 
-#ifndef AARCH64
 // Register Shift Right Arithmetic Long
 instruct sarL_reg_reg_merge_lo(iRegL dst, iRegL src1, iRegI src2) %{
   effect(USE_DEF dst, USE src1, USE src2);
@@ -8733,41 +6353,19 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif // !AARCH64
 
 instruct sarL_reg_reg(iRegL dst, iRegL src1, iRegI src2) %{
   match(Set dst (RShiftL src1 src2));
 
-#ifdef AARCH64
-  size(4);
-  format %{ "ASRV  $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ asrv($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg);
-#else
   expand %{
     flagsReg ccr;
     sarL_reg_reg_overlap(dst, src1, src2, ccr);
     sarL_reg_reg_merge_lo(dst, src1, src2);
     sarL_reg_reg_merge_hi(dst, src1, src2);
   %}
-#endif
 %}
 
 // Register Shift Left Immediate
-#ifdef AARCH64
-instruct sarL_reg_imm6(iRegL dst, iRegL src1, immU6 src2) %{
-  match(Set dst (RShiftL src1 src2));
-
-  size(4);
-  format %{ "ASR    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ _asr($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
 instruct sarL_reg_imm6(iRegL dst, iRegL src1, immU6Big src2) %{
   match(Set dst (RShiftL src1 src2));
 
@@ -8801,23 +6399,15 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 // Register Shift Right
 instruct shrI_reg_reg(iRegI dst, iRegI src1, iRegI src2) %{
   match(Set dst (URShiftI src1 src2));
   size(4);
-#ifdef AARCH64
-  format %{ "LSRV   $dst,$src1,$src2\t! int" %}
-  ins_encode %{
-    __ lsrv_w($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   format %{ "LSR    $dst,$src1,$src2\t! int" %}
   ins_encode %{
     __ mov($dst$$Register, AsmOperand($src1$$Register, lsr, $src2$$Register));
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
@@ -8826,21 +6416,13 @@
   match(Set dst (URShiftI src1 src2));
 
   size(4);
-#ifdef AARCH64
-  format %{ "LSR_w  $dst,$src1,$src2" %}
-  ins_encode %{
-    __ _lsr_w($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-#else
   format %{ "LSR    $dst,$src1,$src2" %}
   ins_encode %{
     __ mov($dst$$Register, AsmOperand($src1$$Register, lsr, $src2$$constant));
   %}
-#endif
   ins_pipe(ialu_reg_imm);
 %}
 
-#ifndef AARCH64
 // Register Shift Right
 instruct shrL_reg_reg_merge_lo(iRegL dst, iRegL src1, iRegI src2) %{
   effect(USE_DEF dst, USE src1, USE src2);
@@ -8879,41 +6461,19 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif // !AARCH64
 
 instruct shrL_reg_reg(iRegL dst, iRegL src1, iRegI src2) %{
   match(Set dst (URShiftL src1 src2));
 
-#ifdef AARCH64
-  size(4);
-  format %{ "LSRV  $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ lsrv($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-  ins_pipe(ialu_reg_reg);
-#else
   expand %{
     flagsReg ccr;
     shrL_reg_reg_overlap(dst, src1, src2, ccr);
     shrL_reg_reg_merge_lo(dst, src1, src2);
     shrL_reg_reg_merge_hi(dst, src1, src2);
   %}
-#endif
 %}
 
 // Register Shift Right Immediate
-#ifdef AARCH64
-instruct shrL_reg_imm6(iRegL dst, iRegL src1, immU6 src2) %{
-  match(Set dst (URShiftL src1 src2));
-
-  size(4);
-  format %{ "LSR    $dst,$src1,$src2" %}
-  ins_encode %{
-    __ _lsr($dst$$Register, $src1$$Register, $src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
 instruct shrL_reg_imm6(iRegL dst, iRegL src1, immU6Big src2) %{
   match(Set dst (URShiftL src1 src2));
 
@@ -8948,7 +6508,6 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif // !AARCH64
 
 
 instruct shrP_reg_imm5(iRegX dst, iRegP src1, immU5 src2) %{
@@ -9146,7 +6705,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct andshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AndI src1 (LShiftI src2 src3)));
 
@@ -9157,7 +6715,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct andshlI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (AndI src1 (LShiftI src2 src3)));
@@ -9170,7 +6727,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct andsarI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AndI src1 (RShiftI src2 src3)));
 
@@ -9181,7 +6737,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct andsarI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (AndI src1 (RShiftI src2 src3)));
@@ -9194,7 +6749,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct andshrI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (AndI src1 (URShiftI src2 src3)));
 
@@ -9205,7 +6759,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct andshrI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (AndI src1 (URShiftI src2 src3)));
@@ -9230,7 +6783,6 @@
   ins_pipe(ialu_reg_imm);
 %}
 
-#ifndef AARCH64
 instruct andI_reg_limmn(iRegI dst, iRegI src1, limmIn src2) %{
   match(Set dst (AndI src1 src2));
 
@@ -9241,43 +6793,21 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 // Register And Long
 instruct andL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
   match(Set dst (AndL src1 src2));
 
   ins_cost(DEFAULT_COST);
-#ifdef AARCH64
-  size(4);
-  format %{ "AND    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ andr($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   size(8);
   format %{ "AND    $dst,$src1,$src2\t! long" %}
   ins_encode %{
     __ andr($dst$$Register, $src1$$Register, $src2$$Register);
     __ andr($dst$$Register->successor(), $src1$$Register->successor(), $src2$$Register->successor());
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifdef AARCH64
-// Immediate And
-instruct andL_reg_limm(iRegL dst, iRegL src1, limmL src2) %{
-  match(Set dst (AndL src1 src2));
-
-  size(4);
-  format %{ "AND    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ andr($dst$$Register, $src1$$Register, (uintx)$src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct andL_reg_immRot(iRegL dst, iRegL src1, immLlowRot con) %{
@@ -9291,7 +6821,6 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 // Or Instructions
 // Register Or
@@ -9306,7 +6835,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct orshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (OrI src1 (LShiftI src2 src3)));
 
@@ -9317,7 +6845,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct orshlI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (OrI src1 (LShiftI src2 src3)));
@@ -9330,7 +6857,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct orsarI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (OrI src1 (RShiftI src2 src3)));
 
@@ -9341,7 +6867,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct orsarI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (OrI src1 (RShiftI src2 src3)));
@@ -9354,7 +6879,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct orshrI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (OrI src1 (URShiftI src2 src3)));
 
@@ -9365,7 +6889,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct orshrI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (OrI src1 (URShiftI src2 src3)));
@@ -9396,13 +6919,6 @@
   match(Set dst (OrL src1 src2));
 
   ins_cost(DEFAULT_COST);
-#ifdef AARCH64
-  size(4);
-  format %{ "OR     $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ orr($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   size(8);
   format %{ "OR     $dst.lo,$src1.lo,$src2.lo\t! long\n\t"
             "OR     $dst.hi,$src1.hi,$src2.hi" %}
@@ -9410,22 +6926,9 @@
     __ orr($dst$$Register, $src1$$Register, $src2$$Register);
     __ orr($dst$$Register->successor(), $src1$$Register->successor(), $src2$$Register->successor());
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifdef AARCH64
-instruct orL_reg_limm(iRegL dst, iRegL src1, limmL src2) %{
-  match(Set dst (OrL src1 src2));
-
-  size(4);
-  format %{ "ORR    $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ orr($dst$$Register, $src1$$Register, (uintx)$src2$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct orL_reg_immRot(iRegL dst, iRegL src1, immLlowRot con) %{
@@ -9440,7 +6943,6 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 #ifdef TODO
 // Use SPRegP to match Rthread (TLS register) without spilling.
@@ -9470,7 +6972,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct xorshlI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (XorI src1 (LShiftI src2 src3)));
 
@@ -9481,7 +6982,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct xorshlI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (XorI src1 (LShiftI src2 src3)));
@@ -9494,7 +6994,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct xorsarI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (XorI src1 (RShiftI src2 src3)));
 
@@ -9505,7 +7004,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct xorsarI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (XorI src1 (RShiftI src2 src3)));
@@ -9518,7 +7016,6 @@
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifndef AARCH64
 instruct xorshrI_reg_reg_reg(iRegI dst, iRegI src1, iRegI src2, iRegI src3) %{
   match(Set dst (XorI src1 (URShiftI src2 src3)));
 
@@ -9529,7 +7026,6 @@
   %}
   ins_pipe(ialu_reg_reg);
 %}
-#endif
 
 instruct xorshrI_reg_reg_imm(iRegI dst, iRegI src1, iRegI src2, immU5 src3) %{
   match(Set dst (XorI src1 (URShiftI src2 src3)));
@@ -9558,13 +7054,6 @@
 instruct xorL_reg_reg(iRegL dst, iRegL src1, iRegL src2) %{
   match(Set dst (XorL src1 src2));
   ins_cost(DEFAULT_COST);
-#ifdef AARCH64
-  size(4);
-  format %{ "XOR     $dst,$src1,$src2\t! long" %}
-  ins_encode %{
-    __ eor($dst$$Register, $src1$$Register, $src2$$Register);
-  %}
-#else
   size(8);
   format %{ "XOR     $dst.hi,$src1.hi,$src2.hi\t! long\n\t"
             "XOR     $dst.lo,$src1.lo,$src2.lo\t! long" %}
@@ -9572,22 +7061,9 @@
     __ eor($dst$$Register, $src1$$Register, $src2$$Register);
     __ eor($dst$$Register->successor(), $src1$$Register->successor(), $src2$$Register->successor());
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
-#ifdef AARCH64
-instruct xorL_reg_limmL(iRegL dst, iRegL src1, limmL con) %{
-  match(Set dst (XorL src1 con));
-  ins_cost(DEFAULT_COST);
-  size(4);
-  format %{ "EOR     $dst,$src1,$con\t! long" %}
-  ins_encode %{
-    __ eor($dst$$Register, $src1$$Register, (uintx)$con$$constant);
-  %}
-  ins_pipe(ialu_reg_imm);
-%}
-#else
 // TODO: try immLRot2 instead, (0, $con$$constant) becomes
 // (hi($con$$constant), lo($con$$constant)) becomes
 instruct xorL_reg_immRot(iRegL dst, iRegL src1, immLlowRot con) %{
@@ -9602,22 +7078,11 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif // AARCH64
 
 //----------Convert to Boolean-------------------------------------------------
 instruct convI2B( iRegI dst, iRegI src, flagsReg ccr ) %{
   match(Set dst (Conv2B src));
   effect(KILL ccr);
-#ifdef AARCH64
-  size(8);
-  ins_cost(DEFAULT_COST*2);
-  format %{ "cmp_32 $src,ZR\n\t"
-            "cset_w $dst, ne" %}
-  ins_encode %{
-    __ cmp_32($src$$Register, ZR);
-    __ cset_w($dst$$Register, ne);
-  %}
-#else
   size(12);
   ins_cost(DEFAULT_COST*2);
   format %{ "TST    $src,$src \n\t"
@@ -9628,23 +7093,12 @@
     __ mov($dst$$Register, 0);
     __ mov($dst$$Register, 1, ne);
   %}
-#endif
   ins_pipe(ialu_reg_ialu);
 %}
 
 instruct convP2B( iRegI dst, iRegP src, flagsReg ccr ) %{
   match(Set dst (Conv2B src));
   effect(KILL ccr);
-#ifdef AARCH64
-  size(8);
-  ins_cost(DEFAULT_COST*2);
-  format %{ "CMP    $src,ZR\n\t"
-            "cset   $dst, ne" %}
-  ins_encode %{
-    __ cmp($src$$Register, ZR);
-    __ cset($dst$$Register, ne);
-  %}
-#else
   size(12);
   ins_cost(DEFAULT_COST*2);
   format %{ "TST    $src,$src \n\t"
@@ -9655,23 +7109,12 @@
     __ mov($dst$$Register, 0);
     __ mov($dst$$Register, 1, ne);
   %}
-#endif
   ins_pipe(ialu_reg_ialu);
 %}
 
 instruct cmpLTMask_reg_reg( iRegI dst, iRegI p, iRegI q, flagsReg ccr ) %{
   match(Set dst (CmpLTMask p q));
   effect( KILL ccr );
-#ifdef AARCH64
-  size(8);
-  ins_cost(DEFAULT_COST*2);
-  format %{ "CMP_w   $p,$q\n\t"
-            "CSETM_w $dst, lt" %}
-  ins_encode %{
-    __ cmp_w($p$$Register, $q$$Register);
-    __ csetm_w($dst$$Register, lt);
-  %}
-#else
   ins_cost(DEFAULT_COST*3);
   format %{ "CMP    $p,$q\n\t"
             "MOV    $dst, #0\n\t"
@@ -9681,23 +7124,12 @@
     __ mov($dst$$Register, 0);
     __ mvn($dst$$Register, 0, lt);
   %}
-#endif
   ins_pipe(ialu_reg_reg_ialu);
 %}
 
 instruct cmpLTMask_reg_imm( iRegI dst, iRegI p, aimmI q, flagsReg ccr ) %{
   match(Set dst (CmpLTMask p q));
   effect( KILL ccr );
-#ifdef AARCH64
-  size(8);
-  ins_cost(DEFAULT_COST*2);
-  format %{ "CMP_w   $p,$q\n\t"
-            "CSETM_w $dst, lt" %}
-  ins_encode %{
-    __ cmp_w($p$$Register, $q$$constant);
-    __ csetm_w($dst$$Register, lt);
-  %}
-#else
   ins_cost(DEFAULT_COST*3);
   format %{ "CMP    $p,$q\n\t"
             "MOV    $dst, #0\n\t"
@@ -9707,27 +7139,9 @@
     __ mov($dst$$Register, 0);
     __ mvn($dst$$Register, 0, lt);
   %}
-#endif
   ins_pipe(ialu_reg_reg_ialu);
 %}
 
-#ifdef AARCH64
-instruct cadd_cmpLTMask3( iRegI dst, iRegI p, iRegI q, iRegI y, iRegI x, flagsReg ccr ) %{
-  match(Set dst (AddI (AndI (CmpLTMask p q) y) x));
-  effect( TEMP dst, KILL ccr );
-  size(12);
-  ins_cost(DEFAULT_COST*3);
-  format %{ "CMP_w  $p,$q\n\t"
-            "ADD_w  $dst,$y,$x\n\t"
-            "CSEL_w $dst,$dst,$x,lt" %}
-  ins_encode %{
-    __ cmp_w($p$$Register, $q$$Register);
-    __ add_w($dst$$Register, $y$$Register, $x$$Register);
-    __ csel_w($dst$$Register, $dst$$Register, $x$$Register, lt);
-  %}
-  ins_pipe( cadd_cmpltmask );
-%}
-#else
 instruct cadd_cmpLTMask3( iRegI p, iRegI q, iRegI y, iRegI z, flagsReg ccr ) %{
   match(Set z (AddI (AndI (CmpLTMask p q) y) z));
   effect( KILL ccr );
@@ -9740,25 +7154,7 @@
   %}
   ins_pipe( cadd_cmpltmask );
 %}
-#endif
-
-#ifdef AARCH64
-instruct cadd_cmpLTMask4( iRegI dst, iRegI p, aimmI q, iRegI y, iRegI x, flagsReg ccr ) %{
-  match(Set dst (AddI (AndI (CmpLTMask p q) y) x));
-  effect( TEMP dst, KILL ccr );
-  size(12);
-  ins_cost(DEFAULT_COST*3);
-  format %{ "CMP_w  $p,$q\n\t"
-            "ADD_w  $dst,$y,$x\n\t"
-            "CSEL_w $dst,$dst,$x,lt" %}
-  ins_encode %{
-    __ cmp_w($p$$Register, $q$$constant);
-    __ add_w($dst$$Register, $y$$Register, $x$$Register);
-    __ csel_w($dst$$Register, $dst$$Register, $x$$Register, lt);
-  %}
-  ins_pipe( cadd_cmpltmask );
-%}
-#else
+
 // FIXME: remove unused "dst"
 instruct cadd_cmpLTMask4( iRegI dst, iRegI p, aimmI q, iRegI y, iRegI z, flagsReg ccr ) %{
   match(Set z (AddI (AndI (CmpLTMask p q) y) z));
@@ -9772,25 +7168,7 @@
   %}
   ins_pipe( cadd_cmpltmask );
 %}
-#endif // !AARCH64
-
-#ifdef AARCH64
-instruct cadd_cmpLTMask( iRegI dst, iRegI p, iRegI q, iRegI y, flagsReg ccr ) %{
-  match(Set dst (AddI (AndI (CmpLTMask p q) y) (SubI p q)));
-  effect( TEMP dst, KILL ccr );
-  size(12);
-  ins_cost(DEFAULT_COST*3);
-  format %{ "SUBS_w $p,$p,$q\n\t"
-            "ADD_w  $dst,$y,$p\n\t"
-            "CSEL_w $dst,$dst,$p,lt" %}
-  ins_encode %{
-    __ subs_w($p$$Register, $p$$Register, $q$$Register);
-    __ add_w($dst$$Register, $y$$Register, $p$$Register);
-    __ csel_w($dst$$Register, $dst$$Register, $p$$Register, lt);
-  %}
-  ins_pipe( cadd_cmpltmask ); // FIXME
-%}
-#else
+
 instruct cadd_cmpLTMask( iRegI p, iRegI q, iRegI y, flagsReg ccr ) %{
   match(Set p (AddI (AndI (CmpLTMask p q) y) (SubI p q)));
   effect( KILL ccr );
@@ -9803,7 +7181,6 @@
   %}
   ins_pipe( cadd_cmpltmask );
 %}
-#endif
 
 //----------Arithmetic Conversion Instructions---------------------------------
 // The conversions operations are all Alpha sorted.  Please keep it that way!
@@ -9821,27 +7198,6 @@
 // Convert a double to an int in a float register.
 // If the double is a NAN, stuff a zero in instead.
 
-#ifdef AARCH64
-instruct convD2I_reg_reg(iRegI dst, regD src) %{
-  match(Set dst (ConvD2I src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  format %{ "FCVTZS_wd $dst, $src" %}
-  ins_encode %{
-    __ fcvtzs_wd($dst$$Register, $src$$FloatRegister);
-  %}
-  ins_pipe(fcvtD2I);
-%}
-
-instruct convD2L_reg_reg(iRegL dst, regD src) %{
-  match(Set dst (ConvD2L src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  format %{ "FCVTZS_xd $dst, $src" %}
-  ins_encode %{
-    __ fcvtzs_xd($dst$$Register, $src$$FloatRegister);
-  %}
-  ins_pipe(fcvtD2L);
-%}
-#else
 instruct convD2I_reg_reg(iRegI dst, regD src, regF tmp) %{
   match(Set dst (ConvD2I src));
   effect( TEMP tmp );
@@ -9854,12 +7210,10 @@
   %}
   ins_pipe(fcvtD2I);
 %}
-#endif
 
 // Convert a double to a long in a double register.
 // If the double is a NAN, stuff a zero in instead.
 
-#ifndef AARCH64
 // Double to Long conversion
 instruct convD2L_reg(R0R1RegL dst, regD src) %{
   match(Set dst (ConvD2L src));
@@ -9879,7 +7233,6 @@
   %}
   ins_pipe(fcvtD2L);
 %}
-#endif
 
 instruct convF2D_reg(regD dst, regF src) %{
   match(Set dst (ConvF2D src));
@@ -9891,29 +7244,6 @@
   ins_pipe(fcvtF2D);
 %}
 
-#ifdef AARCH64
-instruct convF2I_reg_reg(iRegI dst, regF src) %{
-  match(Set dst (ConvF2I src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  size(4);
-  format %{ "FCVTZS_ws $dst, $src" %}
-  ins_encode %{
-    __ fcvtzs_ws($dst$$Register, $src$$FloatRegister);
-  %}
-  ins_pipe(fcvtF2I);
-%}
-
-instruct convF2L_reg_reg(iRegL dst, regF src) %{
-  match(Set dst (ConvF2L src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  size(4);
-  format %{ "FCVTZS_xs $dst, $src" %}
-  ins_encode %{
-    __ fcvtzs_xs($dst$$Register, $src$$FloatRegister);
-  %}
-  ins_pipe(fcvtF2L);
-%}
-#else
 instruct convF2I_reg_reg(iRegI dst, regF src, regF tmp) %{
   match(Set dst (ConvF2I src));
   effect( TEMP tmp );
@@ -9947,20 +7277,7 @@
   %}
   ins_pipe(fcvtF2L);
 %}
-#endif
-
-#ifdef AARCH64
-instruct convI2D_reg_reg(iRegI src, regD dst) %{
-  match(Set dst (ConvI2D src));
-  ins_cost(DEFAULT_COST + MEMORY_REF_COST); // FIXME
-  size(4);
-  format %{ "SCVTF_dw $dst,$src" %}
-  ins_encode %{
-      __ scvtf_dw($dst$$FloatRegister, $src$$Register);
-  %}
-  ins_pipe(fcvtI2D);
-%}
-#else
+
 instruct convI2D_reg_reg(iRegI src, regD_low dst) %{
   match(Set dst (ConvI2D src));
   ins_cost(DEFAULT_COST + MEMORY_REF_COST); // FIXME
@@ -9973,18 +7290,10 @@
   %}
   ins_pipe(fcvtI2D);
 %}
-#endif
 
 instruct convI2F_reg_reg( regF dst, iRegI src ) %{
   match(Set dst (ConvI2F src));
   ins_cost(DEFAULT_COST + MEMORY_REF_COST); // FIXME
-#ifdef AARCH64
-  size(4);
-  format %{ "SCVTF_sw $dst,$src" %}
-  ins_encode %{
-      __ scvtf_sw($dst$$FloatRegister, $src$$Register);
-  %}
-#else
   size(8);
   format %{ "FMSR     $dst,$src \n\t"
             "FSITOS   $dst, $dst"%}
@@ -9992,19 +7301,11 @@
       __ fmsr($dst$$FloatRegister, $src$$Register);
       __ fsitos($dst$$FloatRegister, $dst$$FloatRegister);
   %}
-#endif
   ins_pipe(fcvtI2F);
 %}
 
 instruct convI2L_reg(iRegL dst, iRegI src) %{
   match(Set dst (ConvI2L src));
-#ifdef AARCH64
-  size(4);
-  format %{ "SXTW   $dst,$src\t! int->long" %}
-  ins_encode %{
-    __ sxtw($dst$$Register, $src$$Register);
-  %}
-#else
   size(8);
   format %{ "MOV    $dst.lo, $src \n\t"
             "ASR    $dst.hi,$src,31\t! int->long" %}
@@ -10012,20 +7313,12 @@
     __ mov($dst$$Register, $src$$Register);
     __ mov($dst$$Register->successor(), AsmOperand($src$$Register, asr, 31));
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
 // Zero-extend convert int to long
 instruct convI2L_reg_zex(iRegL dst, iRegI src, immL_32bits mask ) %{
   match(Set dst (AndL (ConvI2L src) mask) );
-#ifdef AARCH64
-  size(4);
-  format %{ "mov_w  $dst,$src\t! zero-extend int to long"  %}
-  ins_encode %{
-    __ mov_w($dst$$Register, $src$$Register);
-  %}
-#else
   size(8);
   format %{ "MOV    $dst.lo,$src.lo\t! zero-extend int to long\n\t"
             "MOV    $dst.hi, 0"%}
@@ -10033,20 +7326,12 @@
     __ mov($dst$$Register, $src$$Register);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
 // Zero-extend long
 instruct zerox_long(iRegL dst, iRegL src, immL_32bits mask ) %{
   match(Set dst (AndL src mask) );
-#ifdef AARCH64
-  size(4);
-  format %{ "mov_w  $dst,$src\t! zero-extend long"  %}
-  ins_encode %{
-    __ mov_w($dst$$Register, $src$$Register);
-  %}
-#else
   size(8);
   format %{ "MOV    $dst.lo,$src.lo\t! zero-extend long\n\t"
             "MOV    $dst.hi, 0"%}
@@ -10054,7 +7339,6 @@
     __ mov($dst$$Register, $src$$Register);
     __ mov($dst$$Register->successor(), 0);
   %}
-#endif
   ins_pipe(ialu_reg_reg);
 %}
 
@@ -10089,17 +7373,10 @@
   ins_cost(MEMORY_REF_COST); // FIXME
 
   size(4);
-#ifdef AARCH64
-  format %{ "FMOV_xd  $dst,$src\t! MoveD2L" %}
-  ins_encode %{
-    __ fmov_xd($dst$$Register, $src$$FloatRegister);
-  %}
-#else
   format %{ "FMRRD    $dst,$src\t! MoveD2L" %}
   ins_encode %{
     __ fmrrd($dst$$Register, $dst$$Register->successor(), $src$$FloatRegister);
   %}
-#endif
   ins_pipe(iload_mem); // FIXME
 %}
 
@@ -10109,46 +7386,16 @@
   ins_cost(MEMORY_REF_COST); // FIXME
 
   size(4);
-#ifdef AARCH64
-  format %{ "FMOV_dx $dst,$src\t! MoveL2D" %}
-  ins_encode %{
-    __ fmov_dx($dst$$FloatRegister, $src$$Register);
-  %}
-#else
   format %{ "FMDRR   $dst,$src\t! MoveL2D" %}
   ins_encode %{
     __ fmdrr($dst$$FloatRegister, $src$$Register, $src$$Register->successor());
   %}
-#endif
   ins_pipe(ialu_reg_reg); // FIXME
 %}
 
 //-----------
 // Long to Double conversion
 
-#ifdef AARCH64
-instruct convL2D(regD dst, iRegL src) %{
-  match(Set dst (ConvL2D src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  size(4);
-  format %{ "SCVTF_dx $dst, $src" %}
-  ins_encode %{
-    __ scvtf_dx($dst$$FloatRegister, $src$$Register);
-  %}
-  ins_pipe(fcvtL2D);
-%}
-
-instruct convL2F(regF dst, iRegL src) %{
-  match(Set dst (ConvL2F src));
-  ins_cost(DEFAULT_COST*2 + MEMORY_REF_COST*2 + BRANCH_COST); // FIXME
-  size(4);
-  format %{ "SCVTF_sx $dst, $src" %}
-  ins_encode %{
-    __ scvtf_sx($dst$$FloatRegister, $src$$Register);
-  %}
-  ins_pipe(fcvtL2F);
-%}
-#else
 // Magic constant, 0x43300000
 instruct loadConI_x43300000(iRegI dst) %{
   effect(DEF dst);
@@ -10194,7 +7441,6 @@
   ins_pipe(faddD_reg_reg);
 %}
 
-#ifndef AARCH64
 // Convert integer in high half of a double register (in the lower half of
 // the double register file) to double
 instruct convI2D_regDHi_regD(regD dst, regD_low src) %{
@@ -10206,7 +7452,6 @@
   %}
   ins_pipe(fcvtLHi2D);
 %}
-#endif
 
 // Add float double precision
 instruct addD_regD_regD(regD dst, regD src1, regD src2) %{
@@ -10297,26 +7542,17 @@
     addD_regD_regD(dst, tmp3, tmp4);
   %}
 %}
-#endif // !AARCH64
 
 instruct convL2I_reg(iRegI dst, iRegL src) %{
   match(Set dst (ConvL2I src));
   size(4);
-#ifdef AARCH64
-  format %{ "MOV_w  $dst,$src\t! long->int" %}
-  ins_encode %{
-    __ mov_w($dst$$Register, $src$$Register);
-  %}
-#else
   format %{ "MOV    $dst,$src.lo\t! long->int" %}
   ins_encode %{
     __ mov($dst$$Register, $src$$Register);
   %}
-#endif
   ins_pipe(ialu_move_reg_I_to_L);
 %}
 
-#ifndef AARCH64
 // Register Shift Right Immediate
 instruct shrL_reg_imm6_L2I(iRegI dst, iRegL src, immI_32_63 cnt) %{
   match(Set dst (ConvL2I (RShiftL src cnt)));
@@ -10331,7 +7567,6 @@
   %}
   ins_pipe(ialu_reg_imm);
 %}
-#endif
 
 
 //----------Control Flow Instructions------------------------------------------
@@ -10410,7 +7645,6 @@
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
 
-#ifndef AARCH64
 instruct testshlI_reg_reg_reg( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, iRegI op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (LShiftI op2 op3)) zero));
   size(4);
@@ -10421,7 +7655,6 @@
   %}
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
-#endif
 
 instruct testshlI_reg_reg_imm( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, immU5 op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (LShiftI op2 op3)) zero));
@@ -10434,7 +7667,6 @@
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
 
-#ifndef AARCH64
 instruct testsarI_reg_reg_reg( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, iRegI op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (RShiftI op2 op3)) zero));
   size(4);
@@ -10445,7 +7677,6 @@
   %}
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
-#endif
 
 instruct testsarI_reg_reg_imm( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, immU5 op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (RShiftI op2 op3)) zero));
@@ -10458,7 +7689,6 @@
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
 
-#ifndef AARCH64
 instruct testshrI_reg_reg_reg( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, iRegI op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (URShiftI op2 op3)) zero));
   size(4);
@@ -10469,7 +7699,6 @@
   %}
   ins_pipe(ialu_cconly_reg_reg_zero);
 %}
-#endif
 
 instruct testshrI_reg_reg_imm( flagsReg_EQNELTGE icc, iRegI op1, iRegI op2, immU5 op3, immI0 zero ) %{
   match(Set icc (CmpI (AndI op1 (URShiftI op2 op3)) zero));
@@ -10493,31 +7722,6 @@
   ins_pipe(ialu_cconly_reg_imm_zero);
 %}
 
-#ifdef AARCH64
-instruct compL_reg_reg(flagsReg xcc, iRegL op1, iRegL op2)
-%{
-  match(Set xcc (CmpL op1 op2));
-  effect( DEF xcc, USE op1, USE op2 );
-
-  size(4);
-  format %{ "CMP     $op1,$op2\t! long" %}
-  ins_encode %{
-    __ cmp($op1$$Register, $op2$$Register);
-  %}
-  ins_pipe(ialu_cconly_reg_reg);
-%}
-
-instruct compUL_iReg(flagsRegU xcc, iRegL op1, iRegL op2) %{
-  match(Set xcc (CmpUL op1 op2));
-
-  size(4);
-  format %{ "CMP     $op1,$op2\t! unsigned long" %}
-  ins_encode %{
-    __ cmp($op1$$Register, $op2$$Register);
-  %}
-  ins_pipe(ialu_cconly_reg_reg);
-%}
-#else
 instruct compL_reg_reg_LTGE(flagsRegL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp) %{
   match(Set xcc (CmpL op1 op2));
   effect( DEF xcc, USE op1, USE op2, TEMP tmp );
@@ -10545,35 +7749,7 @@
   %}
   ins_pipe(ialu_cconly_reg_reg);
 %}
-#endif
-
-#ifdef AARCH64
-instruct compL_reg_con(flagsReg xcc, iRegL op1, aimmL con) %{
-  match(Set xcc (CmpL op1 con));
-  effect( DEF xcc, USE op1, USE con );
-
-  size(8);
-  format %{ "CMP     $op1,$con\t\t! long"  %}
-  ins_encode %{
-    __ cmp($op1$$Register, $con$$constant);
-  %}
-
-  ins_pipe(ialu_cconly_reg_imm);
-%}
-
-instruct compUL_reg_con(flagsRegU xcc, iRegL op1, aimmL con) %{
-  match(Set xcc (CmpUL op1 con));
-  effect(DEF xcc, USE op1, USE con);
-
-  size(8);
-  format %{ "CMP     $op1,$con\t\t! unsigned long"  %}
-  ins_encode %{
-    __ cmp($op1$$Register, $con$$constant);
-  %}
-
-  ins_pipe(ialu_cconly_reg_imm);
-%}
-#else
+
 instruct compL_reg_reg_EQNE(flagsRegL_EQNE xcc, iRegL op1, iRegL op2) %{
   match(Set xcc (CmpL op1 op2));
   effect( DEF xcc, USE op1, USE op2 );
@@ -10731,7 +7907,6 @@
 
   ins_pipe(ialu_cconly_reg_reg);
 %}
-#endif
 
 /* instruct testL_reg_reg(flagsRegL xcc, iRegL op1, iRegL op2, immL0 zero) %{ */
 /*   match(Set xcc (CmpL (AndL op1 op2) zero)); */
@@ -10839,13 +8014,6 @@
   match(Set icc (CmpF src1 src2));
   effect(KILL fcc);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "FCMP_s  $src1,$src2" %}
-  ins_encode %{
-    __ fcmp_s($src1$$FloatRegister, $src2$$FloatRegister);
-  %}
-#else
   size(8);
   format %{ "FCMPs  $src1,$src2\n\t"
             "FMSTAT" %}
@@ -10853,7 +8021,6 @@
     __ fcmps($src1$$FloatRegister, $src2$$FloatRegister);
     __ fmstat();
   %}
-#endif
   ins_pipe(faddF_fcc_reg_reg_zero);
 %}
 
@@ -10861,13 +8028,6 @@
   match(Set icc (CmpF src1 src2));
   effect(KILL fcc);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "FCMP0_s $src1" %}
-  ins_encode %{
-    __ fcmp0_s($src1$$FloatRegister);
-  %}
-#else
   size(8);
   format %{ "FCMPs  $src1,$src2\n\t"
             "FMSTAT" %}
@@ -10875,7 +8035,6 @@
     __ fcmpzs($src1$$FloatRegister);
     __ fmstat();
   %}
-#endif
   ins_pipe(faddF_fcc_reg_reg_zero);
 %}
 
@@ -10883,13 +8042,6 @@
   match(Set icc (CmpD src1 src2));
   effect(KILL fcc);
 
-#ifdef AARCH64
-  size(4);
-  format %{ "FCMP_d $src1,$src2" %}
-  ins_encode %{
-    __ fcmp_d($src1$$FloatRegister, $src2$$FloatRegister);
-  %}
-#else
   size(8);
   format %{ "FCMPd  $src1,$src2 \n\t"
             "FMSTAT" %}
@@ -10897,7 +8049,6 @@
     __ fcmpd($src1$$FloatRegister, $src2$$FloatRegister);
     __ fmstat();
   %}
-#endif
   ins_pipe(faddD_fcc_reg_reg_zero);
 %}
 
@@ -10905,13 +8056,6 @@
   match(Set icc (CmpD src1 src2));
   effect(KILL fcc);
 
-#ifdef AARCH64
-  size(8);
-  format %{ "FCMP0_d $src1" %}
-  ins_encode %{
-    __ fcmp0_d($src1$$FloatRegister);
-  %}
-#else
   size(8);
   format %{ "FCMPZd  $src1,$src2 \n\t"
             "FMSTAT" %}
@@ -10919,87 +8063,9 @@
     __ fcmpzd($src1$$FloatRegister);
     __ fmstat();
   %}
-#endif
   ins_pipe(faddD_fcc_reg_reg_zero);
 %}
 
-#ifdef AARCH64
-// Compare floating, generate -1,0,1
-instruct cmpF_reg(iRegI dst, regF src1, regF src2, flagsReg icc) %{
-  match(Set dst (CmpF3 src1 src2));
-  // effect(KILL fcc); // nobody cares if flagsRegF is killed
-  effect(KILL icc);
-  ins_cost(DEFAULT_COST*3); // FIXME
-  size(12);
-  format %{ "FCMP_s $src1,$src2\n\t"
-            "CSET   $dst, gt\n\t"
-            "CSINV  $dst, $dst, ZR, ge" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    __ fcmp_s($src1$$FloatRegister, $src2$$FloatRegister);
-    __ cset(dst, gt);            // 1 if '>', else 0
-    __ csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-  %}
-  ins_pipe( floating_cmp ); // FIXME
-%}
-
-// Compare floating, generate -1,0,1
-instruct cmpD_reg(iRegI dst, regD src1, regD src2, flagsReg icc) %{
-  match(Set dst (CmpD3 src1 src2));
-  // effect(KILL fcc); // nobody cares if flagsRegF is killed
-  effect(KILL icc);
-  ins_cost(DEFAULT_COST*3); // FIXME
-  size(12);
-  format %{ "FCMP_d $src1,$src2\n\t"
-            "CSET   $dst, gt\n\t"
-            "CSINV  $dst, $dst, ZR, ge" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    __ fcmp_d($src1$$FloatRegister, $src2$$FloatRegister);
-    __ cset(dst, gt);            // 1 if '>', else 0
-    __ csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-  %}
-  ins_pipe( floating_cmp ); // FIXME
-%}
-
-// Compare floating, generate -1,0,1
-instruct cmpF0_reg(iRegI dst, regF src1, immF0 src2, flagsReg icc) %{
-  match(Set dst (CmpF3 src1 src2));
-  // effect(KILL fcc); // nobody cares if flagsRegF is killed
-  effect(KILL icc);
-  ins_cost(DEFAULT_COST*3); // FIXME
-  size(12);
-  format %{ "FCMP0_s $src1\n\t"
-            "CSET   $dst, gt\n\t"
-            "CSINV  $dst, $dst, ZR, ge" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    __ fcmp0_s($src1$$FloatRegister);
-    __ cset(dst, gt);            // 1 if '>', else 0
-    __ csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-  %}
-  ins_pipe( floating_cmp ); // FIXME
-%}
-
-// Compare floating, generate -1,0,1
-instruct cmpD0_reg(iRegI dst, regD src1, immD0 src2, flagsReg icc) %{
-  match(Set dst (CmpD3 src1 src2));
-  // effect(KILL fcc); // nobody cares if flagsRegF is killed
-  effect(KILL icc);
-  ins_cost(DEFAULT_COST*3); // FIXME
-  size(12);
-  format %{ "FCMP0_d $src1\n\t"
-            "CSET   $dst, gt\n\t"
-            "CSINV  $dst, $dst, ZR, ge" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    __ fcmp0_d($src1$$FloatRegister);
-    __ cset(dst, gt);            // 1 if '>', else 0
-    __ csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-  %}
-  ins_pipe( floating_cmp ); // FIXME
-%}
-#else
 // Compare floating, generate -1,0,1
 instruct cmpF_reg(iRegI dst, regF src1, regF src2, flagsRegF fcc) %{
   match(Set dst (CmpF3 src1 src2));
@@ -11076,7 +8142,6 @@
   %}
   ins_pipe( floating_cmp );
 %}
-#endif // !AARCH64
 
 //----------Branches---------------------------------------------------------
 // Jump
@@ -11158,61 +8223,6 @@
 %}
 #endif
 
-#ifdef AARCH64
-instruct cbzI(cmpOp cmp, iRegI op1, immI0 op2, label labl) %{
-  match(If cmp (CmpI op1 op2));
-  effect(USE labl);
-  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq ||
-            _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
-  size(4);
-  ins_cost(BRANCH_COST);
-  format %{ "CB{N}Z $op1, $labl\t! int $cmp" %}
-  ins_encode %{
-    if ($cmp$$cmpcode == eq) {
-      __ cbz_w($op1$$Register, *($labl$$label));
-    } else {
-      __ cbnz_w($op1$$Register, *($labl$$label));
-    }
-  %}
-  ins_pipe(br_cc); // FIXME
-%}
-
-instruct cbzP(cmpOpP cmp, iRegP op1, immP0 op2, label labl) %{
-  match(If cmp (CmpP op1 op2));
-  effect(USE labl);
-  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq ||
-            _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
-  size(4);
-  ins_cost(BRANCH_COST);
-  format %{ "CB{N}Z $op1, $labl\t! ptr $cmp" %}
-  ins_encode %{
-    if ($cmp$$cmpcode == eq) {
-      __ cbz($op1$$Register, *($labl$$label));
-    } else {
-      __ cbnz($op1$$Register, *($labl$$label));
-    }
-  %}
-  ins_pipe(br_cc); // FIXME
-%}
-
-instruct cbzL(cmpOpL cmp, iRegL op1, immL0 op2, label labl) %{
-  match(If cmp (CmpL op1 op2));
-  effect(USE labl);
-  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq ||
-            _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
-  size(4);
-  ins_cost(BRANCH_COST);
-  format %{ "CB{N}Z $op1, $labl\t! long $cmp" %}
-  ins_encode %{
-    if ($cmp$$cmpcode == eq) {
-      __ cbz($op1$$Register, *($labl$$label));
-    } else {
-      __ cbnz($op1$$Register, *($labl$$label));
-    }
-  %}
-  ins_pipe(br_cc); // FIXME
-%}
-#endif
 
 instruct branchConU(cmpOpU cmp, flagsRegU icc, label labl) %{
   match(If cmp icc);
@@ -11240,7 +8250,6 @@
   ins_pipe(br_cc);
 %}
 
-#ifndef AARCH64
 instruct branchConL_LTGE(cmpOpL cmp, flagsRegL_LTGE xcc, label labl) %{
   match(If cmp xcc);
   effect(USE labl);
@@ -11324,7 +8333,6 @@
   %}
   ins_pipe(br_cc);
 %}
-#endif
 
 instruct branchLoopEnd(cmpOp cmp, flagsReg icc, label labl) %{
   match(CountedLoopEnd cmp icc);
@@ -11372,26 +8380,6 @@
 
 // Manifest a CmpL3 result in an integer register.  Very painful.
 // This is the test to avoid.
-#ifdef AARCH64
-instruct cmpL3_reg_reg(iRegI dst, iRegL src1, iRegL src2, flagsReg ccr) %{
-  match(Set dst (CmpL3 src1 src2));
-  // effect(KILL fcc); // nobody cares if flagsRegF is killed
-  effect(KILL ccr);
-  ins_cost(DEFAULT_COST*3); // FIXME
-  size(12);
-  format %{ "CMP    $src1,$src2\n\t"
-            "CSET   $dst, gt\n\t"
-            "CSINV  $dst, $dst, ZR, ge" %}
-  ins_encode %{
-    Register dst = $dst$$Register;
-    __ cmp($src1$$Register, $src2$$Register);
-    __ cset(dst, gt);            // 1 if '>', else 0
-    __ csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-  %}
-  ins_pipe( ialu_cconly_reg_reg ); // FIXME
-%}
-// TODO cmpL3_reg_imm
-#else
 instruct cmpL3_reg_reg(iRegI dst, iRegL src1, iRegL src2, flagsReg ccr ) %{
   match(Set dst (CmpL3 src1 src2) );
   effect( KILL ccr );
@@ -11419,9 +8407,7 @@
   %}
   ins_pipe(cmpL_reg);
 %}
-#endif
-
-#ifndef AARCH64
+
 // Conditional move
 instruct cmovLL_reg_LTGE(cmpOpL cmp, flagsRegL_LTGE xcc, iRegL dst, iRegL src) %{
   match(Set dst (CMoveL (Binary cmp xcc) (Binary dst src)));
@@ -11509,9 +8495,7 @@
   %}
   ins_pipe(ialu_imm);
 %}
-#endif // !AARCH64
-
-#ifndef AARCH64
+
 instruct cmovIL_reg_LTGE(cmpOpL cmp, flagsRegL_LTGE xcc, iRegI dst, iRegI src) %{
   match(Set dst (CMoveI (Binary cmp xcc) (Binary dst src)));
   predicate(_kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
@@ -11550,9 +8534,7 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif // !AARCH64
-
-#ifndef AARCH64
+
 instruct cmovIL_imm_LTGE(cmpOpL cmp, flagsRegL_LTGE xcc, iRegI dst, immI16 src) %{
   match(Set dst (CMoveI (Binary cmp xcc) (Binary dst src)));
   predicate(_kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge );
@@ -11738,25 +8720,9 @@
   %}
   ins_pipe(int_conditional_float_move);
 %}
-#endif // !AARCH64
 
 // ============================================================================
 // Safepoint Instruction
-#ifdef AARCH64
-instruct safePoint_poll(iRegP poll, flagsReg icc, RtempRegP tmp) %{
-  match(SafePoint poll);
-  // The handler stub kills Rtemp
-  effect(USE poll, KILL tmp, KILL icc);
-
-  size(4);
-  format %{ "LDR   ZR,[$poll]\t! Safepoint: poll for GC" %}
-  ins_encode %{
-    __ relocate(relocInfo::poll_type);
-    __ ldr(ZR, Address($poll$$Register));
-  %}
-  ins_pipe(loadPollP);
-%}
-#else
 // rather than KILL R12, it would be better to use any reg as
 // TEMP. Can't do that at this point because it crashes the compiler
 instruct safePoint_poll(iRegP poll, R12RegI tmp, flagsReg icc) %{
@@ -11771,7 +8737,6 @@
   %}
   ins_pipe(loadPollP);
 %}
-#endif
 
 
 // ============================================================================
@@ -11820,13 +8785,8 @@
   effect(USE meth);
   ins_cost(CALL_COST);
   format %{ "CALL,runtime" %}
-#ifdef AARCH64
-  ins_encode( save_last_PC, Java_To_Runtime( meth ),
-              call_epilog );
-#else
   ins_encode( Java_To_Runtime( meth ),
               call_epilog );
-#endif
   ins_pipe(simple_call);
 %}
 
@@ -11952,11 +8912,7 @@
   // Use the following format syntax
   format %{ "ShouldNotReachHere" %}
   ins_encode %{
-#ifdef AARCH64
-    __ dpcs1(0xdead);
-#else
     __ udf(0xdead);
-#endif
   %}
   ins_pipe(tail_call);
 %}
@@ -11986,49 +8942,21 @@
 // ============================================================================
 // inlined locking and unlocking
 
-#ifdef AARCH64
-instruct cmpFastLock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, iRegP scratch, iRegP scratch3 )
-#else
 instruct cmpFastLock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, iRegP scratch )
-#endif
 %{
   match(Set pcc (FastLock object box));
 
-#ifdef AARCH64
-  effect(TEMP scratch, TEMP scratch2, TEMP scratch3);
-#else
   effect(TEMP scratch, TEMP scratch2);
-#endif
   ins_cost(100);
 
-#ifdef AARCH64
-  format %{ "FASTLOCK  $object, $box; KILL $scratch, $scratch2, $scratch3" %}
-  ins_encode %{
-    __ fast_lock($object$$Register, $box$$Register, $scratch$$Register, $scratch2$$Register, $scratch3$$Register);
-  %}
-#else
   format %{ "FASTLOCK  $object, $box; KILL $scratch, $scratch2" %}
   ins_encode %{
     __ fast_lock($object$$Register, $box$$Register, $scratch$$Register, $scratch2$$Register);
   %}
-#endif
   ins_pipe(long_memory_op);
 %}
 
 
-#ifdef AARCH64
-instruct cmpFastUnlock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, iRegP scratch, iRegP scratch3 ) %{
-  match(Set pcc (FastUnlock object box));
-  effect(TEMP scratch, TEMP scratch2, TEMP scratch3);
-  ins_cost(100);
-
-  format %{ "FASTUNLOCK  $object, $box; KILL $scratch, $scratch2, $scratch3" %}
-  ins_encode %{
-    __ fast_unlock($object$$Register, $box$$Register, $scratch$$Register, $scratch2$$Register, $scratch3$$Register);
-  %}
-  ins_pipe(long_memory_op);
-%}
-#else
 instruct cmpFastUnlock(flagsRegP pcc, iRegP object, iRegP box, iRegP scratch2, iRegP scratch ) %{
   match(Set pcc (FastUnlock object box));
   effect(TEMP scratch, TEMP scratch2);
@@ -12040,48 +8968,7 @@
   %}
   ins_pipe(long_memory_op);
 %}
-#endif
-
-#ifdef AARCH64
-// TODO: add version that takes immI cnt?
-instruct clear_array(iRegX cnt, iRegP base, iRegP ptr, iRegX temp, Universe dummy, flagsReg cpsr) %{
-  match(Set dummy (ClearArray cnt base));
-  effect(TEMP temp, TEMP ptr, KILL cpsr);
-  ins_cost(300);
-  format %{
-      "        MOV    $temp,$cnt\n"
-      "        ADD    $ptr,$base,$cnt\n"
-      "        SUBS   $temp,$temp,16\t! Count down dword pair in bytes\n"
-      "        B.lt   done16\n"
-      "loop:   STP    ZR,ZR,[$ptr,-16]!\n"
-      "        SUBS   $temp,$temp,16\t! Count down dword pair in bytes\n"
-      "        B.ge   loop\t! Clearing loop\n"
-      "done16: ADDS   $temp,$temp,8\t! Room for 1 more long?\n"
-      "        B.lt   done\n"
-      "        STR    ZR,[$base+$temp]\n"
-      "done:"
-  %}
-  ins_encode %{
-    // TODO: preload?
-    __ mov($temp$$Register, $cnt$$Register);
-    __ add($ptr$$Register, $base$$Register, $cnt$$Register);
-    Label loop, done, done16;
-    __ subs($temp$$Register, $temp$$Register, 16);
-    __ b(done16, lt);
-    __ bind(loop);
-    __ stp(ZR, ZR, Address($ptr$$Register, -16, pre_indexed));
-    __ subs($temp$$Register, $temp$$Register, 16);
-    __ b(loop, ge);
-    __ bind(done16);
-    __ adds($temp$$Register, $temp$$Register, 8);
-    __ b(done, lt);
-    // $temp should be 0 here
-    __ str(ZR, Address($base$$Register, $temp$$Register));
-    __ bind(done);
-  %}
-  ins_pipe(long_memory_op);
-%}
-#else
+
 // Count and Base registers are fixed because the allocator cannot
 // kill unknown registers.  The encodings are generic.
 instruct clear_array(iRegX cnt, iRegP base, iRegI temp, iRegX zero, Universe dummy, flagsReg cpsr) %{
@@ -12104,7 +8991,6 @@
   %}
   ins_pipe(long_memory_op);
 %}
-#endif
 
 #ifdef XXX
 // FIXME: Why R0/R1/R2/R3?
@@ -12159,17 +9045,6 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifdef AARCH64
-instruct countLeadingZerosL(iRegI dst, iRegL src) %{
-  match(Set dst (CountLeadingZerosL src));
-  size(4);
-  format %{ "CLZ $dst,$src" %}
-  ins_encode %{
-    __ clz($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-#else
 instruct countLeadingZerosL(iRegI dst, iRegL src, iRegI tmp, flagsReg ccr) %{
   match(Set dst (CountLeadingZerosL src));
   effect(TEMP tmp, TEMP dst, KILL ccr);
@@ -12186,7 +9061,6 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif
 
 instruct countTrailingZerosI(iRegI dst, iRegI src, iRegI tmp) %{
   match(Set dst (CountTrailingZerosI src));
@@ -12201,20 +9075,6 @@
   ins_pipe(ialu_reg);
 %}
 
-#ifdef AARCH64
-instruct countTrailingZerosL(iRegI dst, iRegL src, iRegL tmp) %{
-  match(Set dst (CountTrailingZerosL src));
-  effect(TEMP tmp);
-  size(8);
-  format %{ "RBIT $tmp, $src\n\t"
-            "CLZ  $dst,$tmp" %}
-  ins_encode %{
-    __ rbit($tmp$$Register, $src$$Register);
-    __ clz($dst$$Register, $tmp$$Register);
-  %}
-  ins_pipe(ialu_reg);
-%}
-#else
 instruct countTrailingZerosL(iRegI dst, iRegL src, iRegI tmp, flagsReg ccr) %{
   match(Set dst (CountTrailingZerosL src));
   effect(TEMP tmp, TEMP dst, KILL ccr);
@@ -12235,37 +9095,10 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif
 
 
 //---------- Population Count Instructions -------------------------------------
 
-#ifdef AARCH64
-instruct popCountI(iRegI dst, iRegI src, regD_low tmp) %{
-  predicate(UsePopCountInstruction);
-  match(Set dst (PopCountI src));
-  effect(TEMP tmp);
-  size(20);
-
-  format %{ "MOV_W      $dst,$src\n\t"
-            "FMOV_dx    $tmp,$dst\n\t"
-            "VCNT       $tmp.8B,$tmp.8B\n\t"
-            "ADDV       $tmp.B,$tmp.8B\n\t"
-            "FMRS       $dst,$tmp" %}
-
-  ins_encode %{
-    __ mov_w($dst$$Register, $src$$Register);
-    __ fmov_dx($tmp$$FloatRegister, $dst$$Register);
-    int quad = 0;
-    int cnt_size = 0; // VELEM_SIZE_8
-    __ vcnt($tmp$$FloatRegister, $tmp$$FloatRegister, quad, cnt_size);
-    int add_size = 0; // VELEM_SIZE_8
-    __ addv($tmp$$FloatRegister, $tmp$$FloatRegister, quad, add_size);
-    __ fmrs($dst$$Register, $tmp$$FloatRegister);
-  %}
-  ins_pipe(ialu_reg); // FIXME
-%}
-#else
 instruct popCountI(iRegI dst, iRegI src, regD_low tmp) %{
   predicate(UsePopCountInstruction);
   match(Set dst (PopCountI src));
@@ -12287,32 +9120,7 @@
   %}
   ins_pipe(ialu_reg); // FIXME
 %}
-#endif
-
-#ifdef AARCH64
-instruct popCountL(iRegI dst, iRegL src, regD tmp) %{
-  predicate(UsePopCountInstruction);
-  match(Set dst (PopCountL src));
-  effect(TEMP tmp);
-  size(16);
-
-  format %{ "FMOV_dx    $tmp,$src\n\t"
-            "VCNT       $tmp.8B,$tmp.8B\n\t"
-            "ADDV       $tmp.B,$tmp.8B\n\t"
-            "FMOV_ws    $dst,$tmp" %}
-
-  ins_encode %{
-    __ fmov_dx($tmp$$FloatRegister, $src$$Register);
-    int quad = 0;
-    int cnt_size = 0;
-    __ vcnt($tmp$$FloatRegister, $tmp$$FloatRegister, quad, cnt_size);
-    int add_size = 0;
-    __ addv($tmp$$FloatRegister, $tmp$$FloatRegister, quad, add_size);
-    __ fmov_ws($dst$$Register, $tmp$$FloatRegister);
-  %}
-  ins_pipe(ialu_reg); // FIXME
-%}
-#else
+
 // Note: Long.bitCount(long) returns an int.
 instruct popCountL(iRegI dst, iRegL src, regD_low tmp) %{
   predicate(UsePopCountInstruction);
@@ -12338,7 +9146,6 @@
   %}
   ins_pipe(ialu_reg);
 %}
-#endif
 
 
 // ============================================================================
@@ -12350,26 +9157,13 @@
   size(4);
   format %{ "REV32 $dst,$src" %}
   ins_encode %{
-#ifdef AARCH64
-    __ rev_w($dst$$Register, $src$$Register);
-    // high 32 bits zeroed, not sign extended
-#else
     __ rev($dst$$Register, $src$$Register);
-#endif
   %}
   ins_pipe( iload_mem ); // FIXME
 %}
 
 instruct bytes_reverse_long(iRegL dst, iRegL src) %{
   match(Set dst (ReverseBytesL src));
-#ifdef AARCH64
-//size(4);
-  format %{ "REV $dst,$src"  %}
-  ins_encode %{
-    __ rev($dst$$Register, $src$$Register);
-  %}
-  ins_pipe(ialu_reg_reg); // FIXME
-#else
   effect(TEMP dst);
   size(8);
   format %{ "REV $dst.lo,$src.lo\n\t"
@@ -12379,45 +9173,25 @@
     __ rev($dst$$Register->successor(), $src$$Register);
   %}
   ins_pipe( iload_mem ); // FIXME
-#endif
 %}
 
 instruct bytes_reverse_unsigned_short(iRegI dst, iRegI src) %{
   match(Set dst (ReverseBytesUS src));
-#ifdef AARCH64
-  size(4);
-  format %{ "REV16_W $dst,$src" %}
-  ins_encode %{
-    __ rev16_w($dst$$Register, $src$$Register);
-    // high 32 bits zeroed
-  %}
-#else
   size(4);
   format %{ "REV16 $dst,$src" %}
   ins_encode %{
     __ rev16($dst$$Register, $src$$Register);
   %}
-#endif
   ins_pipe( iload_mem ); // FIXME
 %}
 
 instruct bytes_reverse_short(iRegI dst, iRegI src) %{
   match(Set dst (ReverseBytesS src));
-#ifdef AARCH64
-  size(8);
-  format %{ "REV16_W $dst,$src\n\t"
-            "SIGN_EXT16 $dst" %}
-  ins_encode %{
-    __ rev16_w($dst$$Register, $src$$Register);
-    __ sign_extend($dst$$Register, $dst$$Register, 16);
-  %}
-#else
   size(4);
   format %{ "REVSH $dst,$src" %}
   ins_encode %{
     __ revsh($dst$$Register, $src$$Register);
   %}
-#endif
   ins_pipe( iload_mem ); // FIXME
 %}
 
@@ -12476,7 +9250,6 @@
   ins_pipe(fstoreD_mem_reg); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar to packed byte values in Double register
 instruct Repl8B_reg(vecD dst, iRegI src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 8);
@@ -12498,7 +9271,6 @@
   %}
   ins_pipe(ialu_reg); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar to packed byte values in Double register
 instruct Repl8B_reg_simd(vecD dst, iRegI src) %{
@@ -12530,7 +9302,6 @@
   ins_pipe(ialu_reg); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar constant to packed byte values in Double register
 instruct Repl8B_immI(vecD dst, immI src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 8);
@@ -12544,7 +9315,6 @@
   ins_encode( LdReplImmI(src, dst, tmp, (4), (1)) );
   ins_pipe(loadConFD); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar constant to packed byte values in Double register
 // TODO: support negative constants with MVNI?
@@ -12577,7 +9347,6 @@
   ins_pipe(loadConFD); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar to packed short/char values into Double register
 instruct Repl4S_reg(vecD dst, iRegI src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 4);
@@ -12597,7 +9366,6 @@
   %}
   ins_pipe(ialu_reg); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar to packed byte values in Double register
 instruct Repl4S_reg_simd(vecD dst, iRegI src) %{
@@ -12630,7 +9398,6 @@
 %}
 
 
-#ifndef AARCH64
 // Replicate scalar constant to packed short/char values in Double register
 instruct Repl4S_immI(vecD dst, immI src, iRegP tmp) %{
   predicate(n->as_Vector()->length() == 4);
@@ -12644,7 +9411,6 @@
   ins_encode( LdReplImmI(src, dst, tmp, (2), (2)) );
   ins_pipe(loadConFD); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar constant to packed byte values in Double register
 instruct Repl4S_immU8(vecD dst, immU8 src) %{
@@ -12676,7 +9442,6 @@
   ins_pipe(loadConFD); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar to packed int values in Double register
 instruct Repl2I_reg(vecD dst, iRegI src) %{
   predicate(n->as_Vector()->length() == 2);
@@ -12707,7 +9472,6 @@
   %}
   ins_pipe(ialu_reg); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar to packed int values in Double register
 instruct Repl2I_reg_simd(vecD dst, iRegI src) %{
@@ -12740,7 +9504,6 @@
 %}
 
 
-#ifndef AARCH64
 // Replicate scalar zero constant to packed int values in Double register
 instruct Repl2I_immI(vecD dst, immI src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 2);
@@ -12754,7 +9517,6 @@
   ins_encode( LdReplImmI(src, dst, tmp, (1), (4)) );
   ins_pipe(loadConFD); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar constant to packed byte values in Double register
 instruct Repl2I_immU8(vecD dst, immU8 src) %{
@@ -12786,23 +9548,6 @@
   ins_pipe(loadConFD); // FIXME
 %}
 
-#ifdef AARCH64
-// Replicate scalar to packed byte values in Double register pair
-instruct Repl2L_reg(vecX dst, iRegL src) %{
-  predicate(n->as_Vector()->length() == 2);
-  match(Set dst (ReplicateL src));
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "VDUP.2D $dst.Q,$src\t" %}
-  ins_encode %{
-    bool quad = true;
-    __ vdupI($dst$$FloatRegister, $src$$Register,
-             MacroAssembler::VELEM_SIZE_64, quad);
-  %}
-  ins_pipe(ialu_reg); // FIXME
-%}
-#else /* !AARCH64 */
 // Replicate scalar to packed byte values in Double register pair
 instruct Repl2L_reg(vecX dst, iRegL src) %{
   predicate(n->as_Vector()->length() == 2);
@@ -12847,7 +9592,6 @@
     Repl2F_regI(dst,tmp);
   %}
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar to packed float values in Double register
 instruct Repl2F_reg_simd(vecD dst, regF src) %{
@@ -12864,7 +9608,6 @@
   ins_pipe(ialu_reg); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar to packed float values in Double register pair
 instruct Repl4F_reg(vecX dst, regF src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 4);
@@ -12884,7 +9627,6 @@
   %}
   ins_pipe(ialu_reg); // FIXME
 %}
-#endif /* !AARCH64 */
 
 // Replicate scalar to packed float values in Double register pair
 instruct Repl4F_reg_simd(vecX dst, regF src) %{
@@ -12901,7 +9643,6 @@
   ins_pipe(ialu_reg); // FIXME
 %}
 
-#ifndef AARCH64
 // Replicate scalar zero constant to packed float values in Double register
 instruct Repl2F_immI(vecD dst, immF src, iRegI tmp) %{
   predicate(n->as_Vector()->length() == 2);
@@ -12915,22 +9656,9 @@
   ins_encode( LdReplImmF(src, dst, tmp) );
   ins_pipe(loadConFD); // FIXME
 %}
-#endif /* !AAARCH64 */
 
 // Replicate scalar to packed double float values in Double register pair
 instruct Repl2D_reg(vecX dst, regD src) %{
-#ifdef AARCH64
-  predicate(n->as_Vector()->length() == 2 && VM_Version::has_simd());
-  match(Set dst (ReplicateD src));
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "VDUP     $dst.2D,$src\t" %}
-  ins_encode %{
-    bool quad = true;
-    __ vdupD($dst$$FloatRegister, $src$$FloatRegister, quad);
-  %}
-#else
   predicate(n->as_Vector()->length() == 2);
   match(Set dst (ReplicateD src));
   size(4*2);
@@ -12945,7 +9673,6 @@
     FloatRegister dstb = dsta->successor()->successor();
     __ fcpyd(dstb, src);
   %}
-#endif
   ins_pipe(ialu_reg); // FIXME
 %}
 
@@ -13062,7 +9789,6 @@
   ins_pipe( faddD_reg_reg ); // FIXME
 %}
 
-#ifndef AARCH64
 instruct vadd2F_reg_vfp(vecD dst, vecD src1, vecD src2) %{
   predicate(n->as_Vector()->length() == 2 && !VM_Version::simd_math_is_compliant());
   match(Set dst (AddVF src1 src2));
@@ -13080,7 +9806,6 @@
 
   ins_pipe(faddF_reg_reg); // FIXME
 %}
-#endif
 
 instruct vadd4F_reg_simd(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4 && VM_Version::simd_math_is_compliant());
@@ -13095,20 +9820,6 @@
   ins_pipe( faddD_reg_reg ); // FIXME
 %}
 
-#ifdef AARCH64
-instruct vadd2D_reg_simd(vecX dst, vecX src1, vecX src2) %{
-  predicate(n->as_Vector()->length() == 2 && VM_Version::simd_math_is_compliant());
-  match(Set dst (AddVD src1 src2));
-  size(4);
-  format %{ "VADD.F64 $dst.Q,$src1.Q,$src2.Q\t! add packed2D" %}
-  ins_encode %{
-    bool quad = true;
-    __ vaddF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F64, quad);
-  %}
-  ins_pipe( faddD_reg_reg ); // FIXME
-%}
-#else
 instruct vadd4F_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4 && !VM_Version::simd_math_is_compliant());
   match(Set dst (AddVF src1 src2));
@@ -13164,7 +9875,6 @@
 
   ins_pipe(faddF_reg_reg); // FIXME
 %}
-#endif
 
 
 // Bytes vector sub
@@ -13276,7 +9986,6 @@
   ins_pipe( faddF_reg_reg ); // FIXME
 %}
 
-#ifndef AARCH64
 instruct vsub2F_reg_vfp(vecD dst, vecD src1, vecD src2) %{
   predicate(n->as_Vector()->length() == 2 && !VM_Version::simd_math_is_compliant());
   match(Set dst (SubVF src1 src2));
@@ -13299,7 +10008,6 @@
 
   ins_pipe(faddF_reg_reg); // FIXME
 %}
-#endif
 
 
 instruct vsub4F_reg(vecX dst, vecX src1, vecX src2) %{
@@ -13315,20 +10023,6 @@
   ins_pipe( faddF_reg_reg ); // FIXME
 %}
 
-#ifdef AARCH64
-instruct vsub2D_reg_simd(vecX dst, vecX src1, vecX src2) %{
-  predicate(n->as_Vector()->length() == 2 && VM_Version::simd_math_is_compliant());
-  match(Set dst (SubVD src1 src2));
-  size(4);
-  format %{ "VSUB.F64 $dst.Q,$src1.Q,$src2.Q\t! add packed2D" %}
-  ins_encode %{
-    bool quad = true;
-    __ vsubF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F64, quad);
-  %}
-  ins_pipe( faddD_reg_reg ); // FIXME
-%}
-#else
 instruct vsub4F_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4 && !VM_Version::simd_math_is_compliant());
   match(Set dst (SubVF src1 src2));
@@ -13384,7 +10078,6 @@
 
   ins_pipe(faddF_reg_reg); // FIXME
 %}
-#endif
 
 // Shorts/Chars vector mul
 instruct vmul4S_reg(vecD dst, vecD src1, vecD src2) %{
@@ -13449,7 +10142,6 @@
   ins_pipe( fmulF_reg_reg ); // FIXME
 %}
 
-#ifndef AARCH64
 instruct vmul2F_reg_vfp(vecD dst, vecD src1, vecD src2) %{
   predicate(n->as_Vector()->length() == 2 && !VM_Version::simd_math_is_compliant());
   match(Set dst (MulVF src1 src2));
@@ -13467,7 +10159,6 @@
 
   ins_pipe(fmulF_reg_reg); // FIXME
 %}
-#endif
 
 instruct vmul4F_reg(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4 && VM_Version::simd_math_is_compliant());
@@ -13481,7 +10172,6 @@
   ins_pipe( fmulF_reg_reg ); // FIXME
 %}
 
-#ifndef AARCH64
 instruct vmul4F_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4 && !VM_Version::simd_math_is_compliant());
   match(Set dst (MulVF src1 src2));
@@ -13514,25 +10204,7 @@
 
   ins_pipe(fmulF_reg_reg); // FIXME
 %}
-#endif
-
-#ifdef AARCH64
-instruct vmul2D_reg(vecX dst, vecX src1, vecX src2) %{
-  predicate(n->as_Vector()->length() == 2 && VM_Version::has_simd());
-  match(Set dst (MulVD src1 src2));
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "FMUL.2D $dst,$src1,$src2\t! double[2]" %}
-  ins_encode %{
-    int quad = 1;
-    __ vmulF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F64, quad);
-  %}
-
-  ins_pipe(fdivF_reg_reg); // FIXME
-%}
-#else
+
 instruct vmul2D_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 2);
   match(Set dst (MulVD src1 src2));
@@ -13554,26 +10226,12 @@
 
   ins_pipe(fmulD_reg_reg); // FIXME
 %}
-#endif
 
 
 // Floats vector div
 instruct vdiv2F_reg_vfp(vecD dst, vecD src1, vecD src2) %{
   predicate(n->as_Vector()->length() == 2);
   match(Set dst (DivVF src1 src2));
-#ifdef AARCH64
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "FDIV.2S $dst,$src1,$src2\t! float[2]" %}
-  ins_encode %{
-    int quad = 0;
-    __ vdivF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F32, quad);
-  %}
-
-  ins_pipe(fdivF_reg_reg); // FIXME
-#else
   size(4*2);
   ins_cost(DEFAULT_COST*2); // FIXME
 
@@ -13587,25 +10245,11 @@
   %}
 
   ins_pipe(fdivF_reg_reg); // FIXME
-#endif
 %}
 
 instruct vdiv4F_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 4);
   match(Set dst (DivVF src1 src2));
-#ifdef AARCH64
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "FDIV.4S $dst,$src1,$src2\t! float[4]" %}
-  ins_encode %{
-    int quad = 1;
-    __ vdivF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F32, quad);
-  %}
-
-  ins_pipe(fdivF_reg_reg); // FIXME
-#else
   size(4*4);
   ins_cost(DEFAULT_COST*4); // FIXME
 
@@ -13634,26 +10278,8 @@
   %}
 
   ins_pipe(fdivF_reg_reg); // FIXME
-#endif
-%}
-
-#ifdef AARCH64
-instruct vdiv2D_reg(vecX dst, vecX src1, vecX src2) %{
-  predicate(n->as_Vector()->length() == 2 && VM_Version::has_simd());
-  match(Set dst (DivVD src1 src2));
-  size(4*1);
-  ins_cost(DEFAULT_COST*1); // FIXME
-
-  format %{ "FDIV.2D $dst,$src1,$src2\t! double[2]" %}
-  ins_encode %{
-    int quad = 1;
-    __ vdivF($dst$$FloatRegister, $src1$$FloatRegister, $src2$$FloatRegister,
-             MacroAssembler::VFA_SIZE_F64, quad);
-  %}
-
-  ins_pipe(fdivF_reg_reg); // FIXME
-%}
-#else
+%}
+
 instruct vdiv2D_reg_vfp(vecX dst, vecX src1, vecX src2) %{
   predicate(n->as_Vector()->length() == 2);
   match(Set dst (DivVD src1 src2));
@@ -13675,7 +10301,6 @@
 
   ins_pipe(fdivD_reg_reg); // FIXME
 %}
-#endif
 
 // --------------------------------- NEG --------------------------------------
 
--- a/src/hotspot/cpu/arm/arm_64.ad	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,998 +0,0 @@
-//
-// Copyright (c) 2008, 2014, Oracle and/or its affiliates. All rights reserved.
-// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-//
-// This code is free software; you can redistribute it and/or modify it
-// under the terms of the GNU General Public License version 2 only, as
-// published by the Free Software Foundation.
-//
-// This code is distributed in the hope that it will be useful, but WITHOUT
-// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// version 2 for more details (a copy is included in the LICENSE file that
-// accompanied this code).
-//
-// You should have received a copy of the GNU General Public License version
-// 2 along with this work; if not, write to the Free Software Foundation,
-// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-// or visit www.oracle.com if you need additional information or have any
-// questions.
-//
-
-// ARM Architecture Description File
-
-//----------REGISTER DEFINITION BLOCK------------------------------------------
-// This information is used by the matcher and the register allocator to
-// describe individual registers and classes of registers within the target
-// archtecture.
-register %{
-//----------Architecture Description Register Definitions----------------------
-// General Registers
-// "reg_def"  name ( register save type, C convention save type,
-//                   ideal register type, encoding, vm name );
-// Register Save Types:
-//
-// NS  = No-Save:       The register allocator assumes that these registers
-//                      can be used without saving upon entry to the method, &
-//                      that they do not need to be saved at call sites.
-//
-// SOC = Save-On-Call:  The register allocator assumes that these registers
-//                      can be used without saving upon entry to the method,
-//                      but that they must be saved at call sites.
-//
-// SOE = Save-On-Entry: The register allocator assumes that these registers
-//                      must be saved before using them upon entry to the
-//                      method, but they do not need to be saved at call
-//                      sites.
-//
-// AS  = Always-Save:   The register allocator assumes that these registers
-//                      must be saved before using them upon entry to the
-//                      method, & that they must be saved at call sites.
-//
-// Ideal Register Type is used to determine how to save & restore a
-// register.  Op_RegI will get spilled with LoadI/StoreI, Op_RegP will get
-// spilled with LoadP/StoreP.  If the register supports both, use Op_RegI.
-// FIXME: above comment seems wrong.  Spill done through MachSpillCopyNode
-//
-// The encoding number is the actual bit-pattern placed into the opcodes.
-
-
-// ----------------------------
-// Integer/Long Registers
-// ----------------------------
-
-// TODO: would be nice to keep track of high-word state:
-// zeroRegI --> RegL
-// signedRegI --> RegL
-// junkRegI --> RegL
-// how to tell C2 to treak RegI as RegL, or RegL as RegI?
-reg_def R_R0  (SOC, SOC, Op_RegI,   0, R0->as_VMReg());
-reg_def R_R0x (SOC, SOC, Op_RegI, 255, R0->as_VMReg()->next());
-reg_def R_R1  (SOC, SOC, Op_RegI,   1, R1->as_VMReg());
-reg_def R_R1x (SOC, SOC, Op_RegI, 255, R1->as_VMReg()->next());
-reg_def R_R2  (SOC, SOC, Op_RegI,   2, R2->as_VMReg());
-reg_def R_R2x (SOC, SOC, Op_RegI, 255, R2->as_VMReg()->next());
-reg_def R_R3  (SOC, SOC, Op_RegI,   3, R3->as_VMReg());
-reg_def R_R3x (SOC, SOC, Op_RegI, 255, R3->as_VMReg()->next());
-reg_def R_R4  (SOC, SOC, Op_RegI,   4, R4->as_VMReg());
-reg_def R_R4x (SOC, SOC, Op_RegI, 255, R4->as_VMReg()->next());
-reg_def R_R5  (SOC, SOC, Op_RegI,   5, R5->as_VMReg());
-reg_def R_R5x (SOC, SOC, Op_RegI, 255, R5->as_VMReg()->next());
-reg_def R_R6  (SOC, SOC, Op_RegI,   6, R6->as_VMReg());
-reg_def R_R6x (SOC, SOC, Op_RegI, 255, R6->as_VMReg()->next());
-reg_def R_R7  (SOC, SOC, Op_RegI,   7, R7->as_VMReg());
-reg_def R_R7x (SOC, SOC, Op_RegI, 255, R7->as_VMReg()->next());
-
-reg_def R_R8  (SOC, SOC, Op_RegI,   8, R8->as_VMReg());
-reg_def R_R8x (SOC, SOC, Op_RegI, 255, R8->as_VMReg()->next());
-reg_def R_R9  (SOC, SOC, Op_RegI,   9, R9->as_VMReg());
-reg_def R_R9x (SOC, SOC, Op_RegI, 255, R9->as_VMReg()->next());
-reg_def R_R10 (SOC, SOC, Op_RegI,  10, R10->as_VMReg());
-reg_def R_R10x(SOC, SOC, Op_RegI, 255, R10->as_VMReg()->next());
-reg_def R_R11 (SOC, SOC, Op_RegI,  11, R11->as_VMReg());
-reg_def R_R11x(SOC, SOC, Op_RegI, 255, R11->as_VMReg()->next());
-reg_def R_R12 (SOC, SOC, Op_RegI,  12, R12->as_VMReg());
-reg_def R_R12x(SOC, SOC, Op_RegI, 255, R12->as_VMReg()->next());
-reg_def R_R13 (SOC, SOC, Op_RegI,  13, R13->as_VMReg());
-reg_def R_R13x(SOC, SOC, Op_RegI, 255, R13->as_VMReg()->next());
-reg_def R_R14 (SOC, SOC, Op_RegI,  14, R14->as_VMReg());
-reg_def R_R14x(SOC, SOC, Op_RegI, 255, R14->as_VMReg()->next());
-reg_def R_R15 (SOC, SOC, Op_RegI,  15, R15->as_VMReg());
-reg_def R_R15x(SOC, SOC, Op_RegI, 255, R15->as_VMReg()->next());
-
-reg_def R_R16 (SOC, SOC, Op_RegI,  16, R16->as_VMReg()); // IP0
-reg_def R_R16x(SOC, SOC, Op_RegI, 255, R16->as_VMReg()->next());
-reg_def R_R17 (SOC, SOC, Op_RegI,  17, R17->as_VMReg()); // IP1
-reg_def R_R17x(SOC, SOC, Op_RegI, 255, R17->as_VMReg()->next());
-reg_def R_R18 (SOC, SOC, Op_RegI,  18, R18->as_VMReg()); // Platform Register
-reg_def R_R18x(SOC, SOC, Op_RegI, 255, R18->as_VMReg()->next());
-
-reg_def R_R19 (SOC, SOE, Op_RegI,  19, R19->as_VMReg());
-reg_def R_R19x(SOC, SOE, Op_RegI, 255, R19->as_VMReg()->next());
-reg_def R_R20 (SOC, SOE, Op_RegI,  20, R20->as_VMReg());
-reg_def R_R20x(SOC, SOE, Op_RegI, 255, R20->as_VMReg()->next());
-reg_def R_R21 (SOC, SOE, Op_RegI,  21, R21->as_VMReg());
-reg_def R_R21x(SOC, SOE, Op_RegI, 255, R21->as_VMReg()->next());
-reg_def R_R22 (SOC, SOE, Op_RegI,  22, R22->as_VMReg());
-reg_def R_R22x(SOC, SOE, Op_RegI, 255, R22->as_VMReg()->next());
-reg_def R_R23 (SOC, SOE, Op_RegI,  23, R23->as_VMReg());
-reg_def R_R23x(SOC, SOE, Op_RegI, 255, R23->as_VMReg()->next());
-reg_def R_R24 (SOC, SOE, Op_RegI,  24, R24->as_VMReg());
-reg_def R_R24x(SOC, SOE, Op_RegI, 255, R24->as_VMReg()->next());
-reg_def R_R25 (SOC, SOE, Op_RegI,  25, R25->as_VMReg());
-reg_def R_R25x(SOC, SOE, Op_RegI, 255, R25->as_VMReg()->next());
-reg_def R_R26 (SOC, SOE, Op_RegI,  26, R26->as_VMReg());
-reg_def R_R26x(SOC, SOE, Op_RegI, 255, R26->as_VMReg()->next());
-reg_def R_R27 (SOC, SOE, Op_RegI,  27, R27->as_VMReg());         // Rheap_base
-reg_def R_R27x(SOC, SOE, Op_RegI, 255, R27->as_VMReg()->next()); // Rheap_base
-reg_def R_R28 ( NS, SOE, Op_RegI,  28, R28->as_VMReg());         // TLS
-reg_def R_R28x( NS, SOE, Op_RegI, 255, R28->as_VMReg()->next()); // TLS
-
-reg_def R_R29 ( NS, SOE, Op_RegI,  29, R29->as_VMReg());         // FP
-reg_def R_R29x( NS, SOE, Op_RegI, 255, R29->as_VMReg()->next()); // FP
-reg_def R_R30 (SOC, SOC, Op_RegI,  30, R30->as_VMReg());         // LR
-reg_def R_R30x(SOC, SOC, Op_RegI, 255, R30->as_VMReg()->next()); // LR
-
-reg_def R_ZR ( NS,  NS, Op_RegI,  31, ZR->as_VMReg());  // ZR
-reg_def R_ZRx( NS,  NS, Op_RegI, 255, ZR->as_VMReg()->next()); // ZR
-
-// FIXME
-//reg_def R_SP ( NS,  NS, Op_RegP,  32, SP->as_VMReg());
-reg_def R_SP ( NS,  NS, Op_RegI,  32, SP->as_VMReg());
-//reg_def R_SPx( NS, NS, Op_RegP, 255, SP->as_VMReg()->next());
-reg_def R_SPx( NS,  NS, Op_RegI, 255, SP->as_VMReg()->next());
-
-// ----------------------------
-// Float/Double/Vector Registers
-// ----------------------------
-
-reg_def  R_V0(SOC, SOC, Op_RegF,  0,  V0->as_VMReg());
-reg_def  R_V1(SOC, SOC, Op_RegF,  1,  V1->as_VMReg());
-reg_def  R_V2(SOC, SOC, Op_RegF,  2,  V2->as_VMReg());
-reg_def  R_V3(SOC, SOC, Op_RegF,  3,  V3->as_VMReg());
-reg_def  R_V4(SOC, SOC, Op_RegF,  4,  V4->as_VMReg());
-reg_def  R_V5(SOC, SOC, Op_RegF,  5,  V5->as_VMReg());
-reg_def  R_V6(SOC, SOC, Op_RegF,  6,  V6->as_VMReg());
-reg_def  R_V7(SOC, SOC, Op_RegF,  7,  V7->as_VMReg());
-reg_def  R_V8(SOC, SOC, Op_RegF,  8,  V8->as_VMReg());
-reg_def  R_V9(SOC, SOC, Op_RegF,  9,  V9->as_VMReg());
-reg_def R_V10(SOC, SOC, Op_RegF, 10, V10->as_VMReg());
-reg_def R_V11(SOC, SOC, Op_RegF, 11, V11->as_VMReg());
-reg_def R_V12(SOC, SOC, Op_RegF, 12, V12->as_VMReg());
-reg_def R_V13(SOC, SOC, Op_RegF, 13, V13->as_VMReg());
-reg_def R_V14(SOC, SOC, Op_RegF, 14, V14->as_VMReg());
-reg_def R_V15(SOC, SOC, Op_RegF, 15, V15->as_VMReg());
-reg_def R_V16(SOC, SOC, Op_RegF, 16, V16->as_VMReg());
-reg_def R_V17(SOC, SOC, Op_RegF, 17, V17->as_VMReg());
-reg_def R_V18(SOC, SOC, Op_RegF, 18, V18->as_VMReg());
-reg_def R_V19(SOC, SOC, Op_RegF, 19, V19->as_VMReg());
-reg_def R_V20(SOC, SOC, Op_RegF, 20, V20->as_VMReg());
-reg_def R_V21(SOC, SOC, Op_RegF, 21, V21->as_VMReg());
-reg_def R_V22(SOC, SOC, Op_RegF, 22, V22->as_VMReg());
-reg_def R_V23(SOC, SOC, Op_RegF, 23, V23->as_VMReg());
-reg_def R_V24(SOC, SOC, Op_RegF, 24, V24->as_VMReg());
-reg_def R_V25(SOC, SOC, Op_RegF, 25, V25->as_VMReg());
-reg_def R_V26(SOC, SOC, Op_RegF, 26, V26->as_VMReg());
-reg_def R_V27(SOC, SOC, Op_RegF, 27, V27->as_VMReg());
-reg_def R_V28(SOC, SOC, Op_RegF, 28, V28->as_VMReg());
-reg_def R_V29(SOC, SOC, Op_RegF, 29, V29->as_VMReg());
-reg_def R_V30(SOC, SOC, Op_RegF, 30, V30->as_VMReg());
-reg_def R_V31(SOC, SOC, Op_RegF, 31, V31->as_VMReg());
-
-reg_def  R_V0b(SOC, SOC, Op_RegF, 255, V0->as_VMReg()->next(1));
-reg_def  R_V1b(SOC, SOC, Op_RegF, 255, V1->as_VMReg()->next(1));
-reg_def  R_V2b(SOC, SOC, Op_RegF, 255, V2->as_VMReg()->next(1));
-reg_def  R_V3b(SOC, SOC, Op_RegF,  3,  V3->as_VMReg()->next(1));
-reg_def  R_V4b(SOC, SOC, Op_RegF,  4,  V4->as_VMReg()->next(1));
-reg_def  R_V5b(SOC, SOC, Op_RegF,  5,  V5->as_VMReg()->next(1));
-reg_def  R_V6b(SOC, SOC, Op_RegF,  6,  V6->as_VMReg()->next(1));
-reg_def  R_V7b(SOC, SOC, Op_RegF,  7,  V7->as_VMReg()->next(1));
-reg_def  R_V8b(SOC, SOC, Op_RegF, 255, V8->as_VMReg()->next(1));
-reg_def  R_V9b(SOC, SOC, Op_RegF,  9,  V9->as_VMReg()->next(1));
-reg_def R_V10b(SOC, SOC, Op_RegF, 10, V10->as_VMReg()->next(1));
-reg_def R_V11b(SOC, SOC, Op_RegF, 11, V11->as_VMReg()->next(1));
-reg_def R_V12b(SOC, SOC, Op_RegF, 12, V12->as_VMReg()->next(1));
-reg_def R_V13b(SOC, SOC, Op_RegF, 13, V13->as_VMReg()->next(1));
-reg_def R_V14b(SOC, SOC, Op_RegF, 14, V14->as_VMReg()->next(1));
-reg_def R_V15b(SOC, SOC, Op_RegF, 15, V15->as_VMReg()->next(1));
-reg_def R_V16b(SOC, SOC, Op_RegF, 16, V16->as_VMReg()->next(1));
-reg_def R_V17b(SOC, SOC, Op_RegF, 17, V17->as_VMReg()->next(1));
-reg_def R_V18b(SOC, SOC, Op_RegF, 18, V18->as_VMReg()->next(1));
-reg_def R_V19b(SOC, SOC, Op_RegF, 19, V19->as_VMReg()->next(1));
-reg_def R_V20b(SOC, SOC, Op_RegF, 20, V20->as_VMReg()->next(1));
-reg_def R_V21b(SOC, SOC, Op_RegF, 21, V21->as_VMReg()->next(1));
-reg_def R_V22b(SOC, SOC, Op_RegF, 22, V22->as_VMReg()->next(1));
-reg_def R_V23b(SOC, SOC, Op_RegF, 23, V23->as_VMReg()->next(1));
-reg_def R_V24b(SOC, SOC, Op_RegF, 24, V24->as_VMReg()->next(1));
-reg_def R_V25b(SOC, SOC, Op_RegF, 25, V25->as_VMReg()->next(1));
-reg_def R_V26b(SOC, SOC, Op_RegF, 26, V26->as_VMReg()->next(1));
-reg_def R_V27b(SOC, SOC, Op_RegF, 27, V27->as_VMReg()->next(1));
-reg_def R_V28b(SOC, SOC, Op_RegF, 28, V28->as_VMReg()->next(1));
-reg_def R_V29b(SOC, SOC, Op_RegF, 29, V29->as_VMReg()->next(1));
-reg_def R_V30b(SOC, SOC, Op_RegD, 30, V30->as_VMReg()->next(1));
-reg_def R_V31b(SOC, SOC, Op_RegF, 31, V31->as_VMReg()->next(1));
-
-reg_def  R_V0c(SOC, SOC, Op_RegF,  0,  V0->as_VMReg()->next(2));
-reg_def  R_V1c(SOC, SOC, Op_RegF,  1,  V1->as_VMReg()->next(2));
-reg_def  R_V2c(SOC, SOC, Op_RegF,  2,  V2->as_VMReg()->next(2));
-reg_def  R_V3c(SOC, SOC, Op_RegF,  3,  V3->as_VMReg()->next(2));
-reg_def  R_V4c(SOC, SOC, Op_RegF,  4,  V4->as_VMReg()->next(2));
-reg_def  R_V5c(SOC, SOC, Op_RegF,  5,  V5->as_VMReg()->next(2));
-reg_def  R_V6c(SOC, SOC, Op_RegF,  6,  V6->as_VMReg()->next(2));
-reg_def  R_V7c(SOC, SOC, Op_RegF,  7,  V7->as_VMReg()->next(2));
-reg_def  R_V8c(SOC, SOC, Op_RegF,  8,  V8->as_VMReg()->next(2));
-reg_def  R_V9c(SOC, SOC, Op_RegF,  9,  V9->as_VMReg()->next(2));
-reg_def R_V10c(SOC, SOC, Op_RegF, 10, V10->as_VMReg()->next(2));
-reg_def R_V11c(SOC, SOC, Op_RegF, 11, V11->as_VMReg()->next(2));
-reg_def R_V12c(SOC, SOC, Op_RegF, 12, V12->as_VMReg()->next(2));
-reg_def R_V13c(SOC, SOC, Op_RegF, 13, V13->as_VMReg()->next(2));
-reg_def R_V14c(SOC, SOC, Op_RegF, 14, V14->as_VMReg()->next(2));
-reg_def R_V15c(SOC, SOC, Op_RegF, 15, V15->as_VMReg()->next(2));
-reg_def R_V16c(SOC, SOC, Op_RegF, 16, V16->as_VMReg()->next(2));
-reg_def R_V17c(SOC, SOC, Op_RegF, 17, V17->as_VMReg()->next(2));
-reg_def R_V18c(SOC, SOC, Op_RegF, 18, V18->as_VMReg()->next(2));
-reg_def R_V19c(SOC, SOC, Op_RegF, 19, V19->as_VMReg()->next(2));
-reg_def R_V20c(SOC, SOC, Op_RegF, 20, V20->as_VMReg()->next(2));
-reg_def R_V21c(SOC, SOC, Op_RegF, 21, V21->as_VMReg()->next(2));
-reg_def R_V22c(SOC, SOC, Op_RegF, 22, V22->as_VMReg()->next(2));
-reg_def R_V23c(SOC, SOC, Op_RegF, 23, V23->as_VMReg()->next(2));
-reg_def R_V24c(SOC, SOC, Op_RegF, 24, V24->as_VMReg()->next(2));
-reg_def R_V25c(SOC, SOC, Op_RegF, 25, V25->as_VMReg()->next(2));
-reg_def R_V26c(SOC, SOC, Op_RegF, 26, V26->as_VMReg()->next(2));
-reg_def R_V27c(SOC, SOC, Op_RegF, 27, V27->as_VMReg()->next(2));
-reg_def R_V28c(SOC, SOC, Op_RegF, 28, V28->as_VMReg()->next(2));
-reg_def R_V29c(SOC, SOC, Op_RegF, 29, V29->as_VMReg()->next(2));
-reg_def R_V30c(SOC, SOC, Op_RegF, 30, V30->as_VMReg()->next(2));
-reg_def R_V31c(SOC, SOC, Op_RegF, 31, V31->as_VMReg()->next(2));
-
-reg_def  R_V0d(SOC, SOC, Op_RegF,  0,  V0->as_VMReg()->next(3));
-reg_def  R_V1d(SOC, SOC, Op_RegF,  1,  V1->as_VMReg()->next(3));
-reg_def  R_V2d(SOC, SOC, Op_RegF,  2,  V2->as_VMReg()->next(3));
-reg_def  R_V3d(SOC, SOC, Op_RegF,  3,  V3->as_VMReg()->next(3));
-reg_def  R_V4d(SOC, SOC, Op_RegF,  4,  V4->as_VMReg()->next(3));
-reg_def  R_V5d(SOC, SOC, Op_RegF,  5,  V5->as_VMReg()->next(3));
-reg_def  R_V6d(SOC, SOC, Op_RegF,  6,  V6->as_VMReg()->next(3));
-reg_def  R_V7d(SOC, SOC, Op_RegF,  7,  V7->as_VMReg()->next(3));
-reg_def  R_V8d(SOC, SOC, Op_RegF,  8,  V8->as_VMReg()->next(3));
-reg_def  R_V9d(SOC, SOC, Op_RegF,  9,  V9->as_VMReg()->next(3));
-reg_def R_V10d(SOC, SOC, Op_RegF, 10, V10->as_VMReg()->next(3));
-reg_def R_V11d(SOC, SOC, Op_RegF, 11, V11->as_VMReg()->next(3));
-reg_def R_V12d(SOC, SOC, Op_RegF, 12, V12->as_VMReg()->next(3));
-reg_def R_V13d(SOC, SOC, Op_RegF, 13, V13->as_VMReg()->next(3));
-reg_def R_V14d(SOC, SOC, Op_RegF, 14, V14->as_VMReg()->next(3));
-reg_def R_V15d(SOC, SOC, Op_RegF, 15, V15->as_VMReg()->next(3));
-reg_def R_V16d(SOC, SOC, Op_RegF, 16, V16->as_VMReg()->next(3));
-reg_def R_V17d(SOC, SOC, Op_RegF, 17, V17->as_VMReg()->next(3));
-reg_def R_V18d(SOC, SOC, Op_RegF, 18, V18->as_VMReg()->next(3));
-reg_def R_V19d(SOC, SOC, Op_RegF, 19, V19->as_VMReg()->next(3));
-reg_def R_V20d(SOC, SOC, Op_RegF, 20, V20->as_VMReg()->next(3));
-reg_def R_V21d(SOC, SOC, Op_RegF, 21, V21->as_VMReg()->next(3));
-reg_def R_V22d(SOC, SOC, Op_RegF, 22, V22->as_VMReg()->next(3));
-reg_def R_V23d(SOC, SOC, Op_RegF, 23, V23->as_VMReg()->next(3));
-reg_def R_V24d(SOC, SOC, Op_RegF, 24, V24->as_VMReg()->next(3));
-reg_def R_V25d(SOC, SOC, Op_RegF, 25, V25->as_VMReg()->next(3));
-reg_def R_V26d(SOC, SOC, Op_RegF, 26, V26->as_VMReg()->next(3));
-reg_def R_V27d(SOC, SOC, Op_RegF, 27, V27->as_VMReg()->next(3));
-reg_def R_V28d(SOC, SOC, Op_RegF, 28, V28->as_VMReg()->next(3));
-reg_def R_V29d(SOC, SOC, Op_RegF, 29, V29->as_VMReg()->next(3));
-reg_def R_V30d(SOC, SOC, Op_RegF, 30, V30->as_VMReg()->next(3));
-reg_def R_V31d(SOC, SOC, Op_RegF, 31, V31->as_VMReg()->next(3));
-
-// ----------------------------
-// Special Registers
-// Condition Codes Flag Registers
-reg_def APSR (SOC, SOC,  Op_RegFlags, 255, VMRegImpl::Bad());
-reg_def FPSCR(SOC, SOC,  Op_RegFlags, 255, VMRegImpl::Bad());
-
-// ----------------------------
-// Specify the enum values for the registers.  These enums are only used by the
-// OptoReg "class". We can convert these enum values at will to VMReg when needed
-// for visibility to the rest of the vm. The order of this enum influences the
-// register allocator so having the freedom to set this order and not be stuck
-// with the order that is natural for the rest of the vm is worth it.
-
-// Quad vector must be aligned here, so list them first.
-alloc_class fprs(
-    R_V8,  R_V8b,  R_V8c,  R_V8d,  R_V9,  R_V9b,  R_V9c,  R_V9d,
-    R_V10, R_V10b, R_V10c, R_V10d, R_V11, R_V11b, R_V11c, R_V11d,
-    R_V12, R_V12b, R_V12c, R_V12d, R_V13, R_V13b, R_V13c, R_V13d,
-    R_V14, R_V14b, R_V14c, R_V14d, R_V15, R_V15b, R_V15c, R_V15d,
-    R_V16, R_V16b, R_V16c, R_V16d, R_V17, R_V17b, R_V17c, R_V17d,
-    R_V18, R_V18b, R_V18c, R_V18d, R_V19, R_V19b, R_V19c, R_V19d,
-    R_V20, R_V20b, R_V20c, R_V20d, R_V21, R_V21b, R_V21c, R_V21d,
-    R_V22, R_V22b, R_V22c, R_V22d, R_V23, R_V23b, R_V23c, R_V23d,
-    R_V24, R_V24b, R_V24c, R_V24d, R_V25, R_V25b, R_V25c, R_V25d,
-    R_V26, R_V26b, R_V26c, R_V26d, R_V27, R_V27b, R_V27c, R_V27d,
-    R_V28, R_V28b, R_V28c, R_V28d, R_V29, R_V29b, R_V29c, R_V29d,
-    R_V30, R_V30b, R_V30c, R_V30d, R_V31, R_V31b, R_V31c, R_V31d,
-    R_V0,  R_V0b,  R_V0c,  R_V0d,  R_V1,  R_V1b,  R_V1c,  R_V1d,
-    R_V2,  R_V2b,  R_V2c,  R_V2d,  R_V3,  R_V3b,  R_V3c,  R_V3d,
-    R_V4,  R_V4b,  R_V4c,  R_V4d,  R_V5,  R_V5b,  R_V5c,  R_V5d,
-    R_V6,  R_V6b,  R_V6c,  R_V6d,  R_V7,  R_V7b,  R_V7c,  R_V7d
-);
-
-// Need double-register alignment here.
-// We are already quad-register aligned because of vectors above.
-alloc_class gprs(
-    R_R0,  R_R0x,  R_R1,  R_R1x,  R_R2,  R_R2x,  R_R3,  R_R3x,
-    R_R4,  R_R4x,  R_R5,  R_R5x,  R_R6,  R_R6x,  R_R7,  R_R7x,
-    R_R8,  R_R8x,  R_R9,  R_R9x,  R_R10, R_R10x, R_R11, R_R11x,
-    R_R12, R_R12x, R_R13, R_R13x, R_R14, R_R14x, R_R15, R_R15x,
-    R_R16, R_R16x, R_R17, R_R17x, R_R18, R_R18x, R_R19, R_R19x,
-    R_R20, R_R20x, R_R21, R_R21x, R_R22, R_R22x, R_R23, R_R23x,
-    R_R24, R_R24x, R_R25, R_R25x, R_R26, R_R26x, R_R27, R_R27x,
-    R_R28, R_R28x, R_R29, R_R29x, R_R30, R_R30x
-);
-// Continuing with double-reigister alignment...
-alloc_class chunk2(APSR, FPSCR);
-alloc_class chunk3(R_SP, R_SPx);
-alloc_class chunk4(R_ZR, R_ZRx);
-
-//----------Architecture Description Register Classes--------------------------
-// Several register classes are automatically defined based upon information in
-// this architecture description.
-// 1) reg_class inline_cache_reg           ( as defined in frame section )
-// 2) reg_class interpreter_method_oop_reg ( as defined in frame section )
-// 3) reg_class stack_slots( /* one chunk of stack-based "registers" */ )
-//
-
-// ----------------------------
-// Integer Register Classes
-// ----------------------------
-reg_class int_reg_all(R_R0,  R_R1,  R_R2,  R_R3,  R_R4,  R_R5,  R_R6,  R_R7,
-                      R_R8,  R_R9,  R_R10, R_R11, R_R12, R_R13, R_R14, R_R15,
-                      R_R16, R_R17, R_R18, R_R19, R_R20, R_R21, R_R22, R_R23,
-                      R_R24, R_R25, R_R26, R_R27, R_R28, R_R29, R_R30
-);
-
-// Exclusions from i_reg:
-// SP (R31)
-// Rthread/R28: reserved by HotSpot to the TLS register (invariant within Java)
-reg_class int_reg %{
-    return _INT_REG_mask;
-%}
-reg_class ptr_reg %{
-    return _PTR_REG_mask;
-%}
-reg_class vectorx_reg %{
-    return _VECTORX_REG_mask;
-%}
-
-reg_class R0_regI(R_R0);
-reg_class R1_regI(R_R1);
-reg_class R2_regI(R_R2);
-reg_class R3_regI(R_R3);
-//reg_class R12_regI(R_R12);
-
-// ----------------------------
-// Pointer Register Classes
-// ----------------------------
-
-// Special class for storeP instructions, which can store SP or RPC to TLS.
-// It is also used for memory addressing, allowing direct TLS addressing.
-
-reg_class sp_ptr_reg %{
-    return _SP_PTR_REG_mask;
-%}
-
-reg_class store_reg %{
-    return _STR_REG_mask;
-%}
-
-reg_class store_ptr_reg %{
-    return _STR_PTR_REG_mask;
-%}
-
-reg_class spillP_reg %{
-    return _SPILLP_REG_mask;
-%}
-
-// Other special pointer regs
-reg_class R0_regP(R_R0, R_R0x);
-reg_class R1_regP(R_R1, R_R1x);
-reg_class R2_regP(R_R2, R_R2x);
-reg_class Rexception_regP(R_R19, R_R19x);
-reg_class Ricklass_regP(R_R8, R_R8x);
-reg_class Rmethod_regP(R_R27, R_R27x);
-
-reg_class Rthread_regP(R_R28, R_R28x);
-reg_class IP_regP(R_R16, R_R16x);
-#define RtempRegP IPRegP
-reg_class LR_regP(R_R30, R_R30x);
-
-reg_class SP_regP(R_SP,  R_SPx);
-reg_class FP_regP(R_R29, R_R29x);
-
-reg_class ZR_regP(R_ZR, R_ZRx);
-reg_class ZR_regI(R_ZR);
-
-// ----------------------------
-// Long Register Classes
-// ----------------------------
-reg_class long_reg %{ return _PTR_REG_mask; %}
-// for ldrexd, strexd: first reg of pair must be even
-reg_class long_reg_align %{ return LONG_REG_mask(); %}
-
-reg_class R0_regL(R_R0,R_R0x); // arg 1 or return value
-
-// ----------------------------
-// Special Class for Condition Code Flags Register
-reg_class int_flags(APSR);
-reg_class float_flags(FPSCR);
-
-
-// ----------------------------
-// Float Point Register Classes
-// ----------------------------
-reg_class sflt_reg_0(
-  R_V0,  R_V1,  R_V2,  R_V3,  R_V4,  R_V5,  R_V6,  R_V7,
-  R_V8,  R_V9,  R_V10, R_V11, R_V12, R_V13, R_V14, R_V15,
-  R_V16, R_V17, R_V18, R_V19, R_V20, R_V21, R_V22, R_V23,
-  R_V24, R_V25, R_V26, R_V27, R_V28, R_V29, R_V30, R_V31);
-
-reg_class sflt_reg %{
-    return _SFLT_REG_mask;
-%}
-
-reg_class dflt_low_reg %{
-    return _DFLT_REG_mask;
-%}
-
-reg_class actual_dflt_reg %{
-    return _DFLT_REG_mask;
-%}
-
-reg_class vectorx_reg_0(
-  R_V0,  R_V1,  R_V2,  R_V3,  R_V4,  R_V5, R_V6, R_V7,
-  R_V8,  R_V9,  R_V10, R_V11, R_V12, R_V13, R_V14, R_V15,
-  R_V16, R_V17, R_V18, R_V19, R_V20, R_V21, R_V22, R_V23,
-  R_V24, R_V25, R_V26, R_V27, R_V28, R_V29, R_V30, /*R_V31,*/
-  R_V0b,  R_V1b,  R_V2b,  R_V3b,  R_V4b,  R_V5b,  R_V6b,  R_V7b,
-  R_V8b,  R_V9b,  R_V10b, R_V11b, R_V12b, R_V13b, R_V14b, R_V15b,
-  R_V16b, R_V17b, R_V18b, R_V19b, R_V20b, R_V21b, R_V22b, R_V23b,
-  R_V24b, R_V25b, R_V26b, R_V27b, R_V28b, R_V29b, R_V30b, /*R_V31b,*/
-  R_V0c,  R_V1c,  R_V2c,  R_V3c,  R_V4c,  R_V5c,  R_V6c,  R_V7c,
-  R_V8c,  R_V9c,  R_V10c, R_V11c, R_V12c, R_V13c, R_V14c, R_V15c,
-  R_V16c, R_V17c, R_V18c, R_V19c, R_V20c, R_V21c, R_V22c, R_V23c,
-  R_V24c, R_V25c, R_V26c, R_V27c, R_V28c, R_V29c, R_V30c, /*R_V31c,*/
-  R_V0d,  R_V1d,  R_V2d,  R_V3d,  R_V4d,  R_V5d,  R_V6d,  R_V7d,
-  R_V8d,  R_V9d,  R_V10d, R_V11d, R_V12d, R_V13d, R_V14d, R_V15d,
-  R_V16d, R_V17d, R_V18d, R_V19d, R_V20d, R_V21d, R_V22d, R_V23d,
-  R_V24d, R_V25d, R_V26d, R_V27d, R_V28d, R_V29d, R_V30d, /*R_V31d*/);
-
-reg_class Rmemcopy_reg %{
-    return _RMEMCOPY_REG_mask;
-%}
-
-%}
-
-source_hpp %{
-
-const MachRegisterNumbers R_mem_copy_lo_num = R_V31_num;
-const MachRegisterNumbers R_mem_copy_hi_num = R_V31b_num;
-const FloatRegister Rmemcopy = V31;
-
-const MachRegisterNumbers R_hf_ret_lo_num = R_V0_num;
-const MachRegisterNumbers R_hf_ret_hi_num = R_V0b_num;
-const FloatRegister Rhfret = V0;
-
-extern OptoReg::Name R_Ricklass_num;
-extern OptoReg::Name R_Rmethod_num;
-extern OptoReg::Name R_tls_num;
-extern OptoReg::Name R_Rheap_base_num;
-
-extern RegMask _INT_REG_mask;
-extern RegMask _PTR_REG_mask;
-extern RegMask _SFLT_REG_mask;
-extern RegMask _DFLT_REG_mask;
-extern RegMask _VECTORX_REG_mask;
-extern RegMask _RMEMCOPY_REG_mask;
-extern RegMask _SP_PTR_REG_mask;
-extern RegMask _SPILLP_REG_mask;
-extern RegMask _STR_REG_mask;
-extern RegMask _STR_PTR_REG_mask;
-
-#define LDR_DOUBLE "LDR_D"
-#define LDR_FLOAT  "LDR_S"
-#define STR_DOUBLE "STR_D"
-#define STR_FLOAT  "STR_S"
-#define STR_64     "STR"
-#define LDR_64     "LDR"
-#define STR_32     "STR_W"
-#define LDR_32     "LDR_W"
-#define MOV_DOUBLE "FMOV_D"
-#define MOV_FLOAT  "FMOV_S"
-#define FMSR       "FMOV_SW"
-#define FMRS       "FMOV_WS"
-#define LDREX      "ldxr  "
-#define STREX      "stxr  "
-
-#define str_64     str
-#define ldr_64     ldr
-#define ldr_32     ldr_w
-#define ldrex      ldxr
-#define strex      stxr
-
-#define fmsr       fmov_sw
-#define fmrs       fmov_ws
-#define fconsts    fmov_s
-#define fconstd    fmov_d
-
-static inline bool is_uimm12(jlong imm, int shift) {
-  return Assembler::is_unsigned_imm_in_range(imm, 12, shift);
-}
-
-static inline bool is_memoryD(int offset) {
-  int scale = 3; // LogBytesPerDouble
-  return is_uimm12(offset, scale);
-}
-
-static inline bool is_memoryfp(int offset) {
-  int scale = LogBytesPerInt; // include 32-bit word accesses
-  return is_uimm12(offset, scale);
-}
-
-static inline bool is_memoryI(int offset) {
-  int scale = LogBytesPerInt;
-  return is_uimm12(offset, scale);
-}
-
-static inline bool is_memoryP(int offset) {
-  int scale = LogBytesPerWord;
-  return is_uimm12(offset, scale);
-}
-
-static inline bool is_memoryHD(int offset) {
-  int scale = LogBytesPerInt; // include 32-bit word accesses
-  return is_uimm12(offset, scale);
-}
-
-uintx limmL_low(uintx imm, int n);
-
-static inline bool Xis_aimm(int imm) {
-  return Assembler::ArithmeticImmediate(imm).is_encoded();
-}
-
-static inline bool is_aimm(intptr_t imm) {
-  return Assembler::ArithmeticImmediate(imm).is_encoded();
-}
-
-static inline bool is_limmL(uintptr_t imm) {
-  return Assembler::LogicalImmediate(imm).is_encoded();
-}
-
-static inline bool is_limmL_low(intptr_t imm, int n) {
-  return is_limmL(limmL_low(imm, n));
-}
-
-static inline bool is_limmI(jint imm) {
-  return Assembler::LogicalImmediate(imm, true).is_encoded();
-}
-
-static inline uintx limmI_low(jint imm, int n) {
-  return limmL_low(imm, n);
-}
-
-static inline bool is_limmI_low(jint imm, int n) {
-  return is_limmL_low(imm, n);
-}
-
-%}
-
-source %{
-
-// Given a register encoding, produce a Integer Register object
-static Register reg_to_register_object(int register_encoding) {
-  assert(R0->encoding() == R_R0_enc && R30->encoding() == R_R30_enc, "right coding");
-  assert(Rthread->encoding() == R_R28_enc, "right coding");
-  assert(SP->encoding() == R_SP_enc, "right coding");
-  return as_Register(register_encoding);
-}
-
-// Given a register encoding, produce a single-precision Float Register object
-static FloatRegister reg_to_FloatRegister_object(int register_encoding) {
-  assert(V0->encoding() == R_V0_enc && V31->encoding() == R_V31_enc, "right coding");
-  return as_FloatRegister(register_encoding);
-}
-
-RegMask _INT_REG_mask;
-RegMask _PTR_REG_mask;
-RegMask _SFLT_REG_mask;
-RegMask _DFLT_REG_mask;
-RegMask _VECTORX_REG_mask;
-RegMask _RMEMCOPY_REG_mask;
-RegMask _SP_PTR_REG_mask;
-RegMask _SPILLP_REG_mask;
-RegMask _STR_REG_mask;
-RegMask _STR_PTR_REG_mask;
-
-OptoReg::Name R_Ricklass_num = -1;
-OptoReg::Name R_Rmethod_num  = -1;
-OptoReg::Name R_tls_num      = -1;
-OptoReg::Name R_Rtemp_num    = -1;
-OptoReg::Name R_Rheap_base_num = -1;
-
-static int mov_oop_size = -1;
-
-#ifdef ASSERT
-static bool same_mask(const RegMask &a, const RegMask &b) {
-    RegMask a_sub_b = a; a_sub_b.SUBTRACT(b);
-    RegMask b_sub_a = b; b_sub_a.SUBTRACT(a);
-    return a_sub_b.Size() == 0 && b_sub_a.Size() == 0;
-}
-#endif
-
-void Compile::pd_compiler2_init() {
-
-    R_Ricklass_num = OptoReg::as_OptoReg(Ricklass->as_VMReg());
-    R_Rmethod_num  = OptoReg::as_OptoReg(Rmethod->as_VMReg());
-    R_tls_num      = OptoReg::as_OptoReg(Rthread->as_VMReg());
-    R_Rtemp_num    = OptoReg::as_OptoReg(Rtemp->as_VMReg());
-    R_Rheap_base_num = OptoReg::as_OptoReg(Rheap_base->as_VMReg());
-
-    _INT_REG_mask = _INT_REG_ALL_mask;
-    _INT_REG_mask.Remove(R_tls_num);
-    _INT_REG_mask.Remove(R_SP_num);
-    if (UseCompressedOops) {
-      _INT_REG_mask.Remove(R_Rheap_base_num);
-    }
-    // Remove Rtemp because safepoint poll can trash it
-    // (see SharedRuntime::generate_handler_blob)
-    _INT_REG_mask.Remove(R_Rtemp_num);
-
-    _PTR_REG_mask = _INT_REG_mask;
-    _PTR_REG_mask.smear_to_sets(2);
-
-    // STR_REG    = INT_REG+ZR
-    // SPILLP_REG = INT_REG+SP
-    // SP_PTR_REG = INT_REG+SP+TLS
-    _STR_REG_mask = _INT_REG_mask;
-    _SP_PTR_REG_mask = _STR_REG_mask;
-    _STR_REG_mask.Insert(R_ZR_num);
-    _SP_PTR_REG_mask.Insert(R_SP_num);
-    _SPILLP_REG_mask = _SP_PTR_REG_mask;
-    _SP_PTR_REG_mask.Insert(R_tls_num);
-    _STR_PTR_REG_mask = _STR_REG_mask;
-    _STR_PTR_REG_mask.smear_to_sets(2);
-    _SP_PTR_REG_mask.smear_to_sets(2);
-    _SPILLP_REG_mask.smear_to_sets(2);
-
-    _RMEMCOPY_REG_mask = RegMask(R_mem_copy_lo_num);
-assert(OptoReg::as_OptoReg(Rmemcopy->as_VMReg()) == R_mem_copy_lo_num, "!");
-
-    _SFLT_REG_mask = _SFLT_REG_0_mask;
-    _SFLT_REG_mask.SUBTRACT(_RMEMCOPY_REG_mask);
-    _DFLT_REG_mask = _SFLT_REG_mask;
-    _DFLT_REG_mask.smear_to_sets(2);
-    _VECTORX_REG_mask = _SFLT_REG_mask;
-    _VECTORX_REG_mask.smear_to_sets(4);
-    assert(same_mask(_VECTORX_REG_mask, _VECTORX_REG_0_mask), "!");
-
-#ifdef ASSERT
-    RegMask r((RegMask *)&SFLT_REG_mask());
-    r.smear_to_sets(2);
-    assert(same_mask(r, _DFLT_REG_mask), "!");
-#endif
-
-    if (VM_Version::prefer_moves_over_load_literal()) {
-      mov_oop_size = 4;
-    } else {
-      mov_oop_size = 1;
-    }
-
-    assert(Matcher::interpreter_method_oop_reg_encode() == Rmethod->encoding(), "should be");
-}
-
-uintx limmL_low(uintx imm, int n) {
-  // 1: try as is
-  if (is_limmL(imm)) {
-    return imm;
-  }
-  // 2: try low bits + all 0's
-  uintx imm0 = imm & right_n_bits(n);
-  if (is_limmL(imm0)) {
-    return imm0;
-  }
-  // 3: try low bits + all 1's
-  uintx imm1 = imm0 | left_n_bits(BitsPerWord - n);
-  if (is_limmL(imm1)) {
-    return imm1;
-  }
-#if 0
-  // 4: try low bits replicated
-  int field = 1 << log2_intptr(n + n - 1);
-  assert(field >= n, "!");
-  assert(field / n == 1, "!");
-  intptr_t immr = immx;
-  while (field < BitsPerWord) {
-    intrptr_t bits = immr & right_n_bits(field);
-    immr = bits | (bits << field);
-    field = field << 1;
-  }
-  // replicate at power-of-2 boundary
-  if (is_limmL(immr)) {
-    return immr;
-  }
-#endif
-  return imm;
-}
-
-// Convert the raw encoding form into the form expected by the
-// constructor for Address.
-Address Address::make_raw(int base, int index, int scale, int disp, relocInfo::relocType disp_reloc) {
-  RelocationHolder rspec;
-  if (disp_reloc != relocInfo::none) {
-    rspec = Relocation::spec_simple(disp_reloc);
-  }
-
-  Register rbase = (base == 0xff) ? SP : as_Register(base);
-  if (index != 0xff) {
-    Register rindex = as_Register(index);
-    if (disp == 0x7fffffff) { // special value to indicate sign-extend
-      Address madr(rbase, rindex, ex_sxtw, scale);
-      madr._rspec = rspec;
-      return madr;
-    } else {
-      assert(disp == 0, "unsupported");
-      Address madr(rbase, rindex, ex_lsl, scale);
-      madr._rspec = rspec;
-      return madr;
-    }
-  } else {
-    assert(scale == 0, "not supported");
-    Address madr(rbase, disp);
-    madr._rspec = rspec;
-    return madr;
-  }
-}
-
-// Location of compiled Java return values.  Same as C
-OptoRegPair c2::return_value(int ideal_reg) {
-  assert( ideal_reg >= Op_RegI && ideal_reg <= Op_RegL, "only return normal values" );
-  static int lo[Op_RegL+1] = { 0, 0, OptoReg::Bad, R_R0_num,     R_R0_num,  R_hf_ret_lo_num,  R_hf_ret_lo_num, R_R0_num };
-  static int hi[Op_RegL+1] = { 0, 0, OptoReg::Bad, OptoReg::Bad, R_R0x_num, OptoReg::Bad,     R_hf_ret_hi_num, R_R0x_num };
-  return OptoRegPair( hi[ideal_reg], lo[ideal_reg]);
-}
-
-// !!!!! Special hack to get all type of calls to specify the byte offset
-//       from the start of the call to the point where the return address
-//       will point.
-
-int MachCallStaticJavaNode::ret_addr_offset() {
-  bool far = (_method == NULL) ? maybe_far_call(this) : !cache_reachable();
-  bool patchable = _method != NULL;
-  int call_size = MacroAssembler::call_size(entry_point(), far, patchable);
-  return (call_size + (_method_handle_invoke ? 1 : 0)) * NativeInstruction::instruction_size;
-}
-
-int MachCallDynamicJavaNode::ret_addr_offset() {
-  bool far = !cache_reachable();
-  int call_size = MacroAssembler::call_size(entry_point(), far, true);
-  return (mov_oop_size + call_size) * NativeInstruction::instruction_size; 
-}
-
-int MachCallRuntimeNode::ret_addr_offset() {
-  int call_size = 0;
-  // TODO: check if Leaf nodes also need this
-  if (!is_MachCallLeaf()) {
-    // adr $temp, ret_addr
-    // str $temp, [SP + last_java_pc]
-    call_size += 2;
-  }
-  // bl or mov_slow; blr
-  bool far = maybe_far_call(this);
-  call_size += MacroAssembler::call_size(entry_point(), far, false);
-  return call_size * NativeInstruction::instruction_size;
-}
-
-%}
-
-// The intptr_t operand types, defined by textual substitution.
-// (Cf. opto/type.hpp.  This lets us avoid many, many other ifdefs.)
-#define immX      immL
-#define iRegX     iRegL
-#define aimmX     aimmL
-#define limmX     limmL
-#define immX9     immL9
-#define LShiftX   LShiftL
-#define shimmX    immU6
-
-#define store_RegLd store_RegL
-
-//----------ATTRIBUTES---------------------------------------------------------
-//----------Operand Attributes-------------------------------------------------
-op_attrib op_cost(1);          // Required cost attribute
-
-//----------OPERANDS-----------------------------------------------------------
-// Operand definitions must precede instruction definitions for correct parsing
-// in the ADLC because operands constitute user defined types which are used in
-// instruction definitions.
-
-//----------Simple Operands----------------------------------------------------
-// Immediate Operands
-
-// Integer Immediate: 9-bit (including sign bit), so same as immI8?
-// FIXME: simm9 allows -256, but immI8 doesn't...
-operand simm9() %{
-  predicate(Assembler::is_imm_in_range(n->get_int(), 9, 0));
-  match(ConI);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-
-operand uimm12() %{
-  predicate(Assembler::is_unsigned_imm_in_range(n->get_int(), 12, 0));
-  match(ConI);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand aimmP() %{
-  predicate(n->get_ptr() == 0 || (is_aimm(n->get_ptr()) && ((ConPNode*)n)->type()->reloc() == relocInfo::none));
-  match(ConP);
-
-  op_cost(0);
-  // formats are generated automatically for constants and base registers
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Long Immediate: 12-bit - for addressing mode
-operand immL12() %{
-  predicate((-4096 < n->get_long()) && (n->get_long() < 4096));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Long Immediate: 9-bit - for addressing mode
-operand immL9() %{
-  predicate((-256 <= n->get_long()) && (n->get_long() < 256));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immIMov() %{
-  predicate(n->get_int() >> 16 == 0);
-  match(ConI);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immLMov() %{
-  predicate(n->get_long() >> 16 == 0);
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immUL12() %{
-  predicate(is_uimm12(n->get_long(), 0));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immUL12x2() %{
-  predicate(is_uimm12(n->get_long(), 1));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immUL12x4() %{
-  predicate(is_uimm12(n->get_long(), 2));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immUL12x8() %{
-  predicate(is_uimm12(n->get_long(), 3));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-operand immUL12x16() %{
-  predicate(is_uimm12(n->get_long(), 4));
-  match(ConL);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Used for long shift
-operand immU6() %{
-  predicate(0 <= n->get_int() && (n->get_int() <= 63));
-  match(ConI);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Used for register extended shift
-operand immI_0_4() %{
-  predicate(0 <= n->get_int() && (n->get_int() <= 4));
-  match(ConI);
-  op_cost(0);
-
-  format %{ %}
-  interface(CONST_INTER);
-%}
-
-// Compressed Pointer Register
-operand iRegN() %{
-  constraint(ALLOC_IN_RC(int_reg));
-  match(RegN);
-  match(ZRRegN);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand SPRegP() %{
-  constraint(ALLOC_IN_RC(SP_regP));
-  match(RegP);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand ZRRegP() %{
-  constraint(ALLOC_IN_RC(ZR_regP));
-  match(RegP);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand ZRRegL() %{
-  constraint(ALLOC_IN_RC(ZR_regP));
-  match(RegL);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand ZRRegI() %{
-  constraint(ALLOC_IN_RC(ZR_regI));
-  match(RegI);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
-
-operand ZRRegN() %{
-  constraint(ALLOC_IN_RC(ZR_regI));
-  match(RegN);
-
-  format %{ %}
-  interface(REG_INTER);
-%}
--- a/src/hotspot/cpu/arm/assembler_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/assembler_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -40,29 +40,14 @@
   lsl, lsr, asr, ror
 };
 
-#ifdef AARCH64
-enum AsmExtendOp {
-  ex_uxtb, ex_uxth, ex_uxtw, ex_uxtx,
-  ex_sxtb, ex_sxth, ex_sxtw, ex_sxtx,
-
-  ex_lsl = ex_uxtx
-};
-#endif
 
 enum AsmOffset {
-#ifdef AARCH64
-  basic_offset = 0b00,
-  pre_indexed  = 0b11,
-  post_indexed = 0b01
-#else
   basic_offset = 1 << 24,
   pre_indexed  = 1 << 24 | 1 << 21,
   post_indexed = 0
-#endif
 };
 
 
-#ifndef AARCH64
 enum AsmWriteback {
   no_writeback,
   writeback
@@ -72,7 +57,6 @@
   sub_offset = 0,
   add_offset = 1
 };
-#endif
 
 
 // ARM Addressing Modes 2 and 3 - Load and store
@@ -84,21 +68,13 @@
   AsmOffset _mode;
   RelocationHolder   _rspec;
   int       _shift_imm;
-#ifdef AARCH64
-  AsmExtendOp _extend;
-#else
   AsmShift  _shift;
   AsmOffsetOp _offset_op;
 
   static inline int abs(int x) { return x < 0 ? -x : x; }
   static inline int up (int x) { return x < 0 ?  0 : 1; }
-#endif
 
-#ifdef AARCH64
-  static const AsmExtendOp LSL = ex_lsl;
-#else
   static const AsmShift LSL = lsl;
-#endif
 
  public:
   Address() : _base(noreg) {}
@@ -109,12 +85,8 @@
     _disp = offset;
     _mode = mode;
     _shift_imm = 0;
-#ifdef AARCH64
-    _extend = ex_lsl;
-#else
     _shift = lsl;
     _offset_op = add_offset;
-#endif
   }
 
 #ifdef ASSERT
@@ -124,27 +96,11 @@
     _disp = in_bytes(offset);
     _mode = mode;
     _shift_imm = 0;
-#ifdef AARCH64
-    _extend = ex_lsl;
-#else
     _shift = lsl;
     _offset_op = add_offset;
-#endif
   }
 #endif
 
-#ifdef AARCH64
-  Address(Register rn, Register rm, AsmExtendOp extend = ex_lsl, int shift_imm = 0) {
-    assert ((extend == ex_uxtw) || (extend == ex_lsl) || (extend == ex_sxtw) || (extend == ex_sxtx), "invalid extend for address mode");
-    assert ((0 <= shift_imm) && (shift_imm <= 4), "shift amount is out of range");
-    _base = rn;
-    _index = rm;
-    _disp = 0;
-    _mode = basic_offset;
-    _extend = extend;
-    _shift_imm = shift_imm;
-  }
-#else
   Address(Register rn, Register rm, AsmShift shift = lsl,
           int shift_imm = 0, AsmOffset mode = basic_offset,
           AsmOffsetOp offset_op = add_offset) {
@@ -181,7 +137,6 @@
     _mode = basic_offset;
     _offset_op = add_offset;
   }
-#endif // AARCH64
 
   // [base + index * wordSize]
   static Address indexed_ptr(Register base, Register index) {
@@ -211,25 +166,6 @@
     return a;
   }
 
-#ifdef AARCH64
-  int encoding_simd() const {
-    assert(_index != SP, "encoding constraint");
-    assert(_disp == 0 || _mode == post_indexed,  "encoding constraint");
-    assert(_index == noreg || _mode == basic_offset, "encoding constraint");
-    assert(_mode == basic_offset || _mode == post_indexed, "encoding constraint");
-    assert(_extend == ex_lsl, "encoding constraint");
-    int index;
-    if (_index == noreg) {
-      if (_mode == post_indexed)
-        index = 0b100 << 5 | 31;
-      else
-        index = 0;
-    } else {
-      index = 0b100 << 5 | _index->encoding();
-    }
-    return index << 16 | _base->encoding_with_sp() << 5;
-  }
-#else /* !AARCH64 */
   int encoding2() const {
     assert(_mode == basic_offset || _base != PC, "unpredictable instruction");
     if (_index == noreg) {
@@ -287,7 +223,6 @@
 
     return _base->encoding() << 16 | index;
   }
-#endif // !AARCH64
 
   Register base() const {
     return _base;
@@ -309,11 +244,6 @@
     return _shift_imm;
   }
 
-#ifdef AARCH64
-  AsmExtendOp extend() const {
-    return _extend;
-  }
-#else
   AsmShift shift() const {
     return _shift;
   }
@@ -321,7 +251,6 @@
   AsmOffsetOp offset_op() const {
     return _offset_op;
   }
-#endif
 
   bool uses(Register reg) const { return _base == reg || _index == reg; }
 
@@ -394,11 +323,7 @@
 };
 #endif
 
-#ifdef AARCH64
-#include "assembler_arm_64.hpp"
-#else
 #include "assembler_arm_32.hpp"
-#endif
 
 
 #endif // CPU_ARM_VM_ASSEMBLER_ARM_HPP
--- a/src/hotspot/cpu/arm/assembler_arm_64.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#include "precompiled.hpp"
-#include "asm/assembler.hpp"
-#include "asm/assembler.inline.hpp"
-#include "ci/ciEnv.hpp"
-#include "gc/shared/cardTableBarrierSet.hpp"
-#include "gc/shared/collectedHeap.inline.hpp"
-#include "interpreter/interpreter.hpp"
-#include "interpreter/interpreterRuntime.hpp"
-#include "interpreter/templateInterpreterGenerator.hpp"
-#include "memory/resourceArea.hpp"
-#include "prims/jvm_misc.hpp"
-#include "prims/methodHandles.hpp"
-#include "runtime/biasedLocking.hpp"
-#include "runtime/interfaceSupport.inline.hpp"
-#include "runtime/objectMonitor.hpp"
-#include "runtime/os.hpp"
-#include "runtime/sharedRuntime.hpp"
-#include "runtime/stubRoutines.hpp"
-#include "utilities/hashtable.hpp"
-#include "utilities/macros.hpp"
-
-// Returns whether given imm has equal bit fields <0:size-1> and <size:2*size-1>.
-inline bool Assembler::LogicalImmediate::has_equal_subpatterns(uintx imm, int size) {
-  uintx mask = right_n_bits(size);
-  uintx subpattern1 = mask_bits(imm, mask);
-  uintx subpattern2 = mask_bits(imm >> size, mask);
-  return subpattern1 == subpattern2;
-}
-
-// Returns least size that is a power of two from 2 to 64 with the proviso that given
-// imm is composed of repeating patterns of this size.
-inline int Assembler::LogicalImmediate::least_pattern_size(uintx imm) {
-  int size = BitsPerWord;
-  while (size > 2 && has_equal_subpatterns(imm, size >> 1)) {
-    size >>= 1;
-  }
-  return size;
-}
-
-// Returns count of set bits in given imm. Based on variable-precision SWAR algorithm.
-inline int Assembler::LogicalImmediate::population_count(uintx x) {
-  x -= ((x >> 1) & 0x5555555555555555L);
-  x = (((x >> 2) & 0x3333333333333333L) + (x & 0x3333333333333333L));
-  x = (((x >> 4) + x) & 0x0f0f0f0f0f0f0f0fL);
-  x += (x >> 8);
-  x += (x >> 16);
-  x += (x >> 32);
-  return(x & 0x7f);
-}
-
-// Let given x be <A:B> where B = 0 and least bit of A = 1. Returns <A:C>, where C is B-size set bits.
-inline uintx Assembler::LogicalImmediate::set_least_zeroes(uintx x) {
-  return x | (x - 1);
-}
-
-
-#ifdef ASSERT
-
-// Restores immediate by encoded bit masks.
-uintx Assembler::LogicalImmediate::decode() {
-  assert (_encoded, "should be");
-
-  int len_code = (_immN << 6) | ((~_imms) & 0x3f);
-  assert (len_code != 0, "should be");
-
-  int len = 6;
-  while (!is_set_nth_bit(len_code, len)) len--;
-  int esize = 1 << len;
-  assert (len > 0, "should be");
-  assert ((_is32bit ? 32 : 64) >= esize, "should be");
-
-  int levels = right_n_bits(len);
-  int S = _imms & levels;
-  int R = _immr & levels;
-
-  assert (S != levels, "should be");
-
-  uintx welem = right_n_bits(S + 1);
-  uintx wmask = (R == 0) ? welem : ((welem >> R) | (welem << (esize - R)));
-
-  for (int size = esize; size < 64; size <<= 1) {
-    wmask |= (wmask << size);
-  }
-
-  return wmask;
-}
-
-#endif
-
-
-// Constructs LogicalImmediate by given imm. Figures out if given imm can be used in AArch64 logical
-// instructions (AND, ANDS, EOR, ORR) and saves its encoding.
-void Assembler::LogicalImmediate::construct(uintx imm, bool is32) {
-  _is32bit = is32;
-
-  if (is32) {
-    assert(((imm >> 32) == 0) || (((intx)imm >> 31) == -1), "32-bit immediate is out of range");
-
-    // Replicate low 32 bits.
-    imm &= 0xffffffff;
-    imm |= imm << 32;
-  }
-
-  // All-zeroes and all-ones can not be encoded.
-  if (imm != 0 && (~imm != 0)) {
-
-    // Let LPS (least pattern size) be the least size (power of two from 2 to 64) of repeating
-    // patterns in the immediate. If immediate value can be encoded, it is encoded by pattern
-    // of exactly LPS size (due to structure of valid patterns). In order to verify
-    // that immediate value can be encoded, LPS is calculated and <LPS-1:0> bits of immediate
-    // are verified to be valid pattern.
-    int lps = least_pattern_size(imm);
-    uintx lps_mask = right_n_bits(lps);
-
-    // A valid pattern has one of the following forms:
-    //  | 0 x A | 1 x B | 0 x C |, where B > 0 and C > 0, or
-    //  | 1 x A | 0 x B | 1 x C |, where B > 0 and C > 0.
-    // For simplicity, the second form of the pattern is inverted into the first form.
-    bool inverted = imm & 0x1;
-    uintx pattern = (inverted ? ~imm : imm) & lps_mask;
-
-    //  | 0 x A | 1 x (B + C)   |
-    uintx without_least_zeroes = set_least_zeroes(pattern);
-
-    // Pattern is valid iff without least zeroes it is a power of two - 1.
-    if ((without_least_zeroes & (without_least_zeroes + 1)) == 0) {
-
-      // Count B as population count of pattern.
-      int bits_count = population_count(pattern);
-
-      // Count B+C as population count of pattern without least zeroes
-      int left_range = population_count(without_least_zeroes);
-
-      // S-prefix is a part of imms field which encodes LPS.
-      //  LPS  |  S prefix
-      //   64  |     not defined
-      //   32  |     0b0
-      //   16  |     0b10
-      //    8  |     0b110
-      //    4  |     0b1110
-      //    2  |     0b11110
-      int s_prefix = (lps == 64) ? 0 : ~set_least_zeroes(lps) & 0x3f;
-
-      // immN bit is set iff LPS == 64.
-      _immN = (lps == 64) ? 1 : 0;
-      assert (!is32 || (_immN == 0), "32-bit immediate should be encoded with zero N-bit");
-
-      // immr is the rotation size.
-      _immr = lps + (inverted ? 0 : bits_count) - left_range;
-
-      // imms is the field that encodes bits count and S-prefix.
-      _imms = ((inverted ? (lps - bits_count) : bits_count) - 1) | s_prefix;
-
-      _encoded = true;
-      assert (decode() == imm, "illegal encoding");
-
-      return;
-    }
-  }
-
-  _encoded = false;
-}
--- a/src/hotspot/cpu/arm/assembler_arm_64.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1718 +0,0 @@
-/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#ifndef CPU_ARM_VM_ASSEMBLER_ARM_64_HPP
-#define CPU_ARM_VM_ASSEMBLER_ARM_64_HPP
-
-enum AsmShift12 {
-  lsl0, lsl12
-};
-
-enum AsmPrefetchOp {
-    pldl1keep = 0b00000,
-    pldl1strm,
-    pldl2keep,
-    pldl2strm,
-    pldl3keep,
-    pldl3strm,
-
-    plil1keep = 0b01000,
-    plil1strm,
-    plil2keep,
-    plil2strm,
-    plil3keep,
-    plil3strm,
-
-    pstl1keep = 0b10000,
-    pstl1strm,
-    pstl2keep,
-    pstl2strm,
-    pstl3keep,
-    pstl3strm,
-};
-
-// Shifted register operand for data processing instructions.
-class AsmOperand {
- private:
-  Register _reg;
-  AsmShift _shift;
-  int _shift_imm;
-
- public:
-  AsmOperand(Register reg) {
-    assert(reg != SP, "SP is not allowed in shifted register operand");
-    _reg = reg;
-    _shift = lsl;
-    _shift_imm = 0;
-  }
-
-  AsmOperand(Register reg, AsmShift shift, int shift_imm) {
-    assert(reg != SP, "SP is not allowed in shifted register operand");
-    assert(shift_imm >= 0, "shift amount should be non-negative");
-    _reg = reg;
-    _shift = shift;
-    _shift_imm = shift_imm;
-  }
-
-  Register reg() const {
-    return _reg;
-  }
-
-  AsmShift shift() const {
-    return _shift;
-  }
-
-  int shift_imm() const {
-    return _shift_imm;
-  }
-};
-
-
-class Assembler : public AbstractAssembler  {
-
- public:
-
-  static const int LogInstructionSize = 2;
-  static const int InstructionSize    = 1 << LogInstructionSize;
-
-  Assembler(CodeBuffer* code) : AbstractAssembler(code) {}
-
-  static inline AsmCondition inverse(AsmCondition cond) {
-    assert ((cond != al) && (cond != nv), "AL and NV conditions cannot be inversed");
-    return (AsmCondition)((int)cond ^ 1);
-  }
-
-  // Returns value of nzcv flags conforming to the given condition.
-  static inline int flags_for_condition(AsmCondition cond) {
-    switch(cond) {            // NZCV
-      case mi: case lt: return 0b1000;
-      case eq: case le: return 0b0100;
-      case hs: case hi: return 0b0010;
-      case vs:          return 0b0001;
-      default:          return 0b0000;
-    }
-  }
-
-  // Immediate, encoded into logical instructions.
-  class LogicalImmediate {
-   private:
-    bool _encoded;
-    bool _is32bit;
-    int _immN;
-    int _immr;
-    int _imms;
-
-    static inline bool has_equal_subpatterns(uintx imm, int size);
-    static inline int least_pattern_size(uintx imm);
-    static inline int population_count(uintx x);
-    static inline uintx set_least_zeroes(uintx x);
-
-#ifdef ASSERT
-    uintx decode();
-#endif
-
-    void construct(uintx imm, bool is32);
-
-   public:
-    LogicalImmediate(uintx imm, bool is32 = false) { construct(imm, is32); }
-
-    // Returns true if given immediate can be used in AArch64 logical instruction.
-    bool is_encoded() const { return _encoded; }
-
-    bool is32bit() const { return _is32bit; }
-    int immN() const { assert(_encoded, "should be"); return _immN; }
-    int immr() const { assert(_encoded, "should be"); return _immr; }
-    int imms() const { assert(_encoded, "should be"); return _imms; }
-  };
-
-  // Immediate, encoded into arithmetic add/sub instructions.
-  class ArithmeticImmediate {
-   private:
-    bool _encoded;
-    int _imm;
-    AsmShift12 _shift;
-
-   public:
-    ArithmeticImmediate(intx x) {
-      if (is_unsigned_imm_in_range(x, 12, 0)) {
-        _encoded = true;
-        _imm = x;
-        _shift = lsl0;
-      } else if (is_unsigned_imm_in_range(x, 12, 12)) {
-        _encoded = true;
-        _imm = x >> 12;
-        _shift = lsl12;
-      } else {
-        _encoded = false;
-      }
-    }
-
-    ArithmeticImmediate(intx x, AsmShift12 sh) {
-      if (is_unsigned_imm_in_range(x, 12, 0)) {
-        _encoded = true;
-        _imm = x;
-        _shift = sh;
-      } else {
-        _encoded = false;
-      }
-    }
-
-    // Returns true if this immediate can be used in AArch64 arithmetic (add/sub/cmp/cmn) instructions.
-    bool is_encoded() const  { return _encoded; }
-
-    int imm() const          { assert(_encoded, "should be"); return _imm; }
-    AsmShift12 shift() const { assert(_encoded, "should be"); return _shift; }
-  };
-
-  static inline bool is_imm_in_range(intx value, int bits, int align_bits) {
-    intx sign_bits = (value >> (bits + align_bits - 1));
-    return ((value & right_n_bits(align_bits)) == 0) && ((sign_bits == 0) || (sign_bits == -1));
-  }
-
-  static inline int encode_imm(intx value, int bits, int align_bits, int low_bit_in_encoding) {
-    assert (is_imm_in_range(value, bits, align_bits), "immediate value is out of range");
-    return ((value >> align_bits) & right_n_bits(bits)) << low_bit_in_encoding;
-  }
-
-  static inline bool is_unsigned_imm_in_range(intx value, int bits, int align_bits) {
-    return (value >= 0) && ((value & right_n_bits(align_bits)) == 0) && ((value >> (align_bits + bits)) == 0);
-  }
-
-  static inline int encode_unsigned_imm(intx value, int bits, int align_bits, int low_bit_in_encoding) {
-    assert (is_unsigned_imm_in_range(value, bits, align_bits), "immediate value is out of range");
-    return (value >> align_bits) << low_bit_in_encoding;
-  }
-
-  static inline bool is_offset_in_range(intx offset, int bits) {
-    assert (bits == 14 || bits == 19 || bits == 26, "wrong bits number");
-    return is_imm_in_range(offset, bits, 2);
-  }
-
-  static inline int encode_offset(intx offset, int bits, int low_bit_in_encoding) {
-    return encode_imm(offset, bits, 2, low_bit_in_encoding);
-  }
-
-  // Returns true if given value can be used as immediate in arithmetic (add/sub/cmp/cmn) instructions.
-  static inline bool is_arith_imm_in_range(intx value) {
-    return ArithmeticImmediate(value).is_encoded();
-  }
-
-
-  // Load/store instructions
-
-#define F(mnemonic, opc) \
-  void mnemonic(Register rd, address literal_addr) {                                                       \
-    intx offset = literal_addr - pc();                                                                     \
-    assert (opc != 0b01 || offset == 0 || ((uintx)literal_addr & 7) == 0, "ldr target should be aligned"); \
-    assert (is_offset_in_range(offset, 19), "offset is out of range");                                     \
-    emit_int32(opc << 30 | 0b011 << 27 | encode_offset(offset, 19, 5) | rd->encoding_with_zr());           \
-  }
-
-  F(ldr_w, 0b00)
-  F(ldr,   0b01)
-  F(ldrsw, 0b10)
-#undef F
-
-#define F(mnemonic, opc) \
-  void mnemonic(FloatRegister rt, address literal_addr) {                                                  \
-    intx offset = literal_addr - pc();                                                                     \
-    assert (offset == 0 || ((uintx)literal_addr & right_n_bits(2 + opc)) == 0, "ldr target should be aligned"); \
-    assert (is_offset_in_range(offset, 19), "offset is out of range");                                     \
-    emit_int32(opc << 30 | 0b011100 << 24 | encode_offset(offset, 19, 5) | rt->encoding());                \
-  }
-
-  F(ldr_s, 0b00)
-  F(ldr_d, 0b01)
-  F(ldr_q, 0b10)
-#undef F
-
-#define F(mnemonic, size, o2, L, o1, o0) \
-  void mnemonic(Register rt, Register rn) {                                                                \
-    emit_int32(size << 30 | 0b001000 << 24 | o2 << 23 | L << 22 | o1 << 21 | 0b11111 << 16 |               \
-        o0 << 15 | 0b11111 << 10 | rn->encoding_with_sp() << 5 | rt->encoding_with_zr());                  \
-  }
-
-  F(ldxrb,   0b00, 0, 1, 0, 0)
-  F(ldaxrb,  0b00, 0, 1, 0, 1)
-  F(ldarb,   0b00, 1, 1, 0, 1)
-  F(ldxrh,   0b01, 0, 1, 0, 0)
-  F(ldaxrh,  0b01, 0, 1, 0, 1)
-  F(ldarh,   0b01, 1, 1, 0, 1)
-  F(ldxr_w,  0b10, 0, 1, 0, 0)
-  F(ldaxr_w, 0b10, 0, 1, 0, 1)
-  F(ldar_w,  0b10, 1, 1, 0, 1)
-  F(ldxr,    0b11, 0, 1, 0, 0)
-  F(ldaxr,   0b11, 0, 1, 0, 1)
-  F(ldar,    0b11, 1, 1, 0, 1)
-
-  F(stlrb,   0b00, 1, 0, 0, 1)
-  F(stlrh,   0b01, 1, 0, 0, 1)
-  F(stlr_w,  0b10, 1, 0, 0, 1)
-  F(stlr,    0b11, 1, 0, 0, 1)
-#undef F
-
-#define F(mnemonic, size, o2, L, o1, o0) \
-  void mnemonic(Register rs, Register rt, Register rn) {                                                     \
-    assert (rs != rt, "should be different");                                                                \
-    assert (rs != rn, "should be different");                                                                \
-    emit_int32(size << 30 | 0b001000 << 24 | o2 << 23 | L << 22 | o1 << 21 | rs->encoding_with_zr() << 16 |  \
-        o0 << 15 | 0b11111 << 10 | rn->encoding_with_sp() << 5 | rt->encoding_with_zr());                    \
-  }
-
-  F(stxrb,   0b00, 0, 0, 0, 0)
-  F(stlxrb,  0b00, 0, 0, 0, 1)
-  F(stxrh,   0b01, 0, 0, 0, 0)
-  F(stlxrh,  0b01, 0, 0, 0, 1)
-  F(stxr_w,  0b10, 0, 0, 0, 0)
-  F(stlxr_w, 0b10, 0, 0, 0, 1)
-  F(stxr,    0b11, 0, 0, 0, 0)
-  F(stlxr,   0b11, 0, 0, 0, 1)
-#undef F
-
-#define F(mnemonic, size, o2, L, o1, o0) \
-  void mnemonic(Register rt, Register rt2, Register rn) {                                                  \
-    assert (rt != rt2, "should be different");                                                             \
-    emit_int32(size << 30 | 0b001000 << 24 | o2 << 23 | L << 22 | o1 << 21 | 0b11111 << 16 |               \
-        o0 << 15 | rt2->encoding_with_zr() << 10 | rn->encoding_with_sp() << 5 | rt->encoding_with_zr());  \
-  }
-
-  F(ldxp_w,  0b10, 0, 1, 1, 0)
-  F(ldaxp_w, 0b10, 0, 1, 1, 1)
-  F(ldxp,    0b11, 0, 1, 1, 0)
-  F(ldaxp,   0b11, 0, 1, 1, 1)
-#undef F
-
-#define F(mnemonic, size, o2, L, o1, o0) \
-  void mnemonic(Register rs, Register rt, Register rt2, Register rn) {                                       \
-    assert (rs != rt, "should be different");                                                                \
-    assert (rs != rt2, "should be different");                                                               \
-    assert (rs != rn, "should be different");                                                                \
-    emit_int32(size << 30 | 0b001000 << 24 | o2 << 23 | L << 22 | o1 << 21 | rs->encoding_with_zr() << 16 |  \
-        o0 << 15 | rt2->encoding_with_zr() << 10 | rn->encoding_with_sp() << 5 | rt->encoding_with_zr());    \
-  }
-
-  F(stxp_w,  0b10, 0, 0, 1, 0)
-  F(stlxp_w, 0b10, 0, 0, 1, 1)
-  F(stxp,    0b11, 0, 0, 1, 0)
-  F(stlxp,   0b11, 0, 0, 1, 1)
-#undef F
-
-#define F(mnemonic, opc, V, L) \
-  void mnemonic(Register rt, Register rt2, Register rn, int offset = 0) {                                  \
-    assert (!L || rt != rt2, "should be different");                                                       \
-    int align_bits = 2 + (opc >> 1);                                                                       \
-    assert (is_imm_in_range(offset, 7, align_bits), "offset is out of range");                             \
-    emit_int32(opc << 30 | 0b101 << 27 | V << 26 | L << 22 | encode_imm(offset, 7, align_bits, 15) |       \
-        rt2->encoding_with_zr() << 10 | rn->encoding_with_sp() << 5 | rt->encoding_with_zr());             \
-  }
-
-  F(stnp_w,  0b00, 0, 0)
-  F(ldnp_w,  0b00, 0, 1)
-  F(stnp,    0b10, 0, 0)
-  F(ldnp,    0b10, 0, 1)
-#undef F
-
-#define F(mnemonic, opc, V, L) \
-  void mnemonic(FloatRegister rt, FloatRegister rt2, Register rn, int offset = 0) {                        \
-    assert (!L || (rt != rt2), "should be different");                                                     \
-    int align_bits = 2 + opc;                                                                              \
-    assert (is_imm_in_range(offset, 7, align_bits), "offset is out of range");                             \
-    emit_int32(opc << 30 | 0b101 << 27 | V << 26 | L << 22 | encode_imm(offset, 7, align_bits, 15) |       \
-        rt2->encoding() << 10 | rn->encoding_with_sp() << 5 | rt->encoding());                             \
-  }
-
-  F(stnp_s,  0b00, 1, 0)
-  F(stnp_d,  0b01, 1, 0)
-  F(stnp_q,  0b10, 1, 0)
-  F(ldnp_s,  0b00, 1, 1)
-  F(ldnp_d,  0b01, 1, 1)
-  F(ldnp_q,  0b10, 1, 1)
-#undef F
-
-#define F(mnemonic, size, V, opc) \
-  void mnemonic(Register rt, Address addr) { \
-    assert((addr.mode() == basic_offset) || (rt != addr.base()), "should be different");                    \
-    if (addr.index() == noreg) {                                                                            \
-      if ((addr.mode() == basic_offset) && is_unsigned_imm_in_range(addr.disp(), 12, size)) {               \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | 0b01 << 24 | opc << 22 |                            \
-           encode_unsigned_imm(addr.disp(), 12, size, 10) |                                                 \
-           addr.base()->encoding_with_sp() << 5 | rt->encoding_with_zr());                                  \
-      } else {                                                                                              \
-        assert(is_imm_in_range(addr.disp(), 9, 0), "offset is out of range");                               \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | encode_imm(addr.disp(), 9, 0, 12) |     \
-           addr.mode() << 10 | addr.base()->encoding_with_sp() << 5 | rt->encoding_with_zr());              \
-      }                                                                                                     \
-    } else {                                                                                                \
-      assert (addr.disp() == 0, "non-zero displacement for [reg + reg] address mode");                      \
-      assert ((addr.shift_imm() == 0) || (addr.shift_imm() == size), "invalid shift amount");               \
-      emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | 1 << 21 |                                 \
-         addr.index()->encoding_with_zr() << 16 | addr.extend() << 13 | (addr.shift_imm() != 0) << 12 |     \
-         0b10 << 10 | addr.base()->encoding_with_sp() << 5 | rt->encoding_with_zr());                       \
-    }                                                                                                       \
-  }
-
-  F(strb,    0b00, 0, 0b00)
-  F(ldrb,    0b00, 0, 0b01)
-  F(ldrsb,   0b00, 0, 0b10)
-  F(ldrsb_w, 0b00, 0, 0b11)
-
-  F(strh,    0b01, 0, 0b00)
-  F(ldrh,    0b01, 0, 0b01)
-  F(ldrsh,   0b01, 0, 0b10)
-  F(ldrsh_w, 0b01, 0, 0b11)
-
-  F(str_w,   0b10, 0, 0b00)
-  F(ldr_w,   0b10, 0, 0b01)
-  F(ldrsw,   0b10, 0, 0b10)
-
-  F(str,     0b11, 0, 0b00)
-  F(ldr,     0b11, 0, 0b01)
-#undef F
-
-#define F(mnemonic, size, V, opc) \
-  void mnemonic(AsmPrefetchOp prfop, Address addr) { \
-    assert (addr.mode() == basic_offset, #mnemonic " supports only basic_offset address mode");             \
-    if (addr.index() == noreg) {                                                                            \
-      if (is_unsigned_imm_in_range(addr.disp(), 12, size)) {                                                \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | 0b01 << 24 | opc << 22 |                            \
-           encode_unsigned_imm(addr.disp(), 12, size, 10) |                                                 \
-           addr.base()->encoding_with_sp() << 5 | prfop);                                                   \
-      } else {                                                                                              \
-        assert(is_imm_in_range(addr.disp(), 9, 0), "offset is out of range");                               \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | encode_imm(addr.disp(), 9, 0, 12) |     \
-           addr.base()->encoding_with_sp() << 5 | prfop);                                                   \
-      }                                                                                                     \
-    } else {                                                                                                \
-      assert (addr.disp() == 0, "non-zero displacement for [reg + reg] address mode");                      \
-      assert ((addr.shift_imm() == 0) || (addr.shift_imm() == size), "invalid shift amount");               \
-      emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | 1 << 21 |                                 \
-         addr.index()->encoding_with_zr() << 16 | addr.extend() << 13 | (addr.shift_imm() != 0) << 12 |     \
-         0b10 << 10 | addr.base()->encoding_with_sp() << 5 | prfop);                                        \
-    }                                                                                                       \
-  }
-
-  F(prfm, 0b11, 0, 0b10)
-#undef F
-
-#define F(mnemonic, size, V, opc) \
-  void mnemonic(FloatRegister rt, Address addr) { \
-    int align_bits = (((opc & 0b10) >> 1) << 2) | size;                                                     \
-    if (addr.index() == noreg) {                                                                            \
-      if ((addr.mode() == basic_offset) && is_unsigned_imm_in_range(addr.disp(), 12, align_bits)) {         \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | 0b01 << 24 | opc << 22 |                            \
-           encode_unsigned_imm(addr.disp(), 12, align_bits, 10) |                                           \
-           addr.base()->encoding_with_sp() << 5 | rt->encoding());                                          \
-      } else {                                                                                              \
-        assert(is_imm_in_range(addr.disp(), 9, 0), "offset is out of range");                               \
-        emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | encode_imm(addr.disp(), 9, 0, 12) |     \
-           addr.mode() << 10 | addr.base()->encoding_with_sp() << 5 | rt->encoding());                      \
-      }                                                                                                     \
-    } else {                                                                                                \
-      assert (addr.disp() == 0, "non-zero displacement for [reg + reg] address mode");                      \
-      assert ((addr.shift_imm() == 0) || (addr.shift_imm() == align_bits), "invalid shift amount");         \
-      emit_int32(size << 30 | 0b111 << 27 | V << 26 | opc << 22 | 1 << 21 |                                 \
-         addr.index()->encoding_with_zr() << 16 | addr.extend() << 13 | (addr.shift_imm() != 0) << 12 |     \
-         0b10 << 10 | addr.base()->encoding_with_sp() << 5 | rt->encoding());                               \
-    }                                                                                                       \
-  }
-
-  F(str_b, 0b00, 1, 0b00)
-  F(ldr_b, 0b00, 1, 0b01)
-  F(str_h, 0b01, 1, 0b00)
-  F(ldr_h, 0b01, 1, 0b01)
-  F(str_s, 0b10, 1, 0b00)
-  F(ldr_s, 0b10, 1, 0b01)
-  F(str_d, 0b11, 1, 0b00)
-  F(ldr_d, 0b11, 1, 0b01)
-  F(str_q, 0b00, 1, 0b10)
-  F(ldr_q, 0b00, 1, 0b11)
-#undef F
-
-#define F(mnemonic, opc, V, L) \
-  void mnemonic(Register rt, Register rt2, Address addr) {                                                         \
-    assert((addr.mode() == basic_offset) || ((rt != addr.base()) && (rt2 != addr.base())), "should be different"); \
-    assert(!L || (rt != rt2), "should be different");                                                              \
-    assert(addr.index() == noreg, "[reg + reg] address mode is not available for load/store pair");                \
-    int align_bits = 2 + (opc >> 1);                                                                               \
-    int mode_encoding = (addr.mode() == basic_offset) ? 0b10 : addr.mode();                                        \
-    assert(is_imm_in_range(addr.disp(), 7, align_bits), "offset is out of range");                                 \
-    emit_int32(opc << 30 | 0b101 << 27 | V << 26 | mode_encoding << 23 | L << 22 |                                 \
-       encode_imm(addr.disp(), 7, align_bits, 15) | rt2->encoding_with_zr() << 10 |                                \
-       addr.base()->encoding_with_sp() << 5 | rt->encoding_with_zr());                                             \
-  }
-
-  F(stp_w, 0b00, 0, 0)
-  F(ldp_w, 0b00, 0, 1)
-  F(ldpsw, 0b01, 0, 1)
-  F(stp,   0b10, 0, 0)
-  F(ldp,   0b10, 0, 1)
-#undef F
-
-#define F(mnemonic, opc, V, L) \
-  void mnemonic(FloatRegister rt, FloatRegister rt2, Address addr) {                                                         \
-    assert(!L || (rt != rt2), "should be different");                                                              \
-    assert(addr.index() == noreg, "[reg + reg] address mode is not available for load/store pair");                \
-    int align_bits = 2 + opc;                                                                                      \
-    int mode_encoding = (addr.mode() == basic_offset) ? 0b10 : addr.mode();                                        \
-    assert(is_imm_in_range(addr.disp(), 7, align_bits), "offset is out of range");                                 \
-    emit_int32(opc << 30 | 0b101 << 27 | V << 26 | mode_encoding << 23 | L << 22 |                                 \
-       encode_imm(addr.disp(), 7, align_bits, 15) | rt2->encoding() << 10 |                                        \
-       addr.base()->encoding_with_sp() << 5 | rt->encoding());                                                     \
-  }
-
-  F(stp_s, 0b00, 1, 0)
-  F(ldp_s, 0b00, 1, 1)
-  F(stp_d, 0b01, 1, 0)
-  F(ldp_d, 0b01, 1, 1)
-  F(stp_q, 0b10, 1, 0)
-  F(ldp_q, 0b10, 1, 1)
-#undef F
-
-  // Data processing instructions
-
-#define F(mnemonic, sf, opc) \
-  void mnemonic(Register rd, Register rn, const LogicalImmediate& imm) {                      \
-    assert (imm.is_encoded(), "illegal immediate for logical instruction");                   \
-    assert (imm.is32bit() == (sf == 0), "immediate size does not match instruction size");    \
-    emit_int32(sf << 31 | opc << 29 | 0b100100 << 23 | imm.immN() << 22 | imm.immr() << 16 |  \
-        imm.imms() << 10 | rn->encoding_with_zr() << 5 |                                      \
-        ((opc == 0b11) ? rd->encoding_with_zr() : rd->encoding_with_sp()));                   \
-  }                                                                                           \
-  void mnemonic(Register rd, Register rn, uintx imm) {                                        \
-    LogicalImmediate limm(imm, (sf == 0));                                                    \
-    mnemonic(rd, rn, limm);                                                                   \
-  }                                                                                           \
-  void mnemonic(Register rd, Register rn, unsigned int imm) {                                 \
-    mnemonic(rd, rn, (uintx)imm);                                                             \
-  }
-
-  F(andr_w, 0, 0b00)
-  F(orr_w,  0, 0b01)
-  F(eor_w,  0, 0b10)
-  F(ands_w, 0, 0b11)
-
-  F(andr, 1, 0b00)
-  F(orr,  1, 0b01)
-  F(eor,  1, 0b10)
-  F(ands, 1, 0b11)
-#undef F
-
-  void tst(Register rn, unsigned int imm) {
-    ands(ZR, rn, imm);
-  }
-
-  void tst_w(Register rn, unsigned int imm) {
-    ands_w(ZR, rn, imm);
-  }
-
-#define F(mnemonic, sf, opc, N) \
-  void mnemonic(Register rd, Register rn, AsmOperand operand) { \
-    assert (operand.shift_imm() >> (5 + sf) == 0, "shift amount is too large");          \
-    emit_int32(sf << 31 | opc << 29 | 0b01010 << 24 | operand.shift() << 22 | N << 21 |  \
-        operand.reg()->encoding_with_zr() << 16 | operand.shift_imm() << 10 |            \
-        rn->encoding_with_zr() << 5 | rd->encoding_with_zr());                           \
-  }
-
-  F(andr_w, 0, 0b00, 0)
-  F(bic_w,  0, 0b00, 1)
-  F(orr_w,  0, 0b01, 0)
-  F(orn_w,  0, 0b01, 1)
-  F(eor_w,  0, 0b10, 0)
-  F(eon_w,  0, 0b10, 1)
-  F(ands_w, 0, 0b11, 0)
-  F(bics_w, 0, 0b11, 1)
-
-  F(andr, 1, 0b00, 0)
-  F(bic,  1, 0b00, 1)
-  F(orr,  1, 0b01, 0)
-  F(orn,  1, 0b01, 1)
-  F(eor,  1, 0b10, 0)
-  F(eon,  1, 0b10, 1)
-  F(ands, 1, 0b11, 0)
-  F(bics, 1, 0b11, 1)
-#undef F
-
-  void tst(Register rn, AsmOperand operand) {
-    ands(ZR, rn, operand);
-  }
-
-  void tst_w(Register rn, AsmOperand operand) {
-    ands_w(ZR, rn, operand);
-  }
-
-  void mvn(Register rd, AsmOperand operand) {
-    orn(rd, ZR, operand);
-  }
-
-  void mvn_w(Register rd, AsmOperand operand) {
-    orn_w(rd, ZR, operand);
-  }
-
-#define F(mnemonic, sf, op, S) \
-  void mnemonic(Register rd, Register rn, const ArithmeticImmediate& imm) {                       \
-    assert(imm.is_encoded(), "immediate is out of range");                                        \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b10001 << 24 | imm.shift() << 22 |                \
-        imm.imm() << 10 | rn->encoding_with_sp() << 5 |                                           \
-        (S == 1 ? rd->encoding_with_zr() : rd->encoding_with_sp()));                              \
-  }                                                                                               \
-  void mnemonic(Register rd, Register rn, int imm) {                                              \
-    mnemonic(rd, rn, ArithmeticImmediate(imm));                                                   \
-  }                                                                                               \
-  void mnemonic(Register rd, Register rn, int imm, AsmShift12 shift) {                            \
-    mnemonic(rd, rn, ArithmeticImmediate(imm, shift));                                            \
-  }                                                                                               \
-  void mnemonic(Register rd, Register rn, Register rm, AsmExtendOp extend, int shift_imm = 0) {   \
-    assert ((0 <= shift_imm) && (shift_imm <= 4), "shift amount is out of range");                \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b01011001 << 21 | rm->encoding_with_zr() << 16 |  \
-        extend << 13 | shift_imm << 10 | rn->encoding_with_sp() << 5 |                            \
-        (S == 1 ? rd->encoding_with_zr() : rd->encoding_with_sp()));                              \
-  }                                                                                               \
-  void mnemonic(Register rd, Register rn, AsmOperand operand) {                                   \
-    assert (operand.shift() != ror, "illegal shift type");                                        \
-    assert (operand.shift_imm() >> (5 + sf) == 0, "shift amount is too large");                   \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b01011 << 24 | operand.shift() << 22 |            \
-        operand.reg()->encoding_with_zr() << 16 | operand.shift_imm() << 10 |                     \
-        rn->encoding_with_zr() << 5 | rd->encoding_with_zr());                                    \
-  }
-
-  F(add_w,  0, 0, 0)
-  F(adds_w, 0, 0, 1)
-  F(sub_w,  0, 1, 0)
-  F(subs_w, 0, 1, 1)
-
-  F(add,    1, 0, 0)
-  F(adds,   1, 0, 1)
-  F(sub,    1, 1, 0)
-  F(subs,   1, 1, 1)
-#undef F
-
-  void mov(Register rd, Register rm) {
-    if ((rd == SP) || (rm == SP)) {
-      add(rd, rm, 0);
-    } else {
-      orr(rd, ZR, rm);
-    }
-  }
-
-  void mov_w(Register rd, Register rm) {
-    if ((rd == SP) || (rm == SP)) {
-      add_w(rd, rm, 0);
-    } else {
-      orr_w(rd, ZR, rm);
-    }
-  }
-
-  void cmp(Register rn, int imm) {
-    subs(ZR, rn, imm);
-  }
-
-  void cmp_w(Register rn, int imm) {
-    subs_w(ZR, rn, imm);
-  }
-
-  void cmp(Register rn, Register rm) {
-    assert (rm != SP, "SP should not be used as the 2nd operand of cmp");
-    if (rn == SP) {
-      subs(ZR, rn, rm, ex_uxtx);
-    } else {
-      subs(ZR, rn, rm);
-    }
-  }
-
-  void cmp_w(Register rn, Register rm) {
-    assert ((rn != SP) && (rm != SP), "SP should not be used in 32-bit cmp");
-    subs_w(ZR, rn, rm);
-  }
-
-  void cmp(Register rn, AsmOperand operand) {
-    assert (rn != SP, "SP is not allowed in cmp with shifted register (AsmOperand)");
-    subs(ZR, rn, operand);
-  }
-
-  void cmn(Register rn, int imm) {
-    adds(ZR, rn, imm);
-  }
-
-  void cmn_w(Register rn, int imm) {
-    adds_w(ZR, rn, imm);
-  }
-
-  void cmn(Register rn, Register rm) {
-    assert (rm != SP, "SP should not be used as the 2nd operand of cmp");
-    if (rn == SP) {
-      adds(ZR, rn, rm, ex_uxtx);
-    } else {
-      adds(ZR, rn, rm);
-    }
-  }
-
-  void cmn_w(Register rn, Register rm) {
-    assert ((rn != SP) && (rm != SP), "SP should not be used in 32-bit cmp");
-    adds_w(ZR, rn, rm);
-  }
-
-  void neg(Register rd, Register rm) {
-    sub(rd, ZR, rm);
-  }
-
-  void neg_w(Register rd, Register rm) {
-    sub_w(rd, ZR, rm);
-  }
-
-#define F(mnemonic, sf, op, S) \
-  void mnemonic(Register rd, Register rn, Register rm) { \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b11010000 << 21 | rm->encoding_with_zr() << 16 |   \
-        rn->encoding_with_zr() << 5 | rd->encoding_with_zr());                                     \
-  }
-
-  F(adc_w,  0, 0, 0)
-  F(adcs_w, 0, 0, 1)
-  F(sbc_w,  0, 1, 0)
-  F(sbcs_w, 0, 1, 1)
-
-  F(adc,    1, 0, 0)
-  F(adcs,   1, 0, 1)
-  F(sbc,    1, 1, 0)
-  F(sbcs,   1, 1, 1)
-#undef F
-
-#define F(mnemonic, sf, N) \
-  void mnemonic(Register rd, Register rn, Register rm, int lsb) { \
-    assert ((lsb >> (5 + sf)) == 0, "illegal least significant bit position");        \
-    emit_int32(sf << 31 | 0b100111 << 23 | N << 22 | rm->encoding_with_zr() << 16 |   \
-        lsb << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());            \
-  }
-
-  F(extr_w,  0, 0)
-  F(extr,    1, 1)
-#undef F
-
-#define F(mnemonic, sf, opc) \
-  void mnemonic(Register rd, int imm, int shift) { \
-    assert ((imm >> 16) == 0, "immediate is out of range");                       \
-    assert (((shift & 0xf) == 0) && ((shift >> (5 + sf)) == 0), "invalid shift"); \
-    emit_int32(sf << 31 | opc << 29 | 0b100101 << 23 | (shift >> 4) << 21 |       \
-        imm << 5 | rd->encoding_with_zr());                                       \
-  }
-
-  F(movn_w,  0, 0b00)
-  F(movz_w,  0, 0b10)
-  F(movk_w,  0, 0b11)
-  F(movn,    1, 0b00)
-  F(movz,    1, 0b10)
-  F(movk,    1, 0b11)
-#undef F
-
-  void mov(Register rd, int imm) {
-    assert ((imm >> 16) == 0, "immediate is out of range");
-    movz(rd, imm, 0);
-  }
-
-  void mov_w(Register rd, int imm) {
-    assert ((imm >> 16) == 0, "immediate is out of range");
-    movz_w(rd, imm, 0);
-  }
-
-#define F(mnemonic, sf, op, S) \
-  void mnemonic(Register rn, int imm, int nzcv, AsmCondition cond) { \
-    assert ((imm >> 5) == 0, "immediate is out of range");                      \
-    assert ((nzcv >> 4) == 0, "illegal nzcv");                                  \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b11010010 << 21 | imm << 16 |   \
-         cond << 12 | 1 << 11 | rn->encoding_with_zr() << 5 | nzcv);            \
-  }
-
-  F(ccmn_w, 0, 0, 1)
-  F(ccmp_w, 0, 1, 1)
-  F(ccmn,   1, 0, 1)
-  F(ccmp,   1, 1, 1)
-#undef F
-
-#define F(mnemonic, sf, op, S) \
-  void mnemonic(Register rn, Register rm, int nzcv, AsmCondition cond) { \
-    assert ((nzcv >> 4) == 0, "illegal nzcv");                                                    \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b11010010 << 21 | rm->encoding_with_zr() << 16 |  \
-        cond << 12 | rn->encoding_with_zr() << 5 | nzcv);                                         \
-  }
-
-  F(ccmn_w, 0, 0, 1)
-  F(ccmp_w, 0, 1, 1)
-  F(ccmn,   1, 0, 1)
-  F(ccmp,   1, 1, 1)
-#undef F
-
-#define F(mnemonic, sf, op, S, op2) \
-  void mnemonic(Register rd, Register rn, Register rm, AsmCondition cond) { \
-    emit_int32(sf << 31 | op << 30 | S << 29 | 0b11010100 << 21 | rm->encoding_with_zr() << 16 |  \
-        cond << 12 | op2 << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());           \
-  }
-
-  F(csel_w,  0, 0, 0, 0b00)
-  F(csinc_w, 0, 0, 0, 0b01)
-  F(csinv_w, 0, 1, 0, 0b00)
-  F(csneg_w, 0, 1, 0, 0b01)
-
-  F(csel,    1, 0, 0, 0b00)
-  F(csinc,   1, 0, 0, 0b01)
-  F(csinv,   1, 1, 0, 0b00)
-  F(csneg,   1, 1, 0, 0b01)
-#undef F
-
-  void cset(Register rd, AsmCondition cond) {
-    csinc(rd, ZR, ZR, inverse(cond));
-  }
-
-  void cset_w(Register rd, AsmCondition cond) {
-    csinc_w(rd, ZR, ZR, inverse(cond));
-  }
-
-  void csetm(Register rd, AsmCondition cond) {
-    csinv(rd, ZR, ZR, inverse(cond));
-  }
-
-  void csetm_w(Register rd, AsmCondition cond) {
-    csinv_w(rd, ZR, ZR, inverse(cond));
-  }
-
-  void cinc(Register rd, Register rn, AsmCondition cond) {
-    csinc(rd, rn, rn, inverse(cond));
-  }
-
-  void cinc_w(Register rd, Register rn, AsmCondition cond) {
-    csinc_w(rd, rn, rn, inverse(cond));
-  }
-
-  void cinv(Register rd, Register rn, AsmCondition cond) {
-    csinv(rd, rn, rn, inverse(cond));
-  }
-
-  void cinv_w(Register rd, Register rn, AsmCondition cond) {
-    csinv_w(rd, rn, rn, inverse(cond));
-  }
-
-#define F(mnemonic, sf, S, opcode) \
-  void mnemonic(Register rd, Register rn) { \
-    emit_int32(sf << 31 | 1 << 30 | S << 29 | 0b11010110 << 21 | opcode << 10 |  \
-        rn->encoding_with_zr() << 5 | rd->encoding_with_zr());                   \
-  }
-
-  F(rbit_w,  0, 0, 0b000000)
-  F(rev16_w, 0, 0, 0b000001)
-  F(rev_w,   0, 0, 0b000010)
-  F(clz_w,   0, 0, 0b000100)
-  F(cls_w,   0, 0, 0b000101)
-
-  F(rbit,    1, 0, 0b000000)
-  F(rev16,   1, 0, 0b000001)
-  F(rev32,   1, 0, 0b000010)
-  F(rev,     1, 0, 0b000011)
-  F(clz,     1, 0, 0b000100)
-  F(cls,     1, 0, 0b000101)
-#undef F
-
-#define F(mnemonic, sf, S, opcode) \
-  void mnemonic(Register rd, Register rn, Register rm) { \
-    emit_int32(sf << 31 | S << 29 | 0b11010110 << 21 | rm->encoding_with_zr() << 16 |  \
-        opcode << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());          \
-  }
-
-  F(udiv_w,  0, 0, 0b000010)
-  F(sdiv_w,  0, 0, 0b000011)
-  F(lslv_w,  0, 0, 0b001000)
-  F(lsrv_w,  0, 0, 0b001001)
-  F(asrv_w,  0, 0, 0b001010)
-  F(rorv_w,  0, 0, 0b001011)
-
-  F(udiv,    1, 0, 0b000010)
-  F(sdiv,    1, 0, 0b000011)
-  F(lslv,    1, 0, 0b001000)
-  F(lsrv,    1, 0, 0b001001)
-  F(asrv,    1, 0, 0b001010)
-  F(rorv,    1, 0, 0b001011)
-#undef F
-
-#define F(mnemonic, sf, op31, o0) \
-  void mnemonic(Register rd, Register rn, Register rm, Register ra) { \
-    emit_int32(sf << 31 | 0b11011 << 24 | op31 << 21 | rm->encoding_with_zr() << 16 |                     \
-        o0 << 15 | ra->encoding_with_zr() << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());  \
-  }
-
-  F(madd_w,  0, 0b000, 0)
-  F(msub_w,  0, 0b000, 1)
-  F(madd,    1, 0b000, 0)
-  F(msub,    1, 0b000, 1)
-
-  F(smaddl,  1, 0b001, 0)
-  F(smsubl,  1, 0b001, 1)
-  F(umaddl,  1, 0b101, 0)
-  F(umsubl,  1, 0b101, 1)
-#undef F
-
-  void mul(Register rd, Register rn, Register rm) {
-      madd(rd, rn, rm, ZR);
-  }
-
-  void mul_w(Register rd, Register rn, Register rm) {
-      madd_w(rd, rn, rm, ZR);
-  }
-
-#define F(mnemonic, sf, op31, o0) \
-  void mnemonic(Register rd, Register rn, Register rm) { \
-    emit_int32(sf << 31 | 0b11011 << 24 | op31 << 21 | rm->encoding_with_zr() << 16 |      \
-        o0 << 15 | 0b11111 << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());  \
-  }
-
-  F(smulh,   1, 0b010, 0)
-  F(umulh,   1, 0b110, 0)
-#undef F
-
-#define F(mnemonic, op) \
-  void mnemonic(Register rd, address addr) { \
-    intx offset;                                                        \
-    if (op == 0) {                                                      \
-      offset = addr - pc();                                             \
-    } else {                                                            \
-      offset = (((intx)addr) - (((intx)pc()) & ~0xfff)) >> 12;          \
-    }                                                                   \
-    assert (is_imm_in_range(offset, 21, 0), "offset is out of range");  \
-    emit_int32(op << 31 | (offset & 3) << 29 | 0b10000 << 24 |          \
-        encode_imm(offset >> 2, 19, 0, 5) | rd->encoding_with_zr());    \
-  }                                                                     \
-
-  F(adr,   0)
-  F(adrp,  1)
-#undef F
-
-  void adr(Register rd, Label& L) {
-    adr(rd, target(L));
-  }
-
-#define F(mnemonic, sf, opc, N)                                                \
-  void mnemonic(Register rd, Register rn, int immr, int imms) {                \
-    assert ((immr >> (5 + sf)) == 0, "immr is out of range");                  \
-    assert ((imms >> (5 + sf)) == 0, "imms is out of range");                  \
-    emit_int32(sf << 31 | opc << 29 | 0b100110 << 23 | N << 22 | immr << 16 |  \
-        imms << 10 | rn->encoding_with_zr() << 5 | rd->encoding_with_zr());    \
-  }
-
-  F(sbfm_w, 0, 0b00, 0)
-  F(bfm_w,  0, 0b01, 0)
-  F(ubfm_w, 0, 0b10, 0)
-
-  F(sbfm, 1, 0b00, 1)
-  F(bfm,  1, 0b01, 1)
-  F(ubfm, 1, 0b10, 1)
-#undef F
-
-#define F(alias, mnemonic, sf, immr, imms) \
-  void alias(Register rd, Register rn, int lsb, int width) {                        \
-    assert ((lsb >> (5 + sf)) == 0, "lsb is out of range");                         \
-    assert ((1 <= width) && (width <= (32 << sf) - lsb), "width is out of range");  \
-    mnemonic(rd, rn, immr, imms);                                                   \
-  }
-
-  F(bfi_w,   bfm_w,  0, (-lsb) & 0x1f, width - 1)
-  F(bfi,     bfm,    1, (-lsb) & 0x3f, width - 1)
-  F(bfxil_w, bfm_w,  0, lsb,           lsb + width - 1)
-  F(bfxil,   bfm,    1, lsb,           lsb + width - 1)
-  F(sbfiz_w, sbfm_w, 0, (-lsb) & 0x1f, width - 1)
-  F(sbfiz,   sbfm,   1, (-lsb) & 0x3f, width - 1)
-  F(sbfx_w,  sbfm_w, 0, lsb,           lsb + width - 1)
-  F(sbfx,    sbfm,   1, lsb,           lsb + width - 1)
-  F(ubfiz_w, ubfm_w, 0, (-lsb) & 0x1f, width - 1)
-  F(ubfiz,   ubfm,   1, (-lsb) & 0x3f, width - 1)
-  F(ubfx_w,  ubfm_w, 0, lsb,           lsb + width - 1)
-  F(ubfx,    ubfm,   1, lsb,           lsb + width - 1)
-#undef F
-
-#define F(alias, mnemonic, sf, immr, imms) \
-  void alias(Register rd, Register rn, int shift) {              \
-    assert ((shift >> (5 + sf)) == 0, "shift is out of range");  \
-    mnemonic(rd, rn, immr, imms);                                \
-  }
-
-  F(_asr_w, sbfm_w, 0, shift, 31)
-  F(_asr,   sbfm,   1, shift, 63)
-  F(_lsl_w, ubfm_w, 0, (-shift) & 0x1f, 31 - shift)
-  F(_lsl,   ubfm,   1, (-shift) & 0x3f, 63 - shift)
-  F(_lsr_w, ubfm_w, 0, shift, 31)
-  F(_lsr,   ubfm,   1, shift, 63)
-#undef F
-
-#define F(alias, mnemonic, immr, imms) \
-  void alias(Register rd, Register rn) {   \
-    mnemonic(rd, rn, immr, imms);          \
-  }
-
-  F(sxtb_w, sbfm_w, 0, 7)
-  F(sxtb,   sbfm,   0, 7)
-  F(sxth_w, sbfm_w, 0, 15)
-  F(sxth,   sbfm,   0, 15)
-  F(sxtw,   sbfm,   0, 31)
-  F(uxtb_w, ubfm_w, 0, 7)
-  F(uxtb,   ubfm,   0, 7)
-  F(uxth_w, ubfm_w, 0, 15)
-  F(uxth,   ubfm,   0, 15)
-#undef F
-
-  // Branch instructions
-
-#define F(mnemonic, op) \
-  void mnemonic(Register rn) {                                                             \
-    emit_int32(0b1101011 << 25 | op << 21 | 0b11111 << 16 | rn->encoding_with_zr() << 5);  \
-  }
-
-  F(br,  0b00)
-  F(blr, 0b01)
-  F(ret, 0b10)
-#undef F
-
-  void ret() {
-    ret(LR);
-  }
-
-#define F(mnemonic, op) \
-  void mnemonic(address target) {                                         \
-    intx offset = target - pc();                                          \
-    assert (is_offset_in_range(offset, 26), "offset is out of range");    \
-    emit_int32(op << 31 | 0b00101 << 26 | encode_offset(offset, 26, 0));  \
-  }
-
-  F(b,  0)
-  F(bl, 1)
-#undef F
-
-  void b(address target, AsmCondition cond) {
-    if (cond == al) {
-      b(target);
-    } else {
-      intx offset = target - pc();
-      assert (is_offset_in_range(offset, 19), "offset is out of range");
-      emit_int32(0b0101010 << 25 | encode_offset(offset, 19, 5) | cond);
-    }
-  }
-
-
-#define F(mnemonic, sf, op)                                             \
-  void mnemonic(Register rt, address target) {                          \
-    intx offset = target - pc();                                        \
-    assert (is_offset_in_range(offset, 19), "offset is out of range");  \
-    emit_int32(sf << 31 | 0b011010 << 25 | op << 24 | encode_offset(offset, 19, 5) | rt->encoding_with_zr()); \
-  }                                                                     \
-
-  F(cbz_w,  0, 0)
-  F(cbnz_w, 0, 1)
-  F(cbz,    1, 0)
-  F(cbnz,   1, 1)
-#undef F
-
-#define F(mnemonic, op)                                                 \
-  void mnemonic(Register rt, int bit, address target) {                 \
-    intx offset = target - pc();                                        \
-    assert (is_offset_in_range(offset, 14), "offset is out of range");  \
-    assert (0 <= bit && bit < 64, "bit number is out of range");        \
-    emit_int32((bit >> 5) << 31 | 0b011011 << 25 | op << 24 | (bit & 0x1f) << 19 | \
-        encode_offset(offset, 14, 5) | rt->encoding_with_zr());         \
-  }                                                                     \
-
-  F(tbz,  0)
-  F(tbnz, 1)
-#undef F
-
-  // System instructions
-
-  enum DMB_Opt {
-    DMB_ld  = 0b1101,
-    DMB_st  = 0b1110,
-    DMB_all = 0b1111
-  };
-
-#define F(mnemonic, L, op0, op1, CRn, op2, Rt) \
-  void mnemonic(DMB_Opt option) {                                       \
-    emit_int32(0b1101010100 << 22 | L << 21 | op0 << 19 | op1 << 16 |   \
-        CRn << 12 | option << 8 | op2 << 5 | Rt);                       \
-  }
-
-  F(dsb,  0, 0b00, 0b011, 0b0011, 0b100, 0b11111)
-  F(dmb,  0, 0b00, 0b011, 0b0011, 0b101, 0b11111)
-#undef F
-
-#define F(mnemonic, L, op0, op1, CRn, Rt) \
-  void mnemonic(int imm) {                                              \
-    assert ((imm >> 7) == 0, "immediate is out of range");              \
-    emit_int32(0b1101010100 << 22 | L << 21 | op0 << 19 | op1 << 16 |   \
-        CRn << 12 | imm << 5 | Rt);                                     \
-  }
-
-  F(hint, 0, 0b00, 0b011, 0b0010, 0b11111)
-#undef F
-
-  void nop() {
-    hint(0);
-  }
-
-  void yield() {
-    hint(1);
-  }
-
-#define F(mnemonic, opc, op2, LL) \
-  void mnemonic(int imm = 0) {                                           \
-    assert ((imm >> 16) == 0, "immediate is out of range");              \
-    emit_int32(0b11010100 << 24 | opc << 21 | imm << 5 | op2 << 2 | LL); \
-  }
-
-  F(brk, 0b001, 0b000, 0b00)
-  F(hlt, 0b010, 0b000, 0b00)
-  F(dpcs1, 0b101, 0b000, 0b01)
-#undef F
-
-  enum SystemRegister { // o0<1> op1<3> CRn<4> CRm<4> op2<3>
-    SysReg_NZCV = 0b101101000010000,
-    SysReg_FPCR = 0b101101000100000,
-  };
-
-  void mrs(Register rt, SystemRegister systemReg) {
-    assert ((systemReg >> 15) == 0, "systemReg is out of range");
-    emit_int32(0b110101010011 << 20 | systemReg << 5 | rt->encoding_with_zr());
-  }
-
-  void msr(SystemRegister systemReg, Register rt) {
-    assert ((systemReg >> 15) == 0, "systemReg is out of range");
-    emit_int32(0b110101010001 << 20 | systemReg << 5 | rt->encoding_with_zr());
-  }
-
-  // Floating-point instructions
-
-#define F(mnemonic, M, S, type, opcode2) \
-  void mnemonic(FloatRegister rn, FloatRegister rm) {                         \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |     \
-        rm->encoding() << 16 | 0b1000 << 10 | rn->encoding() << 5 | opcode2); \
-  }
-
-  F(fcmp_s,   0, 0, 0b00, 0b00000)
-  F(fcmpe_s,  0, 0, 0b00, 0b01000)
-  F(fcmp_d,   0, 0, 0b01, 0b00000)
-  F(fcmpe_d,  0, 0, 0b01, 0b10000)
-#undef F
-
-#define F(mnemonic, M, S, type, opcode2) \
-  void mnemonic(FloatRegister rn) {                                           \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |     \
-        0b1000 << 10 | rn->encoding() << 5 | opcode2);                        \
-  }
-
-  F(fcmp0_s,   0, 0, 0b00, 0b01000)
-  F(fcmpe0_s,  0, 0, 0b00, 0b11000)
-  F(fcmp0_d,   0, 0, 0b01, 0b01000)
-  F(fcmpe0_d,  0, 0, 0b01, 0b11000)
-#undef F
-
-#define F(mnemonic, M, S, type, op) \
-  void mnemonic(FloatRegister rn, FloatRegister rm, int nzcv, AsmCondition cond) { \
-    assert ((nzcv >> 4) == 0, "illegal nzcv");                                                  \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |                       \
-        rm->encoding() << 16 | cond << 12 | 0b01 << 10 | rn->encoding() << 5 | op << 4 | nzcv); \
-  }
-
-  F(fccmp_s,   0, 0, 0b00, 0)
-  F(fccmpe_s,  0, 0, 0b00, 1)
-  F(fccmp_d,   0, 0, 0b01, 0)
-  F(fccmpe_d,  0, 0, 0b01, 1)
-#undef F
-
-#define F(mnemonic, M, S, type) \
-  void mnemonic(FloatRegister rd, FloatRegister rn, FloatRegister rm, AsmCondition cond) { \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |                       \
-        rm->encoding() << 16 | cond << 12 | 0b11 << 10 | rn->encoding() << 5 | rd->encoding()); \
-  }
-
-  F(fcsel_s,   0, 0, 0b00)
-  F(fcsel_d,   0, 0, 0b01)
-#undef F
-
-#define F(mnemonic, M, S, type, opcode) \
-  void mnemonic(FloatRegister rd, FloatRegister rn) { \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |      \
-        opcode << 15 | 0b10000 << 10 | rn->encoding() << 5 | rd->encoding());  \
-  }
-
-  F(fmov_s,   0, 0, 0b00, 0b000000)
-  F(fabs_s,   0, 0, 0b00, 0b000001)
-  F(fneg_s,   0, 0, 0b00, 0b000010)
-  F(fsqrt_s,  0, 0, 0b00, 0b000011)
-  F(fcvt_ds,  0, 0, 0b00, 0b000101)
-  F(fcvt_hs,  0, 0, 0b00, 0b000111)
-  F(frintn_s, 0, 0, 0b00, 0b001000)
-  F(frintp_s, 0, 0, 0b00, 0b001001)
-  F(frintm_s, 0, 0, 0b00, 0b001010)
-  F(frintz_s, 0, 0, 0b00, 0b001011)
-  F(frinta_s, 0, 0, 0b00, 0b001100)
-  F(frintx_s, 0, 0, 0b00, 0b001110)
-  F(frinti_s, 0, 0, 0b00, 0b001111)
-
-  F(fmov_d,   0, 0, 0b01, 0b000000)
-  F(fabs_d,   0, 0, 0b01, 0b000001)
-  F(fneg_d,   0, 0, 0b01, 0b000010)
-  F(fsqrt_d,  0, 0, 0b01, 0b000011)
-  F(fcvt_sd,  0, 0, 0b01, 0b000100)
-  F(fcvt_hd,  0, 0, 0b01, 0b000111)
-  F(frintn_d, 0, 0, 0b01, 0b001000)
-  F(frintp_d, 0, 0, 0b01, 0b001001)
-  F(frintm_d, 0, 0, 0b01, 0b001010)
-  F(frintz_d, 0, 0, 0b01, 0b001011)
-  F(frinta_d, 0, 0, 0b01, 0b001100)
-  F(frintx_d, 0, 0, 0b01, 0b001110)
-  F(frinti_d, 0, 0, 0b01, 0b001111)
-
-  F(fcvt_sh,  0, 0, 0b11, 0b000100)
-  F(fcvt_dh,  0, 0, 0b11, 0b000101)
-#undef F
-
-#define F(mnemonic, M, S, type, opcode) \
-  void mnemonic(FloatRegister rd, FloatRegister rn, FloatRegister rm) { \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |                          \
-        rm->encoding() << 16 | opcode << 12 | 0b10 << 10 | rn->encoding() << 5 | rd->encoding());  \
-  }
-
-  F(fmul_s,   0, 0, 0b00, 0b0000)
-  F(fdiv_s,   0, 0, 0b00, 0b0001)
-  F(fadd_s,   0, 0, 0b00, 0b0010)
-  F(fsub_s,   0, 0, 0b00, 0b0011)
-  F(fmax_s,   0, 0, 0b00, 0b0100)
-  F(fmin_s,   0, 0, 0b00, 0b0101)
-  F(fmaxnm_s, 0, 0, 0b00, 0b0110)
-  F(fminnm_s, 0, 0, 0b00, 0b0111)
-  F(fnmul_s,  0, 0, 0b00, 0b1000)
-
-  F(fmul_d,   0, 0, 0b01, 0b0000)
-  F(fdiv_d,   0, 0, 0b01, 0b0001)
-  F(fadd_d,   0, 0, 0b01, 0b0010)
-  F(fsub_d,   0, 0, 0b01, 0b0011)
-  F(fmax_d,   0, 0, 0b01, 0b0100)
-  F(fmin_d,   0, 0, 0b01, 0b0101)
-  F(fmaxnm_d, 0, 0, 0b01, 0b0110)
-  F(fminnm_d, 0, 0, 0b01, 0b0111)
-  F(fnmul_d,  0, 0, 0b01, 0b1000)
-#undef F
-
-#define F(mnemonic, M, S, type, o1, o0) \
-  void mnemonic(FloatRegister rd, FloatRegister rn, FloatRegister rm, FloatRegister ra) { \
-    emit_int32(M << 31 | S << 29 | 0b11111 << 24 | type << 22 | o1 << 21 | rm->encoding() << 16 |  \
-         o0 << 15 | ra->encoding() << 10 | rn->encoding() << 5 | rd->encoding());                  \
-  }
-
-  F(fmadd_s,  0, 0, 0b00, 0, 0)
-  F(fmsub_s,  0, 0, 0b00, 0, 1)
-  F(fnmadd_s, 0, 0, 0b00, 1, 0)
-  F(fnmsub_s, 0, 0, 0b00, 1, 1)
-
-  F(fmadd_d,  0, 0, 0b01, 0, 0)
-  F(fmsub_d,  0, 0, 0b01, 0, 1)
-  F(fnmadd_d, 0, 0, 0b01, 1, 0)
-  F(fnmsub_d, 0, 0, 0b01, 1, 1)
-#undef F
-
-#define F(mnemonic, M, S, type) \
-  void mnemonic(FloatRegister rd, int imm8) { \
-    assert ((imm8 >> 8) == 0, "immediate is out of range");                \
-    emit_int32(M << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |  \
-         imm8 << 13 | 0b100 << 10 | rd->encoding());                       \
-  }
-
-  F(fmov_s, 0, 0, 0b00)
-  F(fmov_d, 0, 0, 0b01)
-#undef F
-
-#define F(mnemonic, sf, S, type, rmode, opcode) \
-  void mnemonic(Register rd, FloatRegister rn) {                                     \
-    emit_int32(sf << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |           \
-         rmode << 19 | opcode << 16 | rn->encoding() << 5 | rd->encoding_with_zr()); \
-  }
-
-  F(fcvtns_ws, 0, 0, 0b00, 0b00, 0b000)
-  F(fcvtnu_ws, 0, 0, 0b00, 0b00, 0b001)
-  F(fcvtas_ws, 0, 0, 0b00, 0b00, 0b100)
-  F(fcvtau_ws, 0, 0, 0b00, 0b00, 0b101)
-  F(fmov_ws,   0, 0, 0b00, 0b00, 0b110)
-  F(fcvtps_ws, 0, 0, 0b00, 0b01, 0b000)
-  F(fcvtpu_ws, 0, 0, 0b00, 0b01, 0b001)
-  F(fcvtms_ws, 0, 0, 0b00, 0b10, 0b000)
-  F(fcvtmu_ws, 0, 0, 0b00, 0b10, 0b001)
-  F(fcvtzs_ws, 0, 0, 0b00, 0b11, 0b000)
-  F(fcvtzu_ws, 0, 0, 0b00, 0b11, 0b001)
-
-  F(fcvtns_wd, 0, 0, 0b01, 0b00, 0b000)
-  F(fcvtnu_wd, 0, 0, 0b01, 0b00, 0b001)
-  F(fcvtas_wd, 0, 0, 0b01, 0b00, 0b100)
-  F(fcvtau_wd, 0, 0, 0b01, 0b00, 0b101)
-  F(fcvtps_wd, 0, 0, 0b01, 0b01, 0b000)
-  F(fcvtpu_wd, 0, 0, 0b01, 0b01, 0b001)
-  F(fcvtms_wd, 0, 0, 0b01, 0b10, 0b000)
-  F(fcvtmu_wd, 0, 0, 0b01, 0b10, 0b001)
-  F(fcvtzs_wd, 0, 0, 0b01, 0b11, 0b000)
-  F(fcvtzu_wd, 0, 0, 0b01, 0b11, 0b001)
-
-  F(fcvtns_xs, 1, 0, 0b00, 0b00, 0b000)
-  F(fcvtnu_xs, 1, 0, 0b00, 0b00, 0b001)
-  F(fcvtas_xs, 1, 0, 0b00, 0b00, 0b100)
-  F(fcvtau_xs, 1, 0, 0b00, 0b00, 0b101)
-  F(fcvtps_xs, 1, 0, 0b00, 0b01, 0b000)
-  F(fcvtpu_xs, 1, 0, 0b00, 0b01, 0b001)
-  F(fcvtms_xs, 1, 0, 0b00, 0b10, 0b000)
-  F(fcvtmu_xs, 1, 0, 0b00, 0b10, 0b001)
-  F(fcvtzs_xs, 1, 0, 0b00, 0b11, 0b000)
-  F(fcvtzu_xs, 1, 0, 0b00, 0b11, 0b001)
-
-  F(fcvtns_xd, 1, 0, 0b01, 0b00, 0b000)
-  F(fcvtnu_xd, 1, 0, 0b01, 0b00, 0b001)
-  F(fcvtas_xd, 1, 0, 0b01, 0b00, 0b100)
-  F(fcvtau_xd, 1, 0, 0b01, 0b00, 0b101)
-  F(fmov_xd,   1, 0, 0b01, 0b00, 0b110)
-  F(fcvtps_xd, 1, 0, 0b01, 0b01, 0b000)
-  F(fcvtpu_xd, 1, 0, 0b01, 0b01, 0b001)
-  F(fcvtms_xd, 1, 0, 0b01, 0b10, 0b000)
-  F(fcvtmu_xd, 1, 0, 0b01, 0b10, 0b001)
-  F(fcvtzs_xd, 1, 0, 0b01, 0b11, 0b000)
-  F(fcvtzu_xd, 1, 0, 0b01, 0b11, 0b001)
-
-  F(fmov_xq,   1, 0, 0b10, 0b01, 0b110)
-#undef F
-
-#define F(mnemonic, sf, S, type, rmode, opcode) \
-  void mnemonic(FloatRegister rd, Register rn) {                                     \
-    emit_int32(sf << 31 | S << 29 | 0b11110 << 24 | type << 22 | 1 << 21 |           \
-         rmode << 19 | opcode << 16 | rn->encoding_with_zr() << 5 | rd->encoding()); \
-  }
-
-  F(scvtf_sw,  0, 0, 0b00, 0b00, 0b010)
-  F(ucvtf_sw,  0, 0, 0b00, 0b00, 0b011)
-  F(fmov_sw,   0, 0, 0b00, 0b00, 0b111)
-  F(scvtf_dw,  0, 0, 0b01, 0b00, 0b010)
-  F(ucvtf_dw,  0, 0, 0b01, 0b00, 0b011)
-
-  F(scvtf_sx,  1, 0, 0b00, 0b00, 0b010)
-  F(ucvtf_sx,  1, 0, 0b00, 0b00, 0b011)
-  F(scvtf_dx,  1, 0, 0b01, 0b00, 0b010)
-  F(ucvtf_dx,  1, 0, 0b01, 0b00, 0b011)
-  F(fmov_dx,   1, 0, 0b01, 0b00, 0b111)
-
-  F(fmov_qx,   1, 0, 0b10, 0b01, 0b111)
-#undef F
-
-#define F(mnemonic, opcode) \
-  void mnemonic(FloatRegister Vd, FloatRegister Vn) {                                     \
-    emit_int32( opcode << 10 | Vn->encoding() << 5 | Vd->encoding());             \
-  }
-
-  F(aese, 0b0100111000101000010010);
-  F(aesd, 0b0100111000101000010110);
-  F(aesmc, 0b0100111000101000011010);
-  F(aesimc, 0b0100111000101000011110);
-#undef F
-
-#ifdef COMPILER2
-  typedef VFP::double_num double_num;
-  typedef VFP::float_num  float_num;
-#endif
-
-  void vcnt(FloatRegister Dd, FloatRegister Dn, int quad = 0, int size = 0) {
-    // emitted at VM startup to detect whether the instruction is available
-    assert(!VM_Version::is_initialized() || VM_Version::has_simd(), "simd instruction");
-    assert(size == 0, "illegal size value");
-    emit_int32(0x0e205800 | quad << 30 | size << 22 | Dn->encoding() << 5 | Dd->encoding());
-  }
-
-#ifdef COMPILER2
-  void addv(FloatRegister Dd, FloatRegister Dm, int quad, int size) {
-    // emitted at VM startup to detect whether the instruction is available
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert((quad & ~1) == 0, "illegal value");
-    assert(size >= 0 && size < 3, "illegal value");
-    assert(((size << 1) | quad) != 4, "illegal values (size 2, quad 0)");
-    emit_int32(0x0e31b800 | quad << 30 | size << 22 | Dm->encoding() << 5 | Dd->encoding());
-  }
-
-  enum VElem_Size {
-    VELEM_SIZE_8  = 0x00,
-    VELEM_SIZE_16 = 0x01,
-    VELEM_SIZE_32 = 0x02,
-    VELEM_SIZE_64 = 0x03
-  };
-
-  enum VLD_Type {
-    VLD1_TYPE_1_REG  = 0b0111,
-    VLD1_TYPE_2_REGS = 0b1010,
-    VLD1_TYPE_3_REGS = 0b0110,
-    VLD1_TYPE_4_REGS = 0b0010
-  };
-
-  enum VFloat_Arith_Size {
-    VFA_SIZE_F32 = 0b0,
-    VFA_SIZE_F64 = 0b1
-  };
-
-#define F(mnemonic, U, S, P) \
-  void mnemonic(FloatRegister fd, FloatRegister fn, FloatRegister fm,    \
-                int size, int quad) {                                    \
-    assert(VM_Version::has_simd(), "simd instruction");                  \
-    assert(!(size == VFA_SIZE_F64 && !quad), "reserved");                \
-    assert((size & 1) == size, "overflow");                              \
-    emit_int32(quad << 30 | U << 29 | 0b01110 << 24 |                    \
-               S << 23 | size << 22 | 1 << 21 | P << 11 | 1 << 10 |      \
-               fm->encoding() << 16 |                                    \
-               fn->encoding() <<  5 |                                    \
-               fd->encoding());                                          \
-  }
-
-  F(vaddF, 0, 0, 0b11010)  // Vd = Vn + Vm (float)
-  F(vsubF, 0, 1, 0b11010)  // Vd = Vn - Vm (float)
-  F(vmulF, 1, 0, 0b11011)  // Vd = Vn - Vm (float)
-  F(vdivF, 1, 0, 0b11111)  // Vd = Vn / Vm (float)
-#undef F
-
-#define F(mnemonic, U) \
-  void mnemonic(FloatRegister fd, FloatRegister fm, FloatRegister fn,    \
-                int size, int quad) {                                    \
-    assert(VM_Version::has_simd(), "simd instruction");                  \
-    assert(!(size == VELEM_SIZE_64 && !quad), "reserved");               \
-    assert((size & 0b11) == size, "overflow");                           \
-    int R = 0; /* rounding */                                            \
-    int S = 0; /* saturating */                                          \
-    emit_int32(quad << 30 | U << 29 | 0b01110 << 24 | size << 22 |       \
-               1 << 21 | R << 12 | S << 11 | 0b10001 << 10 |             \
-               fm->encoding() << 16 |                                    \
-               fn->encoding() <<  5 |                                    \
-               fd->encoding());                                          \
-  }
-
-  F(vshlSI, 0)  // Vd = ashift(Vn,Vm) (int)
-  F(vshlUI, 1)  // Vd = lshift(Vn,Vm) (int)
-#undef F
-
-#define F(mnemonic, U, P, M) \
-  void mnemonic(FloatRegister fd, FloatRegister fn, FloatRegister fm,    \
-                int size, int quad) {                                    \
-    assert(VM_Version::has_simd(), "simd instruction");                  \
-    assert(!(size == VELEM_SIZE_64 && !quad), "reserved");               \
-    assert(!(size == VELEM_SIZE_64 && M), "reserved");                   \
-    assert((size & 0b11) == size, "overflow");                           \
-    emit_int32(quad << 30 | U << 29 | 0b01110 << 24 | size << 22 |       \
-               1 << 21 | P << 11 | 1 << 10 |                             \
-               fm->encoding() << 16 |                                    \
-               fn->encoding() <<  5 |                                    \
-               fd->encoding());                                          \
-  }
-
-  F(vmulI, 0, 0b10011,  true)  // Vd = Vn * Vm (int)
-  F(vaddI, 0, 0b10000, false)  // Vd = Vn + Vm (int)
-  F(vsubI, 1, 0b10000, false)  // Vd = Vn - Vm (int)
-#undef F
-
-#define F(mnemonic, U, O) \
-  void mnemonic(FloatRegister fd, FloatRegister fn, FloatRegister fm,    \
-                int quad) {                                              \
-    assert(VM_Version::has_simd(), "simd instruction");                  \
-    emit_int32(quad << 30 | U << 29 | 0b01110 << 24 | O << 22 |          \
-               1 << 21 | 0b00011 << 11 | 1 << 10 |                       \
-               fm->encoding() << 16 |                                    \
-               fn->encoding() <<  5 |                                    \
-               fd->encoding());                                          \
-  }
-
-  F(vandI, 0, 0b00)  // Vd = Vn & Vm (int)
-  F(vorI,  0, 0b10)  // Vd = Vn | Vm (int)
-  F(vxorI, 1, 0b00)  // Vd = Vn ^ Vm (int)
-#undef F
-
-  void vnegI(FloatRegister fd, FloatRegister fn, int size, int quad) {
-    int U = 1;
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(quad || size != VELEM_SIZE_64, "reserved");
-    emit_int32(quad << 30 | U << 29 | 0b01110 << 24 |
-              size << 22 | 0b100000101110 << 10 |
-              fn->encoding() << 5 |
-              fd->encoding() << 0);
-  }
-
-  void vshli(FloatRegister fd, FloatRegister fn, int esize, int imm, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-
-    if (imm >= esize) {
-      // maximum shift gives all zeroes, direction doesn't matter,
-      // but only available for shift right
-      vshri(fd, fn, esize, esize, true /* unsigned */, quad);
-      return;
-    }
-    assert(imm >= 0 && imm < esize, "out of range");
-
-    int imm7 = esize + imm;
-    int immh = imm7 >> 3;
-    assert(immh != 0, "encoding constraint");
-    assert((uint)immh < 16, "sanity");
-    assert(((immh >> 2) | quad) != 0b10, "reserved");
-    emit_int32(quad << 30 | 0b011110 << 23 | imm7 << 16 |
-               0b010101 << 10 | fn->encoding() << 5 | fd->encoding() << 0);
-  }
-
-  void vshri(FloatRegister fd, FloatRegister fn, int esize, int imm,
-             bool U /* unsigned */, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(imm > 0, "out of range");
-    if (imm >= esize) {
-      // maximum shift (all zeroes)
-      imm = esize;
-    }
-    int imm7 = 2 * esize - imm ;
-    int immh = imm7 >> 3;
-    assert(immh != 0, "encoding constraint");
-    assert((uint)immh < 16, "sanity");
-    assert(((immh >> 2) | quad) != 0b10, "reserved");
-    emit_int32(quad << 30 | U << 29 | 0b011110 << 23 | imm7 << 16 |
-               0b000001 << 10 | fn->encoding() << 5 | fd->encoding() << 0);
-  }
-  void vshrUI(FloatRegister fd, FloatRegister fm, int size, int imm, int quad) {
-    vshri(fd, fm, size, imm, true /* unsigned */, quad);
-  }
-  void vshrSI(FloatRegister fd, FloatRegister fm, int size, int imm, int quad) {
-    vshri(fd, fm, size, imm, false /* signed */, quad);
-  }
-
-  void vld1(FloatRegister Vt, Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(addr.disp() == 0 || addr.disp() == 16, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 1;
-    int opcode = VLD1_TYPE_1_REG;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vst1(FloatRegister Vt, Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(addr.disp() == 0 || addr.disp() == 16, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 0;
-    int opcode = VLD1_TYPE_1_REG;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vld1(FloatRegister Vt, FloatRegister Vt2, Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(Vt->successor() == Vt2, "Registers must be ordered");
-    assert(addr.disp() == 0 || addr.disp() == 32, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 1;
-    int opcode = VLD1_TYPE_2_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vst1(FloatRegister Vt, FloatRegister Vt2, Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(Vt->successor() == Vt2, "Registers must be ordered");
-    assert(bits == 128, "unsupported");
-    assert(addr.disp() == 0 || addr.disp() == 32, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 0;
-    int opcode = VLD1_TYPE_2_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vld1(FloatRegister Vt, FloatRegister Vt2, FloatRegister Vt3,
-            Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(Vt->successor() == Vt2 && Vt2->successor() == Vt3,
-          "Registers must be ordered");
-    assert(addr.disp() == 0 || addr.disp() == 48, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 1;
-    int opcode = VLD1_TYPE_3_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vst1(FloatRegister Vt, FloatRegister Vt2, FloatRegister Vt3,
-            Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(Vt->successor() == Vt2 &&  Vt2->successor() == Vt3,
-           "Registers must be ordered");
-    assert(addr.disp() == 0 || addr.disp() == 48, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 0;
-    int opcode = VLD1_TYPE_3_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vld1(FloatRegister Vt, FloatRegister Vt2, FloatRegister Vt3,
-            FloatRegister Vt4, Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(Vt->successor() == Vt2 && Vt2->successor() == Vt3 &&
-           Vt3->successor() == Vt4, "Registers must be ordered");
-    assert(addr.disp() == 0 || addr.disp() == 64, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 1;
-    int opcode = VLD1_TYPE_4_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void vst1(FloatRegister Vt, FloatRegister Vt2, FloatRegister Vt3,
-            FloatRegister Vt4,  Address addr, VElem_Size size, int bits) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(bits == 128, "unsupported");
-    assert(Vt->successor() == Vt2 && Vt2->successor() == Vt3 &&
-           Vt3->successor() == Vt4, "Registers must be ordered");
-    assert(addr.disp() == 0 || addr.disp() == 64, "must be");
-    int type = 0b11; // 2D
-    int quad = 1;
-    int L = 0;
-    int opcode = VLD1_TYPE_4_REGS;
-    emit_int32(quad << 30 | 0b11 << 26 | L << 22 | opcode << 12 | size << 10 |
-               Vt->encoding() << 0 | addr.encoding_simd());
-  }
-
-  void rev32(FloatRegister Vd, FloatRegister Vn, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(size == VELEM_SIZE_8 || size == VELEM_SIZE_16, "must be");
-    emit_int32(quad << 30 | 0b101110 << 24 | size << 22 |
-               0b100000000010 << 10 | Vn->encoding() << 5 | Vd->encoding());
-  }
-
-  void eor(FloatRegister Vd, FloatRegister Vn,  FloatRegister Vm, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(size == VELEM_SIZE_8, "must be");
-    emit_int32(quad << 30 | 0b101110001 << 21 | Vm->encoding() << 16 |
-               0b000111 << 10 | Vn->encoding() << 5 | Vd->encoding());
-  }
-
-  void orr(FloatRegister Vd, FloatRegister Vn,  FloatRegister Vm, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(size == VELEM_SIZE_8, "must be");
-    emit_int32(quad << 30 | 0b001110101 << 21 | Vm->encoding() << 16 |
-               0b000111 << 10 | Vn->encoding() << 5 | Vd->encoding());
-  }
-
-  void vmovI(FloatRegister Dd, int imm8, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(imm8 >= 0 && imm8 < 256, "out of range");
-    int op;
-    int cmode;
-    switch (size) {
-    case VELEM_SIZE_8:
-      op = 0;
-      cmode = 0b1110;
-      break;
-    case VELEM_SIZE_16:
-      op = 0;
-      cmode = 0b1000;
-      break;
-    case VELEM_SIZE_32:
-      op = 0;
-      cmode = 0b0000;
-      break;
-    default:
-      cmode = 0;
-      ShouldNotReachHere();
-    }
-    int abc = imm8 >> 5;
-    int defgh = imm8 & 0b11111;
-    emit_int32(quad << 30 | op << 29 | 0b1111 << 24 |
-               abc << 16 | cmode << 12 | 0b01 << 10 |
-               defgh << 5 | Dd->encoding() << 0);
-  }
-
-  void vdupI(FloatRegister Dd, Register Rn, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    assert(size <= 3, "unallocated encoding");
-    assert(size != 3 || quad == 1, "reserved");
-    int imm5 = 1 << size;
-#ifdef ASSERT
-    switch (size) {
-    case VELEM_SIZE_8:
-      assert(imm5 == 0b00001, "sanity");
-      break;
-    case VELEM_SIZE_16:
-      assert(imm5 == 0b00010, "sanity");
-      break;
-    case VELEM_SIZE_32:
-      assert(imm5 == 0b00100, "sanity");
-      break;
-    case VELEM_SIZE_64:
-      assert(imm5 == 0b01000, "sanity");
-      break;
-    default:
-      ShouldNotReachHere();
-    }
-#endif
-    emit_int32(quad << 30 | 0b111 << 25 | 0b11 << 10 |
-               imm5 << 16 | Rn->encoding() << 5 |
-               Dd->encoding() << 0);
-  }
-
-  void vdup(FloatRegister Vd, FloatRegister Vn, VElem_Size size, int quad) {
-    assert(VM_Version::has_simd(), "simd instruction");
-    int index = 0;
-    int bytes = 1 << size;
-    int range = 16 / bytes;
-    assert(index < range, "overflow");
-
-    assert(size != VELEM_SIZE_64 || quad, "reserved");
-    assert(8 << VELEM_SIZE_8  ==  8, "sanity");
-    assert(8 << VELEM_SIZE_16 == 16, "sanity");
-    assert(8 << VELEM_SIZE_32 == 32, "sanity");
-    assert(8 << VELEM_SIZE_64 == 64, "sanity");
-
-    int imm5 = (index << (size + 1)) | bytes;
-
-    emit_int32(quad << 30 | 0b001110000 << 21 | imm5 << 16 | 0b000001 << 10 |
-               Vn->encoding() << 5 | Vd->encoding() << 0);
-  }
-
-  void vdupF(FloatRegister Vd, FloatRegister Vn, int quad) {
-    vdup(Vd, Vn, VELEM_SIZE_32, quad);
-  }
-
-  void vdupD(FloatRegister Vd, FloatRegister Vn, int quad) {
-    vdup(Vd, Vn, VELEM_SIZE_64, quad);
-  }
-#endif
-};
-
-
-#endif // CPU_ARM_VM_ASSEMBLER_ARM_64_HPP
--- a/src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_CodeStubs_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -67,9 +67,6 @@
   __ bind(_entry);
 
   if (_info->deoptimize_on_exception()) {
-#ifdef AARCH64
-    __ NOT_TESTED();
-#endif
     __ call(Runtime1::entry_for(Runtime1::predicate_failed_trap_id), relocInfo::runtime_call_type);
     ce->add_call_info_here(_info);
     ce->verify_oop_map(_info);
@@ -86,9 +83,6 @@
   }
 
   if (_throw_index_out_of_bounds_exception) {
-#ifdef AARCH64
-    __ NOT_TESTED();
-#endif
     __ call(Runtime1::entry_for(Runtime1::throw_index_exception_id), relocInfo::runtime_call_type);
   } else {
     __ str(_array->as_pointer_register(), Address(SP, BytesPerWord)); // ??? Correct offset? Correct instruction?
@@ -208,16 +202,12 @@
   const Register lock_reg = _lock_reg->as_pointer_register();
 
   ce->verify_reserved_argument_area_size(2);
-#ifdef AARCH64
-  __ stp(obj_reg, lock_reg, Address(SP));
-#else
   if (obj_reg < lock_reg) {
     __ stmia(SP, RegisterSet(obj_reg) | RegisterSet(lock_reg));
   } else {
     __ str(obj_reg, Address(SP));
     __ str(lock_reg, Address(SP, BytesPerWord));
   }
-#endif // AARCH64
 
   Runtime1::StubID enter_id = ce->compilation()->has_fpu_code() ?
                               Runtime1::monitorenter_id :
@@ -259,7 +249,7 @@
 }
 
 void PatchingStub::emit_code(LIR_Assembler* ce) {
-  const int patchable_instruction_offset = AARCH64_ONLY(NativeInstruction::instruction_size) NOT_AARCH64(0);
+  const int patchable_instruction_offset = 0;
 
   assert(NativeCall::instruction_size <= _bytes_to_copy && _bytes_to_copy <= 0xFF,
          "not enough room for call");
@@ -267,31 +257,17 @@
   Label call_patch;
   bool is_load = (_id == load_klass_id) || (_id == load_mirror_id) || (_id == load_appendix_id);
 
-#ifdef AARCH64
-  assert(nativeInstruction_at(_pc_start)->is_nop(), "required for MT safe patching");
 
-  // Same alignment of reg2mem code and PatchingStub code. Required to make copied bind_literal() code properly aligned.
-  __ align(wordSize);
-#endif // AARCH64
-
-  if (is_load NOT_AARCH64(&& !VM_Version::supports_movw())) {
+  if (is_load && !VM_Version::supports_movw()) {
     address start = __ pc();
 
     // The following sequence duplicates code provided in MacroAssembler::patchable_mov_oop()
     // without creating relocation info entry.
-#ifdef AARCH64
-    // Extra nop for MT safe patching
-    __ nop();
-#endif // AARCH64
 
     assert((__ pc() - start) == patchable_instruction_offset, "should be");
-#ifdef AARCH64
-    __ ldr(_obj, __ pc());
-#else
     __ ldr(_obj, Address(PC));
     // Extra nop to handle case of large offset of oop placeholder (see NativeMovConstReg::set_data).
     __ nop();
-#endif // AARCH64
 
 #ifdef ASSERT
     for (int i = 0; i < _bytes_to_copy; i++) {
--- a/src/hotspot/cpu/arm/c1_Defs_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_Defs_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,9 +47,9 @@
 
 // registers
 enum {
-  pd_nof_cpu_regs_frame_map             = AARCH64_ONLY(33) NOT_AARCH64(16), // number of registers used during code emission
-  pd_nof_caller_save_cpu_regs_frame_map = AARCH64_ONLY(27) NOT_AARCH64(10), // number of registers killed by calls
-  pd_nof_cpu_regs_reg_alloc             = AARCH64_ONLY(27) NOT_AARCH64(10), // number of registers that are visible to register allocator (including Rheap_base which is visible only if compressed pointers are not enabled)
+  pd_nof_cpu_regs_frame_map             = 16, // number of registers used during code emission
+  pd_nof_caller_save_cpu_regs_frame_map = 10, // number of registers killed by calls
+  pd_nof_cpu_regs_reg_alloc             = 10, // number of registers that are visible to register allocator (including Rheap_base which is visible only if compressed pointers are not enabled)
   pd_nof_cpu_regs_linearscan = pd_nof_cpu_regs_frame_map,                   // number of registers visible to linear scan
   pd_nof_cpu_regs_processed_in_linearscan = pd_nof_cpu_regs_reg_alloc + 1,  // number of registers processed in linear scan; includes LR as it is used as temporary register in c1_LIRGenerator_arm
   pd_first_cpu_reg = 0,
@@ -57,7 +57,7 @@
 
   pd_nof_fpu_regs_frame_map             = VFP(32) SOFT(0),                               // number of float registers used during code emission
   pd_nof_caller_save_fpu_regs_frame_map = VFP(32) SOFT(0),                               // number of float registers killed by calls
-  pd_nof_fpu_regs_reg_alloc             = AARCH64_ONLY(32) NOT_AARCH64(VFP(30) SOFT(0)), // number of float registers that are visible to register allocator
+  pd_nof_fpu_regs_reg_alloc             = VFP(30) SOFT(0), // number of float registers that are visible to register allocator
   pd_nof_fpu_regs_linearscan            = pd_nof_fpu_regs_frame_map,                     // number of float registers visible to linear scan
   pd_first_fpu_reg = pd_nof_cpu_regs_frame_map,
   pd_last_fpu_reg  = pd_first_fpu_reg + pd_nof_fpu_regs_frame_map - 1,
@@ -74,11 +74,7 @@
   pd_float_saved_as_double = false
 };
 
-#ifdef AARCH64
-#define PATCHED_ADDR 0xff8
-#else
 #define PATCHED_ADDR (204)
-#endif
 #define CARDTABLEBARRIERSET_POST_BARRIER_HELPER
 #define GENERATE_ADDRESS_IS_PREFERRED
 
--- a/src/hotspot/cpu/arm/c1_FrameMap_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_FrameMap_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -49,9 +49,6 @@
 LIR_Opr FrameMap::R4_metadata_opr;
 LIR_Opr FrameMap::R5_metadata_opr;
 
-#ifdef AARCH64
-LIR_Opr FrameMap::ZR_opr;
-#endif // AARCH64
 
 LIR_Opr FrameMap::LR_opr;
 LIR_Opr FrameMap::LR_oop_opr;
@@ -82,12 +79,7 @@
   } else if (r_1->is_Register()) {
     Register reg = r_1->as_Register();
     if (r_2->is_Register() && (type == T_LONG || type == T_DOUBLE)) {
-#ifdef AARCH64
-      assert(r_1->next() == r_2, "should be the same");
-      opr = as_long_opr(reg);
-#else
       opr = as_long_opr(reg, r_2->as_Register());
-#endif
     } else if (type == T_OBJECT || type == T_ARRAY) {
       opr = as_oop_opr(reg);
     } else if (type == T_METADATA) {
@@ -115,20 +107,10 @@
   int rnum = 0;
 
   // Registers used for allocation
-#ifdef AARCH64
-  assert(Rthread == R28 && Rheap_base == R27 && Rtemp == R16, "change the code here");
-  for (i = 0; i < 16; i++) {
-    map_register(rnum++, as_Register(i));
-  }
-  for (i = 17; i < 28; i++) {
-    map_register(rnum++, as_Register(i));
-  }
-#else
   assert(Rthread == R10 && Rtemp == R12, "change the code here");
   for (i = 0; i < 10; i++) {
     map_register(rnum++, as_Register(i));
   }
-#endif // AARCH64
   assert(rnum == pd_nof_cpu_regs_reg_alloc, "should be");
 
   // Registers not used for allocation
@@ -139,11 +121,7 @@
   map_register(rnum++, Rthread);
   map_register(rnum++, FP); // ARM32: R7 or R11
   map_register(rnum++, SP);
-#ifdef AARCH64
-  map_register(rnum++, ZR);
-#else
   map_register(rnum++, PC);
-#endif
   assert(rnum == pd_nof_cpu_regs_frame_map, "should be");
 
   _init_done = true;
@@ -155,9 +133,6 @@
   R4_opr  = as_opr(R4);   R4_oop_opr = as_oop_opr(R4);    R4_metadata_opr = as_metadata_opr(R4);
   R5_opr  = as_opr(R5);   R5_oop_opr = as_oop_opr(R5);    R5_metadata_opr = as_metadata_opr(R5);
 
-#ifdef AARCH64
-  ZR_opr = as_opr(ZR);
-#endif // AARCH64
 
   LR_opr      = as_opr(LR);
   LR_oop_opr  = as_oop_opr(LR);
@@ -169,11 +144,6 @@
   // LIR operands for result
   Int_result_opr = R0_opr;
   Object_result_opr = R0_oop_opr;
-#ifdef AARCH64
-  Long_result_opr = as_long_opr(R0);
-  Float_result_opr = as_float_opr(S0);
-  Double_result_opr = as_double_opr(D0);
-#else
   Long_result_opr = as_long_opr(R0, R1);
 #ifdef __ABI_HARD__
   Float_result_opr = as_float_opr(S0);
@@ -182,7 +152,6 @@
   Float_result_opr = LIR_OprFact::single_softfp(0);
   Double_result_opr = LIR_OprFact::double_softfp(0, 1);
 #endif // __ABI_HARD__
-#endif // AARCH64
 
   Exception_oop_opr = as_oop_opr(Rexception_obj);
   Exception_pc_opr = as_opr(Rexception_pc);
@@ -222,7 +191,7 @@
     }
     java_index += type2size[opr->type()];
   }
-  return max_offset < AARCH64_ONLY(16384) NOT_AARCH64(4096); // TODO-AARCH64 check that LIRAssembler does not generate load/store of byte and half-word with SP as address base
+  return max_offset < 4096;
 }
 
 VMReg FrameMap::fpu_regname(int n) {
--- a/src/hotspot/cpu/arm/c1_FrameMap_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_FrameMap_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,9 +54,6 @@
   static LIR_Opr R4_metadata_opr;
   static LIR_Opr R5_metadata_opr;
 
-#ifdef AARCH64
-  static LIR_Opr ZR_opr;
-#endif // AARCH64
 
   static LIR_Opr LR_opr;
   static LIR_Opr LR_oop_opr;
@@ -75,19 +72,6 @@
   static LIR_Opr Exception_oop_opr;
   static LIR_Opr Exception_pc_opr;
 
-#ifdef AARCH64
-  static LIR_Opr as_long_opr(Register r) {
-    return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
-  }
-
-  static LIR_Opr as_pointer_opr(Register r) {
-    return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r));
-  }
-
-  static LIR_Opr as_double_opr(FloatRegister r) {
-    return LIR_OprFact::double_fpu(r->encoding());
-  }
-#else
   static LIR_Opr as_long_opr(Register r, Register r2) {
     return LIR_OprFact::double_cpu(cpu_reg2rnr(r), cpu_reg2rnr(r2));
   }
@@ -99,7 +83,6 @@
   static LIR_Opr as_double_opr(FloatRegister r) {
     return LIR_OprFact::double_fpu(r->encoding(), r->successor()->encoding());
   }
-#endif
 
   static LIR_Opr as_float_opr(FloatRegister r) {
     return LIR_OprFact::single_fpu(r->encoding());
--- a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -127,9 +127,6 @@
 Address LIR_Assembler::as_Address(LIR_Address* addr) {
   Register base = addr->base()->as_pointer_register();
 
-#ifdef AARCH64
-  int align = exact_log2(type2aelembytes(addr->type(), true));
-#endif
 
   if (addr->index()->is_illegal() || addr->index()->is_constant()) {
     int offset = addr->disp();
@@ -137,16 +134,9 @@
       offset += addr->index()->as_constant_ptr()->as_jint() << addr->scale();
     }
 
-#ifdef AARCH64
-    if (!Assembler::is_unsigned_imm_in_range(offset, 12, align) && !Assembler::is_imm_in_range(offset, 9, 0)) {
-      BAILOUT_("offset not in range", Address(base));
-    }
-    assert(UseUnalignedAccesses || (offset & right_n_bits(align)) == 0, "offset should be aligned");
-#else
     if ((offset <= -4096) || (offset >= 4096)) {
       BAILOUT_("offset not in range", Address(base));
     }
-#endif // AARCH64
 
     return Address(base, offset);
 
@@ -154,44 +144,21 @@
     assert(addr->disp() == 0, "can't have both");
     int scale = addr->scale();
 
-#ifdef AARCH64
-    assert((scale == 0) || (scale == align), "scale should be zero or equal to embedded shift");
-
-    bool is_index_extended = (addr->index()->type() == T_INT);
-    if (is_index_extended) {
-      assert(addr->index()->is_single_cpu(), "should be");
-      return Address(base, addr->index()->as_register(), ex_sxtw, scale);
-    } else {
-      assert(addr->index()->is_double_cpu(), "should be");
-      return Address(base, addr->index()->as_register_lo(), ex_lsl, scale);
-    }
-#else
     assert(addr->index()->is_single_cpu(), "should be");
     return scale >= 0 ? Address(base, addr->index()->as_register(), lsl, scale) :
                         Address(base, addr->index()->as_register(), lsr, -scale);
-#endif // AARCH64
   }
 }
 
 Address LIR_Assembler::as_Address_hi(LIR_Address* addr) {
-#ifdef AARCH64
-  ShouldNotCallThis(); // Not used on AArch64
-  return Address();
-#else
   Address base = as_Address(addr);
   assert(base.index() == noreg, "must be");
   if (base.disp() + BytesPerWord >= 4096) { BAILOUT_("offset not in range", Address(base.base(),0)); }
   return Address(base.base(), base.disp() + BytesPerWord);
-#endif // AARCH64
 }
 
 Address LIR_Assembler::as_Address_lo(LIR_Address* addr) {
-#ifdef AARCH64
-  ShouldNotCallThis(); // Not used on AArch64
-  return Address();
-#else
   return as_Address(addr);
-#endif // AARCH64
 }
 
 
@@ -327,13 +294,8 @@
   int offset = code_offset();
 
   __ mov_relative_address(LR, __ pc());
-#ifdef AARCH64
-  __ raw_push(LR, LR);
-  __ jump(SharedRuntime::deopt_blob()->unpack(), relocInfo::runtime_call_type, Rtemp);
-#else
   __ push(LR); // stub expects LR to be saved
   __ jump(SharedRuntime::deopt_blob()->unpack(), relocInfo::runtime_call_type, noreg);
-#endif // AARCH64
 
   assert(code_offset() - offset <= deopt_handler_size(), "overflow");
   __ end_a_stub();
@@ -347,7 +309,6 @@
   __ remove_frame(initial_frame_size_in_bytes());
 
   // mov_slow here is usually one or two instruction
-  // TODO-AARCH64 3 instructions on AArch64, so try to load polling page by ldr_literal
   __ mov_address(Rtemp, os::get_polling_page(), symbolic_Relocation::polling_page_reference);
   __ relocate(relocInfo::poll_return_type);
   __ ldr(Rtemp, Address(Rtemp));
@@ -386,12 +347,8 @@
 
     case T_LONG:
       assert(patch_code == lir_patch_none, "no patching handled here");
-#ifdef AARCH64
-      __ mov_slow(dest->as_pointer_register(), (intptr_t)c->as_jlong());
-#else
       __ mov_slow(dest->as_register_lo(), c->as_jint_lo());
       __ mov_slow(dest->as_register_hi(), c->as_jint_hi());
-#endif // AARCH64
       break;
 
     case T_OBJECT:
@@ -414,12 +371,8 @@
       if (dest->is_single_fpu()) {
         __ mov_float(dest->as_float_reg(), c->as_jfloat());
       } else {
-#ifdef AARCH64
-        ShouldNotReachHere();
-#else
         // Simple getters can return float constant directly into r0
         __ mov_slow(dest->as_register(), c->as_jint_bits());
-#endif // AARCH64
       }
       break;
 
@@ -427,13 +380,9 @@
       if (dest->is_double_fpu()) {
         __ mov_double(dest->as_double_reg(), c->as_jdouble());
       } else {
-#ifdef AARCH64
-        ShouldNotReachHere();
-#else
         // Simple getters can return double constant directly into r1r0
         __ mov_slow(dest->as_register_lo(), c->as_jint_lo_bits());
         __ mov_slow(dest->as_register_hi(), c->as_jint_hi_bits());
-#endif // AARCH64
       }
       break;
 
@@ -466,17 +415,12 @@
 
     case T_LONG:  // fall through
     case T_DOUBLE:
-#ifdef AARCH64
-      __ mov_slow(Rtemp, c->as_jlong_bits());
-      __ str(Rtemp, frame_map()->address_for_slot(dest->double_stack_ix()));
-#else
       __ mov_slow(Rtemp, c->as_jint_lo_bits());
       __ str(Rtemp, frame_map()->address_for_slot(dest->double_stack_ix(), lo_word_offset_in_bytes));
       if (c->as_jint_hi_bits() != c->as_jint_lo_bits()) {
         __ mov_slow(Rtemp, c->as_jint_hi_bits());
       }
       __ str(Rtemp, frame_map()->address_for_slot(dest->double_stack_ix(), hi_word_offset_in_bytes));
-#endif // AARCH64
       break;
 
     default:
@@ -486,49 +430,14 @@
 
 void LIR_Assembler::const2mem(LIR_Opr src, LIR_Opr dest, BasicType type,
                               CodeEmitInfo* info, bool wide) {
-#ifdef AARCH64
-  assert((src->as_constant_ptr()->type() == T_OBJECT && src->as_constant_ptr()->as_jobject() == NULL) ||
-         (src->as_constant_ptr()->type() == T_INT && src->as_constant_ptr()->as_jint() == 0) ||
-         (src->as_constant_ptr()->type() == T_LONG && src->as_constant_ptr()->as_jlong() == 0) ||
-         (src->as_constant_ptr()->type() == T_FLOAT && src->as_constant_ptr()->as_jint_bits() == 0) ||
-         (src->as_constant_ptr()->type() == T_DOUBLE && src->as_constant_ptr()->as_jlong_bits() == 0),
-        "cannot handle otherwise");
-  assert(dest->as_address_ptr()->type() == type, "should be");
-
-  Address addr = as_Address(dest->as_address_ptr());
-  int null_check_offset = code_offset();
-  switch (type) {
-    case T_OBJECT:  // fall through
-    case T_ARRAY:
-        if (UseCompressedOops && !wide) {
-          __ str_w(ZR, addr);
-        } else {
-          __ str(ZR, addr);
-        }
-        break;
-    case T_ADDRESS: // fall through
-    case T_DOUBLE:  // fall through
-    case T_LONG:    __ str(ZR, addr);   break;
-    case T_FLOAT:   // fall through
-    case T_INT:     __ str_w(ZR, addr); break;
-    case T_BOOLEAN: // fall through
-    case T_BYTE:    __ strb(ZR, addr);  break;
-    case T_CHAR:    // fall through
-    case T_SHORT:   __ strh(ZR, addr);  break;
-    default: ShouldNotReachHere();
-  }
-#else
   assert((src->as_constant_ptr()->type() == T_OBJECT && src->as_constant_ptr()->as_jobject() == NULL),"cannot handle otherwise");
   __ mov(Rtemp, 0);
 
   int null_check_offset = code_offset();
   __ str(Rtemp, as_Address(dest->as_address_ptr()));
-#endif // AARCH64
 
   if (info != NULL) {
-#ifndef AARCH64
     assert(false, "arm32 didn't support this before, investigate if bug");
-#endif
     add_debug_info_for_null_check(null_check_offset, info);
   }
 }
@@ -539,27 +448,17 @@
   if (src->is_single_cpu()) {
     if (dest->is_single_cpu()) {
       move_regs(src->as_register(), dest->as_register());
-#ifdef AARCH64
-    } else if (dest->is_double_cpu()) {
-      assert ((src->type() == T_OBJECT) || (src->type() == T_ARRAY) || (src->type() == T_ADDRESS), "invalid src type");
-      move_regs(src->as_register(), dest->as_register_lo());
-#else
     } else if (dest->is_single_fpu()) {
       __ fmsr(dest->as_float_reg(), src->as_register());
-#endif // AARCH64
     } else {
       ShouldNotReachHere();
     }
   } else if (src->is_double_cpu()) {
-#ifdef AARCH64
-    move_regs(src->as_register_lo(), dest->as_register_lo());
-#else
     if (dest->is_double_cpu()) {
       __ long_move(dest->as_register_lo(), dest->as_register_hi(), src->as_register_lo(), src->as_register_hi());
     } else {
       __ fmdrr(dest->as_double_reg(), src->as_register_lo(), src->as_register_hi());
     }
-#endif // AARCH64
   } else if (src->is_single_fpu()) {
     if (dest->is_single_fpu()) {
       __ mov_float(dest->as_float_reg(), src->as_float_reg());
@@ -572,11 +471,7 @@
     if (dest->is_double_fpu()) {
       __ mov_double(dest->as_double_reg(), src->as_double_reg());
     } else if (dest->is_double_cpu()) {
-#ifdef AARCH64
-      __ fmov_xd(dest->as_register_lo(), src->as_double_reg());
-#else
       __ fmrrd(dest->as_register_lo(), dest->as_register_hi(), src->as_double_reg());
-#endif // AARCH64
     } else {
       ShouldNotReachHere();
     }
@@ -593,12 +488,10 @@
     frame_map()->address_for_slot(dest->single_stack_ix()) :
     frame_map()->address_for_slot(dest->double_stack_ix());
 
-#ifndef AARCH64
   assert(lo_word_offset_in_bytes == 0 && hi_word_offset_in_bytes == 4, "little ending");
   if (src->is_single_fpu() || src->is_double_fpu()) {
     if (addr.disp() >= 1024) { BAILOUT("Too exotic case to handle here"); }
   }
-#endif // !AARCH64
 
   if (src->is_single_cpu()) {
     switch (type) {
@@ -613,9 +506,7 @@
     }
   } else if (src->is_double_cpu()) {
     __ str(src->as_register_lo(), addr);
-#ifndef AARCH64
     __ str(src->as_register_hi(), frame_map()->address_for_slot(dest->double_stack_ix(), hi_word_offset_in_bytes));
-#endif // !AARCH64
   } else if (src->is_single_fpu()) {
     __ str_float(src->as_float_reg(), addr);
   } else if (src->is_double_fpu()) {
@@ -636,15 +527,7 @@
 
   PatchingStub* patch = NULL;
   if (needs_patching) {
-#ifdef AARCH64
-    // Same alignment of reg2mem code and PatchingStub code. Required to make copied bind_literal() code properly aligned.
-    __ align(wordSize);
-#endif
     patch = new PatchingStub(_masm, PatchingStub::access_field_id);
-#ifdef AARCH64
-    // Extra nop for MT safe patching
-    __ nop();
-#endif // AARCH64
   }
 
   int null_check_offset = code_offset();
@@ -653,24 +536,13 @@
     case T_ARRAY:
     case T_OBJECT:
       if (UseCompressedOops && !wide) {
-#ifdef AARCH64
-        const Register temp_src = Rtemp;
-        assert_different_registers(temp_src, src->as_register());
-        __ encode_heap_oop(temp_src, src->as_register());
-        null_check_offset = code_offset();
-        __ str_32(temp_src, as_Address(to_addr));
-#else
         ShouldNotReachHere();
-#endif // AARCH64
       } else {
         __ str(src->as_register(), as_Address(to_addr));
       }
       break;
 
     case T_ADDRESS:
-#ifdef AARCH64
-    case T_LONG:
-#endif // AARCH64
       __ str(src->as_pointer_register(), as_Address(to_addr));
       break;
 
@@ -691,17 +563,6 @@
       __ str_32(src->as_register(), as_Address(to_addr));
       break;
 
-#ifdef AARCH64
-
-    case T_FLOAT:
-      __ str_s(src->as_float_reg(), as_Address(to_addr));
-      break;
-
-    case T_DOUBLE:
-      __ str_d(src->as_double_reg(), as_Address(to_addr));
-      break;
-
-#else // AARCH64
 
 #ifdef __SOFTFP__
     case T_DOUBLE:
@@ -765,7 +626,6 @@
       break;
 #endif // __SOFTFP__
 
-#endif // AARCH64
 
     default:
       ShouldNotReachHere();
@@ -793,12 +653,10 @@
     frame_map()->address_for_slot(src->single_stack_ix()) :
     frame_map()->address_for_slot(src->double_stack_ix());
 
-#ifndef AARCH64
   assert(lo_word_offset_in_bytes == 0 && hi_word_offset_in_bytes == 4, "little ending");
   if (dest->is_single_fpu() || dest->is_double_fpu()) {
     if (addr.disp() >= 1024) { BAILOUT("Too exotic case to handle here"); }
   }
-#endif // !AARCH64
 
   if (dest->is_single_cpu()) {
     switch (type) {
@@ -816,9 +674,7 @@
     }
   } else if (dest->is_double_cpu()) {
     __ ldr(dest->as_register_lo(), addr);
-#ifndef AARCH64
     __ ldr(dest->as_register_hi(), frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes));
-#endif // !AARCH64
   } else if (dest->is_single_fpu()) {
     __ ldr_float(dest->as_float_reg(), addr);
   } else if (dest->is_double_fpu()) {
@@ -853,12 +709,8 @@
     assert(src->is_double_stack(), "must be");
     __ ldr(Rtemp, frame_map()->address_for_slot(src->double_stack_ix(), lo_word_offset_in_bytes));
     __ str(Rtemp, frame_map()->address_for_slot(dest->double_stack_ix(), lo_word_offset_in_bytes));
-#ifdef AARCH64
-    assert(lo_word_offset_in_bytes == 0, "adjust this code");
-#else
     __ ldr(Rtemp, frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes));
     __ str(Rtemp, frame_map()->address_for_slot(dest->double_stack_ix(), hi_word_offset_in_bytes));
-#endif // AARCH64
   }
 }
 
@@ -875,10 +727,6 @@
   PatchingStub* patch = NULL;
   if (patch_code != lir_patch_none) {
     patch = new PatchingStub(_masm, PatchingStub::access_field_id);
-#ifdef AARCH64
-    // Extra nop for MT safe patching
-    __ nop();
-#endif // AARCH64
   }
   if (info != NULL) {
     add_debug_info_for_null_check_here(info);
@@ -902,14 +750,10 @@
       }
       break;
 
-#ifdef AARCH64
-    case T_LONG:
-#else
     case T_INT:
 #ifdef __SOFTFP__
     case T_FLOAT:
 #endif // __SOFTFP__
-#endif // AARCH64
       __ ldr(dest->as_pointer_register(), as_Address(addr));
       break;
 
@@ -929,21 +773,6 @@
       __ ldrsh(dest->as_register(), as_Address(addr));
       break;
 
-#ifdef AARCH64
-
-    case T_INT:
-      __ ldr_w(dest->as_register(), as_Address(addr));
-      break;
-
-    case T_FLOAT:
-      __ ldr_s(dest->as_float_reg(), as_Address(addr));
-      break;
-
-    case T_DOUBLE:
-      __ ldr_d(dest->as_double_reg(), as_Address(addr));
-      break;
-
-#else // AARCH64
 
 #ifdef __SOFTFP__
     case T_DOUBLE:
@@ -1007,7 +836,6 @@
       break;
 #endif // __SOFTFP__
 
-#endif // AARCH64
 
     default:
       ShouldNotReachHere();
@@ -1021,23 +849,6 @@
     patching_epilog(patch, patch_code, base_reg, info);
   }
 
-#ifdef AARCH64
-  switch (type) {
-    case T_ARRAY:
-    case T_OBJECT:
-      if (UseCompressedOops && !wide) {
-        __ decode_heap_oop(dest->as_register());
-      }
-      __ verify_oop(dest->as_register());
-      break;
-
-    case T_ADDRESS:
-      if (UseCompressedClassPointers && addr->disp() == oopDesc::klass_offset_in_bytes()) {
-        __ decode_klass_not_null(dest->as_register());
-      }
-      break;
-  }
-#endif // AARCH64
 }
 
 
@@ -1064,48 +875,13 @@
       // x/0x80000000 is a special case, since dividend is a power of two, but is negative.
       // The only possible result values are 0 and 1, with 1 only for dividend == divisor == 0x80000000.
       __ cmp_32(left, c);
-#ifdef AARCH64
-      __ cset(dest, eq);
-#else
       __ mov(dest, 0, ne);
       __ mov(dest, 1, eq);
-#endif // AARCH64
     }
   } else {
-#ifdef AARCH64
-    Register left  = op->in_opr1()->as_pointer_register();
-    Register right = op->in_opr2()->as_pointer_register();
-    Register dest  = op->result_opr()->as_pointer_register();
-
-    switch (op->code()) {
-      case lir_idiv:
-        if (is_32) {
-          __ sdiv_w(dest, left, right);
-        } else {
-          __ sdiv(dest, left, right);
-        }
-        break;
-      case lir_irem: {
-        Register tmp = op->in_opr3()->as_pointer_register();
-        assert_different_registers(left, tmp);
-        assert_different_registers(right, tmp);
-        if (is_32) {
-          __ sdiv_w(tmp, left, right);
-          __ msub_w(dest, right, tmp, left);
-        } else {
-          __ sdiv(tmp, left, right);
-          __ msub(dest, right, tmp, left);
-        }
-        break;
-      }
-      default:
-        ShouldNotReachHere();
-    }
-#else
     assert(op->code() == lir_idiv || op->code() == lir_irem, "unexpected op3");
     __ call(StubRoutines::Arm::idiv_irem_entry(), relocInfo::runtime_call_type);
     add_debug_info_for_div0_here(op->info());
-#endif // AARCH64
   }
 }
 
@@ -1122,9 +898,7 @@
   assert (op->code() != lir_cond_float_branch, "this should be impossible");
 #else
   if (op->code() == lir_cond_float_branch) {
-#ifndef AARCH64
     __ fmstat();
-#endif // !AARCH64
     __ b(*(op->ublock()->label()), vs);
   }
 #endif // __SOFTFP__
@@ -1151,12 +925,8 @@
 
   switch (op->bytecode()) {
     case Bytecodes::_i2l:
-#ifdef AARCH64
-      __ sign_extend(dest->as_register_lo(), src->as_register(), 32);
-#else
       move_regs(src->as_register(), dest->as_register_lo());
       __ mov(dest->as_register_hi(), AsmOperand(src->as_register(), asr, 31));
-#endif // AARCH64
       break;
     case Bytecodes::_l2i:
       move_regs(src->as_register_lo(), dest->as_register());
@@ -1177,51 +947,21 @@
       __ convert_d2f(dest->as_float_reg(), src->as_double_reg());
       break;
     case Bytecodes::_i2f:
-#ifdef AARCH64
-      __ scvtf_sw(dest->as_float_reg(), src->as_register());
-#else
       __ fmsr(Stemp, src->as_register());
       __ fsitos(dest->as_float_reg(), Stemp);
-#endif // AARCH64
       break;
     case Bytecodes::_i2d:
-#ifdef AARCH64
-      __ scvtf_dw(dest->as_double_reg(), src->as_register());
-#else
       __ fmsr(Stemp, src->as_register());
       __ fsitod(dest->as_double_reg(), Stemp);
-#endif // AARCH64
       break;
     case Bytecodes::_f2i:
-#ifdef AARCH64
-      __ fcvtzs_ws(dest->as_register(), src->as_float_reg());
-#else
       __ ftosizs(Stemp, src->as_float_reg());
       __ fmrs(dest->as_register(), Stemp);
-#endif // AARCH64
       break;
     case Bytecodes::_d2i:
-#ifdef AARCH64
-      __ fcvtzs_wd(dest->as_register(), src->as_double_reg());
-#else
       __ ftosizd(Stemp, src->as_double_reg());
       __ fmrs(dest->as_register(), Stemp);
-#endif // AARCH64
       break;
-#ifdef AARCH64
-    case Bytecodes::_l2f:
-      __ scvtf_sx(dest->as_float_reg(), src->as_register_lo());
-      break;
-    case Bytecodes::_l2d:
-      __ scvtf_dx(dest->as_double_reg(), src->as_register_lo());
-      break;
-    case Bytecodes::_f2l:
-      __ fcvtzs_xs(dest->as_register_lo(), src->as_float_reg());
-      break;
-    case Bytecodes::_d2l:
-      __ fcvtzs_xd(dest->as_register_lo(), src->as_double_reg());
-      break;
-#endif // AARCH64
     default:
       ShouldNotReachHere();
   }
@@ -1327,11 +1067,7 @@
   assert_different_registers(obj, mdo, data_val);
   setup_md_access(method, bci, md, data, mdo_offset_bias);
   Label not_null;
-#ifdef AARCH64
-  __ cbnz(obj, not_null);
-#else
   __ b(not_null, ne);
-#endif // AARCH64
   __ mov_metadata(mdo, md->constant_encoding());
   if (mdo_offset_bias > 0) {
     __ mov_slow(data_val, mdo_offset_bias);
@@ -1373,13 +1109,9 @@
   __ b(*failure);
 }
 
-// Sets `res` to true, if `cond` holds. On AArch64 also sets `res` to false if `cond` does not hold.
+// Sets `res` to true, if `cond` holds.
 static void set_instanceof_result(MacroAssembler* _masm, Register res, AsmCondition cond) {
-#ifdef AARCH64
-  __ cset(res, cond);
-#else
   __ mov(res, 1, cond);
-#endif // AARCH64
 }
 
 
@@ -1406,9 +1138,7 @@
       Label *failure_target = op->should_profile() ? &profile_cast_failure : stub->entry();
 
       if (op->should_profile()) {
-#ifndef AARCH64
         __ cmp(value, 0);
-#endif // !AARCH64
         typecheck_profile_helper1(op->profiled_method(), op->profiled_bci(), md, data, mdo_offset_bias, value, k_RInfo, Rtemp, &done);
       } else {
         __ cbz(value, done);
@@ -1470,57 +1200,6 @@
       Label *failure_target = op->should_profile() ? &profile_cast_failure : op->stub()->entry();
       Label *success_target = op->should_profile() ? &profile_cast_success : &done;
 
-#ifdef AARCH64
-      move_regs(obj, res);
-      if (op->should_profile()) {
-        typecheck_profile_helper1(op->profiled_method(), op->profiled_bci(), md, data, mdo_offset_bias, res, klass_RInfo, Rtemp, &done);
-      } else {
-        __ cbz(obj, done);
-      }
-      if (k->is_loaded()) {
-        __ mov_metadata(k_RInfo, k->constant_encoding());
-      } else {
-        if (res != obj) {
-          op->info_for_patch()->add_register_oop(FrameMap::as_oop_opr(res));
-        }
-        klass2reg_with_patching(k_RInfo, op->info_for_patch());
-      }
-      __ load_klass(klass_RInfo, res);
-
-      if (op->fast_check()) {
-        __ cmp(klass_RInfo, k_RInfo);
-        __ b(*failure_target, ne);
-      } else if (k->is_loaded()) {
-        __ ldr(Rtemp, Address(klass_RInfo, k->super_check_offset()));
-        if (in_bytes(Klass::secondary_super_cache_offset()) != (int) k->super_check_offset()) {
-          __ cmp(Rtemp, k_RInfo);
-          __ b(*failure_target, ne);
-        } else {
-          __ cmp(klass_RInfo, k_RInfo);
-          __ cond_cmp(Rtemp, k_RInfo, ne);
-          __ b(*success_target, eq);
-          assert(klass_RInfo == R0 && k_RInfo == R1, "runtime call setup");
-          __ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
-          __ cbz(R0, *failure_target);
-        }
-      } else {
-        __ ldr_u32(Rtemp, Address(k_RInfo, Klass::super_check_offset_offset()));
-        // check for immediate positive hit
-        __ ldr(Rtemp, Address(klass_RInfo, Rtemp));
-        __ cmp(klass_RInfo, k_RInfo);
-        __ cond_cmp(Rtemp, k_RInfo, ne);
-        __ b(*success_target, eq);
-        // check for immediate negative hit
-        __ ldr_u32(Rtemp, Address(k_RInfo, Klass::super_check_offset_offset()));
-        __ cmp(Rtemp, in_bytes(Klass::secondary_super_cache_offset()));
-        __ b(*failure_target, ne);
-        // slow case
-        assert(klass_RInfo == R0 && k_RInfo == R1, "runtime call setup");
-        __ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
-        __ cbz(R0, *failure_target);
-      }
-
-#else // AARCH64
 
       __ movs(res, obj);
       if (op->should_profile()) {
@@ -1575,7 +1254,6 @@
         __ call(Runtime1::entry_for(Runtime1::slow_subtype_check_id), relocInfo::runtime_call_type);
         __ cbz(R0, *failure_target);
       }
-#endif // AARCH64
 
       if (op->should_profile()) {
         Register mdo  = klass_RInfo, recv = k_RInfo, tmp1 = Rtemp;
@@ -1605,20 +1283,12 @@
       Label *failure_target = op->should_profile() ? &profile_cast_failure : &done;
       Label *success_target = op->should_profile() ? &profile_cast_success : &done;
 
-#ifdef AARCH64
-      move_regs(obj, res);
-#else
       __ movs(res, obj);
-#endif // AARCH64
 
       if (op->should_profile()) {
         typecheck_profile_helper1(op->profiled_method(), op->profiled_bci(), md, data, mdo_offset_bias, res, klass_RInfo, Rtemp, &done);
       } else {
-#ifdef AARCH64
-        __ cbz(obj, done); // If obj == NULL, res is false
-#else
         __ b(done, eq);
-#endif // AARCH64
       }
 
       if (k->is_loaded()) {
@@ -1629,11 +1299,9 @@
       }
       __ load_klass(klass_RInfo, res);
 
-#ifndef AARCH64
       if (!op->should_profile()) {
         __ mov(res, 0);
       }
-#endif // !AARCH64
 
       if (op->fast_check()) {
         __ cmp(klass_RInfo, k_RInfo);
@@ -1671,21 +1339,11 @@
         // check for immediate positive hit
         __ cmp(klass_RInfo, k_RInfo);
         if (!op->should_profile()) {
-#ifdef AARCH64
-          // TODO-AARCH64 check if separate conditional branch is more efficient than ldr+cond_cmp
-          __ ldr(res, Address(klass_RInfo, Rtemp));
-#else
           __ ldr(res, Address(klass_RInfo, Rtemp), ne);
-#endif // AARCH64
           __ cond_cmp(res, k_RInfo, ne);
           set_instanceof_result(_masm, res, eq);
         } else {
-#ifdef AARCH64
-          // TODO-AARCH64 check if separate conditional branch is more efficient than ldr+cond_cmp
-          __ ldr(Rtemp, Address(klass_RInfo, Rtemp));
-#else
           __ ldr(Rtemp, Address(klass_RInfo, Rtemp), ne);
-#endif // AARCH64
           __ cond_cmp(Rtemp, k_RInfo, ne);
         }
         __ b(*success_target, eq);
@@ -1695,11 +1353,7 @@
         }
         __ cmp(Rtemp, in_bytes(Klass::secondary_super_cache_offset()));
         if (!op->should_profile()) {
-#ifdef AARCH64
-          __ mov(res, 0);
-#else
           __ mov(res, 0, ne);
-#endif // AARCH64
         }
         __ b(*failure_target, ne);
         // slow case
@@ -1741,41 +1395,6 @@
   //   } else {
   //     dest = 0;
   //   }
-#ifdef AARCH64
-  Label retry, done;
-  Register addr = op->addr()->as_pointer_register();
-  Register cmpval = op->cmp_value()->as_pointer_register();
-  Register newval = op->new_value()->as_pointer_register();
-  Register dest = op->result_opr()->as_pointer_register();
-  assert_different_registers(dest, addr, cmpval, newval, Rtemp);
-
-  if (UseCompressedOops && op->code() == lir_cas_obj) {
-    Register tmp1 = op->tmp1()->as_pointer_register();
-    Register tmp2 = op->tmp2()->as_pointer_register();
-    assert_different_registers(dest, addr, cmpval, newval, tmp1, tmp2, Rtemp);
-    __ encode_heap_oop(tmp1, cmpval); cmpval = tmp1;
-    __ encode_heap_oop(tmp2, newval); newval = tmp2;
-  }
-
-  __ mov(dest, ZR);
-  __ bind(retry);
-  if (((op->code() == lir_cas_obj) && !UseCompressedOops) || op->code() == lir_cas_long) {
-    __ ldaxr(Rtemp, addr);
-    __ cmp(Rtemp, cmpval);
-    __ b(done, ne);
-    __ stlxr(Rtemp, newval, addr);
-  } else if (((op->code() == lir_cas_obj) && UseCompressedOops) || op->code() == lir_cas_int) {
-    __ ldaxr_w(Rtemp, addr);
-    __ cmp_w(Rtemp, cmpval);
-    __ b(done, ne);
-    __ stlxr_w(Rtemp, newval, addr);
-  } else {
-    ShouldNotReachHere();
-  }
-  __ cbnz_w(Rtemp, retry);
-  __ mov(dest, 1);
-  __ bind(done);
-#else
   // FIXME: membar_release
   __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | MacroAssembler::LoadStore), Rtemp);
   Register addr = op->addr()->is_register() ?
@@ -1812,7 +1431,6 @@
   } else {
     Unimplemented();
   }
-#endif // AARCH64
   // FIXME: is full membar really needed instead of just membar_acquire?
   __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad | MacroAssembler::StoreStore), Rtemp);
 }
@@ -1835,36 +1453,6 @@
     }
   }
 
-#ifdef AARCH64
-
-  // TODO-AARCH64 implement it more efficiently
-
-  if (opr1->is_register()) {
-    reg2reg(opr1, result);
-  } else if (opr1->is_stack()) {
-    stack2reg(opr1, result, result->type());
-  } else if (opr1->is_constant()) {
-    const2reg(opr1, result, lir_patch_none, NULL);
-  } else {
-    ShouldNotReachHere();
-  }
-
-  Label skip;
-  __ b(skip, acond);
-
-  if (opr2->is_register()) {
-    reg2reg(opr2, result);
-  } else if (opr2->is_stack()) {
-    stack2reg(opr2, result, result->type());
-  } else if (opr2->is_constant()) {
-    const2reg(opr2, result, lir_patch_none, NULL);
-  } else {
-    ShouldNotReachHere();
-  }
-
-  __ bind(skip);
-
-#else
   for (;;) {                         // two iterations only
     if (opr1 == result) {
       // do nothing
@@ -1924,10 +1512,9 @@
     opr1 = opr2;
     acond = ncond;
   }
-#endif // AARCH64
 }
 
-#if defined(AARCH64) || defined(ASSERT)
+#ifdef ASSERT
 static int reg_size(LIR_Opr op) {
   switch (op->type()) {
   case T_FLOAT:
@@ -1959,37 +1546,6 @@
     int scale = addr->scale();
     AsmShift shift = lsl;
 
-#ifdef AARCH64
-    bool is_index_extended = reg_size(addr->base()) > reg_size(addr->index());
-    if (scale < 0) {
-      scale = -scale;
-      shift = lsr;
-    }
-    assert(shift == lsl || !is_index_extended, "could not have extend and right shift in one operand");
-    assert(0 <= scale && scale <= 63, "scale is too large");
-
-    if (is_index_extended) {
-      assert(scale <= 4, "scale is too large for add with extended register");
-      assert(addr->index()->is_single_cpu(), "should be");
-      assert(addr->index()->type() == T_INT, "should be");
-      assert(dest->is_double_cpu(), "should be");
-      assert(code == lir_add, "special case of add with extended register");
-
-      __ add(res, lreg, addr->index()->as_register(), ex_sxtw, scale);
-      return;
-    } else if (reg_size(dest) == BytesPerInt) {
-      assert(reg_size(addr->base()) == reg_size(addr->index()), "should be");
-      assert(reg_size(addr->base()) == reg_size(dest), "should be");
-
-      AsmOperand operand(addr->index()->as_pointer_register(), shift, scale);
-      switch (code) {
-        case lir_add: __ add_32(res, lreg, operand); break;
-        case lir_sub: __ sub_32(res, lreg, operand); break;
-        default: ShouldNotReachHere();
-      }
-      return;
-    }
-#endif // AARCH64
 
     assert(reg_size(addr->base()) == reg_size(addr->index()), "should be");
     assert(reg_size(addr->base()) == reg_size(dest), "should be");
@@ -2002,7 +1558,6 @@
       default: ShouldNotReachHere();
     }
 
-#ifndef AARCH64
   } else if (left->is_address()) {
     assert(code == lir_sub && right->is_single_cpu(), "special case used by strength_reduce_multiply()");
     const LIR_Address* addr = left->as_address_ptr();
@@ -2010,15 +1565,9 @@
     const Register rreg = right->as_register();
     assert(addr->base()->as_register() == rreg && addr->index()->is_register() && addr->disp() == 0, "must be");
     __ rsb(res, rreg, AsmOperand(addr->index()->as_register(), lsl, addr->scale()));
-#endif // !AARCH64
 
   } else if (dest->is_single_cpu()) {
     assert(left->is_single_cpu(), "unexpected left operand");
-#ifdef AARCH64
-    assert(dest->type() == T_INT, "unexpected dest type");
-    assert(left->type() == T_INT, "unexpected left type");
-    assert(right->type() == T_INT, "unexpected right type");
-#endif // AARCH64
 
     const Register res = dest->as_register();
     const Register lreg = left->as_register();
@@ -2045,36 +1594,6 @@
     }
 
   } else if (dest->is_double_cpu()) {
-#ifdef AARCH64
-    assert(left->is_double_cpu() ||
-           (left->is_single_cpu() && ((left->type() == T_OBJECT) || (left->type() == T_ARRAY) || (left->type() == T_ADDRESS))),
-           "unexpected left operand");
-
-    const Register res = dest->as_register_lo();
-    const Register lreg = left->as_pointer_register();
-
-    if (right->is_constant()) {
-      assert(right->type() == T_LONG, "unexpected right type");
-      assert((right->as_constant_ptr()->as_jlong() >> 24) == 0, "out of range");
-      jint imm = (jint)right->as_constant_ptr()->as_jlong();
-      switch (code) {
-        case lir_add: __ add(res, lreg, imm); break;
-        case lir_sub: __ sub(res, lreg, imm); break;
-        default: ShouldNotReachHere();
-      }
-    } else {
-      assert(right->is_double_cpu() ||
-             (right->is_single_cpu() && ((right->type() == T_OBJECT) || (right->type() == T_ARRAY) || (right->type() == T_ADDRESS))),
-             "unexpected right operand");
-      const Register rreg = right->as_pointer_register();
-      switch (code) {
-        case lir_add: __ add(res, lreg, rreg); break;
-        case lir_sub: __ sub(res, lreg, rreg); break;
-        case lir_mul: __ mul(res, lreg, rreg); break;
-        default: ShouldNotReachHere();
-      }
-    }
-#else // AARCH64
     Register res_lo = dest->as_register_lo();
     Register res_hi = dest->as_register_hi();
     Register lreg_lo = left->as_register_lo();
@@ -2118,7 +1637,6 @@
       }
     }
     move_regs(res_lo, dest->as_register_lo());
-#endif // AARCH64
 
   } else if (dest->is_single_fpu()) {
     assert(left->is_single_fpu(), "must be");
@@ -2175,11 +1693,6 @@
   assert(left->is_register(), "wrong items state");
 
   if (dest->is_single_cpu()) {
-#ifdef AARCH64
-    assert (dest->type() == T_INT, "unexpected result type");
-    assert (left->type() == T_INT, "unexpected left type");
-    assert (right->type() == T_INT, "unexpected right type");
-#endif // AARCH64
 
     const Register res = dest->as_register();
     const Register lreg = left->as_register();
@@ -2206,10 +1719,6 @@
     assert(dest->is_double_cpu(), "should be");
     Register res_lo = dest->as_register_lo();
 
-#ifdef AARCH64
-    assert ((left->is_single_cpu() && left->is_oop_register()) || left->is_double_cpu(), "should be");
-    const Register lreg_lo = left->as_pointer_register();
-#else
     assert (dest->type() == T_LONG, "unexpected result type");
     assert (left->type() == T_LONG, "unexpected left type");
     assert (right->type() == T_LONG, "unexpected right type");
@@ -2217,19 +1726,8 @@
     const Register res_hi = dest->as_register_hi();
     const Register lreg_lo = left->as_register_lo();
     const Register lreg_hi = left->as_register_hi();
-#endif // AARCH64
 
     if (right->is_register()) {
-#ifdef AARCH64
-      assert ((right->is_single_cpu() && right->is_oop_register()) || right->is_double_cpu(), "should be");
-      const Register rreg_lo = right->as_pointer_register();
-      switch (code) {
-        case lir_logic_and: __ andr(res_lo, lreg_lo, rreg_lo); break;
-        case lir_logic_or:  __ orr (res_lo, lreg_lo, rreg_lo); break;
-        case lir_logic_xor: __ eor (res_lo, lreg_lo, rreg_lo); break;
-        default: ShouldNotReachHere();
-      }
-#else
       const Register rreg_lo = right->as_register_lo();
       const Register rreg_hi = right->as_register_hi();
       if (res_lo == lreg_hi || res_lo == rreg_hi) {
@@ -2252,23 +1750,8 @@
           ShouldNotReachHere();
       }
       move_regs(res_lo, dest->as_register_lo());
-#endif // AARCH64
     } else {
       assert(right->is_constant(), "must be");
-#ifdef AARCH64
-      const julong c = (julong)right->as_constant_ptr()->as_jlong();
-      Assembler::LogicalImmediate imm(c, false);
-      if (imm.is_encoded()) {
-        switch (code) {
-          case lir_logic_and: __ andr(res_lo, lreg_lo, imm); break;
-          case lir_logic_or:  __ orr (res_lo, lreg_lo, imm); break;
-          case lir_logic_xor: __ eor (res_lo, lreg_lo, imm); break;
-          default: ShouldNotReachHere();
-        }
-      } else {
-        BAILOUT("64 bit constant cannot be inlined");
-      }
-#else
       const jint c_lo = (jint) right->as_constant_ptr()->as_jlong();
       const jint c_hi = (jint) (right->as_constant_ptr()->as_jlong() >> 32);
       // Case for logic_or from do_ClassIDIntrinsic()
@@ -2303,36 +1786,11 @@
       } else {
         BAILOUT("64 bit constant cannot be inlined");
       }
-#endif // AARCH64
     }
   }
 }
 
 
-#ifdef AARCH64
-
-void LIR_Assembler::long_compare_helper(LIR_Opr opr1, LIR_Opr opr2) {
-  assert(opr1->is_double_cpu(), "should be");
-  Register x = opr1->as_register_lo();
-
-  if (opr2->is_double_cpu()) {
-    Register y = opr2->as_register_lo();
-    __ cmp(x, y);
-
-  } else {
-    assert(opr2->is_constant(), "should be");
-    assert(opr2->as_constant_ptr()->type() == T_LONG, "long constant expected");
-    jlong c = opr2->as_jlong();
-    assert(((c >> 31) == 0) || ((c >> 31) == -1), "immediate is out of range");
-    if (c >= 0) {
-      __ cmp(x, (jint)c);
-    } else {
-      __ cmn(x, (jint)(-c));
-    }
-  }
-}
-
-#endif // AARCH64
 
 void LIR_Assembler::comp_op(LIR_Condition condition, LIR_Opr opr1, LIR_Opr opr2, LIR_Op2* op) {
   if (opr1->is_single_cpu()) {
@@ -2373,9 +1831,6 @@
       ShouldNotReachHere();
     }
   } else if (opr1->is_double_cpu()) {
-#ifdef AARCH64
-    long_compare_helper(opr1, opr2);
-#else
     Register xlo = opr1->as_register_lo();
     Register xhi = opr1->as_register_hi();
     if (opr2->is_constant() && opr2->as_jlong() == 0) {
@@ -2394,7 +1849,6 @@
     } else {
       ShouldNotReachHere();
     }
-#endif // AARCH64
   } else if (opr1->is_single_fpu()) {
     if (opr2->is_constant()) {
       assert(opr2->as_jfloat() == 0.0f, "cannot handle otherwise");
@@ -2418,15 +1872,6 @@
   const Register res = dst->as_register();
   if (code == lir_cmp_fd2i || code == lir_ucmp_fd2i) {
     comp_op(lir_cond_unknown, left, right, op);
-#ifdef AARCH64
-    if (code == lir_ucmp_fd2i) {         // unordered is less
-      __ cset(res, gt);                  // 1 if '>', else 0
-      __ csinv(res, res, ZR, ge);        // previous value if '>=', else -1
-    } else {
-      __ cset(res, hi);                  // 1 if '>' or unordered, else 0
-      __ csinv(res, res, ZR, pl);        // previous value if '>=' or unordered, else -1
-    }
-#else
     __ fmstat();
     if (code == lir_ucmp_fd2i) {  // unordered is less
       __ mvn(res, 0, lt);
@@ -2436,17 +1881,10 @@
       __ mvn(res, 0, cc);
     }
     __ mov(res, 0, eq);
-#endif // AARCH64
 
   } else {
     assert(code == lir_cmp_l2i, "must be");
 
-#ifdef AARCH64
-    long_compare_helper(left, right);
-
-    __ cset(res, gt);            // 1 if '>', else 0
-    __ csinv(res, res, ZR, ge);  // previous value if '>=', else -1
-#else
     Label done;
     const Register xlo = left->as_register_lo();
     const Register xhi = left->as_register_hi();
@@ -2460,7 +1898,6 @@
     __ mov(res, 1, hi);
     __ mvn(res, 0, lo);
     __ bind(done);
-#endif // AARCH64
   }
 }
 
@@ -2481,19 +1918,15 @@
   bool near_range = __ cache_fully_reachable();
   address oop_address = pc();
 
-  bool use_movw = AARCH64_ONLY(false) NOT_AARCH64(VM_Version::supports_movw());
+  bool use_movw = VM_Version::supports_movw();
 
   // Ricklass may contain something that is not a metadata pointer so
   // mov_metadata can't be used
   InlinedAddress value((address)Universe::non_oop_word());
   InlinedAddress addr(op->addr());
   if (use_movw) {
-#ifdef AARCH64
-    ShouldNotReachHere();
-#else
     __ movw(Ricklass, ((unsigned int)Universe::non_oop_word()) & 0xffff);
     __ movt(Ricklass, ((unsigned int)Universe::non_oop_word()) >> 16);
-#endif // AARCH64
   } else {
     // No movw/movt, must be load a pc relative value but no
     // relocation so no metadata table to load from.
@@ -2585,35 +2018,6 @@
 }
 
 void LIR_Assembler::shift_op(LIR_Code code, LIR_Opr left, LIR_Opr count, LIR_Opr dest, LIR_Opr tmp) {
-#ifdef AARCH64
-  if (dest->is_single_cpu()) {
-    Register res = dest->as_register();
-    Register x = left->as_register();
-    Register y = count->as_register();
-    assert (dest->type() == T_INT, "unexpected result type");
-    assert (left->type() == T_INT, "unexpected left type");
-
-    switch (code) {
-      case lir_shl:  __ lslv_w(res, x, y); break;
-      case lir_shr:  __ asrv_w(res, x, y); break;
-      case lir_ushr: __ lsrv_w(res, x, y); break;
-      default: ShouldNotReachHere();
-    }
-  } else if (dest->is_double_cpu()) {
-    Register res = dest->as_register_lo();
-    Register x = left->as_register_lo();
-    Register y = count->as_register();
-
-    switch (code) {
-      case lir_shl:  __ lslv(res, x, y); break;
-      case lir_shr:  __ asrv(res, x, y); break;
-      case lir_ushr: __ lsrv(res, x, y); break;
-      default: ShouldNotReachHere();
-    }
-  } else {
-    ShouldNotReachHere();
-  }
-#else
   AsmShift shift = lsl;
   switch (code) {
     case lir_shl:  shift = lsl; break;
@@ -2648,43 +2052,10 @@
   } else {
     ShouldNotReachHere();
   }
-#endif // AARCH64
 }
 
 
 void LIR_Assembler::shift_op(LIR_Code code, LIR_Opr left, jint count, LIR_Opr dest) {
-#ifdef AARCH64
-  if (dest->is_single_cpu()) {
-    assert (dest->type() == T_INT, "unexpected result type");
-    assert (left->type() == T_INT, "unexpected left type");
-    count &= 31;
-    if (count != 0) {
-      switch (code) {
-        case lir_shl:  __ _lsl_w(dest->as_register(), left->as_register(), count); break;
-        case lir_shr:  __ _asr_w(dest->as_register(), left->as_register(), count); break;
-        case lir_ushr: __ _lsr_w(dest->as_register(), left->as_register(), count); break;
-        default: ShouldNotReachHere();
-      }
-    } else {
-      move_regs(left->as_register(), dest->as_register());
-    }
-  } else if (dest->is_double_cpu()) {
-    count &= 63;
-    if (count != 0) {
-      switch (code) {
-        case lir_shl:  __ _lsl(dest->as_register_lo(), left->as_register_lo(), count); break;
-        case lir_shr:  __ _asr(dest->as_register_lo(), left->as_register_lo(), count); break;
-        case lir_ushr: __ _lsr(dest->as_register_lo(), left->as_register_lo(), count); break;
-        default: ShouldNotReachHere();
-      }
-    } else {
-      move_regs(left->as_register_lo(), dest->as_register_lo());
-    }
-  } else {
-    ShouldNotReachHere();
-  }
-
-#else
   AsmShift shift = lsl;
   switch (code) {
     case lir_shl:  shift = lsl; break;
@@ -2723,29 +2094,18 @@
   } else {
     ShouldNotReachHere();
   }
-#endif // AARCH64
 }
 
 
 // Saves 4 given registers in reserved argument area.
 void LIR_Assembler::save_in_reserved_area(Register r1, Register r2, Register r3, Register r4) {
   verify_reserved_argument_area_size(4);
-#ifdef AARCH64
-  __ stp(r1, r2, Address(SP, 0));
-  __ stp(r3, r4, Address(SP, 2*wordSize));
-#else
   __ stmia(SP, RegisterSet(r1) | RegisterSet(r2) | RegisterSet(r3) | RegisterSet(r4));
-#endif // AARCH64
 }
 
 // Restores 4 given registers from reserved argument area.
 void LIR_Assembler::restore_from_reserved_area(Register r1, Register r2, Register r3, Register r4) {
-#ifdef AARCH64
-  __ ldp(r1, r2, Address(SP, 0));
-  __ ldp(r3, r4, Address(SP, 2*wordSize));
-#else
   __ ldmia(SP, RegisterSet(r1) | RegisterSet(r2) | RegisterSet(r3) | RegisterSet(r4), no_writeback);
-#endif // AARCH64
 }
 
 
@@ -2760,9 +2120,6 @@
   Register tmp2 = Rtemp;
 
   assert(src == R0 && src_pos == R1 && dst == R2 && dst_pos == R3, "code assumption");
-#ifdef AARCH64
-  assert(length == R4, "code assumption");
-#endif // AARCH64
 
   __ resolve(ACCESS_READ, src);
   __ resolve(ACCESS_WRITE, dst);
@@ -2779,13 +2136,8 @@
     // save arguments, because they will be killed by a runtime call
     save_in_reserved_area(R0, R1, R2, R3);
 
-#ifdef AARCH64
-    // save length argument, will be killed by a runtime call
-    __ raw_push(length, ZR);
-#else
     // pass length argument on SP[0]
     __ str(length, Address(SP, -2*wordSize, pre_indexed));  // 2 words for a proper stack alignment
-#endif // AARCH64
 
     address copyfunc_addr = StubRoutines::generic_arraycopy();
     assert(copyfunc_addr != NULL, "generic arraycopy stub required");
@@ -2797,11 +2149,7 @@
     // the stub is in the code cache so close enough
     __ call(copyfunc_addr, relocInfo::runtime_call_type);
 
-#ifdef AARCH64
-    __ raw_pop(length, ZR);
-#else
     __ add(SP, SP, 2*wordSize);
-#endif // AARCH64
 
     __ cbz_32(R0, *stub->continuation());
 
@@ -2975,7 +2323,7 @@
         Register dst_ptr = R1;
         Register len     = R2;
         Register chk_off = R3;
-        Register super_k = AARCH64_ONLY(R4) NOT_AARCH64(tmp);
+        Register super_k = tmp;
 
         __ add(src_ptr, src, arrayOopDesc::base_offset_in_bytes(basic_type));
         __ add_ptr_scaled_int32(src_ptr, src_ptr, src_pos, shift);
@@ -2987,20 +2335,11 @@
         int ek_offset = in_bytes(ObjArrayKlass::element_klass_offset());
         int sco_offset = in_bytes(Klass::super_check_offset_offset());
 
-#ifdef AARCH64
-        __ raw_push(length, ZR); // Preserve length around *copyfunc_addr call
-
-        __ mov(len, length);
-        __ ldr(super_k, Address(tmp, ek_offset)); // super_k == R4 == length, so this load cannot be performed earlier
-        // TODO-AARCH64: check whether it is faster to load super klass early by using tmp and additional mov.
-        __ ldr_u32(chk_off, Address(super_k, sco_offset));
-#else // AARCH64
         __ ldr(super_k, Address(tmp, ek_offset));
 
         __ mov(len, length);
         __ ldr_u32(chk_off, Address(super_k, sco_offset));
         __ push(super_k);
-#endif // AARCH64
 
         __ call(copyfunc_addr, relocInfo::runtime_call_type);
 
@@ -3013,11 +2352,7 @@
         }
 #endif // PRODUCT
 
-#ifdef AARCH64
-        __ raw_pop(length, ZR);
-#else
         __ add(SP, SP, wordSize);  // Drop super_k argument
-#endif // AARCH64
 
         __ cbz_32(R0, *stub->continuation());
         __ mvn_32(tmp, R0);
@@ -3079,9 +2414,6 @@
 void LIR_Assembler::emit_assert(LIR_OpAssert* op) {
   assert(op->code() == lir_assert, "must be");
 
-#ifdef AARCH64
-  __ NOT_IMPLEMENTED();
-#else
   if (op->in_opr1()->is_valid()) {
     assert(op->in_opr2()->is_valid(), "both operands must be valid");
     comp_op(op->condition(), op->in_opr1(), op->in_opr2(), op);
@@ -3113,7 +2445,6 @@
     breakpoint();
   }
   __ bind(ok);
-#endif // AARCH64
 }
 #endif // ASSERT
 
@@ -3163,7 +2494,7 @@
   assert_different_registers(mdo, tmp1);
   __ mov_metadata(mdo, md->constant_encoding());
   int mdo_offset_bias = 0;
-  int max_offset = AARCH64_ONLY(4096 << LogBytesPerWord) NOT_AARCH64(4096);
+  int max_offset = 4096;
   if (md->byte_offset_of_slot(data, CounterData::count_offset()) + data->size_in_bytes() >= max_offset) {
     // The offset is large so bias the mdo by the base of the slot so
     // that the ldr can use an immediate offset to reference the slots of the data
@@ -3259,7 +2590,6 @@
 
 
 void LIR_Assembler::align_backward_branch_target() {
-  // TODO-AARCH64 review it
   // Some ARM processors do better with 8-byte branch target alignment
   __ align(8);
 }
@@ -3274,9 +2604,6 @@
     assert (left->type() == T_INT, "unexpected left type");
     __ neg_32(dest->as_register(), left->as_register());
   } else if (left->is_double_cpu()) {
-#ifdef AARCH64
-    __ neg(dest->as_register_lo(), left->as_register_lo());
-#else
     Register dest_lo = dest->as_register_lo();
     Register dest_hi = dest->as_register_hi();
     Register src_lo = left->as_register_lo();
@@ -3287,7 +2614,6 @@
     __ rsbs(dest_lo, src_lo, 0);
     __ rsc(dest_hi, src_hi, 0);
     move_regs(dest_lo, dest->as_register_lo());
-#endif // AARCH64
   } else if (left->is_single_fpu()) {
     __ neg_float(dest->as_float_reg(), left->as_float_reg());
   } else if (left->is_double_fpu()) {
@@ -3309,9 +2635,6 @@
     __ add(dest->as_pointer_register(), addr->base()->as_pointer_register(), c);
   } else {
     assert(addr->disp() == 0, "cannot handle otherwise");
-#ifdef AARCH64
-    assert(addr->index()->is_double_cpu(), "should be");
-#endif // AARCH64
     __ add(dest->as_pointer_register(), addr->base()->as_pointer_register(),
            AsmOperand(addr->index()->as_pointer_register(), lsl, addr->scale()));
   }
@@ -3328,9 +2651,6 @@
 
 
 void LIR_Assembler::volatile_move_op(LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmitInfo* info) {
-#ifdef AARCH64
-  Unimplemented(); // TODO-AARCH64: Use stlr/ldar instructions for volatile load/store
-#else
   assert(src->is_double_cpu() && dest->is_address() ||
          src->is_address() && dest->is_double_cpu(),
          "Simple move_op is called for all other cases");
@@ -3372,7 +2692,6 @@
   if (info != NULL) {
     add_debug_info_for_null_check(null_check_offset, info);
   }
-#endif // AARCH64
 }
 
 
@@ -3414,9 +2733,6 @@
 }
 
 void LIR_Assembler::peephole(LIR_List* lir) {
-#ifdef AARCH64
-  return; // TODO-AARCH64 implement peephole optimizations
-#endif
   LIR_OpList* inst = lir->instructions_list();
   const int inst_length = inst->length();
   for (int i = 0; i < inst_length; i++) {
@@ -3480,38 +2796,23 @@
 }
 
 void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp) {
-#ifdef AARCH64
-  Register ptr = src->as_pointer_register();
-#else
   assert(src->is_address(), "sanity");
   Address addr = as_Address(src->as_address_ptr());
-#endif
 
   if (code == lir_xchg) {
-#ifdef AARCH64
-    if (UseCompressedOops && data->is_oop()) {
-      __ encode_heap_oop(tmp->as_pointer_register(), data->as_register());
-    }
-#endif // AARCH64
   } else {
     assert (!data->is_oop(), "xadd for oops");
   }
 
-#ifndef AARCH64
   __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | MacroAssembler::LoadStore), Rtemp);
-#endif // !AARCH64
 
   Label retry;
   __ bind(retry);
 
-  if ((data->type() == T_INT) || (data->is_oop() AARCH64_ONLY(&& UseCompressedOops))) {
+  if (data->type() == T_INT || data->is_oop()) {
     Register dst = dest->as_register();
     Register new_val = noreg;
-#ifdef AARCH64
-    __ ldaxr_w(dst, ptr);
-#else
     __ ldrex(dst, addr);
-#endif
     if (code == lir_xadd) {
       Register tmp_reg = tmp->as_register();
       if (data->is_constant()) {
@@ -3530,35 +2831,8 @@
       }
       assert_different_registers(dst, new_val);
     }
-#ifdef AARCH64
-    __ stlxr_w(Rtemp, new_val, ptr);
-#else
     __ strex(Rtemp, new_val, addr);
-#endif // AARCH64
-
-#ifdef AARCH64
-  } else if ((data->type() == T_LONG) || (data->is_oop() && !UseCompressedOops)) {
-    Register dst = dest->as_pointer_register();
-    Register new_val = noreg;
-    __ ldaxr(dst, ptr);
-    if (code == lir_xadd) {
-      Register tmp_reg = tmp->as_pointer_register();
-      if (data->is_constant()) {
-        assert_different_registers(dst, ptr, tmp_reg);
-        jlong c = data->as_constant_ptr()->as_jlong();
-        assert((jlong)((jint)c) == c, "overflow");
-        __ add(tmp_reg, dst, (jint)c);
-      } else {
-        assert_different_registers(dst, ptr, tmp_reg, data->as_pointer_register());
-        __ add(tmp_reg, dst, data->as_pointer_register());
-      }
-      new_val = tmp_reg;
-    } else {
-      new_val = data->as_pointer_register();
-      assert_different_registers(dst, ptr, new_val);
-    }
-    __ stlxr(Rtemp, new_val, ptr);
-#else
+
   } else if (data->type() == T_LONG) {
     Register dst_lo = dest->as_register_lo();
     Register new_val_lo = noreg;
@@ -3599,7 +2873,6 @@
       assert((new_val_lo->encoding() & 0x1) == 0, "misaligned register pair");
     }
     __ strexd(Rtemp, new_val_lo, addr);
-#endif // AARCH64
   } else {
     ShouldNotReachHere();
   }
@@ -3607,11 +2880,6 @@
   __ cbnz_32(Rtemp, retry);
   __ membar(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreLoad | MacroAssembler::StoreStore), Rtemp);
 
-#ifdef AARCH64
-  if (UseCompressedOops && data->is_oop()) {
-    __ decode_heap_oop(dest->as_register());
-  }
-#endif // AARCH64
 }
 
 #undef __
--- a/src/hotspot/cpu/arm/c1_LIRAssembler_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LIRAssembler_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -44,9 +44,6 @@
                                  Label* profile_cast_success, Label* profile_cast_failure,
                                  Label* success, Label* failure);
 
-#ifdef AARCH64
-  void long_compare_helper(LIR_Opr opr1, LIR_Opr opr2);
-#endif // AARCH64
 
   // Saves 4 given registers in reserved argument area.
   void save_in_reserved_area(Register r1, Register r2, Register r3, Register r4);
@@ -55,10 +52,10 @@
   void restore_from_reserved_area(Register r1, Register r2, Register r3, Register r4);
 
   enum {
-    _call_stub_size = AARCH64_ONLY(32) NOT_AARCH64(16),
+    _call_stub_size = 16,
     _call_aot_stub_size = 0,
-    _exception_handler_size = PRODUCT_ONLY(AARCH64_ONLY(256) NOT_AARCH64(68)) NOT_PRODUCT(AARCH64_ONLY(256+216) NOT_AARCH64(68+60)),
-    _deopt_handler_size = AARCH64_ONLY(32) NOT_AARCH64(16)
+    _exception_handler_size = PRODUCT_ONLY(68) NOT_PRODUCT(68+60),
+    _deopt_handler_size = 16
   };
 
  public:
--- a/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LIRGenerator_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -118,19 +118,6 @@
 
 
 bool LIRGenerator::can_store_as_constant(Value v, BasicType type) const {
-#ifdef AARCH64
-  if (v->type()->as_IntConstant() != NULL) {
-    return v->type()->as_IntConstant()->value() == 0;
-  } else if (v->type()->as_LongConstant() != NULL) {
-    return v->type()->as_LongConstant()->value() == 0;
-  } else if (v->type()->as_ObjectConstant() != NULL) {
-    return v->type()->as_ObjectConstant()->value()->is_null_object();
-  } else if (v->type()->as_FloatConstant() != NULL) {
-    return jint_cast(v->type()->as_FloatConstant()->value()) == 0;
-  } else if (v->type()->as_DoubleConstant() != NULL) {
-    return jlong_cast(v->type()->as_DoubleConstant()->value()) == 0;
-  }
-#endif // AARCH64
   return false;
 }
 
@@ -140,15 +127,10 @@
     return Assembler::is_arith_imm_in_range(v->type()->as_IntConstant()->value());
   } else if (v->type()->as_ObjectConstant() != NULL) {
     return v->type()->as_ObjectConstant()->value()->is_null_object();
-#ifdef AARCH64
-  } else if (v->type()->as_LongConstant() != NULL) {
-    return Assembler::is_arith_imm_in_range(v->type()->as_LongConstant()->value());
-#else
   } else if (v->type()->as_FloatConstant() != NULL) {
     return v->type()->as_FloatConstant()->value() == 0.0f;
   } else if (v->type()->as_DoubleConstant() != NULL) {
     return v->type()->as_DoubleConstant()->value() == 0.0;
-#endif // AARCH64
   }
   return false;
 }
@@ -160,39 +142,6 @@
 }
 
 
-#ifdef AARCH64
-
-static bool can_inline_as_constant_in_cmp(Value v) {
-  jlong constant;
-  if (v->type()->as_IntConstant() != NULL) {
-    constant = v->type()->as_IntConstant()->value();
-  } else if (v->type()->as_LongConstant() != NULL) {
-    constant = v->type()->as_LongConstant()->value();
-  } else if (v->type()->as_ObjectConstant() != NULL) {
-    return v->type()->as_ObjectConstant()->value()->is_null_object();
-  } else if (v->type()->as_FloatConstant() != NULL) {
-    return v->type()->as_FloatConstant()->value() == 0.0f;
-  } else if (v->type()->as_DoubleConstant() != NULL) {
-    return v->type()->as_DoubleConstant()->value() == 0.0;
-  } else {
-    return false;
-  }
-
-  return Assembler::is_arith_imm_in_range(constant) || Assembler::is_arith_imm_in_range(-constant);
-}
-
-
-static bool can_inline_as_constant_in_logic(Value v) {
-  if (v->type()->as_IntConstant() != NULL) {
-    return Assembler::LogicalImmediate(v->type()->as_IntConstant()->value(), true).is_encoded();
-  } else if (v->type()->as_LongConstant() != NULL) {
-    return Assembler::LogicalImmediate(v->type()->as_LongConstant()->value(), false).is_encoded();
-  }
-  return false;
-}
-
-
-#endif // AARCH64
 
 
 LIR_Opr LIRGenerator::safepoint_poll_register() {
@@ -211,48 +160,10 @@
   }
 }
 
-#ifdef AARCH64
-
-void LIRGenerator::add_constant(LIR_Opr src, jlong c, LIR_Opr dest) {
-  if (c == 0) {
-    __ move(src, dest);
-    return;
-  }
-
-  BasicType type = src->type();
-  bool is_neg = (c < 0);
-  c = ABS(c);
-
-  if ((c >> 24) == 0) {
-    for (int shift = 0; shift <= 12; shift += 12) {
-      int part = ((int)c) & (right_n_bits(12) << shift);
-      if (part != 0) {
-        if (is_neg) {
-          __ sub(src, make_constant(type, part), dest);
-        } else {
-          __ add(src, make_constant(type, part), dest);
-        }
-        src = dest;
-      }
-    }
-  } else {
-    __ move(make_constant(type, c), dest);
-    if (is_neg) {
-      __ sub(src, dest, dest);
-    } else {
-      __ add(src, dest, dest);
-    }
-  }
-}
-
-#endif // AARCH64
 
 
 void LIRGenerator::add_large_constant(LIR_Opr src, int c, LIR_Opr dest) {
   assert(c != 0, "must be");
-#ifdef AARCH64
-  add_constant(src, c, dest);
-#else
   // Find first non-zero bit
   int shift = 0;
   while ((c & (3 << shift)) == 0) {
@@ -272,7 +183,6 @@
   if (c & (mask << 24)) {
     __ add(dest, LIR_OprFact::intConst(c & (mask << 24)), dest);
   }
-#endif // AARCH64
 }
 
 static LIR_Address* make_address(LIR_Opr base, LIR_Opr index, LIR_Address::Scale scale, BasicType type) {
@@ -288,7 +198,6 @@
     index = LIR_OprFact::illegalOpr;
   }
 
-#ifndef AARCH64
   if (base->type() == T_LONG) {
     LIR_Opr tmp = new_register(T_INT);
     __ convert(Bytecodes::_l2i, base, tmp);
@@ -302,26 +211,11 @@
   // At this point base and index should be all ints and not constants
   assert(base->is_single_cpu() && !base->is_constant(), "base should be an non-constant int");
   assert(index->is_illegal() || (index->type() == T_INT && !index->is_constant()), "index should be an non-constant int");
-#endif
 
   int max_disp;
   bool disp_is_in_range;
   bool embedded_shift;
 
-#ifdef AARCH64
-  int align = exact_log2(type2aelembytes(type, true));
-  assert((disp & right_n_bits(align)) == 0, "displacement is not aligned");
-  assert(shift == 0 || shift == align, "shift should be zero or equal to embedded align");
-  max_disp = (1 << 12) << align;
-
-  if (disp >= 0) {
-    disp_is_in_range = Assembler::is_unsigned_imm_in_range(disp, 12, align);
-  } else {
-    disp_is_in_range = Assembler::is_imm_in_range(disp, 9, 0);
-  }
-
-  embedded_shift = true;
-#else
   switch (type) {
     case T_BYTE:
     case T_SHORT:
@@ -344,7 +238,6 @@
   }
 
   disp_is_in_range = (-max_disp < disp && disp < max_disp);
-#endif // !AARCH64
 
   if (index->is_register()) {
     LIR_Opr tmp = new_pointer_register();
@@ -394,11 +287,7 @@
 LIR_Opr LIRGenerator::load_immediate(int x, BasicType type) {
   assert(type == T_LONG || type == T_INT, "should be");
   LIR_Opr r = make_constant(type, x);
-#ifdef AARCH64
-  bool imm_in_range = Assembler::LogicalImmediate(x, type == T_INT).is_encoded();
-#else
   bool imm_in_range = AsmOperand::is_rotated_imm(x);
-#endif // AARCH64
   if (!imm_in_range) {
     LIR_Opr tmp = new_register(type);
     __ move(r, tmp);
@@ -439,14 +328,9 @@
 bool LIRGenerator::strength_reduce_multiply(LIR_Opr left, int c, LIR_Opr result, LIR_Opr tmp) {
   assert(left != result, "should be different registers");
   if (is_power_of_2(c + 1)) {
-#ifdef AARCH64
-    __ shift_left(left, log2_intptr(c + 1), result);
-    __ sub(result, left, result);
-#else
     LIR_Address::Scale scale = (LIR_Address::Scale) log2_intptr(c + 1);
     LIR_Address* addr = new LIR_Address(left, left, scale, 0, T_INT);
     __ sub(LIR_OprFact::address(addr), left, result); // rsb with shifted register
-#endif // AARCH64
     return true;
   } else if (is_power_of_2(c - 1)) {
     LIR_Address::Scale scale = (LIR_Address::Scale) log2_intptr(c - 1);
@@ -465,12 +349,7 @@
 
 void LIRGenerator::set_card(LIR_Opr value, LIR_Address* card_addr) {
   assert(CardTable::dirty_card_val() == 0,
-    "Cannot use ZR register (aarch64) or the register containing the card table base address directly (aarch32) otherwise");
-#ifdef AARCH64
-  // AARCH64 has a register that is constant zero. We can use that one to set the
-  // value in the card table to dirty.
-  __ move(FrameMap::ZR_opr, card_addr);
-#else // AARCH64
+    "Cannot use the register containing the card table base address directly");
   if((ci_card_table_address_as<intx>() & 0xff) == 0) {
     // If the card table base address is aligned to 256 bytes, we can use the register
     // that contains the card_table_base_address.
@@ -481,7 +360,6 @@
     __ move(LIR_OprFact::intConst(CardTable::dirty_card_val()), tmp_zero);
     __ move(tmp_zero, card_addr);
   }
-#endif // AARCH64
 }
 
 void LIRGenerator::CardTableBarrierSet_post_barrier_helper(LIR_OprDesc* addr, LIR_Const* card_table_base) {
@@ -492,24 +370,16 @@
 
   LIR_Opr tmp = FrameMap::LR_ptr_opr;
 
-  // TODO-AARCH64: check performance
-  bool load_card_table_base_const = AARCH64_ONLY(false) NOT_AARCH64(VM_Version::supports_movw());
+  bool load_card_table_base_const = VM_Version::supports_movw();
   if (load_card_table_base_const) {
     __ move((LIR_Opr)card_table_base, tmp);
   } else {
     __ move(new LIR_Address(FrameMap::Rthread_opr, in_bytes(JavaThread::card_table_base_offset()), T_ADDRESS), tmp);
   }
 
-#ifdef AARCH64
-  LIR_Address* shifted_reg_operand = new LIR_Address(tmp, addr, (LIR_Address::Scale) -CardTable::card_shift, 0, T_BYTE);
-  LIR_Opr tmp2 = tmp;
-  __ add(tmp, LIR_OprFact::address(shifted_reg_operand), tmp2); // tmp2 = tmp + (addr >> CardTable::card_shift)
-  LIR_Address* card_addr = new LIR_Address(tmp2, T_BYTE);
-#else
   // Use unsigned type T_BOOLEAN here rather than (signed) T_BYTE since signed load
   // byte instruction does not support the addressing mode we need.
   LIR_Address* card_addr = new LIR_Address(tmp, addr, (LIR_Address::Scale) -CardTable::card_shift, 0, T_BOOLEAN);
-#endif
   if (UseCondCardMark) {
     if (ct->scanned_concurrently()) {
       __ membar_storeload();
@@ -679,63 +549,6 @@
     info = state_for(x);
   }
 
-#ifdef AARCH64
-  LIRItem left(x->x(), this);
-  LIRItem right(x->y(), this);
-  LIRItem* left_arg = &left;
-  LIRItem* right_arg = &right;
-
-  // Test if instr is commutative and if we should swap
-  if (x->is_commutative() && left.is_constant()) {
-    left_arg = &right;
-    right_arg = &left;
-  }
-
-  left_arg->load_item();
-  switch (x->op()) {
-    case Bytecodes::_ldiv:
-      right_arg->load_item();
-      make_div_by_zero_check(right_arg->result(), T_LONG, info);
-      __ idiv(left_arg->result(), right_arg->result(), rlock_result(x), LIR_OprFact::illegalOpr, NULL);
-      break;
-
-    case Bytecodes::_lrem: {
-      right_arg->load_item();
-      make_div_by_zero_check(right_arg->result(), T_LONG, info);
-      // a % b is implemented with 2 instructions:
-      // tmp = a/b       (sdiv)
-      // res = a - b*tmp (msub)
-      LIR_Opr tmp = FrameMap::as_long_opr(Rtemp);
-      __ irem(left_arg->result(), right_arg->result(), rlock_result(x), tmp, NULL);
-      break;
-    }
-
-    case Bytecodes::_lmul:
-      if (right_arg->is_constant() && is_power_of_2_long(right_arg->get_jlong_constant())) {
-        right_arg->dont_load_item();
-        __ shift_left(left_arg->result(), exact_log2_long(right_arg->get_jlong_constant()), rlock_result(x));
-      } else {
-        right_arg->load_item();
-        __ mul(left_arg->result(), right_arg->result(), rlock_result(x));
-      }
-      break;
-
-    case Bytecodes::_ladd:
-    case Bytecodes::_lsub:
-      if (right_arg->is_constant()) {
-        jlong c = right_arg->get_jlong_constant();
-        add_constant(left_arg->result(), (x->op() == Bytecodes::_ladd) ? c : -c, rlock_result(x));
-      } else {
-        right_arg->load_item();
-        arithmetic_op_long(x->op(), rlock_result(x), left_arg->result(), right_arg->result(), NULL);
-      }
-      break;
-
-    default:
-      ShouldNotReachHere();
-      return;
-  }
-#else
   switch (x->op()) {
     case Bytecodes::_ldiv:
     case Bytecodes::_lrem: {
@@ -777,7 +590,6 @@
     default:
       ShouldNotReachHere();
   }
-#endif // AARCH64
 }
 
 
@@ -804,20 +616,6 @@
       LIR_Opr result = rlock_result(x);
       __ idiv(left_arg->result(), right_arg->result(), result, tmp, info);
     } else {
-#ifdef AARCH64
-      left_arg->load_item();
-      right_arg->load_item();
-      make_div_by_zero_check(right_arg->result(), T_INT, info);
-      if (x->op() == Bytecodes::_idiv) {
-        __ idiv(left_arg->result(), right_arg->result(), rlock_result(x), LIR_OprFact::illegalOpr, NULL);
-      } else {
-        // a % b is implemented with 2 instructions:
-        // tmp = a/b       (sdiv)
-        // res = a - b*tmp (msub)
-        LIR_Opr tmp = FrameMap::as_opr(Rtemp);
-        __ irem(left_arg->result(), right_arg->result(), rlock_result(x), tmp, NULL);
-      }
-#else
       left_arg->load_item_force(FrameMap::R0_opr);
       right_arg->load_item_force(FrameMap::R2_opr);
       LIR_Opr tmp = FrameMap::R1_opr;
@@ -831,16 +629,8 @@
         __ idiv(left_arg->result(), right_arg->result(), out_reg, tmp, info);
       }
       __ move(out_reg, result);
-#endif // AARCH64
     }
 
-#ifdef AARCH64
-  } else if (((x->op() == Bytecodes::_iadd) || (x->op() == Bytecodes::_isub)) && right_arg->is_constant()) {
-    left_arg->load_item();
-    jint c = right_arg->get_jint_constant();
-    right_arg->dont_load_item();
-    add_constant(left_arg->result(), (x->op() == Bytecodes::_iadd) ? c : -c, rlock_result(x));
-#endif // AARCH64
 
   } else {
     left_arg->load_item();
@@ -852,7 +642,6 @@
         right_arg->load_item();
       }
     } else {
-      AARCH64_ONLY(assert(!right_arg->is_constant(), "constant right_arg is already handled by this moment");)
       right_arg->load_nonconstant();
     }
     rlock_result(x);
@@ -880,11 +669,9 @@
   LIRItem value(x->x(), this);
   LIRItem count(x->y(), this);
 
-#ifndef AARCH64
   if (value.type()->is_long()) {
     count.set_destroys_register();
   }
-#endif // !AARCH64
 
   if (count.is_constant()) {
     assert(count.type()->as_IntConstant() != NULL, "should be");
@@ -906,15 +693,7 @@
 
   left.load_item();
 
-#ifdef AARCH64
-  if (right.is_constant() && can_inline_as_constant_in_logic(right.value())) {
-    right.dont_load_item();
-  } else {
-    right.load_item();
-  }
-#else
   right.load_nonconstant();
-#endif // AARCH64
 
   logic_op(x->op(), rlock_result(x), left.result(), right.result());
 }
@@ -956,15 +735,7 @@
   LIRItem right(x->y(), this);
   left.load_item();
 
-#ifdef AARCH64
-  if (right.is_constant() && can_inline_as_constant_in_cmp(right.value())) {
-    right.dont_load_item();
-  } else {
-    right.load_item();
-  }
-#else
   right.load_nonconstant();
-#endif // AARCH64
 
   LIR_Opr reg = rlock_result(x);
 
@@ -987,19 +758,11 @@
   cmp_value.load_item();
   LIR_Opr result = new_register(T_INT);
   if (type == T_OBJECT || type == T_ARRAY) {
-#ifdef AARCH64
-    if (UseCompressedOops) {
-      tmp1 = new_pointer_register();
-      tmp2 = new_pointer_register();
-    }
-#endif
     __ cas_obj(addr, cmp_value.result(), new_value.result(), new_register(T_INT), new_register(T_INT), result);
   } else if (type == T_INT) {
     __ cas_int(addr->as_address_ptr()->base(), cmp_value.result(), new_value.result(), tmp1, tmp1, result);
   } else if (type == T_LONG) {
-#ifndef AARCH64
     tmp1 = new_register(T_LONG);
-#endif // !AARCH64
     __ cas_long(addr->as_address_ptr()->base(), cmp_value.result(), new_value.result(), tmp1, tmp2, result);
   } else {
     ShouldNotReachHere();
@@ -1135,7 +898,6 @@
 void LIRGenerator::do_Convert(Convert* x) {
   address runtime_func;
   switch (x->op()) {
-#ifndef AARCH64
     case Bytecodes::_l2f:
       runtime_func = CAST_FROM_FN_PTR(address, SharedRuntime::l2f);
       break;
@@ -1170,7 +932,6 @@
       runtime_func = CAST_FROM_FN_PTR(address, SharedRuntime::d2i);
       break;
 #endif // __SOFTFP__
-#endif // !AARCH64
     default: {
       LIRItem value(x->value(), this);
       value.load_item();
@@ -1488,7 +1249,6 @@
   LIRItem* yin = &yitem;
   If::Condition cond = x->cond();
 
-#ifndef AARCH64
   if (tag == longTag) {
     if (cond == If::gtr || cond == If::leq) {
       cond = Instruction::mirror(cond);
@@ -1497,20 +1257,11 @@
     }
     xin->set_destroys_register();
   }
-#endif // !AARCH64
 
   xin->load_item();
   LIR_Opr left = xin->result();
   LIR_Opr right;
 
-#ifdef AARCH64
-  if (yin->is_constant() && can_inline_as_constant_in_cmp(yin->value())) {
-    yin->dont_load_item();
-  } else {
-    yin->load_item();
-  }
-  right = yin->result();
-#else
   if (tag == longTag && yin->is_constant() && yin->get_jlong_constant() == 0 &&
       (cond == If::eql || cond == If::neq)) {
     // inline long zero
@@ -1519,7 +1270,6 @@
     yin->load_nonconstant();
     right = yin->result();
   }
-#endif // AARCH64
 
   set_no_result(x);
 
@@ -1558,7 +1308,6 @@
 
 void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
                                         CodeEmitInfo* info) {
-#ifndef AARCH64
   if (value->is_double_cpu()) {
     assert(address->index()->is_illegal(), "should have a constant displacement");
     LIR_Opr tmp = new_pointer_register();
@@ -1566,14 +1315,11 @@
     __ volatile_store_mem_reg(value, new LIR_Address(tmp, (intx)0, address->type()), info);
     return;
   }
-#endif // !AARCH64
-  // TODO-AARCH64 implement with stlr instruction
   __ store(value, address, info, lir_patch_none);
 }
 
 void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
                                        CodeEmitInfo* info) {
-#ifndef AARCH64
   if (result->is_double_cpu()) {
     assert(address->index()->is_illegal(), "should have a constant displacement");
     LIR_Opr tmp = new_pointer_register();
@@ -1581,7 +1327,5 @@
     __ volatile_load_mem_reg(new LIR_Address(tmp, (intx)0, address->type()), result, info);
     return;
   }
-#endif // !AARCH64
-  // TODO-AARCH64 implement with ldar instruction
   __ load(address, result, info, lir_patch_none);
 }
--- a/src/hotspot/cpu/arm/c1_LIRGenerator_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LIRGenerator_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,3 @@
 
   void make_div_by_zero_check(LIR_Opr right_arg, BasicType type, CodeEmitInfo* info);
 
-#ifdef AARCH64
-  // the helper for arithmetic
-  void add_constant(LIR_Opr src, jlong c, LIR_Opr dest);
-#endif // AARCH64
--- a/src/hotspot/cpu/arm/c1_LIR_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LIR_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -33,17 +33,6 @@
   return as_FloatRegister(fpu_regnrLo());
 }
 
-#ifdef AARCH64
-// Reg2 unused.
-LIR_Opr LIR_OprFact::double_fpu(int reg1, int reg2) {
-  assert(as_FloatRegister(reg2) == fnoreg, "Not used on this platform");
-  return (LIR_Opr)(intptr_t)((reg1 << LIR_OprDesc::reg1_shift) |
-                             (reg1 << LIR_OprDesc::reg2_shift) |
-                             LIR_OprDesc::double_type          |
-                             LIR_OprDesc::fpu_register         |
-                             LIR_OprDesc::double_size);
-}
-#else
 LIR_Opr LIR_OprFact::double_fpu(int reg1, int reg2) {
   assert(as_FloatRegister(reg2) != fnoreg, "Arm32 holds double in two regs.");
   return (LIR_Opr)(intptr_t)((reg1 << LIR_OprDesc::reg1_shift) |
@@ -52,22 +41,12 @@
                              LIR_OprDesc::fpu_register         |
                              LIR_OprDesc::double_size);
 }
-#endif
 
 #ifndef PRODUCT
 void LIR_Address::verify() const {
 #ifdef _LP64
   assert(base()->is_cpu_register(), "wrong base operand");
 #endif
-#ifdef AARCH64
-  if (base()->type() == T_INT) {
-    assert(index()->is_single_cpu() && (index()->type() == T_INT), "wrong index operand");
-  } else {
-    assert(index()->is_illegal() || index()->is_double_cpu() ||
-           (index()->is_single_cpu() && (index()->is_oop_register() || index()->type() == T_INT)), "wrong index operand");
-    assert(base()->type() == T_OBJECT || base()->type() == T_LONG || base()->type() == T_METADATA, "wrong type for addresses");
-  }
-#else
   assert(disp() == 0 || index()->is_illegal(), "can't have both");
   // Note: offsets higher than 4096 must not be rejected here. They can
   // be handled by the back-end or will be rejected if not.
@@ -81,6 +60,5 @@
   assert(base()->type() == T_OBJECT || base()->type() == T_INT || base()->type() == T_METADATA,
          "wrong type for addresses");
 #endif
-#endif // AARCH64
 }
 #endif // PRODUCT
--- a/src/hotspot/cpu/arm/c1_LinearScan_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_LinearScan_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -31,24 +31,17 @@
 }
 
 inline int LinearScan::num_physical_regs(BasicType type) {
-#ifndef AARCH64
   if (type == T_LONG || type == T_DOUBLE) return 2;
-#endif // !AARCH64
   return 1;
 }
 
 
 inline bool LinearScan::requires_adjacent_regs(BasicType type) {
-#ifdef AARCH64
-  return false;
-#else
   return type == T_DOUBLE || type == T_LONG;
-#endif // AARCH64
 }
 
 inline bool LinearScan::is_caller_save(int assigned_reg) {
   assert(assigned_reg >= 0 && assigned_reg < nof_regs, "should call this only for registers");
-  // TODO-AARCH64 try to add callee-saved registers
   return true;
 }
 
--- a/src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_MacroAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -46,11 +46,7 @@
   load_klass(Rtemp, receiver);
   cmp(Rtemp, iCache);
   b(verified, eq); // jump over alignment no-ops
-#ifdef AARCH64
-  jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type, Rtemp);
-#else
   jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type);
-#endif
   align(CodeEntryAlignment);
   bind(verified);
 }
@@ -59,10 +55,6 @@
   assert(bang_size_in_bytes >= frame_size_in_bytes, "stack bang size incorrect");
   assert((frame_size_in_bytes % StackAlignmentInBytes) == 0, "frame size should be aligned");
 
-#ifdef AARCH64
-  // Extra nop for MT-safe patching in NativeJump::patch_verified_entry
-  nop();
-#endif // AARCH64
 
   arm_stack_overflow_check(bang_size_in_bytes, Rtemp);
 
@@ -103,28 +95,12 @@
     mov(tmp, (intptr_t)markOopDesc::prototype());
   }
 
-#ifdef AARCH64
-  if (UseCompressedClassPointers) {
-    str(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));
-    encode_klass_not_null(tmp, klass);          // Take care not to kill klass
-    str_w(tmp, Address(obj, oopDesc::klass_offset_in_bytes()));
-  } else {
-    assert(oopDesc::mark_offset_in_bytes() + wordSize == oopDesc::klass_offset_in_bytes(), "adjust this code");
-    stp(tmp, klass, Address(obj, oopDesc::mark_offset_in_bytes()));
-  }
-#else
   str(tmp, Address(obj, oopDesc::mark_offset_in_bytes()));
   str(klass, Address(obj, oopDesc::klass_offset_in_bytes()));
-#endif // AARCH64
 
   if (len->is_valid()) {
     str_32(len, Address(obj, arrayOopDesc::length_offset_in_bytes()));
   }
-#ifdef AARCH64
-  else if (UseCompressedClassPointers) {
-    store_klass_gap(obj);
-  }
-#endif // AARCH64
 }
 
 
@@ -145,40 +121,6 @@
   const Register ptr = tmp2;
 
   if (!(UseTLAB && ZeroTLAB && is_tlab_allocated)) {
-#ifdef AARCH64
-    if (obj_size_in_bytes < 0) {
-      add_rc(ptr, obj, header_size);
-      initialize_body(ptr, obj_end, tmp1);
-
-    } else {
-      int base = instanceOopDesc::header_size() * HeapWordSize;
-      assert(obj_size_in_bytes >= base, "should be");
-
-      const int zero_bytes = obj_size_in_bytes - base;
-      assert((zero_bytes % wordSize) == 0, "should be");
-
-      if ((zero_bytes % (2*wordSize)) != 0) {
-        str(ZR, Address(obj, base));
-        base += wordSize;
-      }
-
-      const int stp_count = zero_bytes / (2*wordSize);
-
-      if (zero_bytes > 8 * wordSize) {
-        Label loop;
-        add(ptr, obj, base);
-        mov(tmp1, stp_count);
-        bind(loop);
-        subs(tmp1, tmp1, 1);
-        stp(ZR, ZR, Address(ptr, 2*wordSize, post_indexed));
-        b(loop, gt);
-      } else {
-        for (int i = 0; i < stp_count; i++) {
-          stp(ZR, ZR, Address(obj, base + i * 2 * wordSize));
-        }
-      }
-    }
-#else
     if (obj_size_in_bytes >= 0 && obj_size_in_bytes <= 8 * BytesPerWord) {
       mov(tmp1, 0);
       const int base = instanceOopDesc::header_size() * HeapWordSize;
@@ -190,7 +132,6 @@
       add(ptr, obj, header_size);
       initialize_body(ptr, obj_end, tmp1);
     }
-#endif // AARCH64
   }
 
   // StoreStore barrier required after complete initialization
@@ -227,12 +168,7 @@
   const int scale_shift = exact_log2(element_size);
   const Register obj_size = Rtemp; // Rtemp should be free at c1 LIR level
 
-#ifdef AARCH64
-  mov_slow(Rtemp, max_array_allocation_length);
-  cmp_32(len, Rtemp);
-#else
   cmp_32(len, max_array_allocation_length);
-#endif // AARCH64
   b(slow_case, hs);
 
   bool align_header = ((header_size_in_bytes | element_size) & MinObjAlignmentInBytesMask) != 0;
@@ -271,34 +207,6 @@
 
   assert(oopDesc::mark_offset_in_bytes() == 0, "Required by atomic instructions");
 
-#ifdef AARCH64
-
-  str(obj, Address(disp_hdr, obj_offset));
-
-  if (!UseBiasedLocking) {
-    null_check_offset = offset();
-  }
-  ldr(hdr, obj);
-
-  // Test if object is already locked
-  assert(markOopDesc::unlocked_value == 1, "adjust this code");
-  tbnz(hdr, exact_log2(markOopDesc::unlocked_value), fast_lock);
-
-  // Check for recursive locking
-  // See comments in InterpreterMacroAssembler::lock_object for
-  // explanations on the fast recursive locking check.
-  intptr_t mask = ((intptr_t)3) - ((intptr_t)os::vm_page_size());
-  Assembler::LogicalImmediate imm(mask, false);
-  mov(tmp2, SP);
-  sub(tmp2, hdr, tmp2);
-  ands(tmp2, tmp2, imm);
-  b(slow_case, ne);
-
-  // Recursive locking: store 0 into a lock record
-  str(ZR, Address(disp_hdr, mark_offset));
-  b(fast_lock_done);
-
-#else // AARCH64
 
   if (!UseBiasedLocking) {
     null_check_offset = offset();
@@ -328,7 +236,6 @@
   // else need slow case
   b(slow_case);
 
-#endif // AARCH64
 
   bind(fast_lock);
   // Save previous object header in BasicLock structure and update the header
--- a/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c1_Runtime1_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -80,15 +80,8 @@
   // Runtime1::exception_handler_for_pc
   if (_stub_id != Runtime1::forward_exception_id) {
     assert(frame_size() != no_frame_size, "cannot directly call forward_exception_id");
-#ifdef AARCH64
-    Label skip;
-    cbz(R3, skip);
-    jump(Runtime1::entry_for(Runtime1::forward_exception_id), relocInfo::runtime_call_type, Rtemp);
-    bind(skip);
-#else
     cmp(R3, 0);
     jump(Runtime1::entry_for(Runtime1::forward_exception_id), relocInfo::runtime_call_type, Rtemp, ne);
-#endif // AARCH64
   } else {
 #ifdef ASSERT
     // Should not have pending exception in forward_exception stub
@@ -124,43 +117,6 @@
 #define __ sasm->
 
 // TODO: ARM - does this duplicate RegisterSaver in SharedRuntime?
-#ifdef AARCH64
-
-  //
-  // On AArch64 registers save area has the following layout:
-  //
-  // |---------------------|
-  // | return address (LR) |
-  // | FP                  |
-  // |---------------------|
-  // | D31                 |
-  // | ...                 |
-  // | D0                  |
-  // |---------------------|
-  // | padding             |
-  // |---------------------|
-  // | R28                 |
-  // | ...                 |
-  // | R0                  |
-  // |---------------------| <-- SP
-  //
-
-enum RegisterLayout {
-  number_of_saved_gprs = 29,
-  number_of_saved_fprs = FloatRegisterImpl::number_of_registers,
-
-  R0_offset  = 0,
-  D0_offset  = R0_offset + number_of_saved_gprs + 1,
-  FP_offset  = D0_offset + number_of_saved_fprs,
-  LR_offset  = FP_offset + 1,
-
-  reg_save_size = LR_offset + 1,
-
-  arg1_offset = reg_save_size * wordSize,
-  arg2_offset = (reg_save_size + 1) * wordSize
-};
-
-#else
 
 enum RegisterLayout {
   fpu_save_size = pd_nof_fpu_regs_reg_alloc,
@@ -191,7 +147,6 @@
   arg2_offset = (reg_save_size + 1) * wordSize
 };
 
-#endif // AARCH64
 
 static OopMap* generate_oop_map(StubAssembler* sasm, bool save_fpu_registers = HaveVFP) {
   sasm->set_frame_size(reg_save_size /* in words */);
@@ -200,19 +155,6 @@
   // Locations are offsets from sp after runtime call.
   OopMap* map = new OopMap(VMRegImpl::slots_per_word * reg_save_size, 0);
 
-#ifdef AARCH64
-  for (int i = 0; i < number_of_saved_gprs; i++) {
-    map->set_callee_saved(VMRegImpl::stack2reg((R0_offset + i) * VMRegImpl::slots_per_word), as_Register(i)->as_VMReg());
-  }
-  map->set_callee_saved(VMRegImpl::stack2reg(FP_offset * VMRegImpl::slots_per_word), FP->as_VMReg());
-  map->set_callee_saved(VMRegImpl::stack2reg(LR_offset * VMRegImpl::slots_per_word), LR->as_VMReg());
-
-  if (save_fpu_registers) {
-    for (int i = 0; i < number_of_saved_fprs; i++) {
-      map->set_callee_saved(VMRegImpl::stack2reg((D0_offset + i) * VMRegImpl::slots_per_word), as_FloatRegister(i)->as_VMReg());
-    }
-  }
-#else
   int j=0;
   for (int i = R0_offset; i < R10_offset; i++) {
     if (j == FP_REG_NUM) {
@@ -235,7 +177,6 @@
       map->set_callee_saved(VMRegImpl::stack2reg(i), as_FloatRegister(i)->as_VMReg());
     }
   }
-#endif // AARCH64
 
   return map;
 }
@@ -244,29 +185,6 @@
   __ block_comment("save_live_registers");
   sasm->set_frame_size(reg_save_size /* in words */);
 
-#ifdef AARCH64
-  assert((reg_save_size * wordSize) % StackAlignmentInBytes == 0, "SP should be aligned");
-
-  __ raw_push(FP, LR);
-
-  __ sub(SP, SP, (reg_save_size - 2) * wordSize);
-
-  for (int i = 0; i < align_down((int)number_of_saved_gprs, 2); i += 2) {
-    __ stp(as_Register(i), as_Register(i+1), Address(SP, (R0_offset + i) * wordSize));
-  }
-
-  if (is_odd(number_of_saved_gprs)) {
-    int i = number_of_saved_gprs - 1;
-    __ str(as_Register(i), Address(SP, (R0_offset + i) * wordSize));
-  }
-
-  if (save_fpu_registers) {
-    assert (is_even(number_of_saved_fprs), "adjust this code");
-    for (int i = 0; i < number_of_saved_fprs; i += 2) {
-      __ stp_d(as_FloatRegister(i), as_FloatRegister(i+1), Address(SP, (D0_offset + i) * wordSize));
-    }
-  }
-#else
   __ push(RegisterSet(FP) | RegisterSet(LR));
   __ push(RegisterSet(R0, R6) | RegisterSet(R8, R10) | R12 | altFP_7_11);
   if (save_fpu_registers) {
@@ -274,7 +192,6 @@
   } else {
     __ sub(SP, SP, fpu_save_size * wordSize);
   }
-#endif // AARCH64
 
   return generate_oop_map(sasm, save_fpu_registers);
 }
@@ -287,34 +204,6 @@
                                    bool restore_fpu_registers = HaveVFP) {
   __ block_comment("restore_live_registers");
 
-#ifdef AARCH64
-  if (restore_R0) {
-    __ ldr(R0, Address(SP, R0_offset * wordSize));
-  }
-
-  assert(is_odd(number_of_saved_gprs), "adjust this code");
-  for (int i = 1; i < number_of_saved_gprs; i += 2) {
-    __ ldp(as_Register(i), as_Register(i+1), Address(SP, (R0_offset + i) * wordSize));
-  }
-
-  if (restore_fpu_registers) {
-    assert (is_even(number_of_saved_fprs), "adjust this code");
-    for (int i = 0; i < number_of_saved_fprs; i += 2) {
-      __ ldp_d(as_FloatRegister(i), as_FloatRegister(i+1), Address(SP, (D0_offset + i) * wordSize));
-    }
-  }
-
-  __ add(SP, SP, (reg_save_size - 2) * wordSize);
-
-  if (restore_FP_LR) {
-    __ raw_pop(FP, LR);
-    if (do_return) {
-      __ ret();
-    }
-  } else {
-    assert (!do_return, "return without restoring FP/LR");
-  }
-#else
   if (restore_fpu_registers) {
     __ fldmiad(SP, FloatRegisterSet(D0, fpu_save_size / 2), writeback);
     if (!restore_R0) {
@@ -329,7 +218,6 @@
   } else {
     assert (!do_return, "return without restoring FP/LR");
   }
-#endif // AARCH64
 }
 
 
@@ -341,11 +229,9 @@
   restore_live_registers(sasm, true, true, true, restore_fpu_registers);
 }
 
-#ifndef AARCH64
 static void restore_live_registers_except_FP_LR(StubAssembler* sasm, bool restore_fpu_registers = HaveVFP) {
   restore_live_registers(sasm, true, false, false, restore_fpu_registers);
 }
-#endif // !AARCH64
 
 static void restore_live_registers_without_return(StubAssembler* sasm, bool restore_fpu_registers = HaveVFP) {
   restore_live_registers(sasm, true, true, false, restore_fpu_registers);
@@ -386,15 +272,8 @@
 static void restore_sp_for_method_handle(StubAssembler* sasm) {
   // Restore SP from its saved reg (FP) if the exception PC is a MethodHandle call site.
   __ ldr_s32(Rtemp, Address(Rthread, JavaThread::is_method_handle_return_offset()));
-#ifdef AARCH64
-  Label skip;
-  __ cbz(Rtemp, skip);
-  __ mov(SP, Rmh_SP_save);
-  __ bind(skip);
-#else
   __ cmp(Rtemp, 0);
   __ mov(SP, Rmh_SP_save, ne);
-#endif // AARCH64
 }
 
 
@@ -500,22 +379,12 @@
 
   __ cmp_32(R0, 0);
 
-#ifdef AARCH64
-  Label call_deopt;
-
-  restore_live_registers_without_return(sasm);
-  __ b(call_deopt, ne);
-  __ ret();
-
-  __ bind(call_deopt);
-#else
   restore_live_registers_except_FP_LR(sasm);
   __ pop(RegisterSet(FP) | RegisterSet(PC), eq);
 
   // Deoptimization needed
   // TODO: ARM - no need to restore FP & LR because unpack_with_reexecution() stores them back
   __ pop(RegisterSet(FP) | RegisterSet(LR));
-#endif // AARCH64
 
   __ jump(deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type, Rtemp);
 
@@ -622,12 +491,7 @@
         if (!UseTLAB && Universe::heap()->supports_inline_contig_alloc()) {
           Label slow_case, slow_case_no_pop;
 
-#ifdef AARCH64
-          __ mov_slow(Rtemp, C1_MacroAssembler::max_array_allocation_length);
-          __ cmp_32(length, Rtemp);
-#else
           __ cmp_32(length, C1_MacroAssembler::max_array_allocation_length);
-#endif // AARCH64
           __ b(slow_case_no_pop, hs);
 
           // Free some temporary registers
@@ -644,12 +508,7 @@
           __ mov(arr_size, MinObjAlignmentInBytesMask);
           __ and_32(tmp2, tmp1, (unsigned int)(Klass::_lh_header_size_mask << Klass::_lh_header_size_shift));
 
-#ifdef AARCH64
-          __ lslv_w(tmp3, length, tmp1);
-          __ add(arr_size, arr_size, tmp3);
-#else
           __ add(arr_size, arr_size, AsmOperand(length, lsl, tmp1));
-#endif // AARCH64
 
           __ add(arr_size, arr_size, AsmOperand(tmp2, lsr, Klass::_lh_header_size_shift));
           __ align_reg(arr_size, arr_size, MinObjAlignmentInBytes);
@@ -714,15 +573,8 @@
         __ load_klass(Rtemp, R0);
         __ ldr_u32(Rtemp, Address(Rtemp, Klass::access_flags_offset()));
 
-#ifdef AARCH64
-        Label L;
-        __ tbnz(Rtemp, exact_log2(JVM_ACC_HAS_FINALIZER), L);
-        __ ret();
-        __ bind(L);
-#else
         __ tst(Rtemp, JVM_ACC_HAS_FINALIZER);
         __ bx(LR, eq);
-#endif // AARCH64
 
         // Call VM
         OopMap* map = save_live_registers(sasm);
@@ -744,9 +596,6 @@
     case throw_index_exception_id:
       {
         __ set_info("index_range_check_failed", dont_gc_arguments);
-#ifdef AARCH64
-        __ NOT_TESTED();
-#endif
         oop_maps = generate_exception_throw(sasm, CAST_FROM_FN_PTR(address, throw_index_exception), true);
       }
       break;
@@ -804,9 +653,6 @@
     case throw_incompatible_class_change_error_id:
       {
         __ set_info("throw_incompatible_class_cast_exception", dont_gc_arguments);
-#ifdef AARCH64
-        __ NOT_TESTED();
-#endif
         oop_maps = generate_exception_throw(sasm, CAST_FROM_FN_PTR(address, throw_incompatible_class_change_error), false);
       }
       break;
@@ -890,7 +736,7 @@
         restore_live_registers_without_return(sasm);
         DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob();
         assert(deopt_blob != NULL, "deoptimization blob must have been created");
-        __ jump(deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type, AARCH64_ONLY(Rtemp) NOT_AARCH64(noreg));
+        __ jump(deopt_blob->unpack_with_reexecution(), relocInfo::runtime_call_type, noreg);
       }
       break;
 
--- a/src/hotspot/cpu/arm/c2_globals_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/c2_globals_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -39,27 +39,15 @@
 define_pd_global(bool, ProfileTraps,                 true);
 define_pd_global(bool, UseOnStackReplacement,        true);
 define_pd_global(bool, ProfileInterpreter,           true);
-#ifdef AARCH64
-define_pd_global(bool, TieredCompilation,            trueInTiered);
-#else
 define_pd_global(bool, TieredCompilation,            false);
-#endif
 define_pd_global(intx, CompileThreshold,             10000);
 
 define_pd_global(intx, OnStackReplacePercentage,     140);
 define_pd_global(intx, ConditionalMoveLimit,         4);
 // C2 gets to use all the float/double registers
-#ifdef AARCH64
-define_pd_global(intx, FLOATPRESSURE,                31);
-#else
 define_pd_global(intx, FLOATPRESSURE,                30);
-#endif
 define_pd_global(intx, FreqInlineSize,               175);
-#ifdef AARCH64
-define_pd_global(intx, INTPRESSURE,                  27);
-#else
 define_pd_global(intx, INTPRESSURE,                  12);
-#endif
 define_pd_global(intx, InteriorEntryAlignment,       16);  // = CodeEntryAlignment
 define_pd_global(size_t, NewSizeThreadIncrease,      ScaleForWordSize(4*K));
 // The default setting 16/16 seems to work best.
--- a/src/hotspot/cpu/arm/frame_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/frame_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -304,26 +304,12 @@
   *((BasicObjectLock**)addr_at(interpreter_frame_monitor_block_top_offset)) = value;
 }
 
-#ifdef AARCH64
-
-// Used by template based interpreter deoptimization
-void frame::interpreter_frame_set_stack_top(intptr_t* stack_top) {
-  *((intptr_t**)addr_at(interpreter_frame_stack_top_offset)) = stack_top;
-}
-
-// Used by template based interpreter deoptimization
-void frame::interpreter_frame_set_extended_sp(intptr_t* sp) {
-  *((intptr_t**)addr_at(interpreter_frame_extended_sp_offset)) = sp;
-}
-
-#else
 
 // Used by template based interpreter deoptimization
 void frame::interpreter_frame_set_last_sp(intptr_t* sp) {
     *((intptr_t**)addr_at(interpreter_frame_last_sp_offset)) = sp;
 }
 
-#endif // AARCH64
 
 frame frame::sender_for_entry_frame(RegisterMap* map) const {
   assert(map != NULL, "map must be set");
@@ -334,18 +320,12 @@
   assert(jfa->last_Java_sp() > sp(), "must be above this frame on stack");
   map->clear();
   assert(map->include_argument_oops(), "should be set by clear");
-#ifdef AARCH64
-  assert (jfa->last_Java_pc() != NULL, "pc should be stored");
-  frame fr(jfa->last_Java_sp(), jfa->last_Java_fp(), jfa->last_Java_pc());
-  return fr;
-#else
   if (jfa->last_Java_pc() != NULL) {
     frame fr(jfa->last_Java_sp(), jfa->last_Java_fp(), jfa->last_Java_pc());
     return fr;
   }
   frame fr(jfa->last_Java_sp(), jfa->last_Java_fp());
   return fr;
-#endif // AARCH64
 }
 
 //------------------------------------------------------------------------------
@@ -403,10 +383,6 @@
 void frame::update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr) {
   // see x86 for comments
   map->set_location(FP->as_VMReg(), (address) link_addr);
-#ifdef AARCH64
-  // also adjust a high part of register
-  map->set_location(FP->as_VMReg()->next(), (address) link_addr);
-#endif // AARCH64
 }
 
 frame frame::sender_for_interpreter_frame(RegisterMap* map) const {
@@ -539,14 +515,6 @@
   if (method->is_native()) {
     // Prior to calling into the runtime to report the method_exit both of
     // the possible return value registers are saved.
-#ifdef AARCH64
-    // Return value registers are saved into the frame
-    if (type == T_FLOAT || type == T_DOUBLE) {
-      res_addr = addr_at(interpreter_frame_fp_saved_result_offset);
-    } else {
-      res_addr = addr_at(interpreter_frame_gp_saved_result_offset);
-    }
-#else
     // Return value registers are pushed to the native stack
     res_addr = (intptr_t*)sp();
 #ifdef __ABI_HARD__
@@ -555,7 +523,6 @@
       res_addr += 2;
     }
 #endif // __ABI_HARD__
-#endif // AARCH64
   } else {
     res_addr = (intptr_t*)interpreter_frame_tos_address();
   }
@@ -602,12 +569,7 @@
 void frame::describe_pd(FrameValues& values, int frame_no) {
   if (is_interpreted_frame()) {
     DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
-#ifdef AARCH64
-    DESCRIBE_FP_OFFSET(interpreter_frame_stack_top);
-    DESCRIBE_FP_OFFSET(interpreter_frame_extended_sp);
-#else
     DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
-#endif // AARCH64
     DESCRIBE_FP_OFFSET(interpreter_frame_method);
     DESCRIBE_FP_OFFSET(interpreter_frame_mdp);
     DESCRIBE_FP_OFFSET(interpreter_frame_cache);
@@ -631,7 +593,6 @@
 }
 
 intptr_t* frame::real_fp() const {
-#ifndef AARCH64
   if (is_entry_frame()) {
     // Work-around: FP (currently) does not conform to the ABI for entry
     // frames (see generate_call_stub). Might be worth fixing as another CR.
@@ -644,7 +605,6 @@
 #endif
     return new_fp;
   }
-#endif // !AARCH64
   if (_cb != NULL) {
     // use the frame size if valid
     int size = _cb->frame_size();
--- a/src/hotspot/cpu/arm/frame_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/frame_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -37,22 +37,12 @@
     sender_sp_offset                                 =  2,
 
     // Interpreter frames
-#ifdef AARCH64
-    interpreter_frame_gp_saved_result_offset         =  4, // for native calls only
-    interpreter_frame_fp_saved_result_offset         =  3, // for native calls only
-#endif
     interpreter_frame_oop_temp_offset                =  2, // for native calls only
 
     interpreter_frame_sender_sp_offset               = -1,
-#ifdef AARCH64
-    interpreter_frame_stack_top_offset               = interpreter_frame_sender_sp_offset - 1,
-    interpreter_frame_extended_sp_offset             = interpreter_frame_stack_top_offset - 1,
-    interpreter_frame_method_offset                  = interpreter_frame_extended_sp_offset - 1,
-#else
     // outgoing sp before a call to an invoked method
     interpreter_frame_last_sp_offset                 = interpreter_frame_sender_sp_offset - 1,
     interpreter_frame_method_offset                  = interpreter_frame_last_sp_offset - 1,
-#endif // AARCH64
     interpreter_frame_mirror_offset                  = interpreter_frame_method_offset - 1,
     interpreter_frame_mdp_offset                     = interpreter_frame_mirror_offset - 1,
     interpreter_frame_cache_offset                   = interpreter_frame_mdp_offset - 1,
@@ -64,7 +54,7 @@
     interpreter_frame_monitor_block_bottom_offset    = interpreter_frame_initial_sp_offset,
 
     // Entry frames
-    entry_frame_call_wrapper_offset                  =  AARCH64_ONLY(2) NOT_AARCH64(0)
+    entry_frame_call_wrapper_offset                  =  0
   };
 
   intptr_t ptr_at(int offset) const {
@@ -107,9 +97,7 @@
 
   frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc);
 
-#ifndef AARCH64
   frame(intptr_t* sp, intptr_t* fp);
-#endif // !AARCH64
 
   void init(intptr_t* sp, intptr_t* fp, address pc);
 
@@ -119,18 +107,11 @@
 
   inline address* sender_pc_addr() const;
 
-#ifdef AARCH64
-  // Used by template based interpreter deoptimization
-  void interpreter_frame_set_stack_top(intptr_t* stack_top);
-  void interpreter_frame_set_extended_sp(intptr_t* sp);
-
-#else
   // expression stack tos if we are nested in a java call
   intptr_t* interpreter_frame_last_sp() const;
 
   // deoptimization support
   void interpreter_frame_set_last_sp(intptr_t* sp);
-#endif // AARCH64
 
   // helper to update a map with callee-saved FP
   static void update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr);
--- a/src/hotspot/cpu/arm/frame_arm.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/frame_arm.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -83,7 +83,6 @@
   }
 }
 
-#ifndef AARCH64
 
 inline frame::frame(intptr_t* sp, intptr_t* fp) {
   _sp = sp;
@@ -104,7 +103,6 @@
   }
 }
 
-#endif // !AARCH64
 
 // Accessors
 
@@ -148,11 +146,9 @@
   return (intptr_t**)addr_at(interpreter_frame_locals_offset);
 }
 
-#ifndef AARCH64
 inline intptr_t* frame::interpreter_frame_last_sp() const {
   return *(intptr_t**)addr_at(interpreter_frame_last_sp_offset);
 }
-#endif // !AARCH64
 
 inline intptr_t* frame::interpreter_frame_bcp_addr() const {
   return (intptr_t*)addr_at(interpreter_frame_bcp_offset);
@@ -181,12 +177,6 @@
 
 // top of expression stack
 inline intptr_t* frame::interpreter_frame_tos_address() const {
-#ifdef AARCH64
-  intptr_t* stack_top = (intptr_t*)*addr_at(interpreter_frame_stack_top_offset);
-  assert(stack_top != NULL, "should be stored before call");
-  assert(stack_top <= (intptr_t*) interpreter_frame_monitor_end(), "bad tos");
-  return stack_top;
-#else
   intptr_t* last_sp = interpreter_frame_last_sp();
   if (last_sp == NULL ) {
     return sp();
@@ -197,7 +187,6 @@
     assert(last_sp <= (intptr_t*) interpreter_frame_monitor_end(), "bad tos");
     return last_sp;
   }
-#endif // AARCH64
 }
 
 inline oop* frame::interpreter_frame_temp_oop_addr() const {
--- a/src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/gc/g1/g1BarrierSetAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -60,27 +60,16 @@
 
     BLOCK_COMMENT("PreBarrier");
 
-#ifdef AARCH64
-    callee_saved_regs = align_up(callee_saved_regs, 2);
-    for (int i = 0; i < callee_saved_regs; i += 2) {
-      __ raw_push(as_Register(i), as_Register(i+1));
-    }
-#else
     RegisterSet saved_regs = RegisterSet(R0, as_Register(callee_saved_regs-1));
     __ push(saved_regs | R9ifScratched);
-#endif // AARCH64
 
     if (addr != R0) {
       assert_different_registers(count, R0);
       __ mov(R0, addr);
     }
-#ifdef AARCH64
-    __ zero_extend(R1, count, 32); // G1BarrierSetRuntime::write_ref_array_pre_*_entry takes size_t
-#else
     if (count != R1) {
       __ mov(R1, count);
     }
-#endif // AARCH64
 
     if (UseCompressedOops) {
       __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_narrow_oop_entry));
@@ -88,13 +77,7 @@
       __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_pre_oop_entry));
     }
 
-#ifdef AARCH64
-    for (int i = callee_saved_regs - 2; i >= 0; i -= 2) {
-      __ raw_pop(as_Register(i), as_Register(i+1));
-    }
-#else
     __ pop(saved_regs | R9ifScratched);
-#endif // AARCH64
   }
 }
 
@@ -106,9 +89,6 @@
     assert_different_registers(count, R0);
     __ mov(R0, addr);
   }
-#ifdef AARCH64
-  __ zero_extend(R1, count, 32); // G1BarrierSetRuntime::write_ref_array_post_entry takes size_t
-#else
   if (count != R1) {
     __ mov(R1, count);
   }
@@ -120,17 +100,14 @@
   // difficult for this particular call site.
   __ push(R9);
 #endif // !R9_IS_SCRATCHED
-#endif // !AARCH64
   __ call(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_array_post_entry));
-#ifndef AARCH64
 #if R9_IS_SCRATCHED
   __ pop(R9);
 #endif // !R9_IS_SCRATCHED
-#endif // !AARCH64
 }
 
 // G1 pre-barrier.
-// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
+// Blows all volatile registers R0-R3, Rtemp, LR).
 // If store_addr != noreg, then previous value is loaded from [store_addr];
 // in such case store_addr and new_val registers are preserved;
 // otherwise pre_val register is preserved.
@@ -186,20 +163,12 @@
   __ bind(runtime);
 
   // save the live input values
-#ifdef AARCH64
-  if (store_addr != noreg) {
-    __ raw_push(store_addr, new_val);
-  } else {
-    __ raw_push(pre_val, ZR);
-  }
-#else
   if (store_addr != noreg) {
     // avoid raw_push to support any ordering of store_addr and new_val
     __ push(RegisterSet(store_addr) | RegisterSet(new_val));
   } else {
     __ push(pre_val);
   }
-#endif // AARCH64
 
   if (pre_val != R0) {
     __ mov(R0, pre_val);
@@ -208,25 +177,17 @@
 
   __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_field_pre_entry), R0, R1);
 
-#ifdef AARCH64
-  if (store_addr != noreg) {
-    __ raw_pop(store_addr, new_val);
-  } else {
-    __ raw_pop(pre_val, ZR);
-  }
-#else
   if (store_addr != noreg) {
     __ pop(RegisterSet(store_addr) | RegisterSet(new_val));
   } else {
     __ pop(pre_val);
   }
-#endif // AARCH64
 
   __ bind(done);
 }
 
 // G1 post-barrier.
-// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
+// Blows all volatile registers R0-R3, Rtemp, LR).
 void G1BarrierSetAssembler::g1_write_barrier_post(MacroAssembler* masm,
                                            Register store_addr,
                                            Register new_val,
@@ -246,13 +207,8 @@
   // Does store cross heap regions?
 
   __ eor(tmp1, store_addr, new_val);
-#ifdef AARCH64
-  __ logical_shift_right(tmp1, tmp1, HeapRegion::LogOfHRGrainBytes);
-  __ cbz(tmp1, done);
-#else
   __ movs(tmp1, AsmOperand(tmp1, lsr, HeapRegion::LogOfHRGrainBytes));
   __ b(done, eq);
-#endif
 
   // crosses regions, storing NULL?
 
@@ -333,12 +289,8 @@
   const Register store_addr = obj.base();
   if (obj.index() != noreg) {
     assert (obj.disp() == 0, "index or displacement, not both");
-#ifdef AARCH64
-    __ add(store_addr, obj.base(), obj.index(), obj.extend(), obj.shift_imm());
-#else
     assert(obj.offset_op() == add_offset, "addition is expected");
     __ add(store_addr, obj.base(), AsmOperand(obj.index(), obj.shift(), obj.shift_imm()));
-#endif // AARCH64
   } else if (obj.disp() != 0) {
     __ add(store_addr, obj.base(), obj.disp());
   }
@@ -415,16 +367,10 @@
   __ set_info("g1_pre_barrier_slow_id", false);
 
   // save at least the registers that need saving if the runtime is called
-#ifdef AARCH64
-  __ raw_push(R0, R1);
-  __ raw_push(R2, R3);
-  const int nb_saved_regs = 4;
-#else // AARCH64
   const RegisterSet saved_regs = RegisterSet(R0,R3) | RegisterSet(R12) | RegisterSet(LR);
   const int nb_saved_regs = 6;
   assert(nb_saved_regs == saved_regs.size(), "fix nb_saved_regs");
   __ push(saved_regs);
-#endif // AARCH64
 
   const Register r_pre_val_0  = R0; // must be R0, to be ready for the runtime call
   const Register r_index_1    = R1;
@@ -454,12 +400,7 @@
 
   __ bind(done);
 
-#ifdef AARCH64
-  __ raw_pop(R2, R3);
-  __ raw_pop(R0, R1);
-#else // AARCH64
   __ pop(saved_regs);
-#endif // AARCH64
 
   __ ret();
 
@@ -492,16 +433,10 @@
   AddressLiteral cardtable(ci_card_table_address_as<address>(), relocInfo::none);
 
   // save at least the registers that need saving if the runtime is called
-#ifdef AARCH64
-  __ raw_push(R0, R1);
-  __ raw_push(R2, R3);
-  const int nb_saved_regs = 4;
-#else // AARCH64
   const RegisterSet saved_regs = RegisterSet(R0,R3) | RegisterSet(R12) | RegisterSet(LR);
   const int nb_saved_regs = 6;
   assert(nb_saved_regs == saved_regs.size(), "fix nb_saved_regs");
   __ push(saved_regs);
-#endif // AARCH64
 
   const Register r_card_addr_0 = R0; // must be R0 for the slow case
   const Register r_obj_0 = R0;
@@ -528,12 +463,7 @@
 
   __ bind(done);
 
-#ifdef AARCH64
-  __ raw_pop(R2, R3);
-  __ raw_pop(R0, R1);
-#else // AARCH64
   __ pop(saved_regs);
-#endif // AARCH64
 
   __ ret();
 
--- a/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -37,12 +37,6 @@
   case T_OBJECT:
   case T_ARRAY: {
     if (in_heap) {
-#ifdef AARCH64
-      if (UseCompressedOops) {
-        __ ldr_w(dst, src);
-        __ decode_heap_oop(dst);
-      } else
-#endif // AARCH64
       {
         __ ldr(dst, src);
       }
@@ -59,13 +53,9 @@
   case T_INT:     __ ldr_s32   (dst, src); break;
   case T_ADDRESS: __ ldr       (dst, src); break;
   case T_LONG:
-#ifdef AARCH64
-    __ ldr                     (dst, src); break;
-#else
     assert(dst == noreg, "only to ltos");
     __ add                     (src.index(), src.index(), src.base());
     __ ldmia                   (src.index(), RegisterSet(R0_tos_lo) | RegisterSet(R1_tos_hi));
-#endif // AARCH64
     break;
 #ifdef __SOFTFP__
   case T_FLOAT:
@@ -102,15 +92,6 @@
   case T_OBJECT:
   case T_ARRAY: {
     if (in_heap) {
-#ifdef AARCH64
-      if (UseCompressedOops) {
-        assert(!dst.uses(src), "not enough registers");
-        if (!is_null) {
-          __ encode_heap_oop(src);
-        }
-        __ str_w(val, obj);
-      } else
-#endif // AARCH64
       {
       __ str(val, obj);
       }
@@ -130,13 +111,9 @@
   case T_INT:     __ str       (val, obj); break;
   case T_ADDRESS: __ str       (val, obj); break;
   case T_LONG:
-#ifdef AARCH64
-    __ str                     (val, obj); break;
-#else // AARCH64
     assert(val == noreg, "only tos");
     __ add                     (obj.index(), obj.index(), obj.base());
     __ stmia                   (obj.index(), RegisterSet(R0_tos_lo) | RegisterSet(R1_tos_hi));
-#endif // AARCH64
     break;
 #ifdef __SOFTFP__
   case T_FLOAT:
@@ -188,7 +165,7 @@
     assert_different_registers(obj, obj_end, top_addr, heap_end);
   }
 
-  bool load_const = AARCH64_ONLY(false) NOT_AARCH64(VM_Version::supports_movw() ); // TODO-AARCH64 check performance
+  bool load_const = VM_Version::supports_movw();
   if (load_const) {
     __ mov_address(top_addr, (address)Universe::heap()->top_addr(), symbolic_Relocation::eden_top_reference);
   } else {
@@ -197,13 +174,7 @@
   // Calculate new heap_top by adding the size of the object
   Label retry;
   __ bind(retry);
-
-#ifdef AARCH64
-  __ ldxr(obj, top_addr);
-#else
   __ ldr(obj, Address(top_addr));
-#endif // AARCH64
-
   __ ldr(heap_end, Address(top_addr, (intptr_t)ch->end_addr() - (intptr_t)ch->top_addr()));
   __ add_rc(obj_end, obj, size_expression);
   // Check if obj_end wrapped around, i.e., obj_end < obj. If yes, jump to the slow case.
@@ -213,13 +184,8 @@
   __ cmp(obj_end, heap_end);
   __ b(slow_case, hi);
 
-#ifdef AARCH64
-  __ stxr(heap_end/*scratched*/, obj_end, top_addr);
-  __ cbnz_w(heap_end, retry);
-#else
   __ atomic_cas_bool(obj, obj_end, top_addr, 0, heap_end/*scratched*/);
   __ b(retry, ne);
-#endif // AARCH64
 
   incr_allocated_bytes(masm, size_expression, tmp1);
 }
@@ -239,11 +205,6 @@
 }
 
 void BarrierSetAssembler::incr_allocated_bytes(MacroAssembler* masm, RegisterOrConstant size_in_bytes, Register tmp) {
-#ifdef AARCH64
-  __ ldr(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
-  __ add_rc(tmp, tmp, size_in_bytes);
-  __ str(tmp, Address(Rthread, in_bytes(JavaThread::allocated_bytes_offset())));
-#else
   // Bump total bytes allocated by this thread
   Label done;
 
@@ -281,5 +242,4 @@
 
   // Unborrow the Rthread
   __ sub(Rthread, Ralloc, in_bytes(JavaThread::allocated_bytes_offset()));
-#endif // AARCH64
 }
--- a/src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/gc/shared/cardTableBarrierSetAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -119,7 +119,6 @@
      Possible cause is a cache miss (card table base address resides in a
      rarely accessed area of thread descriptor).
   */
-  // TODO-AARCH64 Investigate if mov_slow is faster than ldr from Rthread on AArch64
   __ mov_address(card_table_base, (address)ct->byte_map_base(), symbolic_Relocation::card_table_reference);
 }
 
@@ -136,12 +135,7 @@
   assert(sizeof(*ct->byte_map_base()) == sizeof(jbyte), "Adjust store check code");
 
   assert(CardTable::dirty_card_val() == 0, "Dirty card value must be 0 due to optimizations.");
-#ifdef AARCH64
-  add(card_table_base, card_table_base, AsmOperand(obj, lsr, CardTable::card_shift));
-  Address card_table_addr(card_table_base);
-#else
   Address card_table_addr(card_table_base, obj, lsr, CardTable::card_shift);
-#endif
 
   if (UseCondCardMark) {
     if (ct->scanned_concurrently()) {
@@ -164,9 +158,6 @@
 }
 
 void CardTableBarrierSetAssembler::set_card(MacroAssembler* masm, Register card_table_base, Address card_table_addr, Register tmp) {
-#ifdef AARCH64
-  strb(ZR, card_table_addr);
-#else
   CardTableBarrierSet* ctbs = barrier_set_cast<CardTableBarrierSet>(BarrierSet::barrier_set());
   CardTable* ct = ctbs->card_table();
   if ((((uintptr_t)ct->byte_map_base() & 0xff) == 0)) {
@@ -178,5 +169,4 @@
     __ mov(tmp, 0);
     __ strb(tmp, card_table_addr);
   }
-#endif // AARCH64
 }
--- a/src/hotspot/cpu/arm/globalDefinitions_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/globalDefinitions_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -25,19 +25,7 @@
 #ifndef CPU_ARM_VM_GLOBALDEFINITIONS_ARM_HPP
 #define CPU_ARM_VM_GLOBALDEFINITIONS_ARM_HPP
 
-#ifdef AARCH64
-#define AARCH64_ONLY(code) code
-#define AARCH64_ONLY_ARG(arg) , arg
-#define NOT_AARCH64(code)
-#define NOT_AARCH64_ARG(arg)
-#else
-#define AARCH64_ONLY(code)
-#define AARCH64_ONLY_ARG(arg)
-#define NOT_AARCH64(code) code
-#define NOT_AARCH64_ARG(arg) , arg
-#endif
-
-const int StackAlignmentInBytes = AARCH64_ONLY(16) NOT_AARCH64(8);
+const int StackAlignmentInBytes = 8;
 
 // Indicates whether the C calling conventions require that
 // 32-bit integer argument values are extended to 64 bits.
@@ -49,24 +37,19 @@
 const bool HaveVFP = true;
 #endif
 
-#if defined(__ARM_PCS_VFP) || defined(AARCH64)
+#if defined(__ARM_PCS_VFP)
 #define __ABI_HARD__
 #endif
 
-#if defined(__ARM_ARCH_7A__) || defined(AARCH64)
+#if defined(__ARM_ARCH_7A__)
 #define SUPPORTS_NATIVE_CX8
 #endif
 
 #define STUBROUTINES_MD_HPP    "stubRoutines_arm.hpp"
 #define INTERP_MASM_MD_HPP     "interp_masm_arm.hpp"
 #define TEMPLATETABLE_MD_HPP   "templateTable_arm.hpp"
-#ifdef AARCH64
-#define ADGLOBALS_MD_HPP       "adfiles/adGlobals_arm_64.hpp"
-#define AD_MD_HPP              "adfiles/ad_arm_64.hpp"
-#else
 #define ADGLOBALS_MD_HPP       "adfiles/adGlobals_arm_32.hpp"
 #define AD_MD_HPP              "adfiles/ad_arm_32.hpp"
-#endif
 #define C1_LIRGENERATOR_MD_HPP "c1_LIRGenerator_arm.hpp"
 
 #ifdef TARGET_COMPILER_gcc
--- a/src/hotspot/cpu/arm/globals_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/globals_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -88,13 +88,5 @@
                    notproduct, \
                    range, \
                    constraint, \
-                   writeable) \
-                                                                                        \
-  develop(bool, VerifyInterpreterStackTop, false,                                       \
-          "Verify interpreter stack top at every stack expansion (AArch64 only)")       \
-                                                                                        \
-  develop(bool, ZapHighNonSignificantBits, false,                                       \
-          "Zap high non-significant bits of values (AArch64 only)")                     \
-                                                                                        \
-
+                   writeable)
 #endif // CPU_ARM_VM_GLOBALS_ARM_HPP
--- a/src/hotspot/cpu/arm/icBuffer_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/icBuffer_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -35,7 +35,7 @@
 #define __ masm->
 
 int InlineCacheBuffer::ic_stub_code_size() {
-  return (AARCH64_ONLY(8) NOT_AARCH64(4)) * Assembler::InstructionSize;
+  return (4 * Assembler::InstructionSize);
 }
 
 void InlineCacheBuffer::assemble_ic_buffer_code(address code_begin, void* cached_value, address entry_point) {
--- a/src/hotspot/cpu/arm/icache_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/icache_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,49 +29,12 @@
 
 #define __ _masm->
 
-#ifdef AARCH64
-
-static int icache_flush(address addr, int lines, int magic) {
-  // TODO-AARCH64 Figure out actual cache line size (mrs Xt, CTR_EL0)
-
-  address p = addr;
-  for (int i = 0; i < lines; i++, p += ICache::line_size) {
-    __asm__ volatile(
-      " dc cvau, %[p]"
-      :
-      : [p] "r" (p)
-      : "memory");
-  }
-
-  __asm__ volatile(
-    " dsb ish"
-    : : : "memory");
-
-  p = addr;
-  for (int i = 0; i < lines; i++, p += ICache::line_size) {
-    __asm__ volatile(
-      " ic ivau, %[p]"
-      :
-      : [p] "r" (p)
-      : "memory");
-  }
-
-  __asm__ volatile(
-    " dsb ish\n\t"
-    " isb\n\t"
-    : : : "memory");
-
-  return magic;
-}
-
-#else
 
 static int icache_flush(address addr, int lines, int magic) {
   __builtin___clear_cache(addr, addr + (lines << ICache::log2_line_size));
   return magic;
 }
 
-#endif // AARCH64
 
 void ICacheStubGenerator::generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub) {
   address start = (address)icache_flush;
--- a/src/hotspot/cpu/arm/interp_masm_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/interp_masm_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,7 +54,7 @@
 }
 
 void InterpreterMacroAssembler::call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions) {
-#if defined(ASSERT) && !defined(AARCH64)
+#ifdef ASSERT
   // Ensure that last_sp is not filled.
   { Label L;
     ldr(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
@@ -62,27 +62,15 @@
     stop("InterpreterMacroAssembler::call_VM_helper: last_sp != NULL");
     bind(L);
   }
-#endif // ASSERT && !AARCH64
+#endif // ASSERT
 
   // Rbcp must be saved/restored since it may change due to GC.
   save_bcp();
 
-#ifdef AARCH64
-  check_no_cached_stack_top(Rtemp);
-  save_stack_top();
-  check_extended_sp(Rtemp);
-  cut_sp_before_call();
-#endif // AARCH64
 
   // super call
   MacroAssembler::call_VM_helper(oop_result, entry_point, number_of_arguments, check_exceptions);
 
-#ifdef AARCH64
-  // Restore SP to extended SP
-  restore_sp_after_call(Rtemp);
-  check_stack_top();
-  clear_cached_stack_top();
-#endif // AARCH64
 
   // Restore interpreter specific registers.
   restore_bcp();
@@ -128,10 +116,8 @@
   const Address tos_addr(thread_state, JvmtiThreadState::earlyret_tos_offset());
   const Address oop_addr(thread_state, JvmtiThreadState::earlyret_oop_offset());
   const Address val_addr(thread_state, JvmtiThreadState::earlyret_value_offset());
-#ifndef AARCH64
   const Address val_addr_hi(thread_state, JvmtiThreadState::earlyret_value_offset()
                              + in_ByteSize(wordSize));
-#endif // !AARCH64
 
   Register zero = zero_register(Rtemp);
 
@@ -141,11 +127,7 @@
                interp_verify_oop(R0_tos, state, __FILE__, __LINE__);
                break;
 
-#ifdef AARCH64
-    case ltos: ldr(R0_tos, val_addr);              break;
-#else
     case ltos: ldr(R1_tos_hi, val_addr_hi);        // fall through
-#endif // AARCH64
     case btos:                                     // fall through
     case ztos:                                     // fall through
     case ctos:                                     // fall through
@@ -163,9 +145,7 @@
   }
   // Clean up tos value in the thread object
   str(zero, val_addr);
-#ifndef AARCH64
   str(zero, val_addr_hi);
-#endif // !AARCH64
 
   mov(Rtemp, (int) ilgl);
   str_32(Rtemp, tos_addr);
@@ -220,7 +200,6 @@
     ldrb(tmp_reg, Address(Rbcp, bcp_offset));
     orr(index, tmp_reg, AsmOperand(index, lsl, BitsPerByte));
   } else if (index_size == sizeof(u4)) {
-    // TODO-AARCH64: consider using unaligned access here
     ldrb(index, Address(Rbcp, bcp_offset+3));
     ldrb(tmp_reg, Address(Rbcp, bcp_offset+2));
     orr(index, tmp_reg, AsmOperand(index, lsl, BitsPerByte));
@@ -252,7 +231,6 @@
 
   // convert from field index to ConstantPoolCacheEntry index
   assert(sizeof(ConstantPoolCacheEntry) == 4*wordSize, "adjust code below");
-  // TODO-AARCH64 merge this shift with shift "add(..., Rcache, AsmOperand(Rindex, lsl, LogBytesPerWord))" after this method is called
   logical_shift_left(index, index, 2);
 }
 
@@ -261,13 +239,8 @@
   get_cache_and_index_at_bcp(cache, index, bcp_offset, index_size);
   // caution index and bytecode can be the same
   add(bytecode, cache, AsmOperand(index, lsl, LogBytesPerWord));
-#ifdef AARCH64
-  add(bytecode, bytecode, (1 + byte_no) + in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset()));
-  ldarb(bytecode, bytecode);
-#else
   ldrb(bytecode, Address(bytecode, (1 + byte_no) + in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset())));
   TemplateTable::volatile_barrier(MacroAssembler::LoadLoad, noreg, true);
-#endif // AARCH64
 }
 
 // Sets cache. Blows reg_tmp.
@@ -365,31 +338,21 @@
   ldr(supers_arr, Address(Rsub_klass, Klass::secondary_supers_offset()));
 
   ldr_u32(supers_cnt, Address(supers_arr, Array<Klass*>::length_offset_in_bytes())); // Load the array length
-#ifdef AARCH64
-  cbz(supers_cnt, not_subtype);
-  add(supers_arr, supers_arr, Array<Klass*>::base_offset_in_bytes());
-#else
   cmp(supers_cnt, 0);
 
   // Skip to the start of array elements and prefetch the first super-klass.
   ldr(cur_super, Address(supers_arr, Array<Klass*>::base_offset_in_bytes(), pre_indexed), ne);
   b(not_subtype, eq);
-#endif // AARCH64
 
   bind(loop);
 
-#ifdef AARCH64
-  ldr(cur_super, Address(supers_arr, wordSize, post_indexed));
-#endif // AARCH64
 
   cmp(cur_super, Rsuper_klass);
   b(update_cache, eq);
 
   subs(supers_cnt, supers_cnt, 1);
 
-#ifndef AARCH64
   ldr(cur_super, Address(supers_arr, wordSize, pre_indexed), ne);
-#endif // !AARCH64
 
   b(loop, ne);
 
@@ -419,33 +382,18 @@
   zap_high_non_significant_bits(r);
 }
 
-#ifdef AARCH64
-void InterpreterMacroAssembler::pop_l(Register r) {
-  assert(r != Rstack_top, "unpredictable instruction");
-  ldr(r, Address(Rstack_top, 2*wordSize, post_indexed));
-}
-#else
 void InterpreterMacroAssembler::pop_l(Register lo, Register hi) {
   assert_different_registers(lo, hi);
   assert(lo < hi, "lo must be < hi");
   pop(RegisterSet(lo) | RegisterSet(hi));
 }
-#endif // AARCH64
 
 void InterpreterMacroAssembler::pop_f(FloatRegister fd) {
-#ifdef AARCH64
-  ldr_s(fd, Address(Rstack_top, wordSize, post_indexed));
-#else
   fpops(fd);
-#endif // AARCH64
 }
 
 void InterpreterMacroAssembler::pop_d(FloatRegister fd) {
-#ifdef AARCH64
-  ldr_d(fd, Address(Rstack_top, 2*wordSize, post_indexed));
-#else
   fpopd(fd);
-#endif // AARCH64
 }
 
 
@@ -458,11 +406,7 @@
     case ctos:                                               // fall through
     case stos:                                               // fall through
     case itos: pop_i(R0_tos);                                break;
-#ifdef AARCH64
-    case ltos: pop_l(R0_tos);                                break;
-#else
     case ltos: pop_l(R0_tos_lo, R1_tos_hi);                  break;
-#endif // AARCH64
 #ifdef __SOFTFP__
     case ftos: pop_i(R0_tos);                                break;
     case dtos: pop_l(R0_tos_lo, R1_tos_hi);                  break;
@@ -488,36 +432,18 @@
   check_stack_top_on_expansion();
 }
 
-#ifdef AARCH64
-void InterpreterMacroAssembler::push_l(Register r) {
-  assert(r != Rstack_top, "unpredictable instruction");
-  stp(r, ZR, Address(Rstack_top, -2*wordSize, pre_indexed));
-  check_stack_top_on_expansion();
-}
-#else
 void InterpreterMacroAssembler::push_l(Register lo, Register hi) {
   assert_different_registers(lo, hi);
   assert(lo < hi, "lo must be < hi");
   push(RegisterSet(lo) | RegisterSet(hi));
 }
-#endif // AARCH64
 
 void InterpreterMacroAssembler::push_f() {
-#ifdef AARCH64
-  str_s(S0_tos, Address(Rstack_top, -wordSize, pre_indexed));
-  check_stack_top_on_expansion();
-#else
   fpushs(S0_tos);
-#endif // AARCH64
 }
 
 void InterpreterMacroAssembler::push_d() {
-#ifdef AARCH64
-  str_d(D0_tos, Address(Rstack_top, -2*wordSize, pre_indexed));
-  check_stack_top_on_expansion();
-#else
   fpushd(D0_tos);
-#endif // AARCH64
 }
 
 // Transition state -> vtos. Blows Rtemp.
@@ -530,11 +456,7 @@
     case ctos:                                                // fall through
     case stos:                                                // fall through
     case itos: push_i(R0_tos);                                break;
-#ifdef AARCH64
-    case ltos: push_l(R0_tos);                                break;
-#else
     case ltos: push_l(R0_tos_lo, R1_tos_hi);                  break;
-#endif // AARCH64
 #ifdef __SOFTFP__
     case ftos: push_i(R0_tos);                                break;
     case dtos: push_l(R0_tos_lo, R1_tos_hi);                  break;
@@ -548,7 +470,6 @@
 }
 
 
-#ifndef AARCH64
 
 // Converts return value in R0/R1 (interpreter calling conventions) to TOS cached value.
 void InterpreterMacroAssembler::convert_retval_to_tos(TosState state) {
@@ -576,7 +497,6 @@
 #endif // !__SOFTFP__ && !__ABI_HARD__
 }
 
-#endif // !AARCH64
 
 
 // Helpers for swap and dup
@@ -590,20 +510,12 @@
 
 
 void InterpreterMacroAssembler::prepare_to_jump_from_interpreted() {
-#ifdef AARCH64
-  check_no_cached_stack_top(Rtemp);
-  save_stack_top();
-  cut_sp_before_call();
-  mov(Rparams, Rstack_top);
-#endif // AARCH64
 
   // set sender sp
   mov(Rsender_sp, SP);
 
-#ifndef AARCH64
   // record last_sp
   str(Rsender_sp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // !AARCH64
 }
 
 // Jump to from_interpreted entry of a call unless single stepping is possible
@@ -619,19 +531,8 @@
     // interp_only_mode if these events CAN be enabled.
 
     ldr_s32(Rtemp, Address(Rthread, JavaThread::interp_only_mode_offset()));
-#ifdef AARCH64
-    {
-      Label not_interp_only_mode;
-
-      cbz(Rtemp, not_interp_only_mode);
-      indirect_jump(Address(method, Method::interpreter_entry_offset()), Rtemp);
-
-      bind(not_interp_only_mode);
-    }
-#else
     cmp(Rtemp, 0);
     ldr(PC, Address(method, Method::interpreter_entry_offset()), ne);
-#endif // AARCH64
   }
 
   indirect_jump(Address(method, Method::from_interpreted_offset()), Rtemp);
@@ -658,12 +559,7 @@
                                               bool verifyoop) {
   if (VerifyActivationFrameSize) {
     Label L;
-#ifdef AARCH64
-    mov(Rtemp, SP);
-    sub(Rtemp, FP, Rtemp);
-#else
     sub(Rtemp, FP, SP);
-#endif // AARCH64
     int min_frame_size = (frame::link_offset - frame::interpreter_frame_initial_sp_offset) * wordSize;
     cmp(Rtemp, min_frame_size);
     b(L, ge);
@@ -692,16 +588,10 @@
     if (state == vtos) {
       indirect_jump(Address::indexed_ptr(RdispatchTable, R3_bytecode), Rtemp);
     } else {
-#ifdef AARCH64
-      sub(Rtemp, R3_bytecode, (Interpreter::distance_from_dispatch_table(vtos) -
-                           Interpreter::distance_from_dispatch_table(state)));
-      indirect_jump(Address::indexed_ptr(RdispatchTable, Rtemp), Rtemp);
-#else
       // on 32-bit ARM this method is faster than the one above.
       sub(Rtemp, RdispatchTable, (Interpreter::distance_from_dispatch_table(vtos) -
                            Interpreter::distance_from_dispatch_table(state)) * wordSize);
       indirect_jump(Address::indexed_ptr(Rtemp, R3_bytecode), Rtemp);
-#endif
     }
   } else {
     assert(table_mode == DispatchNormal, "invalid dispatch table mode");
@@ -897,25 +787,18 @@
                                  // points to word before bottom of monitor block
 
     cmp(Rcur, Rbottom);          // check if there are no monitors
-#ifndef AARCH64
     ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
                                  // prefetch monitor's object
-#endif // !AARCH64
     b(no_unlock, eq);
 
     bind(loop);
-#ifdef AARCH64
-    ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()));
-#endif // AARCH64
     // check if current entry is used
     cbnz(Rcur_obj, exception_monitor_is_still_locked);
 
     add(Rcur, Rcur, entry_size);      // otherwise advance to next entry
     cmp(Rcur, Rbottom);               // check if bottom reached
-#ifndef AARCH64
     ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
                                       // prefetch monitor's object
-#endif // !AARCH64
     b(loop, ne);                      // if not at bottom then check this entry
   }
 
@@ -929,15 +812,9 @@
   }
 
   // remove activation
-#ifdef AARCH64
-  ldr(Rtemp, Address(FP, frame::interpreter_frame_sender_sp_offset * wordSize));
-  ldp(FP, LR, Address(FP));
-  mov(SP, Rtemp);
-#else
   mov(Rtemp, FP);
   ldmia(FP, RegisterSet(FP) | RegisterSet(LR));
   ldr(SP, Address(Rtemp, frame::interpreter_frame_sender_sp_offset * wordSize));
-#endif
 
   if (ret_addr != LR) {
     mov(ret_addr, LR);
@@ -965,7 +842,7 @@
 //
 // Argument: R1 : Points to BasicObjectLock to be used for locking.
 // Must be initialized with object to lock.
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR. Calls VM.
+// Blows volatile registers R0-R3, Rtemp, LR. Calls VM.
 void InterpreterMacroAssembler::lock_object(Register Rlock) {
   assert(Rlock == R1, "the second argument");
 
@@ -991,15 +868,6 @@
       biased_locking_enter(Robj, Rmark/*scratched*/, R0, false, Rtemp, done, slow_case);
     }
 
-#ifdef AARCH64
-    assert(oopDesc::mark_offset_in_bytes() == 0, "must be");
-    ldr(Rmark, Robj);
-
-    // Test if object is already locked
-    assert(markOopDesc::unlocked_value == 1, "adjust this code");
-    tbz(Rmark, exact_log2(markOopDesc::unlocked_value), already_locked);
-
-#else // AARCH64
 
     // On MP platforms the next load could return a 'stale' value if the memory location has been modified by another thread.
     // That would be acceptable as ether CAS or slow case path is taken in that case.
@@ -1013,7 +881,6 @@
     tst(Rmark, markOopDesc::unlocked_value);
     b(already_locked, eq);
 
-#endif // !AARCH64
     // Save old object->mark() into BasicLock's displaced header
     str(Rmark, Address(Rlock, mark_offset));
 
@@ -1059,19 +926,6 @@
     // conditions into a single test:
     // => ((mark - SP) & (3 - os::pagesize())) == 0
 
-#ifdef AARCH64
-    // Use the single check since the immediate is OK for AARCH64
-    sub(R0, Rmark, Rstack_top);
-    intptr_t mask = ((intptr_t)3) - ((intptr_t)os::vm_page_size());
-    Assembler::LogicalImmediate imm(mask, false);
-    ands(R0, R0, imm);
-
-    // For recursive case store 0 into lock record.
-    // It is harmless to store it unconditionally as lock record contains some garbage
-    // value in its _displaced_header field by this moment.
-    str(ZR, Address(Rlock, mark_offset));
-
-#else // AARCH64
     // (3 - os::pagesize()) cannot be encoded as an ARM immediate operand.
     // Check independently the low bits and the distance to SP.
     // -1- test low 2 bits
@@ -1082,7 +936,6 @@
     // If still 'eq' then recursive locking OK: store 0 into lock record
     str(R0, Address(Rlock, mark_offset), eq);
 
-#endif // AARCH64
 
 #ifndef PRODUCT
     if (PrintBiasedLockingStatistics) {
@@ -1106,7 +959,7 @@
 //
 // Argument: R1: Points to BasicObjectLock structure for lock
 // Throw an IllegalMonitorException if object is not locked by current thread
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR. Calls VM.
+// Blows volatile registers R0-R3, Rtemp, LR. Calls VM.
 void InterpreterMacroAssembler::unlock_object(Register Rlock) {
   assert(Rlock == R1, "the second argument");
 
@@ -1168,7 +1021,7 @@
 
 
 // Set the method data pointer for the current bcp.
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR.
+// Blows volatile registers R0-R3, Rtemp, LR.
 void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() {
   assert(ProfileInterpreter, "must be profiling interpreter");
   Label set_mdp;
@@ -1265,22 +1118,12 @@
     // Decrement the register. Set condition codes.
     subs(bumped_count, bumped_count, DataLayout::counter_increment);
     // Avoid overflow.
-#ifdef AARCH64
-    assert(DataLayout::counter_increment == 1, "required for cinc");
-    cinc(bumped_count, bumped_count, pl);
-#else
     add(bumped_count, bumped_count, DataLayout::counter_increment, pl);
-#endif // AARCH64
   } else {
     // Increment the register. Set condition codes.
     adds(bumped_count, bumped_count, DataLayout::counter_increment);
     // Avoid overflow.
-#ifdef AARCH64
-    assert(DataLayout::counter_increment == 1, "required for cinv");
-    cinv(bumped_count, bumped_count, mi); // inverts 0x80..00 back to 0x7f..ff
-#else
     sub(bumped_count, bumped_count, DataLayout::counter_increment, mi);
-#endif // AARCH64
   }
   str(bumped_count, data);
 }
@@ -1328,7 +1171,7 @@
 }
 
 
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
+// Blows volatile registers R0-R3, Rtemp, LR).
 void InterpreterMacroAssembler::update_mdp_for_ret(Register return_bci) {
   assert(ProfileInterpreter, "must be profiling interpreter");
   assert_different_registers(return_bci, R0, R1, R2, R3, Rtemp);
@@ -1542,7 +1385,7 @@
   bind (done);
 }
 
-// Sets mdp, blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
+// Sets mdp, blows volatile registers R0-R3, Rtemp, LR).
 void InterpreterMacroAssembler::profile_ret(Register mdp, Register return_bci) {
   assert_different_registers(mdp, return_bci, Rtemp, R0, R1, R2, R3);
 
@@ -1704,9 +1547,6 @@
 
 
 void InterpreterMacroAssembler::byteswap_u32(Register r, Register rtmp1, Register rtmp2) {
-#ifdef AARCH64
-  rev_w(r, r);
-#else
   if (VM_Version::supports_rev()) {
     rev(r, r);
   } else {
@@ -1715,7 +1555,6 @@
     andr(rtmp1, rtmp2, AsmOperand(rtmp1, lsr, 8));
     eor(r, rtmp1, AsmOperand(r, ror, 8));
   }
-#endif // AARCH64
 }
 
 
@@ -1723,7 +1562,7 @@
   const intx addr = (intx) (address_of_counter + offset);
 
   assert ((addr & 0x3) == 0, "address of counter should be aligned");
-  const intx offset_mask = right_n_bits(AARCH64_ONLY(12 + 2) NOT_AARCH64(12));
+  const intx offset_mask = right_n_bits(12);
 
   const address base = (address) (addr & ~offset_mask);
   const int offs = (int) (addr & offset_mask);
@@ -1736,14 +1575,7 @@
 
   if (avoid_overflow) {
     adds_32(val, val, 1);
-#ifdef AARCH64
-    Label L;
-    b(L, mi);
-    str_32(val, Address(addr_base, offs));
-    bind(L);
-#else
     str(val, Address(addr_base, offs), pl);
-#endif // AARCH64
   } else {
     add_32(val, val, 1);
     str_32(val, Address(addr_base, offs));
@@ -1823,17 +1655,9 @@
     if (native) {
       // For c++ and template interpreter push both result registers on the
       // stack in native, we don't know the state.
-      // On AArch64 result registers are stored into the frame at known locations.
       // See frame::interpreter_frame_result for code that gets the result values from here.
       assert(result_lo != noreg, "result registers should be defined");
 
-#ifdef AARCH64
-      assert(result_hi == noreg, "result_hi is not used on AArch64");
-      assert(result_fp != fnoreg, "FP result register must be defined");
-
-      str_d(result_fp, Address(FP, frame::interpreter_frame_fp_saved_result_offset * wordSize));
-      str(result_lo, Address(FP, frame::interpreter_frame_gp_saved_result_offset * wordSize));
-#else
       assert(result_hi != noreg, "result registers should be defined");
 
 #ifdef __ABI_HARD__
@@ -1843,20 +1667,14 @@
 #endif // __ABI_HARD__
 
       push(RegisterSet(result_lo) | RegisterSet(result_hi));
-#endif // AARCH64
 
       call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit));
 
-#ifdef AARCH64
-      ldr_d(result_fp, Address(FP, frame::interpreter_frame_fp_saved_result_offset * wordSize));
-      ldr(result_lo, Address(FP, frame::interpreter_frame_gp_saved_result_offset * wordSize));
-#else
       pop(RegisterSet(result_lo) | RegisterSet(result_hi));
 #ifdef __ABI_HARD__
       fldd(result_fp, Address(SP));
       add(SP, SP, 2 * wordSize);
 #endif // __ABI_HARD__
-#endif // AARCH64
 
     } else {
       // For the template interpreter, the value on tos is the size of the
@@ -1932,13 +1750,8 @@
   add(scratch, scratch, increment);
   str_32(scratch, counter_addr);
 
-#ifdef AARCH64
-  ldr_u32(scratch2, mask_addr);
-  ands_w(ZR, scratch, scratch2);
-#else
   ldr(scratch2, mask_addr);
   andrs(scratch, scratch, scratch2);
-#endif // AARCH64
   b(*where, cond);
 }
 
@@ -1959,26 +1772,15 @@
     // Save and restore in use caller-saved registers since they will be trashed by call_VM
     assert(reg1 != noreg, "must specify reg1");
     assert(reg2 != noreg, "must specify reg2");
-#ifdef AARCH64
-    assert(reg3 != noreg, "must specify reg3");
-    stp(reg1, reg2, Address(Rstack_top, -2*wordSize, pre_indexed));
-    stp(reg3, ZR, Address(Rstack_top, -2*wordSize, pre_indexed));
-#else
     assert(reg3 == noreg, "must not specify reg3");
     push(RegisterSet(reg1) | RegisterSet(reg2));
-#endif
   }
 
   mov(R1, method);
   call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::build_method_counters), R1);
 
   if (saveRegs) {
-#ifdef AARCH64
-    ldp(reg3, ZR, Address(Rstack_top, 2*wordSize, post_indexed));
-    ldp(reg1, reg2, Address(Rstack_top, 2*wordSize, post_indexed));
-#else
     pop(RegisterSet(reg1) | RegisterSet(reg2));
-#endif
   }
 
   ldr(Rcounters, method_counters);
--- a/src/hotspot/cpu/arm/interp_masm_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/interp_masm_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -63,48 +63,12 @@
   virtual void check_and_handle_earlyret();
 
   // Interpreter-specific registers
-#if defined(AARCH64) && defined(ASSERT)
-
-#define check_stack_top()               _check_stack_top("invalid Rstack_top at " __FILE__ ":" XSTR(__LINE__))
-#define check_stack_top_on_expansion()  _check_stack_top("invalid Rstack_top at " __FILE__ ":" XSTR(__LINE__), VerifyInterpreterStackTop)
-#define check_extended_sp(tmp)          _check_extended_sp(tmp, "SP does not match extended SP in frame at " __FILE__ ":" XSTR(__LINE__))
-#define check_no_cached_stack_top(tmp)  _check_no_cached_stack_top(tmp, "stack_top is already cached in frame at " __FILE__ ":" XSTR(__LINE__))
-
-  void _check_stack_top(const char* msg, bool enabled = true) {
-      if (enabled) {
-          Label L;
-          cmp(SP, Rstack_top);
-          b(L, ls);
-          stop(msg);
-          bind(L);
-      }
-  }
-
-  void _check_extended_sp(Register tmp, const char* msg) {
-      Label L;
-      ldr(tmp, Address(FP, frame::interpreter_frame_extended_sp_offset * wordSize));
-      cmp(SP, tmp);
-      b(L, eq);
-      stop(msg);
-      bind(L);
-  }
-
-  void _check_no_cached_stack_top(Register tmp, const char* msg) {
-      Label L;
-      ldr(tmp, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize));
-      cbz(tmp, L);
-      stop(msg);
-      bind(L);
-  }
-
-#else
 
   inline void check_stack_top() {}
   inline void check_stack_top_on_expansion() {}
   inline void check_extended_sp(Register tmp) {}
   inline void check_no_cached_stack_top(Register tmp) {}
 
-#endif // AARCH64 && ASSERT
 
   void save_bcp()                                          { str(Rbcp, Address(FP, frame::interpreter_frame_bcp_offset * wordSize)); }
   void restore_bcp()                                       { ldr(Rbcp, Address(FP, frame::interpreter_frame_bcp_offset * wordSize)); }
@@ -112,13 +76,6 @@
   void restore_method()                                    { ldr(Rmethod, Address(FP, frame::interpreter_frame_method_offset * wordSize)); }
   void restore_dispatch();
 
-#ifdef AARCH64
-  void save_stack_top()                                    { check_stack_top(); str(Rstack_top, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize)); }
-  void clear_cached_stack_top()                            { str(ZR, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize)); }
-  void restore_stack_top()                                 { ldr(Rstack_top, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize)); clear_cached_stack_top(); check_stack_top(); }
-  void cut_sp_before_call()                                { align_reg(SP, Rstack_top, StackAlignmentInBytes); }
-  void restore_sp_after_call(Register tmp)                 { ldr(tmp, Address(FP, frame::interpreter_frame_extended_sp_offset * wordSize)); mov(SP, tmp); }
-#endif
 
   // Helpers for runtime call arguments/results
   void get_const(Register reg)                             { ldr(reg, Address(Rmethod, Method::const_offset())); }
@@ -145,21 +102,13 @@
 
   void pop_ptr(Register r);
   void pop_i(Register r = R0_tos);
-#ifdef AARCH64
-  void pop_l(Register r = R0_tos);
-#else
   void pop_l(Register lo = R0_tos_lo, Register hi = R1_tos_hi);
-#endif
   void pop_f(FloatRegister fd);
   void pop_d(FloatRegister fd);
 
   void push_ptr(Register r);
   void push_i(Register r = R0_tos);
-#ifdef AARCH64
-  void push_l(Register r = R0_tos);
-#else
   void push_l(Register lo = R0_tos_lo, Register hi = R1_tos_hi);
-#endif
   void push_f();
   void push_d();
 
@@ -168,7 +117,6 @@
   // Transition state -> vtos. Blows Rtemp.
   void push(TosState state);
 
-#ifndef AARCH64
   // The following methods are overridden to allow overloaded calls to
   //   MacroAssembler::push/pop(Register)
   //   MacroAssembler::push/pop(RegisterSet)
@@ -183,7 +131,6 @@
   void convert_retval_to_tos(TosState state);
   // Converts TOS cached value to return value in R0/R1 (according to interpreter calling conventions).
   void convert_tos_to_retval(TosState state);
-#endif
 
   // JVMTI ForceEarlyReturn support
   void load_earlyret_value(TosState state);
@@ -194,12 +141,8 @@
   void empty_expression_stack() {
       ldr(Rstack_top, Address(FP, frame::interpreter_frame_monitor_block_top_offset * wordSize));
       check_stack_top();
-#ifdef AARCH64
-      clear_cached_stack_top();
-#else
       // NULL last_sp until next java call
       str(zero_register(Rtemp), Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
   }
 
   // Helpers for swap and dup
--- a/src/hotspot/cpu/arm/interpreterRT_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/interpreterRT_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -44,13 +44,9 @@
   _abi_offset = 0;
   _ireg = is_static() ? 2 : 1;
 #ifdef __ABI_HARD__
-#ifdef AARCH64
-  _freg = 0;
-#else
   _fp_slot = 0;
   _single_fpr_slot = 0;
 #endif
-#endif
 }
 
 #ifdef SHARING_FAST_NATIVE_FINGERPRINTS
@@ -126,17 +122,6 @@
 }
 
 void InterpreterRuntime::SignatureHandlerGenerator::pass_long() {
-#ifdef AARCH64
-  if (_ireg < GPR_PARAMS) {
-    Register dst = as_Register(_ireg);
-    __ ldr(dst, Address(Rlocals, Interpreter::local_offset_in_bytes(offset() + 1)));
-    _ireg++;
-  } else {
-    __ ldr(Rtemp, Address(Rlocals, Interpreter::local_offset_in_bytes(offset() + 1)));
-    __ str(Rtemp, Address(SP, _abi_offset * wordSize));
-    _abi_offset++;
-  }
-#else
   if (_ireg <= 2) {
 #if (ALIGN_WIDE_ARGUMENTS == 1)
     if ((_ireg & 1) != 0) {
@@ -170,24 +155,9 @@
     _abi_offset += 2;
     _ireg = 4;
   }
-#endif // AARCH64
 }
 
 void InterpreterRuntime::SignatureHandlerGenerator::pass_object() {
-#ifdef AARCH64
-  __ ldr(Rtemp, Address(Rlocals, Interpreter::local_offset_in_bytes(offset())));
-  __ cmp(Rtemp, 0);
-  __ sub(Rtemp, Rlocals, -Interpreter::local_offset_in_bytes(offset()));
-  if (_ireg < GPR_PARAMS) {
-    Register dst = as_Register(_ireg);
-    __ csel(dst, ZR, Rtemp, eq);
-    _ireg++;
-  } else {
-    __ csel(Rtemp, ZR, Rtemp, eq);
-    __ str(Rtemp, Address(SP, _abi_offset * wordSize));
-    _abi_offset++;
-  }
-#else
   if (_ireg < 4) {
     Register dst = as_Register(_ireg);
     __ ldr(dst, Address(Rlocals, Interpreter::local_offset_in_bytes(offset())));
@@ -201,7 +171,6 @@
     __ str(Rtemp, Address(SP, _abi_offset * wordSize));
     _abi_offset++;
   }
-#endif // AARCH64
 }
 
 #ifndef __ABI_HARD__
@@ -220,17 +189,6 @@
 #else
 #ifndef __SOFTFP__
 void InterpreterRuntime::SignatureHandlerGenerator::pass_float() {
-#ifdef AARCH64
-    if (_freg < FPR_PARAMS) {
-      FloatRegister dst = as_FloatRegister(_freg);
-      __ ldr_s(dst, Address(Rlocals, Interpreter::local_offset_in_bytes(offset())));
-      _freg++;
-    } else {
-      __ ldr_u32(Rtemp, Address(Rlocals, Interpreter::local_offset_in_bytes(offset())));
-      __ str_32(Rtemp, Address(SP, _abi_offset * wordSize));
-      _abi_offset++;
-    }
-#else
     if((_fp_slot < 16) || (_single_fpr_slot & 1)) {
       if ((_single_fpr_slot & 1) == 0) {
         _single_fpr_slot = _fp_slot;
@@ -243,21 +201,9 @@
       __ str(Rtemp, Address(SP, _abi_offset * wordSize));
       _abi_offset++;
     }
-#endif // AARCH64
 }
 
 void InterpreterRuntime::SignatureHandlerGenerator::pass_double() {
-#ifdef AARCH64
-    if (_freg < FPR_PARAMS) {
-      FloatRegister dst = as_FloatRegister(_freg);
-      __ ldr_d(dst, Address(Rlocals, Interpreter::local_offset_in_bytes(offset() + 1)));
-      _freg++;
-    } else {
-      __ ldr(Rtemp, Address(Rlocals, Interpreter::local_offset_in_bytes(offset() + 1)));
-      __ str(Rtemp, Address(SP, _abi_offset * wordSize));
-      _abi_offset++;
-    }
-#else
     if(_fp_slot <= 14) {
       __ fldd(as_FloatRegister(_fp_slot), Address(Rlocals, Interpreter::local_offset_in_bytes(offset()+1)));
       _fp_slot += 2;
@@ -269,7 +215,6 @@
       _abi_offset += 2;
       _single_fpr_slot = 16;
     }
-#endif // AARCH64
 }
 #endif // __SOFTFP__
 #endif // __ABI_HARD__
@@ -281,14 +226,10 @@
 
   address result_handler = Interpreter::result_handler(result_type);
 
-#ifdef AARCH64
-  __ mov_slow(R0, (address)result_handler);
-#else
   // Check that result handlers are not real handler on ARM (0 or -1).
   // This ensures the signature handlers do not need symbolic information.
   assert((result_handler == NULL)||(result_handler==(address)0xffffffff),"");
   __ mov_slow(R0, (intptr_t)result_handler);
-#endif
 
   __ ret();
 }
@@ -339,9 +280,7 @@
   intptr_t* _toGP;
   int       _last_gp;
   int       _last_fp;
-#ifndef AARCH64
   int       _last_single_fp;
-#endif // !AARCH64
 
   virtual void pass_int() {
     if(_last_gp < GPR_PARAMS) {
@@ -353,13 +292,6 @@
   }
 
   virtual void pass_long() {
-#ifdef AARCH64
-    if(_last_gp < GPR_PARAMS) {
-      _toGP[_last_gp++] = *(jlong *)(_from+Interpreter::local_offset_in_bytes(1));
-    } else {
-      *_to++ = *(jlong *)(_from+Interpreter::local_offset_in_bytes(1));
-    }
-#else
     assert(ALIGN_WIDE_ARGUMENTS == 1, "ABI_HARD not supported with unaligned wide arguments");
     if (_last_gp <= 2) {
       if(_last_gp & 1) _last_gp++;
@@ -375,7 +307,6 @@
       _to += 2;
       _last_gp = 4;
     }
-#endif // AARCH64
     _from -= 2*Interpreter::stackElementSize;
   }
 
@@ -390,13 +321,6 @@
   }
 
   virtual void pass_float() {
-#ifdef AARCH64
-    if(_last_fp < FPR_PARAMS) {
-      _toFP[_last_fp++] = *(jint *)(_from+Interpreter::local_offset_in_bytes(0));
-    } else {
-      *_to++ = *(jint *)(_from+Interpreter::local_offset_in_bytes(0));
-    }
-#else
     if((_last_fp < 16) || (_last_single_fp & 1)) {
       if ((_last_single_fp & 1) == 0) {
         _last_single_fp = _last_fp;
@@ -407,18 +331,10 @@
     } else {
       *_to++ = *(jint *)(_from+Interpreter::local_offset_in_bytes(0));
     }
-#endif // AARCH64
     _from -= Interpreter::stackElementSize;
   }
 
   virtual void pass_double() {
-#ifdef AARCH64
-    if(_last_fp < FPR_PARAMS) {
-      _toFP[_last_fp++] = *(intptr_t*)(_from+Interpreter::local_offset_in_bytes(1));
-    } else {
-      *_to++ = *(intptr_t*)(_from+Interpreter::local_offset_in_bytes(1));
-    }
-#else
     assert(ALIGN_WIDE_ARGUMENTS == 1, "ABI_HARD not supported with unaligned wide arguments");
     if(_last_fp <= 14) {
       _toFP[_last_fp++] = *(intptr_t*)(_from+Interpreter::local_offset_in_bytes(1));
@@ -432,7 +348,6 @@
       _to += 2;
       _last_single_fp = 16;
     }
-#endif // AARCH64
     _from -= 2*Interpreter::stackElementSize;
   }
 
@@ -446,12 +361,10 @@
 #ifdef __ABI_HARD__
     _toGP  = to;
     _toFP = _toGP + GPR_PARAMS;
-    _to   = _toFP + AARCH64_ONLY(FPR_PARAMS) NOT_AARCH64(8*2);
+    _to   = _toFP + (8*2);
     _last_gp = (is_static() ? 2 : 1);
     _last_fp = 0;
-#ifndef AARCH64
     _last_single_fp = 0;
-#endif // !AARCH64
 #else
     _to   = to + (is_static() ? 2 : 1);
 #endif // __ABI_HARD__
--- a/src/hotspot/cpu/arm/interpreterRT_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/interpreterRT_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -34,13 +34,9 @@
   int  _ireg;
 
 #ifdef __ABI_HARD__
-#ifdef AARCH64
-  int _freg;
-#else
   int _fp_slot; // number of FPR's with arguments loaded
   int _single_fpr_slot;
 #endif
-#endif
 
   void move(int from_offset, int to_offset);
   void box(int from_offset, int to_offset);
@@ -60,10 +56,8 @@
   void generate(uint64_t fingerprint);
 };
 
-#ifndef AARCH64
 // ARM provides a normalized fingerprint for native calls (to increase
 // sharing). See normalize_fast_native_fingerprint
 #define SHARING_FAST_NATIVE_FINGERPRINTS
-#endif
 
 #endif // CPU_ARM_VM_INTERPRETERRT_ARM_HPP
--- a/src/hotspot/cpu/arm/jniFastGetField_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/jniFastGetField_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -78,26 +78,19 @@
   // R1 - object handle
   // R2 - jfieldID
 
-  const Register Rsafepoint_counter_addr = AARCH64_ONLY(R4) NOT_AARCH64(R3);
-  const Register Robj = AARCH64_ONLY(R5) NOT_AARCH64(R1);
-  const Register Rres = AARCH64_ONLY(R6) NOT_AARCH64(R0);
-#ifndef AARCH64
+  const Register Rsafepoint_counter_addr = R3;
+  const Register Robj = R1;
+  const Register Rres = R0;
   const Register Rres_hi = R1;
-#endif // !AARCH64
   const Register Rsafept_cnt = Rtemp;
   const Register Rsafept_cnt2 = Rsafepoint_counter_addr;
-  const Register Rtmp1 = AARCH64_ONLY(R7) NOT_AARCH64(R3); // same as Rsafepoint_counter_addr on 32-bit ARM
-  const Register Rtmp2 = AARCH64_ONLY(R8) NOT_AARCH64(R2); // same as jfieldID on 32-bit ARM
+  const Register Rtmp1 = R3; // same as Rsafepoint_counter_addr
+  const Register Rtmp2 = R2; // same as jfieldID
 
-#ifdef AARCH64
-  assert_different_registers(Rsafepoint_counter_addr, Rsafept_cnt, Robj, Rres, Rtmp1, Rtmp2, R0, R1, R2, LR);
-  assert_different_registers(Rsafept_cnt2, Rsafept_cnt, Rres, R0, R1, R2, LR);
-#else
   assert_different_registers(Rsafepoint_counter_addr, Rsafept_cnt, Robj, Rres, LR);
   assert_different_registers(Rsafept_cnt, R1, R2, Rtmp1, LR);
   assert_different_registers(Rsafepoint_counter_addr, Rsafept_cnt, Rres, Rres_hi, Rtmp2, LR);
   assert_different_registers(Rsafept_cnt2, Rsafept_cnt, Rres, Rres_hi, LR);
-#endif // AARCH64
 
   address fast_entry;
 
@@ -112,29 +105,17 @@
   Label slow_case;
   __ ldr_literal(Rsafepoint_counter_addr, safepoint_counter_addr);
 
-#ifndef AARCH64
   __ push(RegisterSet(R0, R3));  // save incoming arguments for slow case
-#endif // !AARCH64
 
   __ ldr_s32(Rsafept_cnt, Address(Rsafepoint_counter_addr));
   __ tbnz(Rsafept_cnt, 0, slow_case);
 
-#ifdef AARCH64
-  // If mask changes we need to ensure that the inverse is still encodable as an immediate
-  STATIC_ASSERT(JNIHandles::weak_tag_mask == 1);
-  __ andr(R1, R1, ~JNIHandles::weak_tag_mask);
-#else
   __ bic(R1, R1, JNIHandles::weak_tag_mask);
-#endif
 
   // Address dependency restricts memory access ordering. It's cheaper than explicit LoadLoad barrier
   __ andr(Rtmp1, Rsafept_cnt, (unsigned)1);
   __ ldr(Robj, Address(R1, Rtmp1));
 
-#ifdef AARCH64
-  __ add(Robj, Robj, AsmOperand(R2, lsr, 2));
-  Address field_addr = Address(Robj);
-#else
   Address field_addr;
   if (type != T_BOOLEAN
       && type != T_INT
@@ -148,7 +129,6 @@
   } else {
     field_addr = Address(Robj, R2, lsr, 2);
   }
-#endif // AARCH64
   assert(count < LIST_CAPACITY, "LIST_CAPACITY too small");
   speculative_load_pclist[count] = __ pc();
 
@@ -175,12 +155,8 @@
 #ifndef __ABI_HARD__
     case T_DOUBLE:
 #endif
-#ifdef AARCH64
-      __ ldr(Rres, field_addr);
-#else
       // Safe to use ldrd since long and double fields are 8-byte aligned
       __ ldrd(Rres, field_addr);
-#endif // AARCH64
       break;
 #ifdef __ABI_HARD__
     case T_FLOAT:
@@ -195,38 +171,28 @@
   }
 
   // Address dependency restricts memory access ordering. It's cheaper than explicit LoadLoad barrier
-#if defined(__ABI_HARD__) && !defined(AARCH64)
+#ifdef __ABI_HARD__
   if (type == T_FLOAT || type == T_DOUBLE) {
     __ ldr_literal(Rsafepoint_counter_addr, safepoint_counter_addr);
     __ fmrrd(Rres, Rres_hi, D0);
     __ eor(Rtmp2, Rres, Rres);
     __ ldr_s32(Rsafept_cnt2, Address(Rsafepoint_counter_addr, Rtmp2));
   } else
-#endif // __ABI_HARD__ && !AARCH64
+#endif // __ABI_HARD__
   {
-#ifndef AARCH64
     __ ldr_literal(Rsafepoint_counter_addr, safepoint_counter_addr);
-#endif // !AARCH64
     __ eor(Rtmp2, Rres, Rres);
     __ ldr_s32(Rsafept_cnt2, Address(Rsafepoint_counter_addr, Rtmp2));
   }
   __ cmp(Rsafept_cnt2, Rsafept_cnt);
-#ifdef AARCH64
-  __ b(slow_case, ne);
-  __ mov(R0, Rres);
-  __ ret();
-#else
   // discards saved R0 R1 R2 R3
   __ add(SP, SP, 4 * wordSize, eq);
   __ bx(LR, eq);
-#endif // AARCH64
 
   slowcase_entry_pclist[count++] = __ pc();
 
   __ bind(slow_case);
-#ifndef AARCH64
   __ pop(RegisterSet(R0, R3));
-#endif // !AARCH64
   // thumb mode switch handled by MacroAssembler::jump if needed
   __ jump(slow_case_addr, relocInfo::none, Rtemp);
 
--- a/src/hotspot/cpu/arm/jniTypes_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/jniTypes_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -44,12 +44,10 @@
 
 private:
 
-#ifndef AARCH64
   // 32bit Helper routines.
   static inline void put_int2r(jint *from, intptr_t *to)           { *(jint *)(to++) = from[1];
                                                                         *(jint *)(to  ) = from[0]; }
   static inline void put_int2r(jint *from, intptr_t *to, int& pos) { put_int2r(from, to + pos); pos += 2; }
-#endif
 
 public:
   // Ints are stored in native format in one JavaCallArgument slot at *to.
@@ -57,18 +55,11 @@
   static inline void put_int(jint  from, intptr_t *to, int& pos) { *(jint *)(to + pos++) =  from; }
   static inline void put_int(jint *from, intptr_t *to, int& pos) { *(jint *)(to + pos++) = *from; }
 
-#ifdef AARCH64
-  // Longs are stored in native format in one JavaCallArgument slot at *(to+1).
-  static inline void put_long(jlong  from, intptr_t *to)           { *(jlong *)(to + 1 +   0) =  from; }
-  static inline void put_long(jlong  from, intptr_t *to, int& pos) { *(jlong *)(to + 1 + pos) =  from; pos += 2; }
-  static inline void put_long(jlong *from, intptr_t *to, int& pos) { *(jlong *)(to + 1 + pos) = *from; pos += 2; }
-#else
   // Longs are stored in big-endian word format in two JavaCallArgument slots at *to.
   // The high half is in *to and the low half in *(to+1).
   static inline void put_long(jlong  from, intptr_t *to)           { put_int2r((jint *)&from, to); }
   static inline void put_long(jlong  from, intptr_t *to, int& pos) { put_int2r((jint *)&from, to, pos); }
   static inline void put_long(jlong *from, intptr_t *to, int& pos) { put_int2r((jint *) from, to, pos); }
-#endif
 
   // Oops are stored in native format in one JavaCallArgument slot at *to.
   static inline void put_obj(oop  from, intptr_t *to)           { *(oop *)(to +   0  ) =  from; }
@@ -80,18 +71,11 @@
   static inline void put_float(jfloat  from, intptr_t *to, int& pos) { *(jfloat *)(to + pos++) =  from; }
   static inline void put_float(jfloat *from, intptr_t *to, int& pos) { *(jfloat *)(to + pos++) = *from; }
 
-#ifdef AARCH64
-  // Doubles are stored in native word format in one JavaCallArgument slot at *(to+1).
-  static inline void put_double(jdouble  from, intptr_t *to)           { *(jdouble *)(to + 1 +   0) =  from; }
-  static inline void put_double(jdouble  from, intptr_t *to, int& pos) { *(jdouble *)(to + 1 + pos) =  from; pos += 2; }
-  static inline void put_double(jdouble *from, intptr_t *to, int& pos) { *(jdouble *)(to + 1 + pos) = *from; pos += 2; }
-#else
   // Doubles are stored in big-endian word format in two JavaCallArgument slots at *to.
   // The high half is in *to and the low half in *(to+1).
   static inline void put_double(jdouble  from, intptr_t *to)           { put_int2r((jint *)&from, to); }
   static inline void put_double(jdouble  from, intptr_t *to, int& pos) { put_int2r((jint *)&from, to, pos); }
   static inline void put_double(jdouble *from, intptr_t *to, int& pos) { put_int2r((jint *) from, to, pos); }
-#endif
 
 };
 
--- a/src/hotspot/cpu/arm/macroAssembler_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -97,19 +97,6 @@
 }
 
 
-#ifdef AARCH64
-// Note: ARM32 version is OS dependent
-void MacroAssembler::breakpoint(AsmCondition cond) {
-  if (cond == al) {
-    brk();
-  } else {
-    Label L;
-    b(L, inverse(cond));
-    brk();
-    bind(L);
-  }
-}
-#endif // AARCH64
 
 
 // virtual method calling
@@ -210,9 +197,6 @@
                                                    Label* L_success,
                                                    Label* L_failure,
                                                    bool set_cond_codes) {
-#ifdef AARCH64
-  NOT_IMPLEMENTED();
-#else
   // Note: if used by code that expects a register to be 0 on success,
   // this register must be temp_reg and set_cond_codes must be true
 
@@ -313,7 +297,6 @@
   }
 
   bind(L_fallthrough);
-#endif
 }
 
 // Returns address of receiver parameter, using tmp as base register. tmp and params_count can be the same.
@@ -342,14 +325,9 @@
   } else {
     _fp_saved = false;
   }
-  if (AARCH64_ONLY(true) NOT_AARCH64(save_last_java_pc)) { // optional on 32-bit ARM
-#ifdef AARCH64
-    pc_offset = mov_pc_to(tmp);
-    str(tmp, Address(Rthread, JavaThread::last_Java_pc_offset()));
-#else
+  if (save_last_java_pc) {
     str(PC, Address(Rthread, JavaThread::last_Java_pc_offset()));
     pc_offset = offset() + VM_Version::stored_pc_adjustment();
-#endif
     _pc_saved = true;
   } else {
     _pc_saved = false;
@@ -369,16 +347,7 @@
   if (last_java_sp == noreg) {
     last_java_sp = SP; // always saved
   }
-#ifdef AARCH64
-  if (last_java_sp == SP) {
-    mov(tmp, SP);
-    str(tmp, Address(Rthread, JavaThread::last_Java_sp_offset()));
-  } else {
-    str(last_java_sp, Address(Rthread, JavaThread::last_Java_sp_offset()));
-  }
-#else
   str(last_java_sp, Address(Rthread, JavaThread::last_Java_sp_offset()));
-#endif
 
   return pc_offset; // for oopmaps
 }
@@ -401,19 +370,15 @@
   assert(number_of_arguments >= 0, "cannot have negative number of arguments");
   assert(number_of_arguments <= 4, "cannot have more than 4 arguments");
 
-#ifndef AARCH64
   // Safer to save R9 here since callers may have been written
   // assuming R9 survives. This is suboptimal but is not worth
   // optimizing for the few platforms where R9 is scratched.
   push(RegisterSet(R4) | R9ifScratched);
   mov(R4, SP);
   bic(SP, SP, StackAlignmentInBytes - 1);
-#endif // AARCH64
   call(entry_point, relocInfo::runtime_call_type);
-#ifndef AARCH64
   mov(SP, R4);
   pop(RegisterSet(R4) | R9ifScratched);
-#endif // AARCH64
 }
 
 
@@ -426,11 +391,6 @@
 
   set_last_Java_frame(SP, FP, true, tmp);
 
-#ifdef ASSERT
-  AARCH64_ONLY(if (UseCompressedOops || UseCompressedClassPointers) { verify_heapbase("call_VM_helper: heap base corrupted?"); });
-#endif // ASSERT
-
-#ifndef AARCH64
 #if R9_IS_SCRATCHED
   // Safer to save R9 here since callers may have been written
   // assuming R9 survives. This is suboptimal but is not worth
@@ -446,17 +406,14 @@
 #else
   bic(SP, SP, StackAlignmentInBytes - 1);
 #endif // R9_IS_SCRATCHED
-#endif
 
   mov(R0, Rthread);
   call(entry_point, relocInfo::runtime_call_type);
 
-#ifndef AARCH64
 #if R9_IS_SCRATCHED
   ldr(R9, Address(SP, 0));
 #endif
   ldr(SP, Address(Rthread, JavaThread::last_Java_sp_offset()));
-#endif
 
   reset_last_Java_frame(tmp);
 
@@ -467,17 +424,9 @@
   if (check_exceptions) {
     // check for pending exceptions
     ldr(tmp, Address(Rthread, Thread::pending_exception_offset()));
-#ifdef AARCH64
-    Label L;
-    cbz(tmp, L);
-    mov_pc_to(Rexception_pc);
-    b(StubRoutines::forward_exception_entry());
-    bind(L);
-#else
     cmp(tmp, 0);
     mov(Rexception_pc, PC, ne);
     b(StubRoutines::forward_exception_entry(), ne);
-#endif // AARCH64
   }
 
   // get oop result if there is one and reset the value in the thread
@@ -608,32 +557,6 @@
 }
 
 void MacroAssembler::add_slow(Register rd, Register rn, int c) {
-#ifdef AARCH64
-  if (c == 0) {
-    if (rd != rn) {
-      mov(rd, rn);
-    }
-    return;
-  }
-  if (c < 0) {
-    sub_slow(rd, rn, -c);
-    return;
-  }
-  if (c > right_n_bits(24)) {
-    guarantee(rd != rn, "no large add_slow with only one register");
-    mov_slow(rd, c);
-    add(rd, rn, rd);
-  } else {
-    int lo = c & right_n_bits(12);
-    int hi = (c >> 12) & right_n_bits(12);
-    if (lo != 0) {
-      add(rd, rn, lo, lsl0);
-    }
-    if (hi != 0) {
-      add(rd, (lo == 0) ? rn : rd, hi, lsl12);
-    }
-  }
-#else
   // This function is used in compiler for handling large frame offsets
   if ((c < 0) && (((-c) & ~0x3fc) == 0)) {
     return sub(rd, rn, (-c));
@@ -650,30 +573,9 @@
     assert(c == 0, "");
     mov(rd, rn); // need to generate at least one move!
   }
-#endif // AARCH64
 }
 
 void MacroAssembler::sub_slow(Register rd, Register rn, int c) {
-#ifdef AARCH64
-  if (c <= 0) {
-    add_slow(rd, rn, -c);
-    return;
-  }
-  if (c > right_n_bits(24)) {
-    guarantee(rd != rn, "no large sub_slow with only one register");
-    mov_slow(rd, c);
-    sub(rd, rn, rd);
-  } else {
-    int lo = c & right_n_bits(12);
-    int hi = (c >> 12) & right_n_bits(12);
-    if (lo != 0) {
-      sub(rd, rn, lo, lsl0);
-    }
-    if (hi != 0) {
-      sub(rd, (lo == 0) ? rn : rd, hi, lsl12);
-    }
-  }
-#else
   // This function is used in compiler for handling large frame offsets
   if ((c < 0) && (((-c) & ~0x3fc) == 0)) {
     return add(rd, rn, (-c));
@@ -690,7 +592,6 @@
     assert(c == 0, "");
     mov(rd, rn); // need to generate at least one move!
   }
-#endif // AARCH64
 }
 
 void MacroAssembler::mov_slow(Register rd, address addr) {
@@ -702,99 +603,6 @@
   mov_slow(rd, (intptr_t)str);
 }
 
-#ifdef AARCH64
-
-// Common code for mov_slow and instr_count_for_mov_slow.
-// Returns number of instructions of mov_slow pattern,
-// generating it if non-null MacroAssembler is given.
-int MacroAssembler::mov_slow_helper(Register rd, intptr_t c, MacroAssembler* masm) {
-  // This code pattern is matched in NativeIntruction::is_mov_slow.
-  // Update it at modifications.
-
-  const intx mask = right_n_bits(16);
-  // 1 movz instruction
-  for (int base_shift = 0; base_shift < 64; base_shift += 16) {
-    if ((c & ~(mask << base_shift)) == 0) {
-      if (masm != NULL) {
-        masm->movz(rd, ((uintx)c) >> base_shift, base_shift);
-      }
-      return 1;
-    }
-  }
-  // 1 movn instruction
-  for (int base_shift = 0; base_shift < 64; base_shift += 16) {
-    if (((~c) & ~(mask << base_shift)) == 0) {
-      if (masm != NULL) {
-        masm->movn(rd, ((uintx)(~c)) >> base_shift, base_shift);
-      }
-      return 1;
-    }
-  }
-  // 1 orr instruction
-  {
-    LogicalImmediate imm(c, false);
-    if (imm.is_encoded()) {
-      if (masm != NULL) {
-        masm->orr(rd, ZR, imm);
-      }
-      return 1;
-    }
-  }
-  // 1 movz/movn + up to 3 movk instructions
-  int zeroes = 0;
-  int ones = 0;
-  for (int base_shift = 0; base_shift < 64; base_shift += 16) {
-    int part = (c >> base_shift) & mask;
-    if (part == 0) {
-      ++zeroes;
-    } else if (part == mask) {
-      ++ones;
-    }
-  }
-  int def_bits = 0;
-  if (ones > zeroes) {
-    def_bits = mask;
-  }
-  int inst_count = 0;
-  for (int base_shift = 0; base_shift < 64; base_shift += 16) {
-    int part = (c >> base_shift) & mask;
-    if (part != def_bits) {
-      if (masm != NULL) {
-        if (inst_count > 0) {
-          masm->movk(rd, part, base_shift);
-        } else {
-          if (def_bits == 0) {
-            masm->movz(rd, part, base_shift);
-          } else {
-            masm->movn(rd, ~part & mask, base_shift);
-          }
-        }
-      }
-      inst_count++;
-    }
-  }
-  assert((1 <= inst_count) && (inst_count <= 4), "incorrect number of instructions");
-  return inst_count;
-}
-
-void MacroAssembler::mov_slow(Register rd, intptr_t c) {
-#ifdef ASSERT
-  int off = offset();
-#endif
-  (void) mov_slow_helper(rd, c, this);
-  assert(offset() - off == instr_count_for_mov_slow(c) * InstructionSize, "size mismatch");
-}
-
-// Counts instructions generated by mov_slow(rd, c).
-int MacroAssembler::instr_count_for_mov_slow(intptr_t c) {
-  return mov_slow_helper(noreg, c, NULL);
-}
-
-int MacroAssembler::instr_count_for_mov_slow(address c) {
-  return mov_slow_helper(noreg, (intptr_t)c, NULL);
-}
-
-#else
 
 void MacroAssembler::mov_slow(Register rd, intptr_t c, AsmCondition cond) {
   if (AsmOperand::is_rotated_imm(c)) {
@@ -829,25 +637,13 @@
   }
 }
 
-#endif // AARCH64
 
 void MacroAssembler::mov_oop(Register rd, jobject o, int oop_index,
-#ifdef AARCH64
-                             bool patchable
-#else
                              AsmCondition cond
-#endif
                              ) {
 
   if (o == NULL) {
-#ifdef AARCH64
-    if (patchable) {
-      nop();
-    }
-    mov(rd, ZR);
-#else
     mov(rd, 0, cond);
-#endif
     return;
   }
 
@@ -856,12 +652,6 @@
   }
   relocate(oop_Relocation::spec(oop_index));
 
-#ifdef AARCH64
-  if (patchable) {
-    nop();
-  }
-  ldr(rd, pc());
-#else
   if (VM_Version::supports_movw()) {
     movw(rd, 0, cond);
     movt(rd, 0, cond);
@@ -870,16 +660,10 @@
     // Extra nop to handle case of large offset of oop placeholder (see NativeMovConstReg::set_data).
     nop();
   }
-#endif
 }
 
-void MacroAssembler::mov_metadata(Register rd, Metadata* o, int metadata_index AARCH64_ONLY_ARG(bool patchable)) {
+void MacroAssembler::mov_metadata(Register rd, Metadata* o, int metadata_index) {
   if (o == NULL) {
-#ifdef AARCH64
-    if (patchable) {
-      nop();
-    }
-#endif
     mov(rd, 0);
     return;
   }
@@ -889,18 +673,6 @@
   }
   relocate(metadata_Relocation::spec(metadata_index));
 
-#ifdef AARCH64
-  if (patchable) {
-    nop();
-  }
-#ifdef COMPILER2
-  if (!patchable && VM_Version::prefer_moves_over_load_literal()) {
-    mov_slow(rd, (address)o);
-    return;
-  }
-#endif
-  ldr(rd, pc());
-#else
   if (VM_Version::supports_movw()) {
     movw(rd, ((int)o) & 0xffff);
     movt(rd, (unsigned int)o >> 16);
@@ -909,10 +681,9 @@
     // Extra nop to handle case of large offset of metadata placeholder (see NativeMovConstReg::set_data).
     nop();
   }
-#endif // AARCH64
 }
 
-void MacroAssembler::mov_float(FloatRegister fd, jfloat c NOT_AARCH64_ARG(AsmCondition cond)) {
+void MacroAssembler::mov_float(FloatRegister fd, jfloat c, AsmCondition cond) {
   Label skip_constant;
   union {
     jfloat f;
@@ -920,23 +691,13 @@
   } accessor;
   accessor.f = c;
 
-#ifdef AARCH64
-  // TODO-AARCH64 - try to optimize loading of float constants with fmov and/or mov_slow
-  Label L;
-  ldr_s(fd, target(L));
-  b(skip_constant);
-  bind(L);
-  emit_int32(accessor.i);
-  bind(skip_constant);
-#else
   flds(fd, Address(PC), cond);
   b(skip_constant);
   emit_int32(accessor.i);
   bind(skip_constant);
-#endif // AARCH64
 }
 
-void MacroAssembler::mov_double(FloatRegister fd, jdouble c NOT_AARCH64_ARG(AsmCondition cond)) {
+void MacroAssembler::mov_double(FloatRegister fd, jdouble c, AsmCondition cond) {
   Label skip_constant;
   union {
     jdouble d;
@@ -944,55 +705,21 @@
   } accessor;
   accessor.d = c;
 
-#ifdef AARCH64
-  // TODO-AARCH64 - try to optimize loading of double constants with fmov
-  Label L;
-  ldr_d(fd, target(L));
-  b(skip_constant);
-  align(wordSize);
-  bind(L);
-  emit_int32(accessor.i[0]);
-  emit_int32(accessor.i[1]);
-  bind(skip_constant);
-#else
   fldd(fd, Address(PC), cond);
   b(skip_constant);
   emit_int32(accessor.i[0]);
   emit_int32(accessor.i[1]);
   bind(skip_constant);
-#endif // AARCH64
 }
 
 void MacroAssembler::ldr_global_s32(Register reg, address address_of_global) {
   intptr_t addr = (intptr_t) address_of_global;
-#ifdef AARCH64
-  assert((addr & 0x3) == 0, "address should be aligned");
-
-  // FIXME: TODO
-  if (false && page_reachable_from_cache(address_of_global)) {
-    assert(false,"TODO: relocate");
-    //relocate();
-    adrp(reg, address_of_global);
-    ldrsw(reg, Address(reg, addr & 0xfff));
-  } else {
-    mov_slow(reg, addr & ~0x3fff);
-    ldrsw(reg, Address(reg, addr & 0x3fff));
-  }
-#else
   mov_slow(reg, addr & ~0xfff);
   ldr(reg, Address(reg, addr & 0xfff));
-#endif
 }
 
 void MacroAssembler::ldr_global_ptr(Register reg, address address_of_global) {
-#ifdef AARCH64
-  intptr_t addr = (intptr_t) address_of_global;
-  assert ((addr & 0x7) == 0, "address should be aligned");
-  mov_slow(reg, addr & ~0x7fff);
-  ldr(reg, Address(reg, addr & 0x7fff));
-#else
   ldr_global_s32(reg, address_of_global);
-#endif
 }
 
 void MacroAssembler::ldrb_global(Register reg, address address_of_global) {
@@ -1002,14 +729,6 @@
 }
 
 void MacroAssembler::zero_extend(Register rd, Register rn, int bits) {
-#ifdef AARCH64
-  switch (bits) {
-    case  8: uxtb(rd, rn); break;
-    case 16: uxth(rd, rn); break;
-    case 32: mov_w(rd, rn); break;
-    default: ShouldNotReachHere();
-  }
-#else
   if (bits <= 8) {
     andr(rd, rn, (1 << bits) - 1);
   } else if (bits >= 24) {
@@ -1018,24 +737,13 @@
     mov(rd, AsmOperand(rn, lsl, 32 - bits));
     mov(rd, AsmOperand(rd, lsr, 32 - bits));
   }
-#endif
 }
 
 void MacroAssembler::sign_extend(Register rd, Register rn, int bits) {
-#ifdef AARCH64
-  switch (bits) {
-    case  8: sxtb(rd, rn); break;
-    case 16: sxth(rd, rn); break;
-    case 32: sxtw(rd, rn); break;
-    default: ShouldNotReachHere();
-  }
-#else
   mov(rd, AsmOperand(rn, lsl, 32 - bits));
   mov(rd, AsmOperand(rd, asr, 32 - bits));
-#endif
 }
 
-#ifndef AARCH64
 
 void MacroAssembler::cmpoop(Register obj1, Register obj2) {
   BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
@@ -1134,7 +842,6 @@
     }
   }
 }
-#endif // !AARCH64
 
 void MacroAssembler::_verify_oop(Register reg, const char* s, const char* file, int line) {
   // This code pattern is matched in NativeIntruction::skip_verify_oop.
@@ -1236,9 +943,6 @@
 
 void MacroAssembler::null_check(Register reg, Register tmp, int offset) {
   if (needs_explicit_null_check(offset)) {
-#ifdef AARCH64
-    ldr(ZR, Address(reg));
-#else
     assert_different_registers(reg, tmp);
     if (tmp == noreg) {
       tmp = Rtemp;
@@ -1249,7 +953,6 @@
       // XXX: could we mark the code buffer as not compatible with C2 ?
     }
     ldr(tmp, Address(reg));
-#endif
   }
 }
 
@@ -1272,42 +975,11 @@
   Label loop;
   const Register ptr = start;
 
-#ifdef AARCH64
-  // TODO-AARCH64 - compare performance of 2x word zeroing with simple 1x
-  const Register size = tmp;
-  Label remaining, done;
-
-  sub(size, end, start);
-
-#ifdef ASSERT
-  { Label L;
-    tst(size, wordSize - 1);
-    b(L, eq);
-    stop("size is not a multiple of wordSize");
-    bind(L);
-  }
-#endif // ASSERT
-
-  subs(size, size, wordSize);
-  b(remaining, le);
-
-  // Zero by 2 words per iteration.
-  bind(loop);
-  subs(size, size, 2*wordSize);
-  stp(ZR, ZR, Address(ptr, 2*wordSize, post_indexed));
-  b(loop, gt);
-
-  bind(remaining);
-  b(done, ne);
-  str(ZR, Address(ptr));
-  bind(done);
-#else
   mov(tmp, 0);
   bind(loop);
   cmp(ptr, end);
   str(tmp, Address(ptr, wordSize, post_indexed), lo);
   b(loop, lo);
-#endif // AARCH64
 }
 
 void MacroAssembler::arm_stack_overflow_check(int frame_size_in_bytes, Register tmp) {
@@ -1317,16 +989,9 @@
 
     sub_slow(tmp, SP, JavaThread::stack_shadow_zone_size());
     strb(R0, Address(tmp));
-#ifdef AARCH64
-    for (; frame_size_in_bytes >= page_size; frame_size_in_bytes -= page_size) {
-      sub(tmp, tmp, page_size);
-      strb(R0, Address(tmp));
-    }
-#else
     for (; frame_size_in_bytes >= page_size; frame_size_in_bytes -= 0xff0) {
       strb(R0, Address(tmp, -0xff0, pre_indexed));
     }
-#endif // AARCH64
   }
 }
 
@@ -1336,16 +1001,9 @@
 
     mov(tmp, SP);
     add_slow(Rsize, Rsize, JavaThread::stack_shadow_zone_size() - os::vm_page_size());
-#ifdef AARCH64
-    sub(tmp, tmp, Rsize);
-    bind(loop);
-    subs(Rsize, Rsize, os::vm_page_size());
-    strb(ZR, Address(tmp, Rsize));
-#else
     bind(loop);
     subs(Rsize, Rsize, 0xff0);
     strb(R0, Address(tmp, -0xff0, pre_indexed));
-#endif // AARCH64
     b(loop, hi);
   }
 }
@@ -1368,24 +1026,10 @@
   ldr_literal(R0, Lmsg);                     // message
   mov(R1, SP);                               // register save area
 
-#ifdef AARCH64
-  ldr_literal(Rtemp, Ldebug);
-  br(Rtemp);
-#else
   ldr_literal(PC, Ldebug);                   // call MacroAssembler::debug
-#endif // AARCH64
 
-#if defined(COMPILER2) && defined(AARCH64)
-  int off = offset();
-#endif
   bind_literal(Lmsg);
   bind_literal(Ldebug);
-#if defined(COMPILER2) && defined(AARCH64)
-  if (offset() - off == 2 * wordSize) {
-    // no padding, so insert nop for worst-case sizing
-    nop();
-  }
-#endif
 }
 
 void MacroAssembler::warn(const char* msg) {
@@ -1401,12 +1045,6 @@
 
   int push_size = save_caller_save_registers();
 
-#ifdef AARCH64
-  // TODO-AARCH64 - get rid of extra debug parameters
-  mov(R1, LR);
-  mov(R2, FP);
-  add(R3, SP, push_size);
-#endif
 
   ldr_literal(R0, Lmsg);                    // message
   ldr_literal(LR, Lwarn);                   // call warning
@@ -1425,42 +1063,16 @@
 int MacroAssembler::save_all_registers() {
   // This code pattern is matched in NativeIntruction::is_save_all_registers.
   // Update it at modifications.
-#ifdef AARCH64
-  const Register tmp = Rtemp;
-  raw_push(R30, ZR);
-  for (int i = 28; i >= 0; i -= 2) {
-      raw_push(as_Register(i), as_Register(i+1));
-  }
-  mov_pc_to(tmp);
-  str(tmp, Address(SP, 31*wordSize));
-  ldr(tmp, Address(SP, tmp->encoding()*wordSize));
-  return 32*wordSize;
-#else
   push(RegisterSet(R0, R12) | RegisterSet(LR) | RegisterSet(PC));
   return 15*wordSize;
-#endif // AARCH64
 }
 
 void MacroAssembler::restore_all_registers() {
-#ifdef AARCH64
-  for (int i = 0; i <= 28; i += 2) {
-    raw_pop(as_Register(i), as_Register(i+1));
-  }
-  raw_pop(R30, ZR);
-#else
   pop(RegisterSet(R0, R12) | RegisterSet(LR));   // restore registers
   add(SP, SP, wordSize);                         // discard saved PC
-#endif // AARCH64
 }
 
 int MacroAssembler::save_caller_save_registers() {
-#ifdef AARCH64
-  for (int i = 0; i <= 16; i += 2) {
-    raw_push(as_Register(i), as_Register(i+1));
-  }
-  raw_push(R18, LR);
-  return 20*wordSize;
-#else
 #if R9_IS_SCRATCHED
   // Save also R10 to preserve alignment
   push(RegisterSet(R0, R3) | RegisterSet(R12) | RegisterSet(LR) | RegisterSet(R9,R10));
@@ -1469,22 +1081,14 @@
   push(RegisterSet(R0, R3) | RegisterSet(R12) | RegisterSet(LR));
   return 6*wordSize;
 #endif
-#endif // AARCH64
 }
 
 void MacroAssembler::restore_caller_save_registers() {
-#ifdef AARCH64
-  raw_pop(R18, LR);
-  for (int i = 16; i >= 0; i -= 2) {
-    raw_pop(as_Register(i), as_Register(i+1));
-  }
-#else
 #if R9_IS_SCRATCHED
   pop(RegisterSet(R0, R3) | RegisterSet(R12) | RegisterSet(LR) | RegisterSet(R9,R10));
 #else
   pop(RegisterSet(R0, R3) | RegisterSet(R12) | RegisterSet(LR));
 #endif
-#endif // AARCH64
 }
 
 void MacroAssembler::debug(const char* msg, const intx* registers) {
@@ -1498,23 +1102,14 @@
       BytecodeCounter::print();
     }
     if (os::message_box(msg, "Execution stopped, print registers?")) {
-#ifdef AARCH64
-      // saved registers: R0-R30, PC
-      const int nregs = 32;
-#else
       // saved registers: R0-R12, LR, PC
       const int nregs = 15;
       const Register regs[nregs] = {R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, LR, PC};
-#endif // AARCH64
 
-      for (int i = 0; i < nregs AARCH64_ONLY(-1); i++) {
-        tty->print_cr("%s = " INTPTR_FORMAT, AARCH64_ONLY(as_Register(i)) NOT_AARCH64(regs[i])->name(), registers[i]);
+      for (int i = 0; i < nregs; i++) {
+        tty->print_cr("%s = " INTPTR_FORMAT, regs[i]->name(), registers[i]);
       }
 
-#ifdef AARCH64
-      tty->print_cr("pc = " INTPTR_FORMAT, registers[nregs-1]);
-#endif // AARCH64
-
       // derive original SP value from the address of register save area
       tty->print_cr("%s = " INTPTR_FORMAT, SP->name(), p2i(&registers[nregs]));
     }
@@ -1558,22 +1153,6 @@
   }
 }
 
-#ifdef AARCH64
-
-// Serializes memory.
-// tmp register is not used on AArch64, this parameter is provided solely for better compatibility with 32-bit ARM
-void MacroAssembler::membar(Membar_mask_bits order_constraint, Register tmp) {
-  // TODO-AARCH64 investigate dsb vs dmb effects
-  if (order_constraint == StoreStore) {
-    dmb(DMB_st);
-  } else if ((order_constraint & ~(LoadLoad | LoadStore)) == 0) {
-    dmb(DMB_ld);
-  } else {
-    dmb(DMB_all);
-  }
-}
-
-#else
 
 // Serializes memory. Potentially blows flags and reg.
 // tmp is a scratch for v6 co-processor write op (could be noreg for other architecure versions)
@@ -1603,7 +1182,6 @@
   }
 }
 
-#endif // AARCH64
 
 // If "allow_fallthrough_on_failure" is false, we always branch to "slow_case"
 // on failure, so fall-through can only mean success.
@@ -1626,36 +1204,6 @@
   // reordering we must issue a StoreStore or Release barrier before
   // the CAS store.
 
-#ifdef AARCH64
-
-  Register Rscratch = tmp;
-  Register Roop = base;
-  Register mark = oldval;
-  Register Rbox = newval;
-  Label loop;
-
-  assert(oopDesc::mark_offset_in_bytes() == 0, "must be");
-
-  // Instead of StoreStore here, we use store-release-exclusive below
-
-  bind(loop);
-
-  ldaxr(tmp, base);  // acquire
-  cmp(tmp, oldval);
-  b(slow_case, ne);
-  stlxr(tmp, newval, base); // release
-  if (one_shot) {
-    cmp_w(tmp, 0);
-  } else {
-    cbnz_w(tmp, loop);
-    fallthrough_is_success = true;
-  }
-
-  // MemBarAcquireLock would normally go here, but
-  // we already do ldaxr+stlxr above, which has
-  // Sequential Consistency
-
-#else
   membar(MacroAssembler::StoreStore, noreg);
 
   if (one_shot) {
@@ -1673,7 +1221,6 @@
   // the load and store in the CAS sequence, so play it safe and
   // do a full fence.
   membar(Membar_mask_bits(LoadLoad | LoadStore | StoreStore | StoreLoad), noreg);
-#endif
   if (!fallthrough_is_success && !allow_fallthrough_on_failure) {
     b(slow_case, ne);
   }
@@ -1688,24 +1235,6 @@
 
   assert_different_registers(oldval,newval,base,tmp);
 
-#ifdef AARCH64
-  Label loop;
-
-  assert(oopDesc::mark_offset_in_bytes() == 0, "must be");
-
-  bind(loop);
-  ldxr(tmp, base);
-  cmp(tmp, oldval);
-  b(slow_case, ne);
-  // MemBarReleaseLock barrier
-  stlxr(tmp, newval, base);
-  if (one_shot) {
-    cmp_w(tmp, 0);
-  } else {
-    cbnz_w(tmp, loop);
-    fallthrough_is_success = true;
-  }
-#else
   // MemBarReleaseLock barrier
   // According to JSR-133 Cookbook, this should be StoreStore | LoadStore,
   // but that doesn't prevent a load or store from floating down between
@@ -1721,7 +1250,6 @@
   } else {
     atomic_cas_bool(oldval, newval, base, oopDesc::mark_offset_in_bytes(), tmp);
   }
-#endif
   if (!fallthrough_is_success && !allow_fallthrough_on_failure) {
     b(slow_case, ne);
   }
@@ -1746,21 +1274,6 @@
       b(done, inverse(cond));
     }
 
-#ifdef AARCH64
-    raw_push(R0, R1);
-    raw_push(R2, ZR);
-
-    ldr_literal(R0, counter_addr_literal);
-
-    bind(retry);
-    ldxr_w(R1, R0);
-    add_w(R1, R1, 1);
-    stxr_w(R2, R1, R0);
-    cbnz_w(R2, retry);
-
-    raw_pop(R2, ZR);
-    raw_pop(R0, R1);
-#else
     push(RegisterSet(R0, R3) | RegisterSet(Rtemp));
     ldr_literal(R0, counter_addr_literal);
 
@@ -1775,7 +1288,6 @@
     msr(CPSR_fsxc, Rtemp);
 
     pop(RegisterSet(R0, R3) | RegisterSet(Rtemp));
-#endif // AARCH64
 
     b(done);
     bind_literal(counter_addr_literal);
@@ -1861,11 +1373,7 @@
   orr(tmp_reg, tmp_reg, Rthread);
   eor(tmp_reg, tmp_reg, swap_reg);
 
-#ifdef AARCH64
-  ands(tmp_reg, tmp_reg, ~((uintx) markOopDesc::age_mask_in_place));
-#else
   bics(tmp_reg, tmp_reg, ((int) markOopDesc::age_mask_in_place));
-#endif // AARCH64
 
 #ifndef PRODUCT
   if (counters != NULL) {
@@ -1915,19 +1423,12 @@
   // Note that we know the owner is not ourself. Hence, success can
   // only happen when the owner bits is 0
 
-#ifdef AARCH64
-  // Bit mask biased_lock + age + epoch is not a valid AArch64 logical immediate, as it has
-  // cleared bit in the middle (cms bit). So it is loaded with separate instruction.
-  mov(tmp2, (markOopDesc::biased_lock_mask_in_place | markOopDesc::age_mask_in_place | markOopDesc::epoch_mask_in_place));
-  andr(swap_reg, swap_reg, tmp2);
-#else
   // until the assembler can be made smarter, we need to make some assumptions about the values
   // so we can optimize this:
   assert((markOopDesc::biased_lock_mask_in_place | markOopDesc::age_mask_in_place | markOopDesc::epoch_mask_in_place) == 0x1ff, "biased bitmasks changed");
 
   mov(swap_reg, AsmOperand(swap_reg, lsl, 23));
   mov(swap_reg, AsmOperand(swap_reg, lsr, 23)); // markOop with thread bits cleared (for CAS)
-#endif // AARCH64
 
   orr(tmp_reg, swap_reg, Rthread); // new mark
 
@@ -1955,13 +1456,8 @@
   eor(tmp_reg, tmp_reg, swap_reg); // OK except for owner bits (age preserved !)
 
   // owner bits 'random'. Set them to Rthread.
-#ifdef AARCH64
-  mov(tmp2, (markOopDesc::biased_lock_mask_in_place | markOopDesc::age_mask_in_place | markOopDesc::epoch_mask_in_place));
-  andr(tmp_reg, tmp_reg, tmp2);
-#else
   mov(tmp_reg, AsmOperand(tmp_reg, lsl, 23));
   mov(tmp_reg, AsmOperand(tmp_reg, lsr, 23));
-#endif // AARCH64
 
   orr(tmp_reg, tmp_reg, Rthread); // new mark
 
@@ -1990,13 +1486,8 @@
   eor(tmp_reg, tmp_reg, swap_reg); // OK except for owner bits (age preserved !)
 
   // owner bits 'random'. Clear them
-#ifdef AARCH64
-  mov(tmp2, (markOopDesc::biased_lock_mask_in_place | markOopDesc::age_mask_in_place | markOopDesc::epoch_mask_in_place));
-  andr(tmp_reg, tmp_reg, tmp2);
-#else
   mov(tmp_reg, AsmOperand(tmp_reg, lsl, 23));
   mov(tmp_reg, AsmOperand(tmp_reg, lsr, 23));
-#endif // AARCH64
 
   biased_locking_enter_with_cas(obj_reg, swap_reg, tmp_reg, tmp2, cas_label,
         (counters != NULL) ? counters->revoked_lock_entry_count_addr() : NULL);
@@ -2052,29 +1543,6 @@
 
 //////////////////////////////////////////////////////////////////////////////////
 
-#ifdef AARCH64
-
-void MacroAssembler::load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed) {
-  switch (size_in_bytes) {
-    case  8: ldr(dst, src); break;
-    case  4: is_signed ? ldr_s32(dst, src) : ldr_u32(dst, src); break;
-    case  2: is_signed ? ldrsh(dst, src) : ldrh(dst, src); break;
-    case  1: is_signed ? ldrsb(dst, src) : ldrb(dst, src); break;
-    default: ShouldNotReachHere();
-  }
-}
-
-void MacroAssembler::store_sized_value(Register src, Address dst, size_t size_in_bytes) {
-  switch (size_in_bytes) {
-    case  8: str(src, dst);    break;
-    case  4: str_32(src, dst); break;
-    case  2: strh(src, dst);   break;
-    case  1: strb(src, dst);   break;
-    default: ShouldNotReachHere();
-  }
-}
-
-#else
 
 void MacroAssembler::load_sized_value(Register dst, Address src,
                                     size_t size_in_bytes, bool is_signed, AsmCondition cond) {
@@ -2095,7 +1563,6 @@
     default: ShouldNotReachHere();
   }
 }
-#endif // AARCH64
 
 // Look up the method for a megamorphic invokeinterface call.
 // The target method is determined by <Rinterf, Rindex>.
@@ -2128,24 +1595,12 @@
   Label loop;
   bind(loop);
   ldr(Rtmp, Address(Rscan, entry_size, post_indexed));
-#ifdef AARCH64
-  Label found;
-  cmp(Rtmp, Rintf);
-  b(found, eq);
-  cbnz(Rtmp, loop);
-#else
   cmp(Rtmp, Rintf);  // set ZF and CF if interface is found
   cmn(Rtmp, 0, ne);  // check if tmp == 0 and clear CF if it is
   b(loop, ne);
-#endif // AARCH64
 
-#ifdef AARCH64
-  b(L_no_such_interface);
-  bind(found);
-#else
   // CF == 0 means we reached the end of itable without finding icklass
   b(L_no_such_interface, cc);
-#endif // !AARCH64
 
   if (method_result != noreg) {
     // Interface found at previous position of Rscan, now load the method
@@ -2224,31 +1679,20 @@
 }
 
 void MacroAssembler::floating_cmp(Register dst) {
-#ifdef AARCH64
-  NOT_TESTED();
-  cset(dst, gt);            // 1 if '>', else 0
-  csinv(dst, dst, ZR, ge);  // previous value if '>=', else -1
-#else
   vmrs(dst, FPSCR);
   orr(dst, dst, 0x08000000);
   eor(dst, dst, AsmOperand(dst, lsl, 3));
   mov(dst, AsmOperand(dst, asr, 30));
-#endif
 }
 
 void MacroAssembler::restore_default_fp_mode() {
-#ifdef AARCH64
-  msr(SysReg_FPCR, ZR);
-#else
 #ifndef __SOFTFP__
   // Round to Near mode, IEEE compatible, masked exceptions
   mov(Rtemp, 0);
   vmsr(FPSCR, Rtemp);
 #endif // !__SOFTFP__
-#endif // AARCH64
 }
 
-#ifndef AARCH64
 // 24-bit word range == 26-bit byte range
 bool check26(int offset) {
   // this could be simplified, but it mimics encoding and decoding
@@ -2258,7 +1702,6 @@
   int decoded = encoded << 8 >> 6;
   return offset == decoded;
 }
-#endif // !AARCH64
 
 // Perform some slight adjustments so the default 32MB code cache
 // is fully reachable.
@@ -2269,18 +1712,6 @@
   return CodeCache::high_bound() - Assembler::InstructionSize;
 }
 
-#ifdef AARCH64
-// Can we reach target using ADRP?
-bool MacroAssembler::page_reachable_from_cache(address target) {
-  intptr_t cl = (intptr_t)first_cache_address() & ~0xfff;
-  intptr_t ch = (intptr_t)last_cache_address() & ~0xfff;
-  intptr_t addr = (intptr_t)target & ~0xfff;
-
-  intptr_t loffset = addr - cl;
-  intptr_t hoffset = addr - ch;
-  return is_imm_in_range(loffset >> 12, 21, 0) && is_imm_in_range(hoffset >> 12, 21, 0);
-}
-#endif
 
 // Can we reach target using unconditional branch or call from anywhere
 // in the code cache (because code can be relocated)?
@@ -2305,11 +1736,7 @@
   intptr_t loffset = (intptr_t)target - (intptr_t)cl;
   intptr_t hoffset = (intptr_t)target - (intptr_t)ch;
 
-#ifdef AARCH64
-  return is_offset_in_range(loffset, 26) && is_offset_in_range(hoffset, 26);
-#else
   return check26(loffset - 8) && check26(hoffset - 8);
-#endif
 }
 
 bool MacroAssembler::reachable_from_cache(address target) {
@@ -2329,11 +1756,11 @@
   return _cache_fully_reachable();
 }
 
-void MacroAssembler::jump(address target, relocInfo::relocType rtype, Register scratch NOT_AARCH64_ARG(AsmCondition cond)) {
+void MacroAssembler::jump(address target, relocInfo::relocType rtype, Register scratch, AsmCondition cond) {
   assert((rtype == relocInfo::runtime_call_type) || (rtype == relocInfo::none), "not supported");
   if (reachable_from_cache(target)) {
     relocate(rtype);
-    b(target NOT_AARCH64_ARG(cond));
+    b(target, cond);
     return;
   }
 
@@ -2343,20 +1770,6 @@
     rtype = relocInfo::none;
   }
 
-#ifdef AARCH64
-  assert (scratch != noreg, "should be specified");
-  InlinedAddress address_literal(target, rtype);
-  ldr_literal(scratch, address_literal);
-  br(scratch);
-  int off = offset();
-  bind_literal(address_literal);
-#ifdef COMPILER2
-  if (offset() - off == wordSize) {
-    // no padding, so insert nop for worst-case sizing
-    nop();
-  }
-#endif
-#else
   if (VM_Version::supports_movw() && (scratch != noreg) && (rtype == relocInfo::none)) {
     // Note: this version cannot be (atomically) patched
     mov_slow(scratch, (intptr_t)target, cond);
@@ -2372,20 +1785,19 @@
     bind_literal(address_literal);
     bind(skip);
   }
-#endif // AARCH64
 }
 
 // Similar to jump except that:
 // - near calls are valid only if any destination in the cache is near
 // - no movt/movw (not atomically patchable)
-void MacroAssembler::patchable_jump(address target, relocInfo::relocType rtype, Register scratch NOT_AARCH64_ARG(AsmCondition cond)) {
+void MacroAssembler::patchable_jump(address target, relocInfo::relocType rtype, Register scratch, AsmCondition cond) {
   assert((rtype == relocInfo::runtime_call_type) || (rtype == relocInfo::none), "not supported");
   if (cache_fully_reachable()) {
     // Note: this assumes that all possible targets (the initial one
     // and the addressed patched to) are all in the code cache.
     assert(CodeCache::contains(target), "target might be too far");
     relocate(rtype);
-    b(target NOT_AARCH64_ARG(cond));
+    b(target, cond);
     return;
   }
 
@@ -2395,21 +1807,6 @@
     rtype = relocInfo::none;
   }
 
-#ifdef AARCH64
-  assert (scratch != noreg, "should be specified");
-  InlinedAddress address_literal(target);
-  relocate(rtype);
-  ldr_literal(scratch, address_literal);
-  br(scratch);
-  int off = offset();
-  bind_literal(address_literal);
-#ifdef COMPILER2
-  if (offset() - off == wordSize) {
-    // no padding, so insert nop for worst-case sizing
-    nop();
-  }
-#endif
-#else
   {
     Label skip;
     InlinedAddress address_literal(target);
@@ -2421,15 +1818,14 @@
     bind_literal(address_literal);
     bind(skip);
   }
-#endif // AARCH64
 }
 
-void MacroAssembler::call(address target, RelocationHolder rspec NOT_AARCH64_ARG(AsmCondition cond)) {
+void MacroAssembler::call(address target, RelocationHolder rspec, AsmCondition cond) {
   Register scratch = LR;
   assert(rspec.type() == relocInfo::runtime_call_type || rspec.type() == relocInfo::none, "not supported");
   if (reachable_from_cache(target)) {
     relocate(rspec);
-    bl(target NOT_AARCH64_ARG(cond));
+    bl(target, cond);
     return;
   }
 
@@ -2440,31 +1836,20 @@
     rspec = RelocationHolder::none;
   }
 
-#ifndef AARCH64
   if (VM_Version::supports_movw() && (rspec.type() == relocInfo::none)) {
     // Note: this version cannot be (atomically) patched
     mov_slow(scratch, (intptr_t)target, cond);
     blx(scratch, cond);
     return;
   }
-#endif
 
   {
     Label ret_addr;
-#ifndef AARCH64
     if (cond != al) {
       b(ret_addr, inverse(cond));
     }
-#endif
 
 
-#ifdef AARCH64
-    // TODO-AARCH64: make more optimal implementation
-    // [ Keep in sync with MacroAssembler::call_size ]
-    assert(rspec.type() == relocInfo::none, "call reloc not implemented");
-    mov_slow(scratch, target);
-    blr(scratch);
-#else
     InlinedAddress address_literal(target);
     relocate(rspec);
     adr(LR, ret_addr);
@@ -2472,18 +1857,9 @@
 
     bind_literal(address_literal);
     bind(ret_addr);
-#endif
   }
 }
 
-#if defined(AARCH64) && defined(COMPILER2)
-int MacroAssembler::call_size(address target, bool far, bool patchable) {
-  // FIXME: mov_slow is variable-length
-  if (!far) return 1; // bl
-  if (patchable) return 2;  // ldr; blr
-  return instr_count_for_mov_slow((intptr_t)target) + 1;
-}
-#endif
 
 int MacroAssembler::patchable_call(address target, RelocationHolder const& rspec, bool c2) {
   assert(rspec.type() == relocInfo::static_call_type ||
@@ -2498,38 +1874,10 @@
     assert(CodeCache::contains(target), "target might be too far");
     bl(target);
   } else {
-#if defined(AARCH64) && defined(COMPILER2)
-    if (c2) {
-      // return address needs to match call_size().
-      // no need to trash Rtemp
-      int off = offset();
-      Label skip_literal;
-      InlinedAddress address_literal(target);
-      ldr_literal(LR, address_literal);
-      blr(LR);
-      int ret_addr_offset = offset();
-      assert(offset() - off == call_size(target, true, true) * InstructionSize, "need to fix call_size()");
-      b(skip_literal);
-      int off2 = offset();
-      bind_literal(address_literal);
-      if (offset() - off2 == wordSize) {
-        // no padding, so insert nop for worst-case sizing
-        nop();
-      }
-      bind(skip_literal);
-      return ret_addr_offset;
-    }
-#endif
     Label ret_addr;
     InlinedAddress address_literal(target);
-#ifdef AARCH64
-    ldr_literal(Rtemp, address_literal);
-    adr(LR, ret_addr);
-    br(Rtemp);
-#else
     adr(LR, ret_addr);
     ldr_literal(PC, address_literal);
-#endif
     bind_literal(address_literal);
     bind(ret_addr);
   }
@@ -2556,47 +1904,17 @@
 
 // Compressed pointers
 
-#ifdef AARCH64
-
-void MacroAssembler::load_klass(Register dst_klass, Register src_oop) {
-  if (UseCompressedClassPointers) {
-    ldr_w(dst_klass, Address(src_oop, oopDesc::klass_offset_in_bytes()));
-    decode_klass_not_null(dst_klass);
-  } else {
-    ldr(dst_klass, Address(src_oop, oopDesc::klass_offset_in_bytes()));
-  }
-}
-
-#else
 
 void MacroAssembler::load_klass(Register dst_klass, Register src_oop, AsmCondition cond) {
   ldr(dst_klass, Address(src_oop, oopDesc::klass_offset_in_bytes()), cond);
 }
 
-#endif // AARCH64
 
 // Blows src_klass.
 void MacroAssembler::store_klass(Register src_klass, Register dst_oop) {
-#ifdef AARCH64
-  if (UseCompressedClassPointers) {
-    assert(src_klass != dst_oop, "not enough registers");
-    encode_klass_not_null(src_klass);
-    str_w(src_klass, Address(dst_oop, oopDesc::klass_offset_in_bytes()));
-    return;
-  }
-#endif // AARCH64
   str(src_klass, Address(dst_oop, oopDesc::klass_offset_in_bytes()));
 }
 
-#ifdef AARCH64
-
-void MacroAssembler::store_klass_gap(Register dst) {
-  if (UseCompressedClassPointers) {
-    str_w(ZR, Address(dst, oopDesc::klass_gap_offset_in_bytes()));
-  }
-}
-
-#endif // AARCH64
 
 
 void MacroAssembler::load_heap_oop(Register dst, Address src, Register tmp1, Register tmp2, Register tmp3, DecoratorSet decorators) {
@@ -2645,265 +1963,9 @@
   return bs->resolve(this, decorators, obj);
 }
 
-#ifdef AARCH64
-
-// Algorithm must match oop.inline.hpp encode_heap_oop.
-void MacroAssembler::encode_heap_oop(Register dst, Register src) {
-  // This code pattern is matched in NativeIntruction::skip_encode_heap_oop.
-  // Update it at modifications.
-  assert (UseCompressedOops, "must be compressed");
-  assert (Universe::heap() != NULL, "java heap should be initialized");
-#ifdef ASSERT
-  verify_heapbase("MacroAssembler::encode_heap_oop: heap base corrupted?");
-#endif
-  verify_oop(src);
-  if (Universe::narrow_oop_base() == NULL) {
-    if (Universe::narrow_oop_shift() != 0) {
-      assert (LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-      _lsr(dst, src, Universe::narrow_oop_shift());
-    } else if (dst != src) {
-      mov(dst, src);
-    }
-  } else {
-    tst(src, src);
-    csel(dst, Rheap_base, src, eq);
-    sub(dst, dst, Rheap_base);
-    if (Universe::narrow_oop_shift() != 0) {
-      assert (LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-      _lsr(dst, dst, Universe::narrow_oop_shift());
-    }
-  }
-}
-
-// Same algorithm as oop.inline.hpp decode_heap_oop.
-void MacroAssembler::decode_heap_oop(Register dst, Register src) {
-#ifdef ASSERT
-  verify_heapbase("MacroAssembler::decode_heap_oop: heap base corrupted?");
-#endif
-  assert(Universe::narrow_oop_shift() == 0 || LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-  if (Universe::narrow_oop_base() != NULL) {
-    tst(src, src);
-    add(dst, Rheap_base, AsmOperand(src, lsl, Universe::narrow_oop_shift()));
-    csel(dst, dst, ZR, ne);
-  } else {
-    _lsl(dst, src, Universe::narrow_oop_shift());
-  }
-  verify_oop(dst);
-}
 
 #ifdef COMPILER2
-// Algorithm must match oop.inline.hpp encode_heap_oop.
-// Must preserve condition codes, or C2 encodeHeapOop_not_null rule
-// must be changed.
-void MacroAssembler::encode_heap_oop_not_null(Register dst, Register src) {
-  assert (UseCompressedOops, "must be compressed");
-  assert (Universe::heap() != NULL, "java heap should be initialized");
-#ifdef ASSERT
-  verify_heapbase("MacroAssembler::encode_heap_oop: heap base corrupted?");
-#endif
-  verify_oop(src);
-  if (Universe::narrow_oop_base() == NULL) {
-    if (Universe::narrow_oop_shift() != 0) {
-      assert (LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-      _lsr(dst, src, Universe::narrow_oop_shift());
-    } else if (dst != src) {
-          mov(dst, src);
-    }
-  } else {
-    sub(dst, src, Rheap_base);
-    if (Universe::narrow_oop_shift() != 0) {
-      assert (LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-      _lsr(dst, dst, Universe::narrow_oop_shift());
-    }
-  }
-}
-
-// Same algorithm as oops.inline.hpp decode_heap_oop.
-// Must preserve condition codes, or C2 decodeHeapOop_not_null rule
-// must be changed.
-void MacroAssembler::decode_heap_oop_not_null(Register dst, Register src) {
-#ifdef ASSERT
-  verify_heapbase("MacroAssembler::decode_heap_oop: heap base corrupted?");
-#endif
-  assert(Universe::narrow_oop_shift() == 0 || LogMinObjAlignmentInBytes == Universe::narrow_oop_shift(), "decode alg wrong");
-  if (Universe::narrow_oop_base() != NULL) {
-    add(dst, Rheap_base, AsmOperand(src, lsl, Universe::narrow_oop_shift()));
-  } else {
-    _lsl(dst, src, Universe::narrow_oop_shift());
-  }
-  verify_oop(dst);
-}
-
-void MacroAssembler::set_narrow_klass(Register dst, Klass* k) {
-  assert(UseCompressedClassPointers, "should only be used for compressed header");
-  assert(oop_recorder() != NULL, "this assembler needs an OopRecorder");
-  int klass_index = oop_recorder()->find_index(k);
-  RelocationHolder rspec = metadata_Relocation::spec(klass_index);
-
-  // Relocation with special format (see relocInfo_arm.hpp).
-  relocate(rspec);
-  narrowKlass encoded_k = Klass::encode_klass(k);
-  movz(dst, encoded_k & 0xffff, 0);
-  movk(dst, (encoded_k >> 16) & 0xffff, 16);
-}
-
-void MacroAssembler::set_narrow_oop(Register dst, jobject obj) {
-  assert(UseCompressedOops, "should only be used for compressed header");
-  assert(oop_recorder() != NULL, "this assembler needs an OopRecorder");
-  int oop_index = oop_recorder()->find_index(obj);
-  RelocationHolder rspec = oop_Relocation::spec(oop_index);
-
-  relocate(rspec);
-  movz(dst, 0xffff, 0);
-  movk(dst, 0xffff, 16);
-}
-
-#endif // COMPILER2
-// Must preserve condition codes, or C2 encodeKlass_not_null rule
-// must be changed.
-void MacroAssembler::encode_klass_not_null(Register r) {
-  if (Universe::narrow_klass_base() != NULL) {
-    // Use Rheap_base as a scratch register in which to temporarily load the narrow_klass_base.
-    assert(r != Rheap_base, "Encoding a klass in Rheap_base");
-    mov_slow(Rheap_base, Universe::narrow_klass_base());
-    sub(r, r, Rheap_base);
-  }
-  if (Universe::narrow_klass_shift() != 0) {
-    assert (LogKlassAlignmentInBytes == Universe::narrow_klass_shift(), "decode alg wrong");
-    _lsr(r, r, Universe::narrow_klass_shift());
-  }
-  if (Universe::narrow_klass_base() != NULL) {
-    reinit_heapbase();
-  }
-}
-
-// Must preserve condition codes, or C2 encodeKlass_not_null rule
-// must be changed.
-void MacroAssembler::encode_klass_not_null(Register dst, Register src) {
-  if (dst == src) {
-    encode_klass_not_null(src);
-    return;
-  }
-  if (Universe::narrow_klass_base() != NULL) {
-    mov_slow(dst, (int64_t)Universe::narrow_klass_base());
-    sub(dst, src, dst);
-    if (Universe::narrow_klass_shift() != 0) {
-      assert (LogKlassAlignmentInBytes == Universe::narrow_klass_shift(), "decode alg wrong");
-      _lsr(dst, dst, Universe::narrow_klass_shift());
-    }
-  } else {
-    if (Universe::narrow_klass_shift() != 0) {
-      assert (LogKlassAlignmentInBytes == Universe::narrow_klass_shift(), "decode alg wrong");
-      _lsr(dst, src, Universe::narrow_klass_shift());
-    } else {
-      mov(dst, src);
-    }
-  }
-}
-
-// Function instr_count_for_decode_klass_not_null() counts the instructions
-// generated by decode_klass_not_null(register r) and reinit_heapbase(),
-// when (Universe::heap() != NULL).  Hence, if the instructions they
-// generate change, then this method needs to be updated.
-int MacroAssembler::instr_count_for_decode_klass_not_null() {
-  assert(UseCompressedClassPointers, "only for compressed klass ptrs");
-  assert(Universe::heap() != NULL, "java heap should be initialized");
-  if (Universe::narrow_klass_base() != NULL) {
-    return instr_count_for_mov_slow(Universe::narrow_klass_base()) + // mov_slow
-      1 +                                                                 // add
-      instr_count_for_mov_slow(Universe::narrow_ptrs_base());   // reinit_heapbase() = mov_slow
-  } else {
-    if (Universe::narrow_klass_shift() != 0) {
-      return 1;
-    }
-  }
-  return 0;
-}
-
-// Must preserve condition codes, or C2 decodeKlass_not_null rule
-// must be changed.
-void MacroAssembler::decode_klass_not_null(Register r) {
-  int off = offset();
-  assert(UseCompressedClassPointers, "should only be used for compressed headers");
-  assert(Universe::heap() != NULL, "java heap should be initialized");
-  assert(r != Rheap_base, "Decoding a klass in Rheap_base");
-  // Cannot assert, instr_count_for_decode_klass_not_null() counts instructions.
-  // Also do not verify_oop as this is called by verify_oop.
-  if (Universe::narrow_klass_base() != NULL) {
-    // Use Rheap_base as a scratch register in which to temporarily load the narrow_klass_base.
-    mov_slow(Rheap_base, Universe::narrow_klass_base());
-    add(r, Rheap_base, AsmOperand(r, lsl, Universe::narrow_klass_shift()));
-    reinit_heapbase();
-  } else {
-    if (Universe::narrow_klass_shift() != 0) {
-      assert (LogKlassAlignmentInBytes == Universe::narrow_klass_shift(), "decode alg wrong");
-      _lsl(r, r, Universe::narrow_klass_shift());
-    }
-  }
-  assert((offset() - off) == (instr_count_for_decode_klass_not_null() * InstructionSize), "need to fix instr_count_for_decode_klass_not_null");
-}
-
-// Must preserve condition codes, or C2 decodeKlass_not_null rule
-// must be changed.
-void MacroAssembler::decode_klass_not_null(Register dst, Register src) {
-  if (src == dst) {
-    decode_klass_not_null(src);
-    return;
-  }
-
-  assert(UseCompressedClassPointers, "should only be used for compressed headers");
-  assert(Universe::heap() != NULL, "java heap should be initialized");
-  assert(src != Rheap_base, "Decoding a klass in Rheap_base");
-  assert(dst != Rheap_base, "Decoding a klass into Rheap_base");
-  // Also do not verify_oop as this is called by verify_oop.
-  if (Universe::narrow_klass_base() != NULL) {
-    mov_slow(dst, Universe::narrow_klass_base());
-    add(dst, dst, AsmOperand(src, lsl, Universe::narrow_klass_shift()));
-  } else {
-    _lsl(dst, src, Universe::narrow_klass_shift());
-  }
-}
-
-
-void MacroAssembler::reinit_heapbase() {
-  if (UseCompressedOops || UseCompressedClassPointers) {
-    if (Universe::heap() != NULL) {
-      mov_slow(Rheap_base, Universe::narrow_ptrs_base());
-    } else {
-      ldr_global_ptr(Rheap_base, (address)Universe::narrow_ptrs_base_addr());
-    }
-  }
-}
-
-#ifdef ASSERT
-void MacroAssembler::verify_heapbase(const char* msg) {
-  // This code pattern is matched in NativeIntruction::skip_verify_heapbase.
-  // Update it at modifications.
-  assert (UseCompressedOops, "should be compressed");
-  assert (Universe::heap() != NULL, "java heap should be initialized");
-  if (CheckCompressedOops) {
-    Label ok;
-    str(Rthread, Address(Rthread, in_bytes(JavaThread::in_top_frame_unsafe_section_offset())));
-    raw_push(Rtemp, ZR);
-    mrs(Rtemp, Assembler::SysReg_NZCV);
-    str(Rtemp, Address(SP, 1 * wordSize));
-    mov_slow(Rtemp, Universe::narrow_ptrs_base());
-    cmp(Rheap_base, Rtemp);
-    b(ok, eq);
-    stop(msg);
-    bind(ok);
-    ldr(Rtemp, Address(SP, 1 * wordSize));
-    msr(Assembler::SysReg_NZCV, Rtemp);
-    raw_pop(Rtemp, ZR);
-    str(ZR, Address(Rthread, in_bytes(JavaThread::in_top_frame_unsafe_section_offset())));
-  }
-}
-#endif // ASSERT
-
-#endif // AARCH64
-
-#ifdef COMPILER2
-void MacroAssembler::fast_lock(Register Roop, Register Rbox, Register Rscratch, Register Rscratch2 AARCH64_ONLY_ARG(Register Rscratch3))
+void MacroAssembler::fast_lock(Register Roop, Register Rbox, Register Rscratch, Register Rscratch2)
 {
   assert(VM_Version::supports_ldrex(), "unsupported, yet?");
 
@@ -2918,11 +1980,7 @@
 
   if (UseBiasedLocking && !UseOptoBiasInlining) {
     Label failed;
-#ifdef AARCH64
-    biased_locking_enter(Roop, Rmark, Rscratch, false, Rscratch3, done, failed);
-#else
     biased_locking_enter(Roop, Rmark, Rscratch, false, noreg, done, failed);
-#endif
     bind(failed);
   }
 
@@ -2933,17 +1991,6 @@
   // Check for recursive lock
   // See comments in InterpreterMacroAssembler::lock_object for
   // explanations on the fast recursive locking check.
-#ifdef AARCH64
-  intptr_t mask = ((intptr_t)3) - ((intptr_t)os::vm_page_size());
-  Assembler::LogicalImmediate imm(mask, false);
-  mov(Rscratch, SP);
-  sub(Rscratch, Rmark, Rscratch);
-  ands(Rscratch, Rscratch, imm);
-  // set to zero if recursive lock, set to non zero otherwise (see discussion in JDK-8153107)
-  str(Rscratch, Address(Rbox, BasicLock::displaced_header_offset_in_bytes()));
-  b(done);
-
-#else
   // -1- test low 2 bits
   movs(Rscratch, AsmOperand(Rmark, lsl, 30));
   // -2- test (hdr - SP) if the low two bits are 0
@@ -2953,7 +2000,6 @@
   // set to zero if recursive lock, set to non zero otherwise (see discussion in JDK-8153107)
   str(Rscratch, Address(Rbox, BasicLock::displaced_header_offset_in_bytes()));
   b(done);
-#endif
 
   bind(fast_lock);
   str(Rmark, Address(Rbox, BasicLock::displaced_header_offset_in_bytes()));
@@ -2966,7 +2012,7 @@
 
 }
 
-void MacroAssembler::fast_unlock(Register Roop, Register Rbox, Register Rscratch, Register Rscratch2  AARCH64_ONLY_ARG(Register Rscratch3))
+void MacroAssembler::fast_unlock(Register Roop, Register Rbox, Register Rscratch, Register Rscratch2)
 {
   assert(VM_Version::supports_ldrex(), "unsupported, yet?");
 
--- a/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -229,10 +229,6 @@
   // this was subsequently modified to its present name and return type
   virtual RegisterOrConstant delayed_value_impl(intptr_t* delayed_value_addr, Register tmp, int offset);
 
-#ifdef AARCH64
-# define NOT_IMPLEMENTED() unimplemented("NYI at " __FILE__ ":" XSTR(__LINE__))
-# define NOT_TESTED()      warn("Not tested at " __FILE__ ":" XSTR(__LINE__))
-#endif
 
   void align(int modulus);
 
@@ -275,7 +271,7 @@
 
   // Always sets/resets sp, which default to SP if (last_sp == noreg)
   // Optionally sets/resets fp (use noreg to avoid setting it)
-  // Always sets/resets pc on AArch64; optionally sets/resets pc on 32-bit ARM depending on save_last_java_pc flag
+  // Optionally sets/resets pc depending on save_last_java_pc flag
   // Note: when saving PC, set_last_Java_frame returns PC's offset in the code section
   //       (for oop_maps offset computation)
   int set_last_Java_frame(Register last_sp, Register last_fp, bool save_last_java_pc, Register tmp);
@@ -399,7 +395,6 @@
 
   void resolve_jobject(Register value, Register tmp1, Register tmp2);
 
-#ifndef AARCH64
   void nop() {
     mov(R0, R0);
   }
@@ -439,7 +434,6 @@
   void fpops(FloatRegister fd, AsmCondition cond = al) {
     fldmias(SP, FloatRegisterSet(fd), writeback, cond);
   }
-#endif // !AARCH64
 
   // Order access primitives
   enum Membar_mask_bits {
@@ -449,15 +443,10 @@
     LoadLoad   = 1 << 0
   };
 
-#ifdef AARCH64
-  // tmp register is not used on AArch64, this parameter is provided solely for better compatibility with 32-bit ARM
-  void membar(Membar_mask_bits order_constraint, Register tmp = noreg);
-#else
   void membar(Membar_mask_bits mask,
               Register tmp,
               bool preserve_flags = true,
               Register load_tgt = noreg);
-#endif
 
   void breakpoint(AsmCondition cond = al);
   void stop(const char* msg);
@@ -489,47 +478,28 @@
   void add_slow(Register rd, Register rn, int c);
   void sub_slow(Register rd, Register rn, int c);
 
-#ifdef AARCH64
-  static int mov_slow_helper(Register rd, intptr_t c, MacroAssembler* masm /* optional */);
-#endif
 
-  void mov_slow(Register rd, intptr_t c NOT_AARCH64_ARG(AsmCondition cond = al));
+  void mov_slow(Register rd, intptr_t c, AsmCondition cond = al);
   void mov_slow(Register rd, const char *string);
   void mov_slow(Register rd, address addr);
 
   void patchable_mov_oop(Register rd, jobject o, int oop_index) {
-    mov_oop(rd, o, oop_index AARCH64_ONLY_ARG(true));
+    mov_oop(rd, o, oop_index);
   }
-  void mov_oop(Register rd, jobject o, int index = 0
-               AARCH64_ONLY_ARG(bool patchable = false)
-               NOT_AARCH64_ARG(AsmCondition cond = al));
-
+  void mov_oop(Register rd, jobject o, int index = 0, AsmCondition cond = al);
 
   void patchable_mov_metadata(Register rd, Metadata* o, int index) {
-    mov_metadata(rd, o, index AARCH64_ONLY_ARG(true));
+    mov_metadata(rd, o, index);
   }
-  void mov_metadata(Register rd, Metadata* o, int index = 0 AARCH64_ONLY_ARG(bool patchable = false));
-
-  void mov_float(FloatRegister fd, jfloat c NOT_AARCH64_ARG(AsmCondition cond = al));
-  void mov_double(FloatRegister fd, jdouble c NOT_AARCH64_ARG(AsmCondition cond = al));
+  void mov_metadata(Register rd, Metadata* o, int index = 0);
 
-#ifdef AARCH64
-  int mov_pc_to(Register rd) {
-    Label L;
-    adr(rd, L);
-    bind(L);
-    return offset();
-  }
-#endif
+  void mov_float(FloatRegister fd, jfloat c, AsmCondition cond = al);
+  void mov_double(FloatRegister fd, jdouble c, AsmCondition cond = al);
+
 
   // Note: this variant of mov_address assumes the address moves with
   // the code. Do *not* implement it with non-relocated instructions,
   // unless PC-relative.
-#ifdef AARCH64
-  void mov_relative_address(Register rd, address addr) {
-    adr(rd, addr);
-  }
-#else
   void mov_relative_address(Register rd, address addr, AsmCondition cond = al) {
     int offset = addr - pc() - 8;
     assert((offset & 3) == 0, "bad alignment");
@@ -541,7 +511,6 @@
       sub(rd, PC, -offset, cond);
     }
   }
-#endif // AARCH64
 
   // Runtime address that may vary from one execution to another. The
   // symbolic_reference describes what the address is, allowing
@@ -562,7 +531,6 @@
       mov_slow(rd, (intptr_t)addr);
       return;
     }
-#ifndef AARCH64
     if (VM_Version::supports_movw()) {
       relocate(rspec);
       int c = (int)addr;
@@ -572,15 +540,11 @@
       }
       return;
     }
-#endif
     Label skip_literal;
     InlinedAddress addr_literal(addr, rspec);
     ldr_literal(rd, addr_literal);
     b(skip_literal);
     bind_literal(addr_literal);
-    // AARCH64 WARNING: because of alignment padding, extra padding
-    // may be required to get a consistent size for C2, or rules must
-    // overestimate size see MachEpilogNode::size
     bind(skip_literal);
   }
 
@@ -594,45 +558,28 @@
     assert(L.rspec().type() != relocInfo::runtime_call_type, "avoid ldr_literal for calls");
     assert(L.rspec().type() != relocInfo::static_call_type, "avoid ldr_literal for calls");
     relocate(L.rspec());
-#ifdef AARCH64
-    ldr(rd, target(L.label));
-#else
     ldr(rd, Address(PC, target(L.label) - pc() - 8));
-#endif
   }
 
   void ldr_literal(Register rd, InlinedString& L) {
     const char* msg = L.msg();
     if (code()->consts()->contains((address)msg)) {
       // string address moves with the code
-#ifdef AARCH64
-      ldr(rd, (address)msg);
-#else
       ldr(rd, Address(PC, ((address)msg) - pc() - 8));
-#endif
       return;
     }
     // Warning: use external strings with care. They are not relocated
     // if the code moves. If needed, use code_string to move them
     // to the consts section.
-#ifdef AARCH64
-    ldr(rd, target(L.label));
-#else
     ldr(rd, Address(PC, target(L.label) - pc() - 8));
-#endif
   }
 
   void ldr_literal(Register rd, InlinedMetadata& L) {
     // relocation done in the bind_literal for metadatas
-#ifdef AARCH64
-    ldr(rd, target(L.label));
-#else
     ldr(rd, Address(PC, target(L.label) - pc() - 8));
-#endif
   }
 
   void bind_literal(InlinedAddress& L) {
-    AARCH64_ONLY(align(wordSize));
     bind(L.label);
     assert(L.rspec().type() != relocInfo::metadata_type, "Must use InlinedMetadata");
     // We currently do not use oop 'bound' literals.
@@ -650,13 +597,11 @@
       // to detect errors.
       return;
     }
-    AARCH64_ONLY(align(wordSize));
     bind(L.label);
     AbstractAssembler::emit_address((address)L.msg());
   }
 
   void bind_literal(InlinedMetadata& L) {
-    AARCH64_ONLY(align(wordSize));
     bind(L.label);
     relocate(metadata_Relocation::spec_for_immediate());
     AbstractAssembler::emit_address((address)L.data());
@@ -665,138 +610,106 @@
   void resolve_oop_handle(Register result);
   void load_mirror(Register mirror, Register method, Register tmp);
 
-  // Porting layer between 32-bit ARM and AArch64
-
-#define COMMON_INSTR_1(common_mnemonic, aarch64_mnemonic, arm32_mnemonic, arg_type) \
+#define ARM_INSTR_1(common_mnemonic, arm32_mnemonic, arg_type) \
   void common_mnemonic(arg_type arg) { \
-      AARCH64_ONLY(aarch64_mnemonic) NOT_AARCH64(arm32_mnemonic) (arg); \
+      arm32_mnemonic(arg); \
   }
 
-#define COMMON_INSTR_2(common_mnemonic, aarch64_mnemonic, arm32_mnemonic, arg1_type, arg2_type) \
+#define ARM_INSTR_2(common_mnemonic, arm32_mnemonic, arg1_type, arg2_type) \
   void common_mnemonic(arg1_type arg1, arg2_type arg2) { \
-      AARCH64_ONLY(aarch64_mnemonic) NOT_AARCH64(arm32_mnemonic) (arg1, arg2); \
+      arm32_mnemonic(arg1, arg2); \
   }
 
-#define COMMON_INSTR_3(common_mnemonic, aarch64_mnemonic, arm32_mnemonic, arg1_type, arg2_type, arg3_type) \
+#define ARM_INSTR_3(common_mnemonic, arm32_mnemonic, arg1_type, arg2_type, arg3_type) \
   void common_mnemonic(arg1_type arg1, arg2_type arg2, arg3_type arg3) { \
-      AARCH64_ONLY(aarch64_mnemonic) NOT_AARCH64(arm32_mnemonic) (arg1, arg2, arg3); \
+      arm32_mnemonic(arg1, arg2, arg3); \
   }
 
-  COMMON_INSTR_1(jump, br,  bx,  Register)
-  COMMON_INSTR_1(call, blr, blx, Register)
+  ARM_INSTR_1(jump, bx,  Register)
+  ARM_INSTR_1(call, blx, Register)
 
-  COMMON_INSTR_2(cbz_32,  cbz_w,  cbz,  Register, Label&)
-  COMMON_INSTR_2(cbnz_32, cbnz_w, cbnz, Register, Label&)
+  ARM_INSTR_2(cbz_32,  cbz,  Register, Label&)
+  ARM_INSTR_2(cbnz_32, cbnz, Register, Label&)
 
-  COMMON_INSTR_2(ldr_u32, ldr_w,  ldr,  Register, Address)
-  COMMON_INSTR_2(ldr_s32, ldrsw,  ldr,  Register, Address)
-  COMMON_INSTR_2(str_32,  str_w,  str,  Register, Address)
+  ARM_INSTR_2(ldr_u32, ldr,  Register, Address)
+  ARM_INSTR_2(ldr_s32, ldr,  Register, Address)
+  ARM_INSTR_2(str_32,  str,  Register, Address)
 
-  COMMON_INSTR_2(mvn_32,  mvn_w,  mvn,  Register, Register)
-  COMMON_INSTR_2(cmp_32,  cmp_w,  cmp,  Register, Register)
-  COMMON_INSTR_2(neg_32,  neg_w,  neg,  Register, Register)
-  COMMON_INSTR_2(clz_32,  clz_w,  clz,  Register, Register)
-  COMMON_INSTR_2(rbit_32, rbit_w, rbit, Register, Register)
+  ARM_INSTR_2(mvn_32,  mvn,  Register, Register)
+  ARM_INSTR_2(cmp_32,  cmp,  Register, Register)
+  ARM_INSTR_2(neg_32,  neg,  Register, Register)
+  ARM_INSTR_2(clz_32,  clz,  Register, Register)
+  ARM_INSTR_2(rbit_32, rbit, Register, Register)
 
-  COMMON_INSTR_2(cmp_32,  cmp_w,  cmp,  Register, int)
-  COMMON_INSTR_2(cmn_32,  cmn_w,  cmn,  Register, int)
+  ARM_INSTR_2(cmp_32,  cmp,  Register, int)
+  ARM_INSTR_2(cmn_32,  cmn,  Register, int)
 
-  COMMON_INSTR_3(add_32,  add_w,  add,  Register, Register, Register)
-  COMMON_INSTR_3(sub_32,  sub_w,  sub,  Register, Register, Register)
-  COMMON_INSTR_3(subs_32, subs_w, subs, Register, Register, Register)
-  COMMON_INSTR_3(mul_32,  mul_w,  mul,  Register, Register, Register)
-  COMMON_INSTR_3(and_32,  andr_w, andr, Register, Register, Register)
-  COMMON_INSTR_3(orr_32,  orr_w,  orr,  Register, Register, Register)
-  COMMON_INSTR_3(eor_32,  eor_w,  eor,  Register, Register, Register)
+  ARM_INSTR_3(add_32,  add,  Register, Register, Register)
+  ARM_INSTR_3(sub_32,  sub,  Register, Register, Register)
+  ARM_INSTR_3(subs_32, subs, Register, Register, Register)
+  ARM_INSTR_3(mul_32,  mul,  Register, Register, Register)
+  ARM_INSTR_3(and_32,  andr, Register, Register, Register)
+  ARM_INSTR_3(orr_32,  orr,  Register, Register, Register)
+  ARM_INSTR_3(eor_32,  eor,  Register, Register, Register)
 
-  COMMON_INSTR_3(add_32,  add_w,  add,  Register, Register, AsmOperand)
-  COMMON_INSTR_3(sub_32,  sub_w,  sub,  Register, Register, AsmOperand)
-  COMMON_INSTR_3(orr_32,  orr_w,  orr,  Register, Register, AsmOperand)
-  COMMON_INSTR_3(eor_32,  eor_w,  eor,  Register, Register, AsmOperand)
-  COMMON_INSTR_3(and_32,  andr_w, andr, Register, Register, AsmOperand)
+  ARM_INSTR_3(add_32,  add,  Register, Register, AsmOperand)
+  ARM_INSTR_3(sub_32,  sub,  Register, Register, AsmOperand)
+  ARM_INSTR_3(orr_32,  orr,  Register, Register, AsmOperand)
+  ARM_INSTR_3(eor_32,  eor,  Register, Register, AsmOperand)
+  ARM_INSTR_3(and_32,  andr, Register, Register, AsmOperand)
 
 
-  COMMON_INSTR_3(add_32,  add_w,  add,  Register, Register, int)
-  COMMON_INSTR_3(adds_32, adds_w, adds, Register, Register, int)
-  COMMON_INSTR_3(sub_32,  sub_w,  sub,  Register, Register, int)
-  COMMON_INSTR_3(subs_32, subs_w, subs, Register, Register, int)
+  ARM_INSTR_3(add_32,  add,  Register, Register, int)
+  ARM_INSTR_3(adds_32, adds, Register, Register, int)
+  ARM_INSTR_3(sub_32,  sub,  Register, Register, int)
+  ARM_INSTR_3(subs_32, subs, Register, Register, int)
 
-  COMMON_INSTR_2(tst_32,  tst_w,  tst,  Register, unsigned int)
-  COMMON_INSTR_2(tst_32,  tst_w,  tst,  Register, AsmOperand)
+  ARM_INSTR_2(tst_32,  tst,  Register, unsigned int)
+  ARM_INSTR_2(tst_32,  tst,  Register, AsmOperand)
 
-  COMMON_INSTR_3(and_32,  andr_w, andr, Register, Register, uint)
-  COMMON_INSTR_3(orr_32,  orr_w,  orr,  Register, Register, uint)
-  COMMON_INSTR_3(eor_32,  eor_w,  eor,  Register, Register, uint)
+  ARM_INSTR_3(and_32,  andr, Register, Register, uint)
+  ARM_INSTR_3(orr_32,  orr,  Register, Register, uint)
+  ARM_INSTR_3(eor_32,  eor,  Register, Register, uint)
 
-  COMMON_INSTR_1(cmp_zero_float,  fcmp0_s, fcmpzs, FloatRegister)
-  COMMON_INSTR_1(cmp_zero_double, fcmp0_d, fcmpzd, FloatRegister)
+  ARM_INSTR_1(cmp_zero_float,  fcmpzs, FloatRegister)
+  ARM_INSTR_1(cmp_zero_double, fcmpzd, FloatRegister)
 
-  COMMON_INSTR_2(ldr_float,   ldr_s,   flds,   FloatRegister, Address)
-  COMMON_INSTR_2(str_float,   str_s,   fsts,   FloatRegister, Address)
-  COMMON_INSTR_2(mov_float,   fmov_s,  fcpys,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(neg_float,   fneg_s,  fnegs,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(abs_float,   fabs_s,  fabss,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(sqrt_float,  fsqrt_s, fsqrts, FloatRegister, FloatRegister)
-  COMMON_INSTR_2(cmp_float,   fcmp_s,  fcmps,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(ldr_float,   flds,   FloatRegister, Address)
+  ARM_INSTR_2(str_float,   fsts,   FloatRegister, Address)
+  ARM_INSTR_2(mov_float,   fcpys,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(neg_float,   fnegs,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(abs_float,   fabss,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(sqrt_float,  fsqrts, FloatRegister, FloatRegister)
+  ARM_INSTR_2(cmp_float,   fcmps,  FloatRegister, FloatRegister)
 
-  COMMON_INSTR_3(add_float,   fadd_s,  fadds,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(sub_float,   fsub_s,  fsubs,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(mul_float,   fmul_s,  fmuls,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(div_float,   fdiv_s,  fdivs,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(add_float,   fadds,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(sub_float,   fsubs,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(mul_float,   fmuls,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(div_float,   fdivs,  FloatRegister, FloatRegister, FloatRegister)
 
-  COMMON_INSTR_2(ldr_double,  ldr_d,   fldd,   FloatRegister, Address)
-  COMMON_INSTR_2(str_double,  str_d,   fstd,   FloatRegister, Address)
-  COMMON_INSTR_2(mov_double,  fmov_d,  fcpyd,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(neg_double,  fneg_d,  fnegd,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(cmp_double,  fcmp_d,  fcmpd,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(abs_double,  fabs_d,  fabsd,  FloatRegister, FloatRegister)
-  COMMON_INSTR_2(sqrt_double, fsqrt_d, fsqrtd, FloatRegister, FloatRegister)
+  ARM_INSTR_2(ldr_double,  fldd,   FloatRegister, Address)
+  ARM_INSTR_2(str_double,  fstd,   FloatRegister, Address)
+  ARM_INSTR_2(mov_double,  fcpyd,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(neg_double,  fnegd,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(cmp_double,  fcmpd,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(abs_double,  fabsd,  FloatRegister, FloatRegister)
+  ARM_INSTR_2(sqrt_double, fsqrtd, FloatRegister, FloatRegister)
 
-  COMMON_INSTR_3(add_double,  fadd_d,  faddd,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(sub_double,  fsub_d,  fsubd,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(mul_double,  fmul_d,  fmuld,  FloatRegister, FloatRegister, FloatRegister)
-  COMMON_INSTR_3(div_double,  fdiv_d,  fdivd,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(add_double,  faddd,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(sub_double,  fsubd,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(mul_double,  fmuld,  FloatRegister, FloatRegister, FloatRegister)
+  ARM_INSTR_3(div_double,  fdivd,  FloatRegister, FloatRegister, FloatRegister)
 
-  COMMON_INSTR_2(convert_f2d, fcvt_ds, fcvtds, FloatRegister, FloatRegister)
-  COMMON_INSTR_2(convert_d2f, fcvt_sd, fcvtsd, FloatRegister, FloatRegister)
+  ARM_INSTR_2(convert_f2d, fcvtds, FloatRegister, FloatRegister)
+  ARM_INSTR_2(convert_d2f, fcvtsd, FloatRegister, FloatRegister)
 
-  COMMON_INSTR_2(mov_fpr2gpr_float, fmov_ws, fmrs, Register, FloatRegister)
+  ARM_INSTR_2(mov_fpr2gpr_float, fmrs, Register, FloatRegister)
 
-#undef COMMON_INSTR_1
-#undef COMMON_INSTR_2
-#undef COMMON_INSTR_3
+#undef ARM_INSTR_1
+#undef ARM_INSTR_2
+#undef ARM_INSTR_3
 
 
-#ifdef AARCH64
-
-  void mov(Register dst, Register src, AsmCondition cond) {
-    if (cond == al) {
-      mov(dst, src);
-    } else {
-      csel(dst, src, dst, cond);
-    }
-  }
-
-  // Propagate other overloaded "mov" methods from Assembler.
-  void mov(Register dst, Register src)    { Assembler::mov(dst, src); }
-  void mov(Register rd, int imm)          { Assembler::mov(rd, imm);  }
-
-  void mov(Register dst, int imm, AsmCondition cond) {
-    assert(imm == 0 || imm == 1, "");
-    if (imm == 0) {
-      mov(dst, ZR, cond);
-    } else if (imm == 1) {
-      csinc(dst, dst, ZR, inverse(cond));
-    } else if (imm == -1) {
-      csinv(dst, dst, ZR, inverse(cond));
-    } else {
-      fatal("illegal mov(R%d,%d,cond)", dst->encoding(), imm);
-    }
-  }
-
-  void movs(Register dst, Register src)    { adds(dst, src, 0); }
-
-#else // AARCH64
 
   void tbz(Register rt, int bit, Label& L) {
     assert(0 <= bit && bit < BitsPerWord, "bit number is out of range");
@@ -829,166 +742,91 @@
     bx(dst);
   }
 
-#endif // AARCH64
 
   Register zero_register(Register tmp) {
-#ifdef AARCH64
-    return ZR;
-#else
     mov(tmp, 0);
     return tmp;
-#endif
   }
 
   void logical_shift_left(Register dst, Register src, int shift) {
-#ifdef AARCH64
-    _lsl(dst, src, shift);
-#else
     mov(dst, AsmOperand(src, lsl, shift));
-#endif
   }
 
   void logical_shift_left_32(Register dst, Register src, int shift) {
-#ifdef AARCH64
-    _lsl_w(dst, src, shift);
-#else
     mov(dst, AsmOperand(src, lsl, shift));
-#endif
   }
 
   void logical_shift_right(Register dst, Register src, int shift) {
-#ifdef AARCH64
-    _lsr(dst, src, shift);
-#else
     mov(dst, AsmOperand(src, lsr, shift));
-#endif
   }
 
   void arith_shift_right(Register dst, Register src, int shift) {
-#ifdef AARCH64
-    _asr(dst, src, shift);
-#else
     mov(dst, AsmOperand(src, asr, shift));
-#endif
   }
 
   void asr_32(Register dst, Register src, int shift) {
-#ifdef AARCH64
-    _asr_w(dst, src, shift);
-#else
     mov(dst, AsmOperand(src, asr, shift));
-#endif
   }
 
   // If <cond> holds, compares r1 and r2. Otherwise, flags are set so that <cond> does not hold.
   void cond_cmp(Register r1, Register r2, AsmCondition cond) {
-#ifdef AARCH64
-    ccmp(r1, r2, flags_for_condition(inverse(cond)), cond);
-#else
     cmp(r1, r2, cond);
-#endif
   }
 
   // If <cond> holds, compares r and imm. Otherwise, flags are set so that <cond> does not hold.
   void cond_cmp(Register r, int imm, AsmCondition cond) {
-#ifdef AARCH64
-    ccmp(r, imm, flags_for_condition(inverse(cond)), cond);
-#else
     cmp(r, imm, cond);
-#endif
   }
 
   void align_reg(Register dst, Register src, int align) {
     assert (is_power_of_2(align), "should be");
-#ifdef AARCH64
-    andr(dst, src, ~(uintx)(align-1));
-#else
     bic(dst, src, align-1);
-#endif
   }
 
   void prefetch_read(Address addr) {
-#ifdef AARCH64
-    prfm(pldl1keep, addr);
-#else
     pld(addr);
-#endif
   }
 
   void raw_push(Register r1, Register r2) {
-#ifdef AARCH64
-    stp(r1, r2, Address(SP, -2*wordSize, pre_indexed));
-#else
     assert(r1->encoding() < r2->encoding(), "should be ordered");
     push(RegisterSet(r1) | RegisterSet(r2));
-#endif
   }
 
   void raw_pop(Register r1, Register r2) {
-#ifdef AARCH64
-    ldp(r1, r2, Address(SP, 2*wordSize, post_indexed));
-#else
     assert(r1->encoding() < r2->encoding(), "should be ordered");
     pop(RegisterSet(r1) | RegisterSet(r2));
-#endif
   }
 
   void raw_push(Register r1, Register r2, Register r3) {
-#ifdef AARCH64
-    raw_push(r1, r2);
-    raw_push(r3, ZR);
-#else
     assert(r1->encoding() < r2->encoding() && r2->encoding() < r3->encoding(), "should be ordered");
     push(RegisterSet(r1) | RegisterSet(r2) | RegisterSet(r3));
-#endif
   }
 
   void raw_pop(Register r1, Register r2, Register r3) {
-#ifdef AARCH64
-    raw_pop(r3, ZR);
-    raw_pop(r1, r2);
-#else
     assert(r1->encoding() < r2->encoding() && r2->encoding() < r3->encoding(), "should be ordered");
     pop(RegisterSet(r1) | RegisterSet(r2) | RegisterSet(r3));
-#endif
   }
 
   // Restores registers r1 and r2 previously saved by raw_push(r1, r2, ret_addr) and returns by ret_addr. Clobbers LR.
   void raw_pop_and_ret(Register r1, Register r2) {
-#ifdef AARCH64
-    raw_pop(r1, r2, LR);
-    ret();
-#else
     raw_pop(r1, r2, PC);
-#endif
   }
 
   void indirect_jump(Address addr, Register scratch) {
-#ifdef AARCH64
-    ldr(scratch, addr);
-    br(scratch);
-#else
     ldr(PC, addr);
-#endif
   }
 
   void indirect_jump(InlinedAddress& literal, Register scratch) {
-#ifdef AARCH64
-    ldr_literal(scratch, literal);
-    br(scratch);
-#else
     ldr_literal(PC, literal);
-#endif
   }
 
-#ifndef AARCH64
   void neg(Register dst, Register src) {
     rsb(dst, src, 0);
   }
-#endif
 
   void branch_if_negative_32(Register r, Label& L) {
-    // Note about branch_if_negative_32() / branch_if_any_negative_32() implementation for AArch64:
+    // TODO: This function and branch_if_any_negative_32 could possibly
+    // be revised after the aarch64 removal.
     // tbnz is not used instead of tst & b.mi because destination may be out of tbnz range (+-32KB)
     // since these methods are used in LIR_Assembler::emit_arraycopy() to jump to stub entry.
     tst_32(r, r);
@@ -996,56 +834,31 @@
   }
 
   void branch_if_any_negative_32(Register r1, Register r2, Register tmp, Label& L) {
-#ifdef AARCH64
-    orr_32(tmp, r1, r2);
-    tst_32(tmp, tmp);
-#else
     orrs(tmp, r1, r2);
-#endif
     b(L, mi);
   }
 
   void branch_if_any_negative_32(Register r1, Register r2, Register r3, Register tmp, Label& L) {
     orr_32(tmp, r1, r2);
-#ifdef AARCH64
-    orr_32(tmp, tmp, r3);
-    tst_32(tmp, tmp);
-#else
     orrs(tmp, tmp, r3);
-#endif
     b(L, mi);
   }
 
   void add_ptr_scaled_int32(Register dst, Register r1, Register r2, int shift) {
-#ifdef AARCH64
-      add(dst, r1, r2, ex_sxtw, shift);
-#else
       add(dst, r1, AsmOperand(r2, lsl, shift));
-#endif
   }
 
   void sub_ptr_scaled_int32(Register dst, Register r1, Register r2, int shift) {
-#ifdef AARCH64
-    sub(dst, r1, r2, ex_sxtw, shift);
-#else
     sub(dst, r1, AsmOperand(r2, lsl, shift));
-#endif
   }
 
 
     // klass oop manipulations if compressed
 
-#ifdef AARCH64
-  void load_klass(Register dst_klass, Register src_oop);
-#else
   void load_klass(Register dst_klass, Register src_oop, AsmCondition cond = al);
-#endif // AARCH64
 
   void store_klass(Register src_klass, Register dst_oop);
 
-#ifdef AARCH64
-  void store_klass_gap(Register dst);
-#endif // AARCH64
 
     // oop manipulations
 
@@ -1060,39 +873,6 @@
   // All other registers are preserved.
   void resolve(DecoratorSet decorators, Register obj);
 
-#ifdef AARCH64
-  void encode_heap_oop(Register dst, Register src);
-  void encode_heap_oop(Register r) {
-    encode_heap_oop(r, r);
-  }
-  void decode_heap_oop(Register dst, Register src);
-  void decode_heap_oop(Register r) {
-      decode_heap_oop(r, r);
-  }
-
-#ifdef COMPILER2
-  void encode_heap_oop_not_null(Register dst, Register src);
-  void decode_heap_oop_not_null(Register dst, Register src);
-
-  void set_narrow_klass(Register dst, Klass* k);
-  void set_narrow_oop(Register dst, jobject obj);
-#endif
-
-  void encode_klass_not_null(Register r);
-  void encode_klass_not_null(Register dst, Register src);
-  void decode_klass_not_null(Register r);
-  void decode_klass_not_null(Register dst, Register src);
-
-  void reinit_heapbase();
-
-#ifdef ASSERT
-  void verify_heapbase(const char* msg);
-#endif // ASSERT
-
-  static int instr_count_for_mov_slow(intptr_t c);
-  static int instr_count_for_mov_slow(address addr);
-  static int instr_count_for_decode_klass_not_null();
-#endif // AARCH64
 
   void ldr_global_ptr(Register reg, address address_of_global);
   void ldr_global_s32(Register reg, address address_of_global);
@@ -1108,12 +888,7 @@
 
     assert ((offset() & (wordSize-1)) == 0, "should be aligned by word size");
 
-#ifdef AARCH64
-    emit_int32(address_placeholder_instruction);
-    emit_int32(address_placeholder_instruction);
-#else
     AbstractAssembler::emit_address((address)address_placeholder_instruction);
-#endif
   }
 
   void b(address target, AsmCondition cond = al) {
@@ -1124,15 +899,14 @@
     Assembler::b(target(L), cond);
   }
 
-  void bl(address target NOT_AARCH64_ARG(AsmCondition cond = al)) {
-    Assembler::bl(target NOT_AARCH64_ARG(cond));
+  void bl(address target, AsmCondition cond = al) {
+    Assembler::bl(target, cond);
   }
-  void bl(Label& L NOT_AARCH64_ARG(AsmCondition cond = al)) {
+  void bl(Label& L, AsmCondition cond = al) {
     // internal calls
-    Assembler::bl(target(L)  NOT_AARCH64_ARG(cond));
+    Assembler::bl(target(L), cond);
   }
 
-#ifndef AARCH64
   void adr(Register dest, Label& L, AsmCondition cond = al) {
     int delta = target(L) - pc() - 8;
     if (delta >= 0) {
@@ -1141,7 +915,6 @@
       sub(dest, PC, -delta, cond);
     }
   }
-#endif // !AARCH64
 
   // Variable-length jump and calls. We now distinguish only the
   // patchable case from the other cases. Patchable must be
@@ -1165,30 +938,23 @@
   // specified to allow future optimizations.
   void jump(address target,
             relocInfo::relocType rtype = relocInfo::runtime_call_type,
-            Register scratch = AARCH64_ONLY(Rtemp) NOT_AARCH64(noreg)
-#ifndef AARCH64
-            , AsmCondition cond = al
-#endif
-            );
+            Register scratch = noreg, AsmCondition cond = al);
 
   void call(address target,
-            RelocationHolder rspec
-            NOT_AARCH64_ARG(AsmCondition cond = al));
+            RelocationHolder rspec, AsmCondition cond = al);
 
   void call(address target,
-            relocInfo::relocType rtype = relocInfo::runtime_call_type
-            NOT_AARCH64_ARG(AsmCondition cond = al)) {
-    call(target, Relocation::spec_simple(rtype) NOT_AARCH64_ARG(cond));
+            relocInfo::relocType rtype = relocInfo::runtime_call_type,
+            AsmCondition cond = al) {
+    call(target, Relocation::spec_simple(rtype), cond);
   }
 
   void jump(AddressLiteral dest) {
     jump(dest.target(), dest.reloc());
   }
-#ifndef AARCH64
   void jump(address dest, relocInfo::relocType rtype, AsmCondition cond) {
     jump(dest, rtype, Rtemp, cond);
   }
-#endif
 
   void call(AddressLiteral dest) {
     call(dest.target(), dest.reloc());
@@ -1206,10 +972,7 @@
   // specified to allow future optimizations.
   void patchable_jump(address target,
                       relocInfo::relocType rtype = relocInfo::runtime_call_type,
-                      Register scratch = AARCH64_ONLY(Rtemp) NOT_AARCH64(noreg)
-#ifndef AARCH64
-                      , AsmCondition cond = al
-#endif
+                      Register scratch = noreg, AsmCondition cond = al
                       );
 
   // patchable_call may scratch Rtemp
@@ -1223,13 +986,7 @@
     return patchable_call(target, Relocation::spec_simple(rtype), c2);
   }
 
-#if defined(AARCH64) && defined(COMPILER2)
-  static int call_size(address target, bool far, bool patchable);
-#endif
 
-#ifdef AARCH64
-  static bool page_reachable_from_cache(address target);
-#endif
   static bool _reachable_from_cache(address target);
   static bool _cache_fully_reachable();
   bool cache_fully_reachable();
@@ -1239,15 +996,8 @@
   void sign_extend(Register rd, Register rn, int bits);
 
   inline void zap_high_non_significant_bits(Register r) {
-#ifdef AARCH64
-    if(ZapHighNonSignificantBits) {
-      movk(r, 0xBAAD, 48);
-      movk(r, 0xF00D, 32);
-    }
-#endif
   }
 
-#ifndef AARCH64
   void cmpoop(Register obj1, Register obj2);
 
   void long_move(Register rd_lo, Register rd_hi,
@@ -1263,7 +1013,6 @@
   void atomic_cas(Register tmpreg1, Register tmpreg2, Register oldval, Register newval, Register base, int offset);
   void atomic_cas_bool(Register oldval, Register newval, Register base, int offset, Register tmpreg);
   void atomic_cas64(Register temp_lo, Register temp_hi, Register temp_result, Register oldval_lo, Register oldval_hi, Register newval_lo, Register newval_hi, Register base, int offset);
-#endif // !AARCH64
 
   void cas_for_lock_acquire(Register oldval, Register newval, Register base, Register tmp, Label &slow_case, bool allow_fallthrough_on_failure = false, bool one_shot = false);
   void cas_for_lock_release(Register oldval, Register newval, Register base, Register tmp, Label &slow_case, bool allow_fallthrough_on_failure = false, bool one_shot = false);
@@ -1286,14 +1035,9 @@
   // size must not exceed wordSize (i.e. 8-byte values are not supported on 32-bit ARM);
   // each of these calls generates exactly one load or store instruction,
   // so src can be pre- or post-indexed address.
-#ifdef AARCH64
-  void load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed);
-  void store_sized_value(Register src, Address dst, size_t size_in_bytes);
-#else
   // 32-bit ARM variants also support conditional execution
   void load_sized_value(Register dst, Address src, size_t size_in_bytes, bool is_signed, AsmCondition cond = al);
   void store_sized_value(Register src, Address dst, size_t size_in_bytes, AsmCondition cond = al);
-#endif
 
   void lookup_interface_method(Register recv_klass,
                                Register intf_klass,
@@ -1315,11 +1059,7 @@
 
   void ldr_literal(Register rd, AddressLiteral addr) {
     relocate(addr.rspec());
-#ifdef AARCH64
-    ldr(rd, addr.target());
-#else
     ldr(rd, Address(PC, addr.target() - pc() - 8));
-#endif
   }
 
   void lea(Register Rd, AddressLiteral addr) {
@@ -1330,46 +1070,10 @@
   void restore_default_fp_mode();
 
 #ifdef COMPILER2
-#ifdef AARCH64
-  // Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
-  void fast_lock(Register obj, Register box, Register scratch, Register scratch2, Register scratch3);
-  void fast_unlock(Register obj, Register box, Register scratch, Register scratch2, Register scratch3);
-#else
   void fast_lock(Register obj, Register box, Register scratch, Register scratch2);
   void fast_unlock(Register obj, Register box, Register scratch, Register scratch2);
 #endif
-#endif
 
-#ifdef AARCH64
-
-#define F(mnemonic)                                             \
-  void mnemonic(Register rt, address target) {                  \
-    Assembler::mnemonic(rt, target);                            \
-  }                                                             \
-  void mnemonic(Register rt, Label& L) {                        \
-    Assembler::mnemonic(rt, target(L));                         \
-  }
-
-  F(cbz_w);
-  F(cbnz_w);
-  F(cbz);
-  F(cbnz);
-
-#undef F
-
-#define F(mnemonic)                                             \
-  void mnemonic(Register rt, int bit, address target) {         \
-    Assembler::mnemonic(rt, bit, target);                       \
-  }                                                             \
-  void mnemonic(Register rt, int bit, Label& L) {               \
-    Assembler::mnemonic(rt, bit, target(L));                    \
-  }
-
-  F(tbz);
-  F(tbnz);
-#undef F
-
-#endif // AARCH64
 
 };
 
--- a/src/hotspot/cpu/arm/macroAssembler_arm.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/macroAssembler_arm.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -32,46 +32,9 @@
 
 inline void MacroAssembler::pd_patch_instruction(address branch, address target, const char* file, int line) {
   int instr = *(int*)branch;
-  int new_offset = (int)(target - branch NOT_AARCH64(- 8));
+  int new_offset = (int)(target - branch - 8);
   assert((new_offset & 3) == 0, "bad alignment");
 
-#ifdef AARCH64
-  if ((instr & (0x1f << 26)) == (0b00101 << 26)) {
-    // Unconditional B or BL
-    assert (is_offset_in_range(new_offset, 26), "offset is too large");
-    *(int*)branch = (instr & ~right_n_bits(26)) | encode_offset(new_offset, 26, 0);
-  } else if ((instr & (0xff << 24)) == (0b01010100 << 24) && (instr & (1 << 4)) == 0) {
-    // Conditional B
-    assert (is_offset_in_range(new_offset, 19), "offset is too large");
-    *(int*)branch = (instr & ~(right_n_bits(19) << 5)) | encode_offset(new_offset, 19, 5);
-  } else if ((instr & (0b111111 << 25)) == (0b011010 << 25)) {
-    // Compare & branch CBZ/CBNZ
-    assert (is_offset_in_range(new_offset, 19), "offset is too large");
-    *(int*)branch = (instr & ~(right_n_bits(19) << 5)) | encode_offset(new_offset, 19, 5);
-  } else if ((instr & (0b111111 << 25)) == (0b011011 << 25)) {
-    // Test & branch TBZ/TBNZ
-    assert (is_offset_in_range(new_offset, 14), "offset is too large");
-    *(int*)branch = (instr & ~(right_n_bits(14) << 5)) | encode_offset(new_offset, 14, 5);
-  } else if ((instr & (0b111011 << 24)) == (0b011000 << 24)) {
-    // LDR (literal)
-    unsigned opc = ((unsigned)instr >> 30);
-    assert (opc != 0b01 || ((uintx)target & 7) == 0, "ldr target should be aligned");
-    assert (is_offset_in_range(new_offset, 19), "offset is too large");
-    *(int*)branch = (instr & ~(right_n_bits(19) << 5)) | encode_offset(new_offset, 19, 5);
-  } else if (((instr & (1 << 31)) == 0) && ((instr & (0b11111 << 24)) == (0b10000 << 24))) {
-    // ADR
-    assert (is_imm_in_range(new_offset, 21, 0), "offset is too large");
-    instr = (instr & ~(right_n_bits(2) << 29)) | (new_offset & 3) << 29;
-    *(int*)branch = (instr & ~(right_n_bits(19) << 5)) | encode_imm(new_offset >> 2, 19, 0, 5);
-  } else if((unsigned int)instr == address_placeholder_instruction) {
-    // address
-    assert (*(unsigned int *)(branch + InstructionSize) == address_placeholder_instruction, "address placeholder occupies two instructions");
-    *(intx*)branch = (intx)target;
-  } else {
-    ::tty->print_cr("=============== instruction: 0x%x ================\n", instr);
-    Unimplemented(); // TODO-AARCH64
-  }
-#else
   if ((instr & 0x0e000000) == 0x0a000000) {
     // B or BL instruction
     assert(new_offset < 0x2000000 && new_offset > -0x2000000, "encoding constraint");
@@ -98,7 +61,6 @@
       *(int*)branch = (instr & 0xff0ff000) | 1 << 20 | -new_offset;
     }
   }
-#endif // AARCH64
 }
 
 #endif // CPU_ARM_VM_MACROASSEMBLER_ARM_INLINE_HPP
--- a/src/hotspot/cpu/arm/methodHandles_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/methodHandles_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -125,15 +125,8 @@
     // compiled code in threads for which the event is enabled.  Check here for
     // interp_only_mode if these events CAN be enabled.
     __ ldr_s32(Rtemp, Address(Rthread, JavaThread::interp_only_mode_offset()));
-#ifdef AARCH64
-    Label L;
-    __ cbz(Rtemp, L);
-    __ indirect_jump(Address(Rmethod, Method::interpreter_entry_offset()), Rtemp);
-    __ bind(L);
-#else
     __ cmp(Rtemp, 0);
     __ ldr(PC, Address(Rmethod, Method::interpreter_entry_offset()), ne);
-#endif // AARCH64
   }
   const ByteSize entry_offset = for_compiler_entry ? Method::from_compiled_offset() :
                                                      Method::from_interpreted_offset();
@@ -268,11 +261,7 @@
       DEBUG_ONLY(rdx_param_size = noreg);
     }
     Register rbx_member = rbx_method;  // MemberName ptr; incoming method ptr is dead now
-#ifdef AARCH64
-    __ ldr(rbx_member, Address(Rparams, Interpreter::stackElementSize, post_indexed));
-#else
     __ pop(rbx_member);
-#endif
     generate_method_handle_dispatch(_masm, iid, rcx_recv, rbx_member, not_for_compiler_entry);
   }
   return entry_point;
@@ -288,22 +277,15 @@
   Register rbx_method = Rmethod;   // eventual target of this invocation
   // temps used in this code are not used in *either* compiled or interpreted calling sequences
   Register temp1 = (for_compiler_entry ? saved_last_sp_register() : R1_tmp);
-  Register temp2 = AARCH64_ONLY(R9) NOT_AARCH64(R8);
+  Register temp2 = R8;
   Register temp3 = Rtemp; // R12/R16
-  Register temp4 = AARCH64_ONLY(Rtemp2) NOT_AARCH64(R5);
+  Register temp4 = R5;
   if (for_compiler_entry) {
     assert(receiver_reg == (iid == vmIntrinsics::_linkToStatic ? noreg : j_rarg0), "only valid assignment");
-#ifdef AARCH64
-    assert_different_registers(temp1, j_rarg0, j_rarg1, j_rarg2, j_rarg3, j_rarg4, j_rarg5, j_rarg6, j_rarg7);
-    assert_different_registers(temp2, j_rarg0, j_rarg1, j_rarg2, j_rarg3, j_rarg4, j_rarg5, j_rarg6, j_rarg7);
-    assert_different_registers(temp3, j_rarg0, j_rarg1, j_rarg2, j_rarg3, j_rarg4, j_rarg5, j_rarg6, j_rarg7);
-    assert_different_registers(temp4, j_rarg0, j_rarg1, j_rarg2, j_rarg3, j_rarg4, j_rarg5, j_rarg6, j_rarg7);
-#else
     assert_different_registers(temp1, j_rarg0, j_rarg1, j_rarg2, j_rarg3);
     assert_different_registers(temp2, j_rarg0, j_rarg1, j_rarg2, j_rarg3);
     assert_different_registers(temp3, j_rarg0, j_rarg1, j_rarg2, j_rarg3);
     assert_different_registers(temp4, j_rarg0, j_rarg1, j_rarg2, j_rarg3);
-#endif // AARCH64
   }
   assert_different_registers(temp1, temp2, temp3, receiver_reg);
   assert_different_registers(temp1, temp2, temp3, temp4, member_reg);
@@ -353,12 +335,7 @@
         __ load_heap_oop(temp2_defc, member_clazz);
         load_klass_from_Class(_masm, temp2_defc, temp3, temp4);
         __ verify_klass_ptr(temp2_defc);
-#ifdef AARCH64
-        // TODO-AARCH64
-        __ b(L_ok);
-#else
         __ check_klass_subtype(temp1_recv_klass, temp2_defc, temp3, temp4, noreg, L_ok);
-#endif
         // If we get here, the type check failed!
         __ stop("receiver class disagrees with MemberName.clazz");
         __ bind(L_ok);
@@ -484,13 +461,9 @@
   // the slop defends against false alarms due to fencepost errors
 };
 
-#ifdef AARCH64
-const int trace_mh_nregs = 32; // R0-R30, PC
-#else
 const int trace_mh_nregs = 15;
 const Register trace_mh_regs[trace_mh_nregs] =
   {R0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, LR, PC};
-#endif // AARCH64
 
 void trace_method_handle_stub(const char* adaptername,
                               intptr_t* saved_regs,
@@ -501,7 +474,7 @@
                  strstr(adaptername, "linkTo") == NULL);    // static linkers don't have MH
   intptr_t* entry_sp = (intptr_t*) &saved_regs[trace_mh_nregs]; // just after the saved regs
   intptr_t* saved_sp = (intptr_t*)  saved_regs[Rsender_sp->encoding()]; // save of Rsender_sp
-  intptr_t* last_sp  = (intptr_t*)  saved_bp[AARCH64_ONLY(frame::interpreter_frame_stack_top_offset) NOT_AARCH64(frame::interpreter_frame_last_sp_offset)];
+  intptr_t* last_sp  = (intptr_t*)  saved_bp[frame::interpreter_frame_last_sp_offset];
   intptr_t* base_sp  = last_sp;
 
   intptr_t    mh_reg = (intptr_t)saved_regs[R5_mh->encoding()];
@@ -517,13 +490,9 @@
     tty->print(" reg dump: ");
     int i;
     for (i = 0; i < trace_mh_nregs; i++) {
-      if (i > 0 && i % AARCH64_ONLY(2) NOT_AARCH64(4) == 0)
+      if (i > 0 && i % 4 == 0)
         tty->print("\n   + dump: ");
-#ifdef AARCH64
-      const char* reg_name = (i == trace_mh_nregs-1) ? "pc" : as_Register(i)->name();
-#else
       const char* reg_name = trace_mh_regs[i]->name();
-#endif
       tty->print(" %s: " INTPTR_FORMAT, reg_name, p2i((void *)saved_regs[i]));
     }
     tty->cr();
--- a/src/hotspot/cpu/arm/nativeInst_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/nativeInst_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -30,11 +30,7 @@
 #include "runtime/os.hpp"
 
 
-#ifdef AARCH64
-#include "nativeInst_arm_64.hpp"
-#else
 #include "nativeInst_arm_32.hpp"
-#endif
 
 
 #endif // CPU_ARM_VM_NATIVEINST_ARM_HPP
--- a/src/hotspot/cpu/arm/nativeInst_arm_64.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#include "precompiled.hpp"
-#include "assembler_arm.inline.hpp"
-#include "code/codeCache.hpp"
-#include "memory/resourceArea.hpp"
-#include "nativeInst_arm.hpp"
-#include "oops/compressedOops.inline.hpp"
-#include "oops/klass.inline.hpp"
-#include "oops/oop.hpp"
-#include "runtime/handles.hpp"
-#include "runtime/sharedRuntime.hpp"
-#include "runtime/stubRoutines.hpp"
-#include "utilities/ostream.hpp"
-#ifdef COMPILER1
-#include "c1/c1_Runtime1.hpp"
-#endif
-
-void RawNativeInstruction::verify() {
-  // make sure code pattern is actually an instruction address
-  address addr = instruction_address();
-  if (addr == NULL || ((intptr_t)addr & (instruction_size - 1)) != 0) {
-    fatal("not an instruction address");
-  }
-}
-
-void NativeMovRegMem::set_offset(int x) {
-  int scale = get_offset_scale();
-  assert((x & right_n_bits(scale)) == 0, "offset should be aligned");
-  guarantee((x >> 24) == 0, "encoding constraint");
-
-  if (Assembler::is_unsigned_imm_in_range(x, 12, scale)) {
-    set_unsigned_imm(x, 12, get_offset_scale(), 10);
-    return;
-  }
-
-  // If offset is too large to be placed into single ldr/str instruction, we replace
-  //   ldr/str  Rt, [Rn, #offset]
-  //   nop
-  // with
-  //   add  LR, Rn, #offset_hi
-  //   ldr/str  Rt, [LR, #offset_lo]
-
-  // Note: Rtemp cannot be used as a temporary register as it could be used
-  // for value being stored (see LIR_Assembler::reg2mem).
-  // Patchable NativeMovRegMem instructions are generated in LIR_Assembler::mem2reg and LIR_Assembler::reg2mem
-  // which do not use LR, so it is free. Also, it does not conflict with LR usages in c1_LIRGenerator_arm.cpp.
-  const int tmp = LR->encoding();
-  const int rn = (encoding() >> 5) & 0x1f;
-
-  NativeInstruction* next = nativeInstruction_at(next_raw_instruction_address());
-  assert(next->is_nop(), "must be");
-
-  next->set_encoding((encoding() & 0xffc0001f) | Assembler::encode_unsigned_imm((x & 0xfff), 12, scale, 10) | tmp << 5);
-  this->set_encoding(0x91400000 | Assembler::encode_unsigned_imm((x >> 12), 12, 0, 10) | rn << 5 | tmp);
-}
-
-intptr_t NativeMovConstReg::_data() const {
-#ifdef COMPILER2
-  if (is_movz()) {
-    // narrow constant or ic call cached value
-    RawNativeInstruction* ni = next_raw();
-    assert(ni->is_movk(), "movz;movk expected");
-    uint lo16 = (encoding() >> 5) & 0xffff;
-    intptr_t hi = 0;
-    int i = 0;
-    while (ni->is_movk() && i < 3) {
-      uint hi16 = (ni->encoding() >> 5) & 0xffff;
-      int shift = ((ni->encoding() >> 21) & 0x3) << 4;
-      hi |= (intptr_t)hi16 << shift;
-      ni = ni->next_raw();
-      ++i;
-    }
-    return lo16 | hi;
-  }
-#endif
-  return (intptr_t)(nativeLdrLiteral_at(instruction_address())->literal_value());
-}
-
-static void raw_set_data(RawNativeInstruction* si, intptr_t x, oop* oop_addr, Metadata** metadata_addr) {
-#ifdef COMPILER2
-  if (si->is_movz()) {
-    // narrow constant or ic call cached value
-    uintptr_t nx = 0;
-    int val_size = 32;
-    if (oop_addr != NULL) {
-      narrowOop encoded_oop = CompressedOops::encode(*oop_addr);
-      nx = encoded_oop;
-    } else if (metadata_addr != NULL) {
-      assert((*metadata_addr)->is_klass(), "expected Klass");
-      narrowKlass encoded_k = Klass::encode_klass((Klass *)*metadata_addr);
-      nx = encoded_k;
-    } else {
-      nx = x;
-      val_size = 64;
-    }
-    RawNativeInstruction* ni = si->next_raw();
-    uint lo16 = nx & 0xffff;
-    int shift = 16;
-    int imm16 = 0xffff << 5;
-    si->set_encoding((si->encoding() & ~imm16) | (lo16 << 5));
-    while (shift < val_size) {
-      assert(ni->is_movk(), "movk expected");
-      assert((((ni->encoding() >> 21) & 0x3) << 4) == shift, "wrong shift");
-      uint hi16 = (nx >> shift) & 0xffff;
-      ni->set_encoding((ni->encoding() & ~imm16) | (hi16 << 5));
-      shift += 16;
-      ni = ni->next_raw();
-    }
-    return;
-  }
-#endif
-
-  assert(si->is_ldr_literal(), "should be");
-
-  if (oop_addr == NULL && metadata_addr == NULL) {
-    // A static ldr_literal without oop_relocation
-    nativeLdrLiteral_at(si->instruction_address())->set_literal_value((address)x);
-  } else {
-    // Oop is loaded from oops section
-    address addr = oop_addr != NULL ? (address)oop_addr : (address)metadata_addr;
-    int offset = addr - si->instruction_address();
-
-    assert((((intptr_t)addr) & 0x7) == 0, "target address should be aligned");
-    assert((offset & 0x3) == 0, "offset should be aligned");
-
-    guarantee(Assembler::is_offset_in_range(offset, 19), "offset is not in range");
-    nativeLdrLiteral_at(si->instruction_address())->set_literal_address(si->instruction_address() + offset);
-  }
-}
-
-void NativeMovConstReg::set_data(intptr_t x) {
-  // Find and replace the oop corresponding to this instruction in oops section
-  oop* oop_addr = NULL;
-  Metadata** metadata_addr = NULL;
-  CodeBlob* cb = CodeCache::find_blob(instruction_address());
-  {
-    nmethod* nm = cb->as_nmethod_or_null();
-    if (nm != NULL) {
-      RelocIterator iter(nm, instruction_address(), next_raw()->instruction_address());
-      while (iter.next()) {
-        if (iter.type() == relocInfo::oop_type) {
-          oop_addr = iter.oop_reloc()->oop_addr();
-          *oop_addr = cast_to_oop(x);
-          break;
-        } else if (iter.type() == relocInfo::metadata_type) {
-          metadata_addr = iter.metadata_reloc()->metadata_addr();
-          *metadata_addr = (Metadata*)x;
-          break;
-        }
-      }
-    }
-  }
-  raw_set_data(adjust(this), x, oop_addr,  metadata_addr);
-}
-
-void NativeJump::check_verified_entry_alignment(address entry, address verified_entry) {
-}
-
-void NativeJump::patch_verified_entry(address entry, address verified_entry, address dest) {
-  assert(dest == SharedRuntime::get_handle_wrong_method_stub(), "should be");
-
-  NativeInstruction* instr = nativeInstruction_at(verified_entry);
-  assert(instr->is_nop() || instr->encoding() == zombie_illegal_instruction, "required for MT-safe patching");
-  instr->set_encoding(zombie_illegal_instruction);
-}
-
-void NativeGeneralJump::replace_mt_safe(address instr_addr, address code_buffer) {
-  assert (nativeInstruction_at(instr_addr)->is_b(), "MT-safe patching of arbitrary instructions is not allowed");
-  assert (nativeInstruction_at(code_buffer)->is_nop(), "MT-safe patching of arbitrary instructions is not allowed");
-  nativeInstruction_at(instr_addr)->set_encoding(*(int*)code_buffer);
-}
-
-void NativeGeneralJump::insert_unconditional(address code_pos, address entry) {
-  // Insert at code_pos unconditional B instruction jumping to entry
-  intx offset = entry - code_pos;
-  assert (Assembler::is_offset_in_range(offset, 26), "offset is out of range");
-
-  NativeInstruction* instr = nativeInstruction_at(code_pos);
-  assert (instr->is_b() || instr->is_nop(), "MT-safe patching of arbitrary instructions is not allowed");
-
-  instr->set_encoding(0x5 << 26 | Assembler::encode_offset(offset, 26, 0));
-}
-
-static address call_for(address return_address) {
-  CodeBlob* cb = CodeCache::find_blob(return_address);
-  nmethod* nm = cb->as_nmethod_or_null();
-  if (nm == NULL) {
-    ShouldNotReachHere();
-    return NULL;
-  }
-
-  // Look back 8 instructions (for LIR_Assembler::ic_call and MacroAssembler::patchable_call)
-  address begin = return_address - 8*NativeInstruction::instruction_size;
-  if (begin < nm->code_begin()) {
-    begin = nm->code_begin();
-  }
-  RelocIterator iter(nm, begin, return_address);
-  while (iter.next()) {
-    Relocation* reloc = iter.reloc();
-    if (reloc->is_call()) {
-      address call = reloc->addr();
-      if (nativeInstruction_at(call)->is_call()) {
-        if (nativeCall_at(call)->return_address() == return_address) {
-          return call;
-        }
-      }
-    }
-  }
-
-  return NULL;
-}
-
-bool NativeCall::is_call_before(address return_address) {
-  return (call_for(return_address) != NULL);
-}
-
-NativeCall* nativeCall_before(address return_address) {
-  assert(NativeCall::is_call_before(return_address), "must be");
-  return nativeCall_at(call_for(return_address));
-}
--- a/src/hotspot/cpu/arm/nativeInst_arm_64.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,771 +0,0 @@
-/*
- * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#ifndef CPU_ARM_VM_NATIVEINST_ARM_64_HPP
-#define CPU_ARM_VM_NATIVEINST_ARM_64_HPP
-
-#include "asm/macroAssembler.hpp"
-#include "code/codeCache.hpp"
-#include "runtime/icache.hpp"
-#include "runtime/os.hpp"
-
-// -------------------------------------------------------------------
-
-// Some experimental projects extend the ARM back-end by implementing
-// what the front-end usually assumes is a single native instruction
-// with a sequence of instructions.
-//
-// The 'Raw' variants are the low level initial code (usually one
-// instruction wide but some of them were already composed
-// instructions). They should be used only by the back-end.
-//
-// The non-raw classes are the front-end entry point, hiding potential
-// back-end extensions or the actual instructions size.
-class NativeInstruction;
-
-class RawNativeInstruction {
- public:
-
-  enum ARM_specific {
-    instruction_size = Assembler::InstructionSize,
-    instruction_size_in_bits = instruction_size * BitsPerByte,
-  };
-
-  // illegal instruction used by NativeJump::patch_verified_entry
-  static const int zombie_illegal_instruction = 0xd4000542; // hvc #42
-
-  address addr_at(int offset)        const { return (address)this + offset; }
-  address instruction_address()      const { return addr_at(0); }
-  address next_raw_instruction_address() const { return addr_at(instruction_size); }
-
-  static RawNativeInstruction* at(address address) {
-    return (RawNativeInstruction*)address;
-  }
-
-  RawNativeInstruction* next_raw() const {
-    return at(next_raw_instruction_address());
-  }
-
-  int encoding() const {
-    return *(int*)this;
-  }
-
-  void set_encoding(int value) {
-    int old = encoding();
-    if (old != value) {
-      *(int*)this = value;
-      ICache::invalidate_word((address)this);
-    }
-  }
-
-  bool is_nop()                      const { return encoding() == (int)0xd503201f; }
-  bool is_b()                        const { return (encoding() & 0xfc000000) == 0x14000000; } // unconditional branch
-  bool is_b_cond()                   const { return (encoding() & 0xff000010) == 0x54000000; } // conditional branch
-  bool is_bl()                       const { return (encoding() & 0xfc000000) == 0x94000000; }
-  bool is_br()                       const { return (encoding() & 0xfffffc1f) == 0xd61f0000; }
-  bool is_blr()                      const { return (encoding() & 0xfffffc1f) == 0xd63f0000; }
-  bool is_ldr_literal()              const { return (encoding() & 0xff000000) == 0x58000000; }
-  bool is_adr_aligned()              const { return (encoding() & 0xff000000) == 0x10000000; } // adr Xn, <label>, where label is aligned to 4 bytes (address of instruction).
-  bool is_adr_aligned_lr()           const { return (encoding() & 0xff00001f) == 0x1000001e; } // adr LR, <label>, where label is aligned to 4 bytes (address of instruction).
-
-  bool is_ldr_str_gp_reg_unsigned_imm()   const { return (encoding() & 0x3f000000) == 0x39000000; } // ldr/str{b, sb, h, sh, _w, sw} Rt, [Rn, #imm]
-  bool is_ldr_str_fp_reg_unsigned_imm()   const { return (encoding() & 0x3f000000) == 0x3D000000; } // ldr/str Rt(SIMD), [Rn, #imm]
-  bool is_ldr_str_reg_unsigned_imm()      const { return is_ldr_str_gp_reg_unsigned_imm() || is_ldr_str_fp_reg_unsigned_imm(); }
-
-  bool is_stp_preindex()             const { return (encoding() & 0xffc00000) == 0xa9800000; } // stp Xt1, Xt2, [Xn, #imm]!
-  bool is_ldp_postindex()            const { return (encoding() & 0xffc00000) == 0xa8c00000; } // ldp Xt1, Xt2, [Xn] #imm
-  bool is_mov_sp()                   const { return (encoding() & 0xfffffc00) == 0x91000000; } // mov <Xn|SP>, <Xm|SP>
-  bool is_movn()                     const { return (encoding() & 0x7f800000) == 0x12800000; }
-  bool is_movz()                     const { return (encoding() & 0x7f800000) == 0x52800000; }
-  bool is_movk()                     const { return (encoding() & 0x7f800000) == 0x72800000; }
-  bool is_orr_imm()                  const { return (encoding() & 0x7f800000) == 0x32000000; }
-  bool is_cmp_rr()                   const { return (encoding() & 0x7fe00000) == 0x6b000000; }
-  bool is_csel()                     const { return (encoding() & 0x7fe00000) == 0x1a800000; }
-  bool is_sub_shift()                const { return (encoding() & 0x7f200000) == 0x4b000000; } // sub Rd, Rn, shift (Rm, imm)
-  bool is_mov()                      const { return (encoding() & 0x7fe0ffe0) == 0x2a0003e0; } // mov Rd, Rm (orr Rd, ZR, shift (Rm, 0))
-  bool is_tst()                      const { return (encoding() & 0x7f20001f) == 0x6a00001f; } // tst Rn, shift (Rm, imm) (ands ZR, Rn, shift(Rm, imm))
-  bool is_lsr_imm()                  const { return (encoding() & 0x7f807c00) == 0x53007c00; } // lsr Rd, Rn, imm (ubfm Rd, Rn, imm, 31/63)
-
-  bool is_far_jump()                 const { return is_ldr_literal() && next_raw()->is_br(); }
-  bool is_fat_call()                 const {
-    return
-#ifdef COMPILER2
-      (is_blr() && next_raw()->is_b()) ||
-#endif
-      (is_adr_aligned_lr() && next_raw()->is_br());
-  }
-  bool is_far_call()                 const {
-    return is_ldr_literal() && next_raw()->is_fat_call();
-  }
-
-  bool is_ic_near_call()             const { return is_adr_aligned_lr() && next_raw()->is_b(); }
-  bool is_ic_far_call()              const { return is_adr_aligned_lr() && next_raw()->is_ldr_literal() && next_raw()->next_raw()->is_br(); }
-  bool is_ic_call()                  const { return is_ic_near_call() || is_ic_far_call(); }
-
-  bool is_jump()                     const { return is_b() || is_far_jump(); }
-  bool is_call()                     const { return is_bl() || is_far_call() || is_ic_call(); }
-  bool is_branch()                   const { return is_b() || is_bl(); }
-
-  // c2 doesn't use fixed registers for safepoint poll address
-  bool is_safepoint_poll() const {
-    return true;
-  }
-
-  bool is_save_all_registers(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    if (!current->is_stp_preindex()) return false; current = current->next_raw();
-    for (int i = 28; i >= 0; i -= 2) {
-      if (!current->is_stp_preindex()) return false; current = current->next_raw();
-    }
-
-    if (!current->is_adr_aligned())                 return false; current = current->next_raw();
-    if (!current->is_ldr_str_gp_reg_unsigned_imm()) return false; current = current->next_raw();
-    if (!current->is_ldr_str_gp_reg_unsigned_imm()) return false; current = current->next_raw();
-
-    *next = (RawNativeInstruction*) current;
-    return true;
-  }
-
-  bool is_restore_all_registers(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    for (int i = 0; i <= 28; i += 2) {
-      if (!current->is_ldp_postindex()) return false; current = current->next_raw();
-    }
-    if (!current->is_ldp_postindex()) return false; current = current->next_raw();
-
-    *next = (RawNativeInstruction*) current;
-    return true;
-  }
-
-  const RawNativeInstruction* skip_bind_literal() const {
-    const RawNativeInstruction* current = this;
-    if (((uintptr_t)current) % wordSize != 0) {
-      assert(current->is_nop(), "should be");
-      current = current->next_raw();
-    }
-    assert(((uintptr_t)current) % wordSize == 0, "should be"); // bound literal should be aligned
-    current = current->next_raw()->next_raw();
-    return current;
-  }
-
-  bool is_stop(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    if (!current->is_save_all_registers(&current)) return false;
-    if (!current->is_ldr_literal())                return false; current = current->next_raw();
-    if (!current->is_mov_sp())                     return false; current = current->next_raw();
-    if (!current->is_ldr_literal())                return false; current = current->next_raw();
-    if (!current->is_br())                         return false; current = current->next_raw();
-
-    current = current->skip_bind_literal();
-    current = current->skip_bind_literal();
-
-    *next = (RawNativeInstruction*) current;
-    return true;
-  }
-
-  bool is_mov_slow(const RawNativeInstruction** next = NULL) const {
-    const RawNativeInstruction* current = this;
-
-    if (current->is_orr_imm()) {
-      current = current->next_raw();
-
-    } else if (current->is_movn() || current->is_movz()) {
-      current = current->next_raw();
-      int movkCount = 0;
-      while (current->is_movk()) {
-        movkCount++;
-        if (movkCount > 3) return false;
-        current = current->next_raw();
-      }
-
-    } else {
-      return false;
-    }
-
-    if (next != NULL) {
-      *next = (RawNativeInstruction*)current;
-    }
-    return true;
-  }
-
-#ifdef ASSERT
-  void skip_verify_heapbase(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    if (CheckCompressedOops) {
-      if (!current->is_ldr_str_gp_reg_unsigned_imm()) return; current = current->next_raw();
-      if (!current->is_stp_preindex())      return; current = current->next_raw();
-      // NOTE: temporary workaround, remove with m6-01?
-      // skip saving condition flags
-      current = current->next_raw();
-      current = current->next_raw();
-
-      if (!current->is_mov_slow(&current))  return;
-      if (!current->is_cmp_rr())            return; current = current->next_raw();
-      if (!current->is_b_cond())            return; current = current->next_raw();
-      if (!current->is_stop(&current))      return;
-
-#ifdef COMPILER2
-      if (current->is_nop()) current = current->next_raw();
-#endif
-      // NOTE: temporary workaround, remove with m6-01?
-      // skip restoring condition flags
-      current = current->next_raw();
-      current = current->next_raw();
-
-      if (!current->is_ldp_postindex())     return; current = current->next_raw();
-      if (!current->is_ldr_str_gp_reg_unsigned_imm()) return; current = current->next_raw();
-    }
-
-    *next = (RawNativeInstruction*) current;
-  }
-#endif // ASSERT
-
-  bool is_ldr_global_ptr(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    if (!current->is_mov_slow(&current))            return false;
-    if (!current->is_ldr_str_gp_reg_unsigned_imm()) return false; current = current->next_raw();
-
-    *next = (RawNativeInstruction*) current;
-    return true;
-  }
-
-  void skip_verify_oop(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    if (VerifyOops) {
-      if (!current->is_save_all_registers(&current)) return;
-
-      if (current->is_mov()) {
-        current = current->next_raw();
-      }
-
-      if (!current->is_mov_sp())                        return; current = current->next_raw();
-      if (!current->is_ldr_literal())                   return; current = current->next_raw();
-      if (!current->is_ldr_global_ptr(&current))        return;
-      if (!current->is_blr())                           return; current = current->next_raw();
-      if (!current->is_restore_all_registers(&current)) return;
-      if (!current->is_b())                             return; current = current->next_raw();
-
-      current = current->skip_bind_literal();
-    }
-
-    *next = (RawNativeInstruction*) current;
-  }
-
-  void skip_encode_heap_oop(const RawNativeInstruction** next) const {
-    const RawNativeInstruction* current = this;
-
-    assert (Universe::heap() != NULL, "java heap should be initialized");
-#ifdef ASSERT
-    current->skip_verify_heapbase(&current);
-#endif // ASSERT
-    current->skip_verify_oop(&current);
-
-    if (Universe::narrow_oop_base() == NULL) {
-      if (Universe::narrow_oop_shift() != 0) {
-        if (!current->is_lsr_imm()) return; current = current->next_raw();
-      } else {
-        if (current->is_mov()) {
-          current = current->next_raw();
-        }
-      }
-    } else {
-      if (!current->is_tst())       return; current = current->next_raw();
-      if (!current->is_csel())      return; current = current->next_raw();
-      if (!current->is_sub_shift()) return; current = current->next_raw();
-      if (Universe::narrow_oop_shift() != 0) {
-        if (!current->is_lsr_imm())  return; current = current->next_raw();
-      }
-    }
-
-    *next = (RawNativeInstruction*) current;
-  }
-
-  void verify();
-
-  // For unit tests
-  static void test() {}
-
- private:
-
-  void check_bits_range(int bits, int scale, int low_bit) const {
-    assert((0 <= low_bit) && (0 < bits) && (low_bit + bits <= instruction_size_in_bits), "invalid bits range");
-    assert((0 <= scale) && (scale <= 4), "scale is out of range");
-  }
-
-  void set_imm(int imm_encoding, int bits, int low_bit) {
-    int imm_mask = right_n_bits(bits) << low_bit;
-    assert((imm_encoding & ~imm_mask) == 0, "invalid imm encoding");
-    set_encoding((encoding() & ~imm_mask) | imm_encoding);
-  }
-
- protected:
-
-  // Returns signed immediate from [low_bit .. low_bit + bits - 1] bits of this instruction, scaled by given scale.
-  int get_signed_imm(int bits, int scale, int low_bit) const {
-    check_bits_range(bits, scale, low_bit);
-    int high_bits_to_clean = (instruction_size_in_bits - (low_bit + bits));
-    return encoding() << high_bits_to_clean >> (high_bits_to_clean + low_bit) << scale;
-  }
-
-  // Puts given signed immediate into the [low_bit .. low_bit + bits - 1] bits of this instruction.
-  void set_signed_imm(int value, int bits, int scale, int low_bit) {
-    set_imm(Assembler::encode_imm(value, bits, scale, low_bit), bits, low_bit);
-  }
-
-  // Returns unsigned immediate from [low_bit .. low_bit + bits - 1] bits of this instruction, scaled by given scale.
-  int get_unsigned_imm(int bits, int scale, int low_bit) const {
-    check_bits_range(bits, scale, low_bit);
-    return ((encoding() >> low_bit) & right_n_bits(bits)) << scale;
-  }
-
-  // Puts given unsigned immediate into the [low_bit .. low_bit + bits - 1] bits of this instruction.
-  void set_unsigned_imm(int value, int bits, int scale, int low_bit) {
-    set_imm(Assembler::encode_unsigned_imm(value, bits, scale, low_bit), bits, low_bit);
-  }
-
-  int get_signed_offset(int bits, int low_bit) const {
-    return get_signed_imm(bits, 2, low_bit);
-  }
-
-  void set_signed_offset(int offset, int bits, int low_bit) {
-    set_signed_imm(offset, bits, 2, low_bit);
-  }
-};
-
-inline RawNativeInstruction* rawNativeInstruction_at(address address) {
-  RawNativeInstruction* instr = RawNativeInstruction::at(address);
-#ifdef ASSERT
-  instr->verify();
-#endif // ASSERT
-  return instr;
-}
-
-// -------------------------------------------------------------------
-
-// Load/store register (unsigned scaled immediate)
-class NativeMovRegMem: public RawNativeInstruction {
- private:
-  int get_offset_scale() const {
-    return get_unsigned_imm(2, 0, 30);
-  }
-
- public:
-  int offset() const {
-    return get_unsigned_imm(12, get_offset_scale(), 10);
-  }
-
-  void set_offset(int x);
-
-  void add_offset_in_bytes(int add_offset) {
-    set_offset(offset() + add_offset);
-  }
-};
-
-inline NativeMovRegMem* nativeMovRegMem_at(address address) {
-  const RawNativeInstruction* instr = rawNativeInstruction_at(address);
-
-#ifdef COMPILER1
-    // NOP required for C1 patching
-    if (instr->is_nop()) {
-      instr = instr->next_raw();
-    }
-#endif
-
-  instr->skip_encode_heap_oop(&instr);
-
-  assert(instr->is_ldr_str_reg_unsigned_imm(), "must be");
-  return (NativeMovRegMem*)instr;
-}
-
-// -------------------------------------------------------------------
-
-class NativeInstruction : public RawNativeInstruction {
-public:
-  static NativeInstruction* at(address address) {
-    return (NativeInstruction*)address;
-  }
-
-public:
-  // No need to consider indirections while parsing NativeInstruction
-  address next_instruction_address() const {
-    return next_raw_instruction_address();
-  }
-
-  // next() is no longer defined to avoid confusion.
-  //
-  // The front end and most classes except for those defined in nativeInst_arm
-  // or relocInfo_arm should only use next_instruction_address(), skipping
-  // over composed instruction and ignoring back-end extensions.
-  //
-  // The back-end can use next_raw() when it knows the instruction sequence
-  // and only wants to skip a single native instruction.
-};
-
-inline NativeInstruction* nativeInstruction_at(address address) {
-  NativeInstruction* instr = NativeInstruction::at(address);
-#ifdef ASSERT
-  instr->verify();
-#endif // ASSERT
-  return instr;
-}
-
-// -------------------------------------------------------------------
-class NativeInstructionLdrLiteral: public NativeInstruction {
- public:
-  address literal_address() {
-    address la = instruction_address() + get_signed_offset(19, 5);
-    assert(la != instruction_address(), "literal points to instruction");
-    return la;
-  }
-
-  address after_literal_address() {
-    return literal_address() + wordSize;
-  }
-
-  void set_literal_address(address addr, address pc) {
-    assert(is_ldr_literal(), "must be");
-    int opc = (encoding() >> 30) & 0x3;
-    assert (opc != 0b01 || addr == pc || ((uintx)addr & 7) == 0, "ldr target should be aligned");
-    set_signed_offset(addr - pc, 19, 5);
-  }
-
-  void set_literal_address(address addr) {
-    set_literal_address(addr, instruction_address());
-  }
-
-  address literal_value() {
-    return *(address*)literal_address();
-  }
-
-  void set_literal_value(address dest) {
-    *(address*)literal_address() = dest;
-  }
-};
-
-inline NativeInstructionLdrLiteral* nativeLdrLiteral_at(address address) {
-  assert(nativeInstruction_at(address)->is_ldr_literal(), "must be");
-  return (NativeInstructionLdrLiteral*)address;
-}
-
-// -------------------------------------------------------------------
-// Common class for branch instructions with 26-bit immediate offset: B (unconditional) and BL
-class NativeInstructionBranchImm26: public NativeInstruction {
- public:
-  address destination(int adj = 0) const {
-    return instruction_address() + get_signed_offset(26, 0) + adj;
-  }
-
-  void set_destination(address dest) {
-    intptr_t offset = (intptr_t)(dest - instruction_address());
-    assert((offset & 0x3) == 0, "should be aligned");
-    set_signed_offset(offset, 26, 0);
-  }
-};
-
-inline NativeInstructionBranchImm26* nativeB_at(address address) {
-  assert(nativeInstruction_at(address)->is_b(), "must be");
-  return (NativeInstructionBranchImm26*)address;
-}
-
-inline NativeInstructionBranchImm26* nativeBL_at(address address) {
-  assert(nativeInstruction_at(address)->is_bl(), "must be");
-  return (NativeInstructionBranchImm26*)address;
-}
-
-// -------------------------------------------------------------------
-class NativeInstructionAdrLR: public NativeInstruction {
- public:
-  // Returns address which is loaded into LR by this instruction.
-  address target_lr_value() {
-    return instruction_address() + get_signed_offset(19, 5);
-  }
-};
-
-inline NativeInstructionAdrLR* nativeAdrLR_at(address address) {
-  assert(nativeInstruction_at(address)->is_adr_aligned_lr(), "must be");
-  return (NativeInstructionAdrLR*)address;
-}
-
-// -------------------------------------------------------------------
-class RawNativeCall: public NativeInstruction {
- public:
-
-  address return_address() const {
-    if (is_bl()) {
-      return next_raw_instruction_address();
-
-    } else if (is_far_call()) {
-#ifdef COMPILER2
-      if (next_raw()->is_blr()) {
-        // ldr_literal; blr; ret_addr: b skip_literal;
-        return addr_at(2 * instruction_size);
-      }
-#endif
-      assert(next_raw()->is_adr_aligned_lr() && next_raw()->next_raw()->is_br(), "must be");
-      return nativeLdrLiteral_at(instruction_address())->after_literal_address();
-
-    } else if (is_ic_call()) {
-      return nativeAdrLR_at(instruction_address())->target_lr_value();
-
-    } else {
-      ShouldNotReachHere();
-      return NULL;
-    }
-  }
-
-  address destination(int adj = 0) const {
-    if (is_bl()) {
-      return nativeBL_at(instruction_address())->destination(adj);
-
-    } else if (is_far_call()) {
-      return nativeLdrLiteral_at(instruction_address())->literal_value();
-
-    } else if (is_adr_aligned_lr()) {
-      RawNativeInstruction *next = next_raw();
-      if (next->is_b()) {
-        // ic_near_call
-        return nativeB_at(next->instruction_address())->destination(adj);
-      } else if (next->is_far_jump()) {
-        // ic_far_call
-        return nativeLdrLiteral_at(next->instruction_address())->literal_value();
-      }
-    }
-    ShouldNotReachHere();
-    return NULL;
-  }
-
-  void set_destination(address dest) {
-    if (is_bl()) {
-      nativeBL_at(instruction_address())->set_destination(dest);
-      return;
-    }
-    if (is_far_call()) {
-      nativeLdrLiteral_at(instruction_address())->set_literal_value(dest);
-      OrderAccess::storeload(); // overkill if caller holds lock?
-      return;
-    }
-    if (is_adr_aligned_lr()) {
-      RawNativeInstruction *next = next_raw();
-      if (next->is_b()) {
-        // ic_near_call
-        nativeB_at(next->instruction_address())->set_destination(dest);
-        return;
-      }
-      if (next->is_far_jump()) {
-        // ic_far_call
-        nativeLdrLiteral_at(next->instruction_address())->set_literal_value(dest);
-        OrderAccess::storeload(); // overkill if caller holds lock?
-        return;
-      }
-    }
-    ShouldNotReachHere();
-  }
-
-  void set_destination_mt_safe(address dest) {
-    assert(CodeCache::contains(dest), "call target should be from code cache (required by ic_call and patchable_call)");
-    set_destination(dest);
-  }
-
-  void verify() {
-    assert(RawNativeInstruction::is_call(), "should be");
-  }
-
-  void verify_alignment() {
-    // Nothing to do on ARM
-  }
-};
-
-inline RawNativeCall* rawNativeCall_at(address address) {
-  RawNativeCall * call = (RawNativeCall*)address;
-  call->verify();
-  return call;
-}
-
-class NativeCall: public RawNativeCall {
- public:
-
-  // NativeCall::next_instruction_address() is used only to define the
-  // range where to look for the relocation information. We need not
-  // walk over composed instructions (as long as the relocation information
-  // is associated to the first instruction).
-  address next_instruction_address() const {
-    return next_raw_instruction_address();
-  }
-
-  static bool is_call_before(address return_address);
-};
-
-inline NativeCall* nativeCall_at(address address) {
-  NativeCall * call = (NativeCall*)address;
-  call->verify();
-  return call;
-}
-
-NativeCall* nativeCall_before(address return_address);
-
-// -------------------------------------------------------------------
-class NativeGeneralJump: public NativeInstruction {
- public:
-
-  address jump_destination() const {
-    return nativeB_at(instruction_address())->destination();
-  }
-
-  static void replace_mt_safe(address instr_addr, address code_buffer);
-
-  static void insert_unconditional(address code_pos, address entry);
-
-};
-
-inline NativeGeneralJump* nativeGeneralJump_at(address address) {
-  assert(nativeInstruction_at(address)->is_b(), "must be");
-  return (NativeGeneralJump*)address;
-}
-
-// -------------------------------------------------------------------
-class RawNativeJump: public NativeInstruction {
- public:
-
-  address jump_destination(int adj = 0) const {
-    if (is_b()) {
-      address a = nativeB_at(instruction_address())->destination(adj);
-      // Jump destination -1 is encoded as a jump to self
-      if (a == instruction_address()) {
-        return (address)-1;
-      }
-      return a;
-    } else {
-      assert(is_far_jump(), "should be");
-      return nativeLdrLiteral_at(instruction_address())->literal_value();
-    }
-  }
-
-  void set_jump_destination(address dest) {
-    if (is_b()) {
-      // Jump destination -1 is encoded as a jump to self
-      if (dest == (address)-1) {
-        dest = instruction_address();
-      }
-      nativeB_at(instruction_address())->set_destination(dest);
-    } else {
-      assert(is_far_jump(), "should be");
-      nativeLdrLiteral_at(instruction_address())->set_literal_value(dest);
-    }
-  }
-};
-
-inline RawNativeJump* rawNativeJump_at(address address) {
-  assert(rawNativeInstruction_at(address)->is_jump(), "must be");
-  return (RawNativeJump*)address;
-}
-
-// -------------------------------------------------------------------
-class NativeMovConstReg: public NativeInstruction {
-
-  NativeMovConstReg *adjust() const {
-    return (NativeMovConstReg *)adjust(this);
-  }
-
- public:
-
-  static RawNativeInstruction *adjust(const RawNativeInstruction *ni) {
-#ifdef COMPILER1
-    // NOP required for C1 patching
-    if (ni->is_nop()) {
-      return ni->next_raw();
-    }
-#endif
-    return (RawNativeInstruction *)ni;
-  }
-
-  intptr_t _data() const;
-  void set_data(intptr_t x);
-
-  intptr_t data() const {
-    return adjust()->_data();
-  }
-
-  bool is_pc_relative() {
-    return adjust()->is_ldr_literal();
-  }
-
-  void _set_pc_relative_offset(address addr, address pc) {
-    assert(is_ldr_literal(), "must be");
-    nativeLdrLiteral_at(instruction_address())->set_literal_address(addr, pc);
-  }
-
-  void set_pc_relative_offset(address addr, address pc) {
-    NativeMovConstReg *ni = adjust();
-    int dest_adj = ni->instruction_address() - instruction_address();
-    ni->_set_pc_relative_offset(addr, pc + dest_adj);
-  }
-
-  address _next_instruction_address() const {
-#ifdef COMPILER2
-    if (is_movz()) {
-      // narrow constant
-      RawNativeInstruction* ni = next_raw();
-      assert(ni->is_movk(), "movz;movk expected");
-      return ni->next_raw_instruction_address();
-    }
-#endif
-    assert(is_ldr_literal(), "must be");
-    return NativeInstruction::next_raw_instruction_address();
-  }
-
-  address next_instruction_address() const {
-    return adjust()->_next_instruction_address();
-  }
-};
-
-inline NativeMovConstReg* nativeMovConstReg_at(address address) {
-  RawNativeInstruction* ni = rawNativeInstruction_at(address);
-
-  ni = NativeMovConstReg::adjust(ni);
-
-  assert(ni->is_mov_slow() || ni->is_ldr_literal(), "must be");
-  return (NativeMovConstReg*)address;
-}
-
-// -------------------------------------------------------------------
-class NativeJump: public RawNativeJump {
- public:
-
-  static void check_verified_entry_alignment(address entry, address verified_entry);
-
-  static void patch_verified_entry(address entry, address verified_entry, address dest);
-};
-
-inline NativeJump* nativeJump_at(address address) {
-  assert(nativeInstruction_at(address)->is_jump(), "must be");
-  return (NativeJump*)address;
-}
-
-#endif // CPU_ARM_VM_NATIVEINST_ARM_64_HPP
--- a/src/hotspot/cpu/arm/register_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/register_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -32,12 +32,6 @@
 
 const char* RegisterImpl::name() const {
   const char* names[number_of_registers] = {
-#ifdef AARCH64
-    "x0",  "x1",  "x2",  "x3",  "x4",  "x5",  "x6",  "x7",
-    "x8",  "x9",  "x10", "x11", "x12", "x13", "x14", "x15",
-    "x16", "x17", "x18", "x19", "x20", "x21", "x22", "x23",
-    "x24", "x25", "x26", "x27", "x28", "fp",  "lr",  "xzr", "sp"
-#else
     "r0", "r1", "r2", "r3", "r4", "r5", "r6",
 #if (FP_REG_NUM == 7)
     "fp",
@@ -51,19 +45,12 @@
     "r11",
 #endif
     "r12", "sp", "lr", "pc"
-#endif // AARCH64
   };
   return is_valid() ? names[encoding()] : "noreg";
 }
 
 const char* FloatRegisterImpl::name() const {
   const char* names[number_of_registers] = {
-#ifdef AARCH64
-    "v0",  "v1",  "v2",  "v3",  "v4",  "v5",  "v6",  "v7",
-    "v8",  "v9",  "v10", "v11", "v12", "v13", "v14", "v15",
-    "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23",
-    "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31"
-#else
      "s0",  "s1",  "s2",  "s3",  "s4",  "s5",  "s6",  "s7",
      "s8",  "s9", "s10", "s11", "s12", "s13", "s14", "s15",
     "s16", "s17", "s18", "s19", "s20", "s21", "s22", "s23",
@@ -74,7 +61,6 @@
     "s48", "s49?","s50", "s51?","s52", "s53?","s54", "s55?",
     "s56", "s57?","s58", "s59?","s60", "s61?","s62", "s63?"
 #endif
-#endif // AARCH64
   };
   return is_valid() ? names[encoding()] : "fnoreg";
 }
--- a/src/hotspot/cpu/arm/register_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/register_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -66,7 +66,6 @@
 #define R9_IS_SCRATCHED 0
 #endif
 
-#ifndef AARCH64
 // FP_REG_NUM
 //
 // The ARM ABI does not state which register is used for the frame pointer.
@@ -77,7 +76,6 @@
 // Default: FP is R11
 #define FP_REG_NUM 11
 #endif
-#endif // AARCH64
 
 // ALIGN_WIDE_ARGUMENTS
 //
@@ -113,32 +111,6 @@
 #define R14    ((Register)14)
 #define R15    ((Register)15)
 
-#ifdef AARCH64
-
-#define R16    ((Register)16)
-#define R17    ((Register)17)
-#define R18    ((Register)18)
-#define R19    ((Register)19)
-#define R20    ((Register)20)
-#define R21    ((Register)21)
-#define R22    ((Register)22)
-#define R23    ((Register)23)
-#define R24    ((Register)24)
-#define R25    ((Register)25)
-#define R26    ((Register)26)
-#define R27    ((Register)27)
-#define R28    ((Register)28)
-#define R29    ((Register)29)
-#define R30    ((Register)30)
-#define ZR     ((Register)31)
-#define SP     ((Register)32)
-
-#define FP     R29
-#define LR     R30
-
-#define altFP_7_11 R7
-
-#else // !AARCH64
 
 #define FP     ((Register)FP_REG_NUM)
 
@@ -158,7 +130,6 @@
 #define LR     R14
 #define PC     R15
 
-#endif // !AARCH64
 
 
 class RegisterImpl;
@@ -171,11 +142,7 @@
 class RegisterImpl : public AbstractRegisterImpl {
  public:
   enum {
-#ifdef AARCH64
-    number_of_gprs = 31,
-    zr_sp_encoding = 31,
-#endif
-    number_of_registers = AARCH64_ONLY(number_of_gprs + 2) NOT_AARCH64(16)
+    number_of_registers = 16
   };
 
   Register successor() const      { return as_Register(encoding() + 1); }
@@ -188,19 +155,10 @@
   int   encoding() const          { assert(is_valid(), "invalid register"); return value(); }
   const char* name() const;
 
-#ifdef AARCH64
-  int encoding_with_zr() const   { assert (is_valid_gpr_or_zr(), "invalid register"); return (this == ZR) ? zr_sp_encoding : value(); }
-  int encoding_with_sp() const   { assert (is_valid_gpr_or_sp(), "invalid register"); return (this == SP) ? zr_sp_encoding : value(); }
-#endif
 
   // testers
   bool is_valid() const           { return 0 <= value() && value() < number_of_registers; }
 
-#ifdef AARCH64
-  bool is_valid_gpr()       const  { return (0 <= value() && value() < number_of_gprs); }
-  bool is_valid_gpr_or_zr() const  { return is_valid_gpr() || (this == ZR); }
-  bool is_valid_gpr_or_sp() const  { return is_valid_gpr() || (this == SP); }
-#endif
 };
 
 CONSTANT_REGISTER_DECLARATION(Register, noreg, (-1));
@@ -217,11 +175,7 @@
 class FloatRegisterImpl : public AbstractRegisterImpl {
  public:
   enum {
-#ifdef AARCH64
-    number_of_registers = 32
-#else
     number_of_registers = NOT_COMPILER2(32) COMPILER2_PRESENT(64)
-#endif
   };
 
   inline friend FloatRegister as_FloatRegister(int encoding);
@@ -234,7 +188,6 @@
 
   const char* name() const;
 
-#ifndef AARCH64
   int hi_bits() const {
     return (encoding() >> 1) & 0xf;
   }
@@ -246,54 +199,10 @@
   int hi_bit() const {
     return encoding() >> 5;
   }
-#endif // !AARCH64
 };
 
 CONSTANT_REGISTER_DECLARATION(FloatRegister, fnoreg, (-1));
 
-#ifdef AARCH64
-
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V0,     ( 0));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V1,     ( 1));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V2,     ( 2));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V3,     ( 3));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V4,     ( 4));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V5,     ( 5));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V6,     ( 6));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V7,     ( 7));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V8,     ( 8));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V9,     ( 9));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V10,    (10));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V11,    (11));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V12,    (12));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V13,    (13));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V14,    (14));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V15,    (15));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V16,    (16));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V17,    (17));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V18,    (18));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V19,    (19));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V20,    (20));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V21,    (21));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V22,    (22));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V23,    (23));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V24,    (24));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V25,    (25));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V26,    (26));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V27,    (27));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V28,    (28));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V29,    (29));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V30,    (30));
-CONSTANT_REGISTER_DECLARATION(FloatRegister, V31,    (31));
-
-#define S0       V0
-#define S1_reg   V1
-#define Stemp    V31
-
-#define D0       V0
-#define D1       V1
-
-#else // AARCH64
 
 /*
  * S1-S6 are named with "_reg" suffix to avoid conflict with
@@ -366,16 +275,15 @@
 CONSTANT_REGISTER_DECLARATION(FloatRegister, D30,    (60));
 CONSTANT_REGISTER_DECLARATION(FloatRegister, D31,    (62));
 
-#endif // AARCH64
 
 class ConcreteRegisterImpl : public AbstractRegisterImpl {
  public:
   enum {
     log_vmregs_per_word = LogBytesPerWord - LogBytesPerInt, // VMRegs are of 4-byte size
 #ifdef COMPILER2
-    log_bytes_per_fpr  = AARCH64_ONLY(4) NOT_AARCH64(2), // quad vectors
+    log_bytes_per_fpr  = 2, // quad vectors
 #else
-    log_bytes_per_fpr  = AARCH64_ONLY(3) NOT_AARCH64(2), // double vectors
+    log_bytes_per_fpr  = 2, // double vectors
 #endif
     log_words_per_fpr  = log_bytes_per_fpr - LogBytesPerWord,
     words_per_fpr      = 1 << log_words_per_fpr,
@@ -388,17 +296,13 @@
     max_gpr0 = num_gpr,
     num_fpr  = FloatRegisterImpl::number_of_registers << log_vmregs_per_fpr,
     max_fpr0 = max_gpr0 + num_fpr,
-    number_of_registers = num_gpr + num_fpr +
-                          // TODO-AARCH64 revise
-                          1+1 // APSR and FPSCR so that c2's REG_COUNT <= ConcreteRegisterImpl::number_of_registers
+    number_of_registers = num_gpr + num_fpr + 1+1 // APSR and FPSCR so that c2's REG_COUNT <= ConcreteRegisterImpl::number_of_registers
   };
 
   static const int max_gpr;
   static const int max_fpr;
 };
 
-// TODO-AARCH64 revise the following definitions
-
 class VFPSystemRegisterImpl;
 typedef VFPSystemRegisterImpl* VFPSystemRegister;
 class VFPSystemRegisterImpl : public AbstractRegisterImpl {
@@ -414,33 +318,21 @@
 /*
  * Register definitions shared across interpreter and compiler
  */
-#define Rexception_obj   AARCH64_ONLY(R19) NOT_AARCH64(R4)
-#define Rexception_pc    AARCH64_ONLY(R20) NOT_AARCH64(R5)
-
-#ifdef AARCH64
-#define Rheap_base       R27
-#endif // AARCH64
+#define Rexception_obj   R4
+#define Rexception_pc    R5
 
 /*
  * Interpreter register definitions common to C++ and template interpreters.
  */
-#ifdef AARCH64
-#define Rlocals          R23
-#define Rmethod          R26
-#define Rthread          R28
-#define Rtemp            R16
-#define Rtemp2           R17
-#else
 #define Rlocals          R8
 #define Rmethod          R9
 #define Rthread          R10
 #define Rtemp            R12
-#endif // AARCH64
 
 // Interpreter calling conventions
 
-#define Rparams          AARCH64_ONLY(R8)  NOT_AARCH64(SP)
-#define Rsender_sp       AARCH64_ONLY(R19) NOT_AARCH64(R4)
+#define Rparams          SP
+#define Rsender_sp       R4
 
 // JSR292
 //  Note: R5_mh is needed only during the call setup, including adapters
@@ -479,25 +371,23 @@
 #define D1_tmp                 D1
 
 // Temporary registers saved across VM calls (according to C calling conventions)
-#define Rtmp_save0             AARCH64_ONLY(R19) NOT_AARCH64(R4)
-#define Rtmp_save1             AARCH64_ONLY(R20) NOT_AARCH64(R5)
+#define Rtmp_save0             R4
+#define Rtmp_save1             R5
 
 // Cached TOS value
 #define R0_tos                 R0
 
-#ifndef AARCH64
 #define R0_tos_lo              R0
 #define R1_tos_hi              R1
-#endif
 
 #define S0_tos                 S0
 #define D0_tos                 D0
 
 // Dispatch table
-#define RdispatchTable         AARCH64_ONLY(R22) NOT_AARCH64(R6)
+#define RdispatchTable         R6
 
 // Bytecode pointer
-#define Rbcp                   AARCH64_ONLY(R24) NOT_AARCH64(altFP_7_11)
+#define Rbcp                   altFP_7_11
 
 // Pre-loaded next bytecode for the dispatch
 #define R3_bytecode            R3
@@ -507,7 +397,7 @@
 #define R4_ArrayIndexOutOfBounds_index   R4
 
 // Interpreter expression stack top
-#define Rstack_top             AARCH64_ONLY(R25) NOT_AARCH64(SP)
+#define Rstack_top             SP
 
 /*
  * Linux 32-bit ARM C ABI Register calling conventions
@@ -529,28 +419,14 @@
  *   R13 (SP)   Stack Pointer                 callee
  *   R14 (LR)   Link register
  *   R15 (PC)   Program Counter
- *
- * TODO-AARCH64: document AArch64 ABI
- *
  */
 #define c_rarg0  R0
 #define c_rarg1  R1
 #define c_rarg2  R2
 #define c_rarg3  R3
 
-#ifdef AARCH64
-#define c_rarg4  R4
-#define c_rarg5  R5
-#define c_rarg6  R6
-#define c_rarg7  R7
-#endif
 
-#ifdef AARCH64
-#define GPR_PARAMS    8
-#define FPR_PARAMS    8
-#else
 #define GPR_PARAMS    4
-#endif
 
 
 // Java ABI
@@ -560,11 +436,5 @@
 #define j_rarg2  c_rarg2
 #define j_rarg3  c_rarg3
 
-#ifdef AARCH64
-#define j_rarg4  c_rarg4
-#define j_rarg5  c_rarg5
-#define j_rarg6  c_rarg6
-#define j_rarg7  c_rarg7
-#endif
 
 #endif // CPU_ARM_VM_REGISTER_ARM_HPP
--- a/src/hotspot/cpu/arm/register_definitions_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/register_definitions_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -31,42 +31,6 @@
 REGISTER_DEFINITION(Register, noreg);
 REGISTER_DEFINITION(FloatRegister, fnoreg);
 
-#ifdef AARCH64
-
-REGISTER_DEFINITION(FloatRegister, V0);
-REGISTER_DEFINITION(FloatRegister, V1);
-REGISTER_DEFINITION(FloatRegister, V2);
-REGISTER_DEFINITION(FloatRegister, V3);
-REGISTER_DEFINITION(FloatRegister, V4);
-REGISTER_DEFINITION(FloatRegister, V5);
-REGISTER_DEFINITION(FloatRegister, V6);
-REGISTER_DEFINITION(FloatRegister, V7);
-REGISTER_DEFINITION(FloatRegister, V8);
-REGISTER_DEFINITION(FloatRegister, V9);
-REGISTER_DEFINITION(FloatRegister, V10);
-REGISTER_DEFINITION(FloatRegister, V11);
-REGISTER_DEFINITION(FloatRegister, V12);
-REGISTER_DEFINITION(FloatRegister, V13);
-REGISTER_DEFINITION(FloatRegister, V14);
-REGISTER_DEFINITION(FloatRegister, V15);
-REGISTER_DEFINITION(FloatRegister, V16);
-REGISTER_DEFINITION(FloatRegister, V17);
-REGISTER_DEFINITION(FloatRegister, V18);
-REGISTER_DEFINITION(FloatRegister, V19);
-REGISTER_DEFINITION(FloatRegister, V20);
-REGISTER_DEFINITION(FloatRegister, V21);
-REGISTER_DEFINITION(FloatRegister, V22);
-REGISTER_DEFINITION(FloatRegister, V23);
-REGISTER_DEFINITION(FloatRegister, V24);
-REGISTER_DEFINITION(FloatRegister, V25);
-REGISTER_DEFINITION(FloatRegister, V26);
-REGISTER_DEFINITION(FloatRegister, V27);
-REGISTER_DEFINITION(FloatRegister, V28);
-REGISTER_DEFINITION(FloatRegister, V29);
-REGISTER_DEFINITION(FloatRegister, V30);
-REGISTER_DEFINITION(FloatRegister, V31);
-
-#else // AARCH64
 
 REGISTER_DEFINITION(FloatRegister, S0);
 REGISTER_DEFINITION(FloatRegister, S1_reg);
@@ -134,4 +98,3 @@
 REGISTER_DEFINITION(FloatRegister, D30);
 REGISTER_DEFINITION(FloatRegister, D31);
 
-#endif //AARCH64
--- a/src/hotspot/cpu/arm/relocInfo_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/relocInfo_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -35,21 +35,6 @@
 void Relocation::pd_set_data_value(address x, intptr_t o, bool verify_only) {
 
   NativeMovConstReg* ni = nativeMovConstReg_at(addr());
-#if defined(AARCH64) && defined(COMPILER2)
-  if (ni->is_movz()) {
-    assert(type() == relocInfo::oop_type, "!");
-    if (verify_only) {
-      uintptr_t d = ni->data();
-      guarantee((d >> 32) == 0, "not narrow oop");
-      narrowOop no = d;
-      oop o = CompressedOops::decode(no);
-      guarantee(cast_from_oop<intptr_t>(o) == (intptr_t)x, "instructions must match");
-    } else {
-      ni->set_data((intptr_t)x);
-    }
-    return;
-  }
-#endif
   if (verify_only) {
     guarantee(ni->data() == (intptr_t)(x + o), "instructions must match");
   } else {
@@ -69,21 +54,16 @@
 
   RawNativeInstruction* ni = rawNativeInstruction_at(pc);
 
-#if (!defined(AARCH64))
-  if (NOT_AARCH64(ni->is_add_lr()) AARCH64_ONLY(ni->is_adr_aligned_lr())) {
-    // On arm32, skip the optional 'add LR, PC, #offset'
+  if (ni->is_add_lr()) {
+    // Skip the optional 'add LR, PC, #offset'
     // (Allowing the jump support code to handle fat_call)
     pc = ni->next_raw_instruction_address();
     ni = nativeInstruction_at(pc);
   }
-#endif
 
-  if (AARCH64_ONLY(ni->is_call()) NOT_AARCH64(ni->is_bl())) {
-    // For arm32, fat_call are handled by is_jump for the new 'ni',
+  if (ni->is_bl()) {
+    // Fat_call are handled by is_jump for the new 'ni',
     // requiring only to support is_bl.
-    //
-    // For AARCH64, skipping a leading adr is not sufficient
-    // to reduce calls to a simple bl.
     return rawNativeCall_at(pc)->destination(adj);
   }
 
@@ -98,21 +78,16 @@
   address pc = addr();
   NativeInstruction* ni = nativeInstruction_at(pc);
 
-#if (!defined(AARCH64))
-  if (NOT_AARCH64(ni->is_add_lr()) AARCH64_ONLY(ni->is_adr_aligned_lr())) {
-    // On arm32, skip the optional 'add LR, PC, #offset'
+  if (ni->is_add_lr()) {
+    // Skip the optional 'add LR, PC, #offset'
     // (Allowing the jump support code to handle fat_call)
     pc = ni->next_raw_instruction_address();
     ni = nativeInstruction_at(pc);
   }
-#endif
 
-  if (AARCH64_ONLY(ni->is_call()) NOT_AARCH64(ni->is_bl())) {
-    // For arm32, fat_call are handled by is_jump for the new 'ni',
+  if (ni->is_bl()) {
+    // Fat_call are handled by is_jump for the new 'ni',
     // requiring only to support is_bl.
-    //
-    // For AARCH64, skipping a leading adr is not sufficient
-    // to reduce calls to a simple bl.
     rawNativeCall_at(pc)->set_destination(x);
     return;
   }
@@ -138,15 +113,6 @@
 
 void metadata_Relocation::pd_fix_value(address x) {
   assert(! addr_in_const(), "Do not use");
-#ifdef AARCH64
-#ifdef COMPILER2
-  NativeMovConstReg* ni = nativeMovConstReg_at(addr());
-  if (ni->is_mov_slow()) {
-    return;
-  }
-#endif
-  set_value(x);
-#else
   if (!VM_Version::supports_movw()) {
     set_value(x);
 #ifdef ASSERT
@@ -165,5 +131,4 @@
     // assert(ni->data() == (int)x, "metadata relocation mismatch");
 #endif
   }
-#endif // !AARCH64
 }
--- a/src/hotspot/cpu/arm/runtime_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/runtime_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -126,15 +126,8 @@
 
   // Restore SP from its saved reg (FP) if the exception PC is a MethodHandle call site.
   __ ldr(Rtemp, Address(Rthread, JavaThread::is_method_handle_return_offset()));
-#ifdef AARCH64
-  Label skip;
-  __ cbz(Rtemp, skip);
-  __ mov(SP, Rmh_SP_save);
-  __ bind(skip);
-#else
   __ cmp(Rtemp, 0);
   __ mov(SP, Rmh_SP_save, ne);
-#endif
 
   // R0 contains handler address
   // Since this may be the deopt blob we must set R5 to look like we returned
--- a/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/sharedRuntime_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -62,46 +62,6 @@
   // branch to the runtime. The slot at R14/R30_offset is for the value of LR
   // in case it's live in the method we are coming from.
 
-#ifdef AARCH64
-
-  //
-  // On AArch64 registers save area has the following layout:
-  //
-  // |---------------------|
-  // | return address (LR) |
-  // | FP                  |
-  // |---------------------|
-  // | V31                 |
-  // | ...                 |
-  // | V0                  |
-  // |---------------------|
-  // | padding             |
-  // | R30 (LR live value) |
-  // |---------------------|
-  // | R27                 |
-  // | ...                 |
-  // | R0                  |
-  // |---------------------| <-- SP
-  //
-
-  enum RegisterLayout {
-    number_of_saved_gprs = 28,
-    number_of_saved_fprs = FloatRegisterImpl::number_of_registers,
-    words_per_fpr = ConcreteRegisterImpl::words_per_fpr,
-
-    R0_offset  = 0,
-    R30_offset = R0_offset + number_of_saved_gprs,
-    D0_offset  = R30_offset + 2,
-    FP_offset  = D0_offset + number_of_saved_fprs * words_per_fpr,
-    LR_offset  = FP_offset + 1,
-
-    reg_save_size = LR_offset + 1,
-  };
-
-  static const int Rmethod_offset;
-  static const int Rtemp_offset;
-
-#else
 
   enum RegisterLayout {
     fpu_save_size = FloatRegisterImpl::number_of_registers,
@@ -139,7 +99,6 @@
   // (altFP_7_11 is the one amoung R7 and R11 which is not FP)
 #define SAVED_BASE_REGS (RegisterSet(R0, R6) | RegisterSet(R8, R9) | RegisterSet(R12) | R14 | altFP_7_11)
 
-#endif // AARCH64
 
   //  When LR may be live in the nmethod from which we are comming
   //  then lr_saved is true, the return address is saved before the
@@ -154,10 +113,6 @@
 };
 
 
-#ifdef AARCH64
-const int RegisterSaver::Rmethod_offset = RegisterSaver::R0_offset + Rmethod->encoding();
-const int RegisterSaver::Rtemp_offset   = RegisterSaver::R0_offset + Rtemp->encoding();
-#endif // AARCH64
 
 
 OopMap* RegisterSaver::save_live_registers(MacroAssembler* masm,
@@ -168,47 +123,6 @@
   OopMapSet *oop_maps = new OopMapSet();
   OopMap* map = new OopMap(VMRegImpl::slots_per_word * (*total_frame_words), 0);
 
-#ifdef AARCH64
-  assert((reg_save_size * wordSize) % StackAlignmentInBytes == 0, "SP should be aligned");
-
-  if (lr_saved) {
-    // LR was stashed here, so that jump could use it as a scratch reg
-    __ ldr(LR, Address(SP, 0));
-    // There are two words on the stack top:
-    //  [SP + 0]: placeholder for FP
-    //  [SP + wordSize]: saved return address
-    __ str(FP, Address(SP, 0));
-  } else {
-    __ raw_push(FP, LR);
-  }
-
-  __ sub(SP, SP, (reg_save_size - 2) * wordSize);
-
-  for (int i = 0; i < number_of_saved_gprs; i += 2) {
-    int offset = R0_offset + i;
-    __ stp(as_Register(i), as_Register(i+1), Address(SP, offset * wordSize));
-    map->set_callee_saved(VMRegImpl::stack2reg((offset + 0) * VMRegImpl::slots_per_word), as_Register(i)->as_VMReg());
-    map->set_callee_saved(VMRegImpl::stack2reg((offset + 1) * VMRegImpl::slots_per_word), as_Register(i+1)->as_VMReg());
-  }
-
-  __ str(R30, Address(SP, R30_offset * wordSize));
-  map->set_callee_saved(VMRegImpl::stack2reg(R30_offset * VMRegImpl::slots_per_word), R30->as_VMReg());
-
-  for (int i = 0; i < number_of_saved_fprs; i += 2) {
-    int offset1 = D0_offset + i * words_per_fpr;
-    int offset2 = offset1 + words_per_fpr;
-    Address base(SP, offset1 * wordSize);
-    if (words_per_fpr == 2) {
-      // pair of "wide" quad vector registers
-      __ stp_q(as_FloatRegister(i), as_FloatRegister(i+1), base);
-    } else {
-      // pair of double vector registers
-      __ stp_d(as_FloatRegister(i), as_FloatRegister(i+1), base);
-    }
-    map->set_callee_saved(VMRegImpl::stack2reg(offset1 * VMRegImpl::slots_per_word), as_FloatRegister(i)->as_VMReg());
-    map->set_callee_saved(VMRegImpl::stack2reg(offset2 * VMRegImpl::slots_per_word), as_FloatRegister(i+1)->as_VMReg());
-  }
-#else
   if (lr_saved) {
     __ push(RegisterSet(FP));
   } else {
@@ -252,38 +166,11 @@
       map->set_callee_saved(VMRegImpl::stack2reg(i + 1), as_FloatRegister(i)->as_VMReg()->next());
     }
   }
-#endif // AARCH64
 
   return map;
 }
 
 void RegisterSaver::restore_live_registers(MacroAssembler* masm, bool restore_lr) {
-#ifdef AARCH64
-  for (int i = 0; i < number_of_saved_gprs; i += 2) {
-    __ ldp(as_Register(i), as_Register(i+1), Address(SP, (R0_offset + i) * wordSize));
-  }
-
-  __ ldr(R30, Address(SP, R30_offset * wordSize));
-
-  for (int i = 0; i < number_of_saved_fprs; i += 2) {
-    Address base(SP, (D0_offset + i * words_per_fpr) * wordSize);
-    if (words_per_fpr == 2) {
-      // pair of "wide" quad vector registers
-      __ ldp_q(as_FloatRegister(i), as_FloatRegister(i+1), base);
-    } else {
-      // pair of double vector registers
-      __ ldp_d(as_FloatRegister(i), as_FloatRegister(i+1), base);
-    }
-  }
-
-  __ add(SP, SP, (reg_save_size - 2) * wordSize);
-
-  if (restore_lr) {
-    __ raw_pop(FP, LR);
-  } else {
-    __ ldr(FP, Address(SP, 0));
-  }
-#else
   if (HaveVFP) {
     __ fldmiad(SP, FloatRegisterSet(D0, 16), writeback);
     if (VM_Version::has_vfp3_32()) {
@@ -303,58 +190,8 @@
   } else {
     __ pop(RegisterSet(FP));
   }
-#endif // AARCH64
-}
-
-#ifdef AARCH64
-
-static void push_result_registers(MacroAssembler* masm, BasicType ret_type) {
-  if (ret_type == T_DOUBLE || ret_type == T_FLOAT) {
-    __ str_d(D0, Address(SP, -2*wordSize, pre_indexed));
-  } else {
-    __ raw_push(R0, ZR);
-  }
-}
-
-static void pop_result_registers(MacroAssembler* masm, BasicType ret_type) {
-  if (ret_type == T_DOUBLE || ret_type == T_FLOAT) {
-    __ ldr_d(D0, Address(SP, 2*wordSize, post_indexed));
-  } else {
-    __ raw_pop(R0, ZR);
-  }
 }
 
-static void push_param_registers(MacroAssembler* masm, int fp_regs_in_arguments) {
-  __ raw_push(R0, R1);
-  __ raw_push(R2, R3);
-  __ raw_push(R4, R5);
-  __ raw_push(R6, R7);
-
-  assert(FPR_PARAMS == 8, "adjust this code");
-  assert((0 <= fp_regs_in_arguments) && (fp_regs_in_arguments <= FPR_PARAMS), "should be");
-
-  if (fp_regs_in_arguments > 6) __ stp_d(V6, V7, Address(SP, -2 * wordSize, pre_indexed));
-  if (fp_regs_in_arguments > 4) __ stp_d(V4, V5, Address(SP, -2 * wordSize, pre_indexed));
-  if (fp_regs_in_arguments > 2) __ stp_d(V2, V3, Address(SP, -2 * wordSize, pre_indexed));
-  if (fp_regs_in_arguments > 0) __ stp_d(V0, V1, Address(SP, -2 * wordSize, pre_indexed));
-}
-
-static void pop_param_registers(MacroAssembler* masm, int fp_regs_in_arguments) {
-  assert(FPR_PARAMS == 8, "adjust this code");
-  assert((0 <= fp_regs_in_arguments) && (fp_regs_in_arguments <= FPR_PARAMS), "should be");
-
-  if (fp_regs_in_arguments > 0) __ ldp_d(V0, V1, Address(SP, 2 * wordSize, post_indexed));
-  if (fp_regs_in_arguments > 2) __ ldp_d(V2, V3, Address(SP, 2 * wordSize, post_indexed));
-  if (fp_regs_in_arguments > 4) __ ldp_d(V4, V5, Address(SP, 2 * wordSize, post_indexed));
-  if (fp_regs_in_arguments > 6) __ ldp_d(V6, V7, Address(SP, 2 * wordSize, post_indexed));
-
-  __ raw_pop(R6, R7);
-  __ raw_pop(R4, R5);
-  __ raw_pop(R2, R3);
-  __ raw_pop(R0, R1);
-}
-
-#else // AARCH64
 
 static void push_result_registers(MacroAssembler* masm, BasicType ret_type) {
 #ifdef __ABI_HARD__
@@ -405,7 +242,6 @@
   __ pop(RegisterSet(R0, R3));
 }
 
-#endif // AARCH64
 
 
 // Is vector's size (in bytes) bigger than a size saved by default?
@@ -429,73 +265,6 @@
                                         VMRegPair *regs2,
                                         int total_args_passed) {
   assert(regs2 == NULL, "not needed on arm");
-#ifdef AARCH64
-  int slot = 0; // counted in 32-bit VMReg slots
-  int reg = 0;
-  int fp_reg = 0;
-  for (int i = 0; i < total_args_passed; i++) {
-    switch (sig_bt[i]) {
-    case T_SHORT:
-    case T_CHAR:
-    case T_BYTE:
-    case T_BOOLEAN:
-    case T_INT:
-      if (reg < GPR_PARAMS) {
-        Register r = as_Register(reg);
-        regs[i].set1(r->as_VMReg());
-        reg++;
-      } else {
-        regs[i].set1(VMRegImpl::stack2reg(slot));
-        slot+=2;
-      }
-      break;
-    case T_LONG:
-      assert((i + 1) < total_args_passed && sig_bt[i+1] == T_VOID, "missing Half" );
-      // fall through
-    case T_ARRAY:
-    case T_OBJECT:
-    case T_ADDRESS:
-      if (reg < GPR_PARAMS) {
-        Register r = as_Register(reg);
-        regs[i].set2(r->as_VMReg());
-        reg++;
-      } else {
-        regs[i].set2(VMRegImpl::stack2reg(slot));
-        slot+=2;
-      }
-      break;
-    case T_FLOAT:
-      if (fp_reg < FPR_PARAMS) {
-        FloatRegister r = as_FloatRegister(fp_reg);
-        regs[i].set1(r->as_VMReg());
-        fp_reg++;
-      } else {
-        regs[i].set1(VMRegImpl::stack2reg(slot));
-        slot+=2;
-      }
-      break;
-    case T_DOUBLE:
-      assert((i + 1) < total_args_passed && sig_bt[i+1] == T_VOID, "missing Half" );
-      if (fp_reg < FPR_PARAMS) {
-        FloatRegister r = as_FloatRegister(fp_reg);
-        regs[i].set2(r->as_VMReg());
-        fp_reg++;
-      } else {
-        regs[i].set2(VMRegImpl::stack2reg(slot));
-        slot+=2;
-      }
-      break;
-    case T_VOID:
-      assert(i != 0 && (sig_bt[i - 1] == T_LONG || sig_bt[i - 1] == T_DOUBLE), "expecting half");
-      regs[i].set_bad();
-      break;
-    default:
-      ShouldNotReachHere();
-    }
-  }
-  return slot;
-
-#else // AARCH64
 
   int slot = 0;
   int ireg = 0;
@@ -592,17 +361,12 @@
     }
   }
   return slot;
-#endif // AARCH64
 }
 
 int SharedRuntime::java_calling_convention(const BasicType *sig_bt,
                                            VMRegPair *regs,
                                            int total_args_passed,
                                            int is_outgoing) {
-#ifdef AARCH64
-  // C calling convention on AArch64 is good enough.
-  return c_calling_convention(sig_bt, regs, NULL, total_args_passed);
-#else
 #ifdef __SOFTFP__
   // soft float is the same as the C calling convention.
   return c_calling_convention(sig_bt, regs, NULL, total_args_passed);
@@ -685,7 +449,6 @@
 
   if (slot & 1) slot++;
   return slot;
-#endif // AARCH64
 }
 
 static void patch_callers_callsite(MacroAssembler *masm) {
@@ -694,25 +457,15 @@
   __ ldr(Rtemp, Address(Rmethod, Method::code_offset()));
   __ cbz(Rtemp, skip);
 
-#ifdef AARCH64
-  push_param_registers(masm, FPR_PARAMS);
-  __ raw_push(LR, ZR);
-#else
   // Pushing an even number of registers for stack alignment.
   // Selecting R9, which had to be saved anyway for some platforms.
   __ push(RegisterSet(R0, R3) | R9 | LR);
-#endif // AARCH64
 
   __ mov(R0, Rmethod);
   __ mov(R1, LR);
   __ call(CAST_FROM_FN_PTR(address, SharedRuntime::fixup_callers_callsite));
 
-#ifdef AARCH64
-  __ raw_pop(LR, ZR);
-  pop_param_registers(masm, FPR_PARAMS);
-#else
   __ pop(RegisterSet(R0, R3) | R9 | LR);
-#endif // AARCH64
 
   __ bind(skip);
 }
@@ -739,57 +492,6 @@
   Address callee_target_addr(Rthread, JavaThread::callee_target_offset());
   __ str(Rmethod, callee_target_addr);
 
-#ifdef AARCH64
-
-  assert_different_registers(tmp, R0, R1, R2, R3, R4, R5, R6, R7, Rsender_sp, Rmethod);
-  assert_different_registers(tmp, R0, R1, R2, R3, R4, R5, R6, R7, Rsender_sp, Rparams);
-
-  if (comp_args_on_stack) {
-    __ sub_slow(SP, SP, align_up(comp_args_on_stack * VMRegImpl::stack_slot_size, StackAlignmentInBytes));
-  }
-
-  for (int i = 0; i < total_args_passed; i++) {
-    if (sig_bt[i] == T_VOID) {
-      assert(i > 0 && (sig_bt[i-1] == T_LONG || sig_bt[i-1] == T_DOUBLE), "missing half");
-      continue;
-    }
-    assert(!regs[i].second()->is_valid() || regs[i].first()->next() == regs[i].second(), "must be ordered");
-
-    int expr_slots_count = (sig_bt[i] == T_LONG || sig_bt[i] == T_DOUBLE) ? 2 : 1;
-    Address source_addr(Rparams, Interpreter::expr_offset_in_bytes(total_args_passed - expr_slots_count - i));
-
-    VMReg r = regs[i].first();
-    bool full_word = regs[i].second()->is_valid();
-
-    if (r->is_stack()) {
-      if (full_word) {
-        __ ldr(tmp, source_addr);
-        __ str(tmp, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size));
-      } else {
-        __ ldr_w(tmp, source_addr);
-        __ str_w(tmp, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size));
-      }
-    } else if (r->is_Register()) {
-      if (full_word) {
-        __ ldr(r->as_Register(), source_addr);
-      } else {
-        __ ldr_w(r->as_Register(), source_addr);
-      }
-    } else if (r->is_FloatRegister()) {
-      if (sig_bt[i] == T_DOUBLE) {
-        __ ldr_d(r->as_FloatRegister(), source_addr);
-      } else {
-        __ ldr_s(r->as_FloatRegister(), source_addr);
-      }
-    } else {
-      assert(!r->is_valid() && !regs[i].second()->is_valid(), "must be");
-    }
-  }
-
-  __ ldr(tmp, Address(Rmethod, Method::from_compiled_offset()));
-  __ br(tmp);
-
-#else
 
   assert_different_registers(tmp, R0, R1, R2, R3, Rsender_sp, Rmethod);
 
@@ -851,7 +553,6 @@
   __ ldr(Rmethod, callee_target_addr);
   __ ldr(PC, Address(Rmethod, Method::from_compiled_offset()));
 
-#endif // AARCH64
 }
 
 static void gen_c2i_adapter(MacroAssembler *masm,
@@ -866,56 +567,6 @@
 
   __ mov(Rsender_sp, SP); // not yet saved
 
-#ifdef AARCH64
-
-  int extraspace = align_up(total_args_passed * Interpreter::stackElementSize, StackAlignmentInBytes);
-  if (extraspace) {
-    __ sub(SP, SP, extraspace);
-  }
-
-  for (int i = 0; i < total_args_passed; i++) {
-    if (sig_bt[i] == T_VOID) {
-      assert(i > 0 && (sig_bt[i-1] == T_LONG || sig_bt[i-1] == T_DOUBLE), "missing half");
-      continue;
-    }
-
-    int expr_slots_count = (sig_bt[i] == T_LONG || sig_bt[i] == T_DOUBLE) ? 2 : 1;
-    Address dest_addr(SP, Interpreter::expr_offset_in_bytes(total_args_passed - expr_slots_count - i));
-
-    VMReg r = regs[i].first();
-    bool full_word = regs[i].second()->is_valid();
-
-    if (r->is_stack()) {
-      if (full_word) {
-        __ ldr(tmp, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size + extraspace));
-        __ str(tmp, dest_addr);
-      } else {
-        __ ldr_w(tmp, Address(SP, r->reg2stack() * VMRegImpl::stack_slot_size + extraspace));
-        __ str_w(tmp, dest_addr);
-      }
-    } else if (r->is_Register()) {
-      if (full_word) {
-        __ str(r->as_Register(), dest_addr);
-      } else {
-        __ str_w(r->as_Register(), dest_addr);
-      }
-    } else if (r->is_FloatRegister()) {
-      if (sig_bt[i] == T_DOUBLE) {
-        __ str_d(r->as_FloatRegister(), dest_addr);
-      } else {
-        __ str_s(r->as_FloatRegister(), dest_addr);
-      }
-    } else {
-      assert(!r->is_valid() && !regs[i].second()->is_valid(), "must be");
-    }
-  }
-
-  __ mov(Rparams, SP);
-
-  __ ldr(tmp, Address(Rmethod, Method::interpreter_entry_offset()));
-  __ br(tmp);
-
-#else
 
   int extraspace = total_args_passed * Interpreter::stackElementSize;
   if (extraspace) {
@@ -965,7 +616,6 @@
 
   __ ldr(PC, Address(Rmethod, Method::interpreter_entry_offset()));
 
-#endif // AARCH64
 }
 
 AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm,
@@ -981,26 +631,17 @@
   Label skip_fixup;
   const Register receiver       = R0;
   const Register holder_klass   = Rtemp; // XXX should be OK for C2 but not 100% sure
-  const Register receiver_klass = AARCH64_ONLY(R8) NOT_AARCH64(R4);
+  const Register receiver_klass = R4;
 
   __ load_klass(receiver_klass, receiver);
   __ ldr(holder_klass, Address(Ricklass, CompiledICHolder::holder_klass_offset()));
   __ ldr(Rmethod, Address(Ricklass, CompiledICHolder::holder_metadata_offset()));
   __ cmp(receiver_klass, holder_klass);
 
-#ifdef AARCH64
-  Label ic_miss;
-  __ b(ic_miss, ne);
-  __ ldr(Rtemp, Address(Rmethod, Method::code_offset()));
-  __ cbz(Rtemp, skip_fixup);
-  __ bind(ic_miss);
-  __ jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type, Rtemp);
-#else
   __ ldr(Rtemp, Address(Rmethod, Method::code_offset()), eq);
   __ cmp(Rtemp, 0, eq);
   __ b(skip_fixup, eq);
   __ jump(SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type, noreg, ne);
-#endif // AARCH64
 
   address c2i_entry = __ pc();
   gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
@@ -1201,10 +842,6 @@
   __ bind(verified);
   int vep_offset = __ pc() - start;
 
-#ifdef AARCH64
-  // Extra nop for MT-safe patching in NativeJump::patch_verified_entry
-  __ nop();
-#endif // AARCH64
 
   if ((InlineObjectHash && method->intrinsic_id() == vmIntrinsics::_hashCode) || (method->intrinsic_id() == vmIntrinsics::_identityHashCode)) {
     // Object.hashCode, System.identityHashCode can pull the hashCode from the header word
@@ -1217,15 +854,8 @@
     if (method->intrinsic_id() == vmIntrinsics::_identityHashCode) {
       assert(method->is_static(), "method should be static");
       // return 0 for null reference input, return val = R0 = obj_reg = 0
-#ifdef AARCH64
-      Label Continue;
-      __ cbnz(obj_reg, Continue);
-      __ ret();
-      __ bind(Continue);
-#else
       __ cmp(obj_reg, 0);
       __ bx(LR, eq);
-#endif
     }
 
     __ ldr(Rtemp, Address(obj_reg, oopDesc::mark_offset_in_bytes()));
@@ -1238,16 +868,9 @@
       __ tbnz(Rtemp, exact_log2(markOopDesc::biased_lock_bit_in_place), slow_case);
     }
 
-#ifdef AARCH64
-    __ ands(Rtemp, Rtemp, (uintx)markOopDesc::hash_mask_in_place);
-    __ b(slow_case, eq);
-    __ logical_shift_right(R0, Rtemp, markOopDesc::hash_shift);
-    __ ret();
-#else
     __ bics(Rtemp, Rtemp, ~markOopDesc::hash_mask_in_place);
     __ mov(R0, AsmOperand(Rtemp, lsr, markOopDesc::hash_shift), ne);
     __ bx(LR, ne);
-#endif // AARCH64
 
     __ bind(slow_case);
   }
@@ -1279,12 +902,7 @@
         assert(i != 0, "Incoming receiver is always in a register");
         __ ldr(Rtemp, Address(FP, reg2offset_in(src)));
         __ cmp(Rtemp, 0);
-#ifdef AARCH64
-        __ add(Rtemp, FP, reg2offset_in(src));
-        __ csel(Rtemp, ZR, Rtemp, eq);
-#else
         __ add(Rtemp, FP, reg2offset_in(src), ne);
-#endif // AARCH64
         __ str(Rtemp, Address(SP, reg2offset_out(dst)));
         int offset_in_older_frame = src->reg2stack() + SharedRuntime::out_preserve_stack_slots();
         map->set_oop(VMRegImpl::stack2reg(offset_in_older_frame + stack_slots));
@@ -1297,14 +915,6 @@
         }
         oop_handle_offset += VMRegImpl::slots_per_word;
 
-#ifdef AARCH64
-        __ cmp(src->as_Register(), 0);
-        __ add(Rtemp, SP, offset);
-        __ csel(dst->is_stack() ? Rtemp : dst->as_Register(), ZR, Rtemp, eq);
-        if (dst->is_stack()) {
-          __ str(Rtemp, Address(SP, reg2offset_out(dst)));
-        }
-#else
         if (dst->is_stack()) {
           __ movs(Rtemp, src->as_Register());
           __ add(Rtemp, SP, offset, ne);
@@ -1313,30 +923,12 @@
           __ movs(dst->as_Register(), src->as_Register());
           __ add(dst->as_Register(), SP, offset, ne);
         }
-#endif // AARCH64
       }
     }
 
     case T_VOID:
       break;
 
-#ifdef AARCH64
-    case T_FLOAT:
-    case T_DOUBLE: {
-      VMReg src = in_regs[i].first();
-      VMReg dst = out_regs[i + extra_args].first();
-      if (src->is_stack()) {
-        assert(dst->is_stack(), "must be");
-        __ ldr(Rtemp, Address(FP, reg2offset_in(src)));
-        __ str(Rtemp, Address(SP, reg2offset_out(dst)));
-      } else {
-        assert(src->is_FloatRegister() && dst->is_FloatRegister(), "must be");
-        assert(src->as_FloatRegister() == dst->as_FloatRegister(), "must be");
-        fp_regs_in_arguments++;
-      }
-      break;
-    }
-#else // AARCH64
 
 #ifdef __SOFTFP__
     case T_DOUBLE:
@@ -1509,7 +1101,6 @@
       break;
     }
 #endif // __ABI_HARD__
-#endif // AARCH64
 
     default: {
       assert(in_sig_bt[i] != T_ADDRESS, "found T_ADDRESS in java args");
@@ -1544,16 +1135,11 @@
   assert(((__ pc()) - start) == __ offset(), "warning: start differs from code_begin");
   oop_maps->add_gc_map(pc_offset, map);
 
-#ifndef AARCH64
   // Order last_Java_pc store with the thread state transition (to _thread_in_native)
   __ membar(MacroAssembler::StoreStore, Rtemp);
-#endif // !AARCH64
 
   // RedefineClasses() tracing support for obsolete method entry
   if (log_is_enabled(Trace, redefine, class, obsolete)) {
-#ifdef AARCH64
-    __ NOT_TESTED();
-#endif
     __ save_caller_save_registers();
     __ mov(R0, Rthread);
     __ mov_metadata(R1, method());
@@ -1561,10 +1147,10 @@
     __ restore_caller_save_registers();
   }
 
-  const Register sync_handle = AARCH64_ONLY(R20) NOT_AARCH64(R5);
-  const Register sync_obj    = AARCH64_ONLY(R21) NOT_AARCH64(R6);
-  const Register disp_hdr    = AARCH64_ONLY(R22) NOT_AARCH64(altFP_7_11);
-  const Register tmp         = AARCH64_ONLY(R23) NOT_AARCH64(R8);
+  const Register sync_handle = R5;
+  const Register sync_obj    = R6;
+  const Register disp_hdr    = altFP_7_11;
+  const Register tmp         = R8;
 
   Label slow_lock, slow_lock_biased, lock_done, fast_lock;
   if (method->is_synchronized()) {
@@ -1580,35 +1166,6 @@
     }
 
     const Register mark = tmp;
-#ifdef AARCH64
-    __ sub(disp_hdr, FP, lock_slot_fp_offset);
-    assert(oopDesc::mark_offset_in_bytes() == 0, "Required by atomic instructions");
-
-    __ ldr(mark, sync_obj);
-
-    // Test if object is already locked
-    assert(markOopDesc::unlocked_value == 1, "adjust this code");
-    __ tbnz(mark, exact_log2(markOopDesc::unlocked_value), fast_lock);
-
-    // Check for recursive lock
-    // See comments in InterpreterMacroAssembler::lock_object for
-    // explanations on the fast recursive locking check.
-    __ mov(Rtemp, SP);
-    __ sub(Rtemp, mark, Rtemp);
-    intptr_t mask = ((intptr_t)3) - ((intptr_t)os::vm_page_size());
-    Assembler::LogicalImmediate imm(mask, false);
-    __ ands(Rtemp, Rtemp, imm);
-    __ b(slow_lock, ne);
-
-    // Recursive locking: store 0 into a lock record
-    __ str(ZR, Address(disp_hdr, BasicLock::displaced_header_offset_in_bytes()));
-    __ b(lock_done);
-
-    __ bind(fast_lock);
-    __ str(mark, Address(disp_hdr, BasicLock::displaced_header_offset_in_bytes()));
-
-    __ cas_for_lock_acquire(mark, disp_hdr, sync_obj, Rtemp, slow_lock);
-#else
     // On MP platforms the next load could return a 'stale' value if the memory location has been modified by another thread.
     // That would be acceptable as either CAS or slow case path is taken in that case
 
@@ -1635,7 +1192,6 @@
     __ str(mark, Address(disp_hdr, BasicLock::displaced_header_offset_in_bytes()));
 
     __ cas_for_lock_acquire(mark, disp_hdr, sync_obj, Rtemp, slow_lock);
-#endif // AARCH64
 
     __ bind(lock_done);
   }
@@ -1645,13 +1201,7 @@
 
   // Perform thread state transition
   __ mov(Rtemp, _thread_in_native);
-#ifdef AARCH64
-  // stlr instruction is used to force all preceding writes to be observed prior to thread state change
-  __ add(Rtemp2, Rthread, in_bytes(JavaThread::thread_state_offset()));
-  __ stlr_w(Rtemp, Rtemp2);
-#else
   __ str(Rtemp, Address(Rthread, JavaThread::thread_state_offset()));
-#endif // AARCH64
 
   // Finally, call the native method
   __ call(method->native_function());
@@ -1713,37 +1263,10 @@
   __ ldr(LR, Address(Rthread, JavaThread::active_handles_offset()));
   __ reset_last_Java_frame(Rtemp); // sets Rtemp to 0 on 32-bit ARM
 
-#ifdef AARCH64
-  __ str_32(ZR, Address(LR, JNIHandleBlock::top_offset_in_bytes()));
-  if (CheckJNICalls) {
-    __ str(ZR, Address(Rthread, JavaThread::pending_jni_exception_check_fn_offset()));
-  }
-
-
-  switch (ret_type) {
-  case T_BOOLEAN:
-    __ tst(R0, 0xff);
-    __ cset(R0, ne);
-    break;
-  case T_CHAR   : __ zero_extend(R0, R0, 16);  break;
-  case T_BYTE   : __ sign_extend(R0, R0,  8);  break;
-  case T_SHORT  : __ sign_extend(R0, R0, 16);  break;
-  case T_INT    : // fall through
-  case T_LONG   : // fall through
-  case T_VOID   : // fall through
-  case T_FLOAT  : // fall through
-  case T_DOUBLE : /* nothing to do */          break;
-  case T_OBJECT : // fall through
-  case T_ARRAY  : break; // See JNIHandles::resolve below
-  default:
-    ShouldNotReachHere();
-  }
-#else
   __ str_32(Rtemp, Address(LR, JNIHandleBlock::top_offset_in_bytes()));
   if (CheckJNICalls) {
     __ str(__ zero_register(Rtemp), Address(Rthread, JavaThread::pending_jni_exception_check_fn_offset()));
   }
-#endif // AARCH64
 
   // Unbox oop result, e.g. JNIHandles::resolve value in R0.
   if (ret_type == T_OBJECT || ret_type == T_ARRAY) {
@@ -1756,23 +1279,12 @@
   __ ldr(Rtemp, Address(Rthread, Thread::pending_exception_offset()));
   __ mov(SP, FP);
 
-#ifdef AARCH64
-  Label except;
-  __ cbnz(Rtemp, except);
-  __ raw_pop(FP, LR);
-  __ ret();
-
-  __ bind(except);
-  // Pop the frame and forward the exception. Rexception_pc contains return address.
-  __ raw_pop(FP, Rexception_pc);
-#else
   __ cmp(Rtemp, 0);
   // Pop the frame and return if no exception pending
   __ pop(RegisterSet(FP) | RegisterSet(PC), eq);
   // Pop the frame and forward the exception. Rexception_pc contains return address.
   __ ldr(FP, Address(SP, wordSize, post_indexed), ne);
   __ ldr(Rexception_pc, Address(SP, wordSize, post_indexed), ne);
-#endif // AARCH64
   __ jump(StubRoutines::forward_exception_entry(), relocInfo::runtime_call_type, Rtemp);
 
   // Safepoint operation and/or pending suspend request is in progress.
@@ -1852,9 +1364,6 @@
 // activation for use during deoptimization
 int Deoptimization::last_frame_adjust(int callee_parameters, int callee_locals) {
   int extra_locals_size = (callee_locals - callee_parameters) * Interpreter::stackElementWords;
-#ifdef AARCH64
-  extra_locals_size = align_up(extra_locals_size, StackAlignmentInBytes/BytesPerWord);
-#endif // AARCH64
   return extra_locals_size;
 }
 
@@ -1867,11 +1376,7 @@
 //------------------------------generate_deopt_blob----------------------------
 void SharedRuntime::generate_deopt_blob() {
   ResourceMark rm;
-#ifdef AARCH64
-  CodeBuffer buffer("deopt_blob", 1024+256, 1);
-#else
   CodeBuffer buffer("deopt_blob", 1024, 1024);
-#endif
   int frame_size_in_words;
   OopMapSet* oop_maps;
   int reexecute_offset;
@@ -1880,9 +1385,9 @@
 
   MacroAssembler* masm = new MacroAssembler(&buffer);
   Label cont;
-  const Register Rkind   = AARCH64_ONLY(R21) NOT_AARCH64(R9); // caller-saved on 32bit
-  const Register Rublock = AARCH64_ONLY(R22) NOT_AARCH64(R6);
-  const Register Rsender = AARCH64_ONLY(R23) NOT_AARCH64(altFP_7_11);
+  const Register Rkind   = R9; // caller-saved
+  const Register Rublock = R6;
+  const Register Rsender = altFP_7_11;
   assert_different_registers(Rkind, Rublock, Rsender, Rexception_obj, Rexception_pc, R0, R1, R2, R3, R8, Rtemp);
 
   address start = __ pc();
@@ -1972,9 +1477,7 @@
   // This frame is going away.  Fetch return value, so we can move it to
   // a new frame.
   __ ldr(R0, Address(SP, RegisterSaver::R0_offset * wordSize));
-#ifndef AARCH64
   __ ldr(R1, Address(SP, RegisterSaver::R1_offset * wordSize));
-#endif // !AARCH64
 #ifndef __SOFTFP__
   __ ldr_double(D0, Address(SP, RegisterSaver::D0_offset * wordSize));
 #endif
@@ -1986,34 +1489,7 @@
   __ ldr(R2, Address(Rublock, Deoptimization::UnrollBlock::frame_pcs_offset_in_bytes()));
   __ ldr(R3, Address(Rublock, Deoptimization::UnrollBlock::frame_sizes_offset_in_bytes()));
 
-#ifdef AARCH64
-  // Pop deoptimized frame. Make sure to restore the initial saved FP/LR of the caller.
-  // They are needed for correct stack walking during stack overflow handling.
-  // Also, restored FP is saved in the bottom interpreter frame (LR is reloaded from unroll block).
-  __ sub(Rtemp, Rtemp, 2*wordSize);
-  __ add(SP, SP, Rtemp, ex_uxtx);
-  __ raw_pop(FP, LR);
-
-#ifdef ASSERT
-  { Label L;
-    __ ldr(Rtemp, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-    __ cmp(FP, Rtemp);
-    __ b(L, eq);
-    __ stop("FP restored from deoptimized frame does not match FP stored in unroll block");
-    __ bind(L);
-  }
-  { Label L;
-    __ ldr(Rtemp, Address(R2));
-    __ cmp(LR, Rtemp);
-    __ b(L, eq);
-    __ stop("LR restored from deoptimized frame does not match the 1st PC in unroll block");
-    __ bind(L);
-  }
-#endif // ASSERT
-
-#else
   __ add(SP, SP, Rtemp);
-#endif // AARCH64
 
 #ifdef ASSERT
   // Compilers generate code that bang the stack by as much as the
@@ -2021,7 +1497,6 @@
   // trigger a fault. Verify that it does not on non product builds.
   // See if it is enough stack to push deoptimized frames
   if (UseStackBanging) {
-#ifndef AARCH64
     // The compiled method that we are deoptimizing was popped from the stack.
     // If the stack bang results in a stack overflow, we don't return to the
     // method that is being deoptimized. The stack overflow exception is
@@ -2029,14 +1504,12 @@
     // from the caller in LR and restore FP.
     __ ldr(LR, Address(R2, 0));
     __ ldr(FP, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-#endif // !AARCH64
     __ ldr_s32(R8, Address(Rublock, Deoptimization::UnrollBlock::total_frame_sizes_offset_in_bytes()));
     __ arm_stack_overflow_check(R8, Rtemp);
   }
 #endif
   __ ldr_s32(R8, Address(Rublock, Deoptimization::UnrollBlock::number_of_frames_offset_in_bytes()));
 
-#ifndef AARCH64
   // Pick up the initial fp we should save
   // XXX Note: was ldr(FP, Address(FP));
 
@@ -2048,15 +1521,10 @@
   // Deoptimization::fetch_unroll_info computes the right FP value and
   // stores it in Rublock.initial_info. This has been activated for ARM.
   __ ldr(FP, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-#endif // !AARCH64
 
   __ ldr_s32(Rtemp, Address(Rublock, Deoptimization::UnrollBlock::caller_adjustment_offset_in_bytes()));
   __ mov(Rsender, SP);
-#ifdef AARCH64
-  __ sub(SP, SP, Rtemp, ex_uxtx);
-#else
   __ sub(SP, SP, Rtemp);
-#endif // AARCH64
 
   // Push interpreter frames in a loop
   Label loop;
@@ -2068,19 +1536,11 @@
   __ mov(FP, SP);
   __ sub(Rtemp, Rtemp, 2*wordSize);
 
-#ifdef AARCH64
-  __ sub(SP, SP, Rtemp, ex_uxtx);
-#else
   __ sub(SP, SP, Rtemp);
-#endif // AARCH64
 
   __ str(Rsender, Address(FP, frame::interpreter_frame_sender_sp_offset * wordSize));
-#ifdef AARCH64
-  __ str(ZR, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize));
-#else
   __ mov(LR, 0);
   __ str(LR, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
 
   __ subs(R8, R8, 1);                               // decrement counter
   __ mov(Rsender, SP);
@@ -2094,15 +1554,12 @@
 
   // Restore frame locals after moving the frame
   __ str(R0, Address(SP, RegisterSaver::R0_offset * wordSize));
-#ifndef AARCH64
   __ str(R1, Address(SP, RegisterSaver::R1_offset * wordSize));
-#endif // !AARCH64
 
 #ifndef __SOFTFP__
   __ str_double(D0, Address(SP, RegisterSaver::D0_offset * wordSize));
 #endif // !__SOFTFP__
 
-#ifndef AARCH64
 #ifdef ASSERT
   // Reload Rkind from the UnrollBlock and check that it was not overwritten (Rkind is not callee-saved)
   { Label L;
@@ -2113,7 +1570,6 @@
     __ bind(L);
   }
 #endif
-#endif
 
   // Call unpack_frames with proper arguments
   __ mov(R0, Rthread);
@@ -2130,9 +1586,7 @@
 
   // Collect return values, pop self-frame and jump to interpreter
   __ ldr(R0, Address(SP, RegisterSaver::R0_offset * wordSize));
-#ifndef AARCH64
   __ ldr(R1, Address(SP, RegisterSaver::R1_offset * wordSize));
-#endif // !AARCH64
   // Interpreter floats controlled by __SOFTFP__, but compiler
   // float return value registers controlled by __ABI_HARD__
   // This matters for vfp-sflt builds.
@@ -2149,12 +1603,7 @@
 #endif // !__SOFTFP__
   __ mov(SP, FP);
 
-#ifdef AARCH64
-  __ raw_pop(FP, LR);
-  __ ret();
-#else
   __ pop(RegisterSet(FP) | RegisterSet(PC));
-#endif // AARCH64
 
   __ flush();
 
@@ -2183,8 +1632,8 @@
 #endif
   // bypassed when code generation useless
   MacroAssembler* masm               = new MacroAssembler(&buffer);
-  const Register Rublock = AARCH64_ONLY(R22) NOT_AARCH64(R6);
-  const Register Rsender = AARCH64_ONLY(R23) NOT_AARCH64(altFP_7_11);
+  const Register Rublock = R6;
+  const Register Rsender = altFP_7_11;
   assert_different_registers(Rublock, Rsender, Rexception_obj, R0, R1, R2, R3, R8, Rtemp);
 
   //
@@ -2240,34 +1689,7 @@
   __ ldr(R2, Address(Rublock, Deoptimization::UnrollBlock::frame_pcs_offset_in_bytes()));
   __ ldr(R3, Address(Rublock, Deoptimization::UnrollBlock::frame_sizes_offset_in_bytes()));
 
-#ifdef AARCH64
-  // Pop deoptimized frame. Make sure to restore the initial saved FP/LR of the caller.
-  // They are needed for correct stack walking during stack overflow handling.
-  // Also, restored FP is saved in the bottom interpreter frame (LR is reloaded from unroll block).
-  __ sub(Rtemp, Rtemp, 2*wordSize);
-  __ add(SP, SP, Rtemp, ex_uxtx);
-  __ raw_pop(FP, LR);
-
-#ifdef ASSERT
-  { Label L;
-    __ ldr(Rtemp, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-    __ cmp(FP, Rtemp);
-    __ b(L, eq);
-    __ stop("FP restored from deoptimized frame does not match FP stored in unroll block");
-    __ bind(L);
-  }
-  { Label L;
-    __ ldr(Rtemp, Address(R2));
-    __ cmp(LR, Rtemp);
-    __ b(L, eq);
-    __ stop("LR restored from deoptimized frame does not match the 1st PC in unroll block");
-    __ bind(L);
-  }
-#endif // ASSERT
-
-#else
   __ add(SP, SP, Rtemp);
-#endif //AARCH64
 
   // See if it is enough stack to push deoptimized frames
 #ifdef ASSERT
@@ -2275,7 +1697,6 @@
   // interpreter would need. So this stack banging should never
   // trigger a fault. Verify that it does not on non product builds.
   if (UseStackBanging) {
-#ifndef AARCH64
     // The compiled method that we are deoptimizing was popped from the stack.
     // If the stack bang results in a stack overflow, we don't return to the
     // method that is being deoptimized. The stack overflow exception is
@@ -2283,7 +1704,6 @@
     // from the caller in LR and restore FP.
     __ ldr(LR, Address(R2, 0));
     __ ldr(FP, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-#endif // !AARCH64
     __ ldr_s32(R8, Address(Rublock, Deoptimization::UnrollBlock::total_frame_sizes_offset_in_bytes()));
     __ arm_stack_overflow_check(R8, Rtemp);
   }
@@ -2291,15 +1711,9 @@
   __ ldr_s32(R8, Address(Rublock, Deoptimization::UnrollBlock::number_of_frames_offset_in_bytes()));
   __ ldr_s32(Rtemp, Address(Rublock, Deoptimization::UnrollBlock::caller_adjustment_offset_in_bytes()));
   __ mov(Rsender, SP);
-#ifdef AARCH64
-  __ sub(SP, SP, Rtemp, ex_uxtx);
-#else
   __ sub(SP, SP, Rtemp);
-#endif
-#ifndef AARCH64
   //  __ ldr(FP, Address(FP));
   __ ldr(FP, Address(Rublock, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-#endif // AARCH64
 
   // Push interpreter frames in a loop
   Label loop;
@@ -2311,19 +1725,11 @@
   __ mov(FP, SP);
   __ sub(Rtemp, Rtemp, 2*wordSize);
 
-#ifdef AARCH64
-  __ sub(SP, SP, Rtemp, ex_uxtx);
-#else
   __ sub(SP, SP, Rtemp);
-#endif // AARCH64
 
   __ str(Rsender, Address(FP, frame::interpreter_frame_sender_sp_offset * wordSize));
-#ifdef AARCH64
-  __ str(ZR, Address(FP, frame::interpreter_frame_stack_top_offset * wordSize));
-#else
   __ mov(LR, 0);
   __ str(LR, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
   __ subs(R8, R8, 1);                               // decrement counter
   __ mov(Rsender, SP);
   __ b(loop, ne);
@@ -2342,12 +1748,7 @@
   __ reset_last_Java_frame(Rtemp);
 
   __ mov(SP, FP);
-#ifdef AARCH64
-  __ raw_pop(FP, LR);
-  __ ret();
-#else
   __ pop(RegisterSet(FP) | RegisterSet(PC));
-#endif
 
   masm->flush();
   _uncommon_trap_blob = UncommonTrapBlob::create(&buffer, NULL, 2 /* LR+FP */);
@@ -2376,12 +1777,8 @@
   oop_maps = new OopMapSet();
 
   if (!cause_return) {
-#ifdef AARCH64
-    __ raw_push(LR, LR);
-#else
     __ sub(SP, SP, 4); // make room for LR which may still be live
                        // here if we are coming from a c2 method
-#endif // AARCH64
   }
 
   OopMap* map = RegisterSaver::save_live_registers(masm, &frame_size_words, !cause_return);
@@ -2406,20 +1803,6 @@
   __ ldr(Rtemp, Address(Rthread, Thread::pending_exception_offset()));
   __ cmp(Rtemp, 0);
 
-#ifdef AARCH64
-  RegisterSaver::restore_live_registers(masm, cause_return);
-  Register ret_addr = cause_return ? LR : Rtemp;
-  if (!cause_return) {
-    __ raw_pop(FP, ret_addr);
-  }
-
-  Label throw_exception;
-  __ b(throw_exception, ne);
-  __ br(ret_addr);
-
-  __ bind(throw_exception);
-  __ mov(Rexception_pc, ret_addr);
-#else // AARCH64
   if (!cause_return) {
     RegisterSaver::restore_live_registers(masm, false);
     __ pop(PC, eq);
@@ -2429,7 +1812,6 @@
     __ bx(LR, eq);
     __ mov(Rexception_pc, LR);
   }
-#endif // AARCH64
 
   __ jump(StubRoutines::forward_exception_entry(), relocInfo::runtime_call_type, Rtemp);
 
--- a/src/hotspot/cpu/arm/stubGenerator_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/stubGenerator_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -85,21 +85,13 @@
 // Hard coded choices (XXX: could be changed to a command line option)
 #define ArmCopyPlatform DEFAULT_ARRAYCOPY_CONFIG
 
-#ifdef AARCH64
-#define ArmCopyCacheLineSize 64
-#else
 #define ArmCopyCacheLineSize 32 // not worth optimizing to 64 according to measured gains
-#endif // AARCH64
-
-// TODO-AARCH64: tune and revise AArch64 arraycopy optimizations
 
 // configuration for each kind of loop
 typedef struct {
   int pld_distance;       // prefetch distance (0 => no prefetch, <0: prefetch_before);
-#ifndef AARCH64
   bool split_ldm;         // if true, split each STM in STMs with fewer registers
   bool split_stm;         // if true, split each LTM in LTMs with fewer registers
-#endif // !AARCH64
 } arraycopy_loop_config;
 
 // configuration for all loops
@@ -114,14 +106,6 @@
 // configured platforms
 static arraycopy_platform_config arraycopy_configurations[] = {
   // configuration parameters for arraycopy loops
-#ifdef AARCH64
-  {
-    {-256 }, // forward aligned
-    {-128 }, // backward aligned
-    {-256 }, // forward shifted
-    {-128 }  // backward shifted
-  }
-#else
 
   // Configurations were chosen based on manual analysis of benchmark
   // results, minimizing overhead with respect to best results on the
@@ -171,7 +155,6 @@
     {-160, false, false }, // forward shifted
     {-160, true,  true  } // backward shifted
   }
-#endif // AARCH64
 };
 
 class StubGenerator: public StubCodeGenerator {
@@ -190,100 +173,6 @@
     StubCodeMark mark(this, "StubRoutines", "call_stub");
     address start = __ pc();
 
-#ifdef AARCH64
-    const int saved_regs_size = 192;
-
-    __ stp(FP, LR, Address(SP, -saved_regs_size, pre_indexed));
-    __ mov(FP, SP);
-
-    int sp_offset = 16;
-    assert(frame::entry_frame_call_wrapper_offset * wordSize == sp_offset, "adjust this code");
-    __ stp(R0,  ZR,  Address(SP, sp_offset)); sp_offset += 16;
-
-    const int saved_result_and_result_type_offset = sp_offset;
-    __ stp(R1,  R2,  Address(SP, sp_offset)); sp_offset += 16;
-    __ stp(R19, R20, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp(R21, R22, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp(R23, R24, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp(R25, R26, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp(R27, R28, Address(SP, sp_offset)); sp_offset += 16;
-
-    __ stp_d(V8,  V9,  Address(SP, sp_offset)); sp_offset += 16;
-    __ stp_d(V10, V11, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp_d(V12, V13, Address(SP, sp_offset)); sp_offset += 16;
-    __ stp_d(V14, V15, Address(SP, sp_offset)); sp_offset += 16;
-    assert (sp_offset == saved_regs_size, "adjust this code");
-
-    __ mov(Rmethod, R3);
-    __ mov(Rthread, R7);
-    __ reinit_heapbase();
-
-    { // Pass parameters
-      Label done_parameters, pass_parameters;
-
-      __ mov(Rparams, SP);
-      __ cbz_w(R6, done_parameters);
-
-      __ sub(Rtemp, SP, R6, ex_uxtw, LogBytesPerWord);
-      __ align_reg(SP, Rtemp, StackAlignmentInBytes);
-      __ add(Rparams, SP, R6, ex_uxtw, LogBytesPerWord);
-
-      __ bind(pass_parameters);
-      __ subs_w(R6, R6, 1);
-      __ ldr(Rtemp, Address(R5, wordSize, post_indexed));
-      __ str(Rtemp, Address(Rparams, -wordSize, pre_indexed));
-      __ b(pass_parameters, ne);
-
-      __ bind(done_parameters);
-
-#ifdef ASSERT
-      {
-        Label L;
-        __ cmp(SP, Rparams);
-        __ b(L, eq);
-        __ stop("SP does not match Rparams");
-        __ bind(L);
-      }
-#endif
-    }
-
-    __ mov(Rsender_sp, SP);
-    __ blr(R4);
-    return_address = __ pc();
-
-    __ mov(SP, FP);
-
-    __ ldp(R1, R2, Address(SP, saved_result_and_result_type_offset));
-
-    { // Handle return value
-      Label cont;
-      __ str(R0, Address(R1));
-
-      __ cmp_w(R2, T_DOUBLE);
-      __ ccmp_w(R2, T_FLOAT, Assembler::flags_for_condition(eq), ne);
-      __ b(cont, ne);
-
-      __ str_d(V0, Address(R1));
-      __ bind(cont);
-    }
-
-    sp_offset = saved_result_and_result_type_offset + 16;
-    __ ldp(R19, R20, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp(R21, R22, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp(R23, R24, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp(R25, R26, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp(R27, R28, Address(SP, sp_offset)); sp_offset += 16;
-
-    __ ldp_d(V8,  V9,  Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp_d(V10, V11, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp_d(V12, V13, Address(SP, sp_offset)); sp_offset += 16;
-    __ ldp_d(V14, V15, Address(SP, sp_offset)); sp_offset += 16;
-    assert (sp_offset == saved_regs_size, "adjust this code");
-
-    __ ldp(FP, LR, Address(SP, saved_regs_size, post_indexed));
-    __ ret();
-
-#else // AARCH64
 
     assert(frame::entry_frame_call_wrapper_offset == 0, "adjust this code");
 
@@ -358,7 +247,6 @@
 #endif
     __ pop(RegisterSet(FP) | RegisterSet(PC));
 
-#endif // AARCH64
     return start;
   }
 
@@ -406,7 +294,6 @@
   }
 
 
-#ifndef AARCH64
 
   // Integer division shared routine
   //   Input:
@@ -795,7 +682,6 @@
   }
 
 
-#endif // AARCH64
 
 #ifdef COMPILER2
   // Support for uint StubRoutine::Arm::partial_subtype_check( Klass sub, Klass super );
@@ -883,12 +769,7 @@
 
       // Return failure
       __ bind(L_fail);
-#ifdef AARCH64
-      // count_temp is 0, can't use ZR here
-      __ adds(R0, count_temp, 1); // sets the flags
-#else
       __ movs(R0, 1); // sets the flags
-#endif
       __ raw_pop(saved_set);
       __ ret();
     }
@@ -925,11 +806,7 @@
     Label exit, error;
     InlinedAddress verify_oop_count((address) StubRoutines::verify_oop_count_addr());
 
-#ifdef AARCH64
-    __ mrs(flags, Assembler::SysReg_NZCV);
-#else
     __ mrs(Assembler::CPSR, flags);
-#endif // AARCH64
 
     __ ldr_literal(tmp1, verify_oop_count);
     __ ldr_s32(tmp2, Address(tmp1));
@@ -956,11 +833,7 @@
     // return if everything seems ok
     __ bind(exit);
 
-#ifdef AARCH64
-    __ msr(Assembler::SysReg_NZCV, flags);
-#else
     __ msr(Assembler::CPSR_f, flags);
-#endif // AARCH64
 
     __ ret();
 
@@ -1006,9 +879,7 @@
     const Register to         = R1;
     const Register count      = R2;
     const Register to_from    = tmp1; // to - from
-#ifndef AARCH64
     const Register byte_count = (log2_elem_size == 0) ? count : tmp2; // count << log2_elem_size
-#endif // AARCH64
     assert_different_registers(from, to, count, tmp1, tmp2);
 
     // no_overlap version works if 'to' lower (unsigned) than 'from'
@@ -1016,114 +887,24 @@
 
     BLOCK_COMMENT("Array Overlap Test:");
     __ subs(to_from, to, from);
-#ifndef AARCH64
     if (log2_elem_size != 0) {
       __ mov(byte_count, AsmOperand(count, lsl, log2_elem_size));
     }
-#endif // !AARCH64
     if (NOLp == NULL)
       __ b(no_overlap_target,lo);
     else
       __ b((*NOLp), lo);
-#ifdef AARCH64
-    __ subs(ZR, to_from, count, ex_sxtw, log2_elem_size);
-#else
     __ cmp(to_from, byte_count);
-#endif // AARCH64
     if (NOLp == NULL)
       __ b(no_overlap_target, ge);
     else
       __ b((*NOLp), ge);
   }
 
-#ifdef AARCH64
-  // TODO-AARCH64: revise usages of bulk_* methods (probably ldp`s and stp`s should interlace)
-
-  // Loads [from, from + count*wordSize) into regs[0], regs[1], ..., regs[count-1]
-  // and increases 'from' by count*wordSize.
-  void bulk_load_forward(Register from, const Register regs[], int count) {
-    assert (count > 0 && count % 2 == 0, "count must be positive even number");
-    int bytes = count * wordSize;
-
-    int offset = 0;
-    __ ldp(regs[0], regs[1], Address(from, bytes, post_indexed));
-    offset += 2*wordSize;
-
-    for (int i = 2; i < count; i += 2) {
-      __ ldp(regs[i], regs[i+1], Address(from, -bytes + offset));
-      offset += 2*wordSize;
-    }
-
-    assert (offset == bytes, "must be");
-  }
-
-  // Stores regs[0], regs[1], ..., regs[count-1] to [to, to + count*wordSize)
-  // and increases 'to' by count*wordSize.
-  void bulk_store_forward(Register to, const Register regs[], int count) {
-    assert (count > 0 && count % 2 == 0, "count must be positive even number");
-    int bytes = count * wordSize;
-
-    int offset = 0;
-    __ stp(regs[0], regs[1], Address(to, bytes, post_indexed));
-    offset += 2*wordSize;
-
-    for (int i = 2; i < count; i += 2) {
-      __ stp(regs[i], regs[i+1], Address(to, -bytes + offset));
-      offset += 2*wordSize;
-    }
-
-    assert (offset == bytes, "must be");
-  }
-
-  // Loads [from - count*wordSize, from) into regs[0], regs[1], ..., regs[count-1]
-  // and decreases 'from' by count*wordSize.
-  // Note that the word with lowest address goes to regs[0].
-  void bulk_load_backward(Register from, const Register regs[], int count) {
-    assert (count > 0 && count % 2 == 0, "count must be positive even number");
-    int bytes = count * wordSize;
-
-    int offset = 0;
-
-    for (int i = count - 2; i > 0; i -= 2) {
-      offset += 2*wordSize;
-      __ ldp(regs[i], regs[i+1], Address(from, -offset));
-    }
-
-    offset += 2*wordSize;
-    __ ldp(regs[0], regs[1], Address(from, -bytes, pre_indexed));
-
-    assert (offset == bytes, "must be");
-  }
-
-  // Stores regs[0], regs[1], ..., regs[count-1] into [to - count*wordSize, to)
-  // and decreases 'to' by count*wordSize.
-  // Note that regs[0] value goes into the memory with lowest address.
-  void bulk_store_backward(Register to, const Register regs[], int count) {
-    assert (count > 0 && count % 2 == 0, "count must be positive even number");
-    int bytes = count * wordSize;
-
-    int offset = 0;
-
-    for (int i = count - 2; i > 0; i -= 2) {
-      offset += 2*wordSize;
-      __ stp(regs[i], regs[i+1], Address(to, -offset));
-    }
-
-    offset += 2*wordSize;
-    __ stp(regs[0], regs[1], Address(to, -bytes, pre_indexed));
-
-    assert (offset == bytes, "must be");
-  }
-#endif // AARCH64
-
-  // TODO-AARCH64: rearrange in-loop prefetches:
+
   //   probably we should choose between "prefetch-store before or after store", not "before or after load".
   void prefetch(Register from, Register to, int offset, int to_delta = 0) {
     __ prefetch_read(Address(from, offset));
-#ifdef AARCH64
-  // Next line commented out to avoid significant loss of performance in memory copy - JDK-8078120
-  // __ prfm(pstl1keep, Address(to, offset + to_delta));
-#endif // AARCH64
   }
 
   // Generate the inner loop for forward aligned array copy
@@ -1137,14 +918,14 @@
   // Return the minimum initial value for count
   //
   // Notes:
-  // - 'from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA, required for AArch64)
+  // - 'from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA)
   // - 'to' aligned on wordSize
   // - 'count' must be greater or equal than the returned value
   //
   // Increases 'from' and 'to' by count*bytes_per_count.
   //
   // Scratches 'count', R3.
-  // On AArch64 also scratches R4-R10; on 32-bit ARM R4-R10 are preserved (saved/restored).
+  // R4-R10 are preserved (saved/restored).
   //
   int generate_forward_aligned_copy_loop(Register from, Register to, Register count, int bytes_per_count) {
     assert (from == R0 && to == R1 && count == R2, "adjust the implementation below");
@@ -1154,7 +935,6 @@
     int pld_offset = config->pld_distance;
     const int count_per_loop = bytes_per_loop / bytes_per_count;
 
-#ifndef AARCH64
     bool split_read= config->split_ldm;
     bool split_write= config->split_stm;
 
@@ -1167,7 +947,6 @@
     //      BGE NEONCopyPLD
 
     __ push(RegisterSet(R4,R10));
-#endif // !AARCH64
 
     const bool prefetch_before = pld_offset < 0;
     const bool prefetch_after = pld_offset > 0;
@@ -1200,12 +979,7 @@
       };
     }
 
-#ifdef AARCH64
-    const Register data_regs[8] = {R3, R4, R5, R6, R7, R8, R9, R10};
-#endif // AARCH64
     {
-      // LDM (32-bit ARM) / LDP (AArch64) copy of 'bytes_per_loop' bytes
-
       // 32-bit ARM note: we have tried implementing loop unrolling to skip one
       // PLD with 64 bytes cache line but the gain was not significant.
 
@@ -1218,9 +992,6 @@
         __ BIND(L_skip_pld);
       }
 
-#ifdef AARCH64
-      bulk_load_forward(from, data_regs, 8);
-#else
       if (split_read) {
         // Split the register set in two sets so that there is less
         // latency between LDM and STM (R3-R6 available while R7-R10
@@ -1231,7 +1002,6 @@
       } else {
         __ ldmia(from, RegisterSet(R3, R10), writeback);
       }
-#endif // AARCH64
 
       __ subs_32(count, count, count_per_loop);
 
@@ -1239,16 +1009,12 @@
         prefetch(from, to, pld_offset, bytes_per_loop);
       }
 
-#ifdef AARCH64
-      bulk_store_forward(to, data_regs, 8);
-#else
       if (split_write) {
         __ stmia(to, RegisterSet(R3, R6), writeback);
         __ stmia(to, RegisterSet(R7, R10), writeback);
       } else {
         __ stmia(to, RegisterSet(R3, R10), writeback);
       }
-#endif // AARCH64
 
       __ b(L_copy_loop, ge);
 
@@ -1264,70 +1030,6 @@
     // __ add(count, count, ...); // addition useless for the bit tests
     assert (pld_offset % bytes_per_loop == 0, "decreasing count by pld_offset before loop must not change tested bits");
 
-#ifdef AARCH64
-    assert (bytes_per_loop == 64, "adjust the code below");
-    assert (bytes_per_count <= 8, "adjust the code below");
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(32/bytes_per_count), L);
-
-      bulk_load_forward(from, data_regs, 4);
-      bulk_store_forward(to, data_regs, 4);
-
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(16/bytes_per_count), L);
-
-      bulk_load_forward(from, data_regs, 2);
-      bulk_store_forward(to, data_regs, 2);
-
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(8/bytes_per_count), L);
-
-      __ ldr(R3, Address(from, 8, post_indexed));
-      __ str(R3, Address(to,   8, post_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 4) {
-      Label L;
-      __ tbz(count, exact_log2(4/bytes_per_count), L);
-
-      __ ldr_w(R3, Address(from, 4, post_indexed));
-      __ str_w(R3, Address(to,   4, post_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 2) {
-      Label L;
-      __ tbz(count, exact_log2(2/bytes_per_count), L);
-
-      __ ldrh(R3, Address(from, 2, post_indexed));
-      __ strh(R3, Address(to,   2, post_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 1) {
-      Label L;
-      __ tbz(count, 0, L);
-
-      __ ldrb(R3, Address(from, 1, post_indexed));
-      __ strb(R3, Address(to,   1, post_indexed));
-
-      __ bind(L);
-    }
-#else
     __ tst(count, 16 / bytes_per_count);
     __ ldmia(from, RegisterSet(R3, R6), writeback, ne); // copy 16 bytes
     __ stmia(to, RegisterSet(R3, R6), writeback, ne);
@@ -1355,7 +1057,6 @@
     }
 
     __ pop(RegisterSet(R4,R10));
-#endif // AARCH64
 
     return count_per_loop;
   }
@@ -1372,14 +1073,14 @@
   // Return the minimum initial value for count
   //
   // Notes:
-  // - 'end_from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA, required for AArch64)
+  // - 'end_from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA)
   // - 'end_to' aligned on wordSize
   // - 'count' must be greater or equal than the returned value
   //
   // Decreases 'end_from' and 'end_to' by count*bytes_per_count.
   //
   // Scratches 'count', R3.
-  // On AArch64 also scratches R4-R10; on 32-bit ARM R4-R10 are preserved (saved/restored).
+  // ARM R4-R10 are preserved (saved/restored).
   //
   int generate_backward_aligned_copy_loop(Register end_from, Register end_to, Register count, int bytes_per_count) {
     assert (end_from == R0 && end_to == R1 && count == R2, "adjust the implementation below");
@@ -1390,14 +1091,12 @@
     arraycopy_loop_config *config=&arraycopy_configurations[ArmCopyPlatform].backward_aligned;
     int pld_offset = config->pld_distance;
 
-#ifndef AARCH64
     bool split_read= config->split_ldm;
     bool split_write= config->split_stm;
 
     // See the forward copy variant for additional comments.
 
     __ push(RegisterSet(R4,R10));
-#endif // !AARCH64
 
     __ sub_32(count, count, count_per_loop);
 
@@ -1423,12 +1122,7 @@
       };
     }
 
-#ifdef AARCH64
-    const Register data_regs[8] = {R3, R4, R5, R6, R7, R8, R9, R10};
-#endif // AARCH64
     {
-      // LDM (32-bit ARM) / LDP (AArch64) copy of 'bytes_per_loop' bytes
-
       // 32-bit ARM note: we have tried implementing loop unrolling to skip one
       // PLD with 64 bytes cache line but the gain was not significant.
 
@@ -1441,16 +1135,12 @@
         __ BIND(L_skip_pld);
       }
 
-#ifdef AARCH64
-      bulk_load_backward(end_from, data_regs, 8);
-#else
       if (split_read) {
         __ ldmdb(end_from, RegisterSet(R7, R10), writeback);
         __ ldmdb(end_from, RegisterSet(R3, R6), writeback);
       } else {
         __ ldmdb(end_from, RegisterSet(R3, R10), writeback);
       }
-#endif // AARCH64
 
       __ subs_32(count, count, count_per_loop);
 
@@ -1458,16 +1148,12 @@
         prefetch(end_from, end_to, -(wordSize + pld_offset), -bytes_per_loop);
       }
 
-#ifdef AARCH64
-      bulk_store_backward(end_to, data_regs, 8);
-#else
       if (split_write) {
         __ stmdb(end_to, RegisterSet(R7, R10), writeback);
         __ stmdb(end_to, RegisterSet(R3, R6), writeback);
       } else {
         __ stmdb(end_to, RegisterSet(R3, R10), writeback);
       }
-#endif // AARCH64
 
       __ b(L_copy_loop, ge);
 
@@ -1482,70 +1168,6 @@
     // __ add(count, count, ...); // addition useless for the bit tests
     assert (pld_offset % bytes_per_loop == 0, "decreasing count by pld_offset before loop must not change tested bits");
 
-#ifdef AARCH64
-    assert (bytes_per_loop == 64, "adjust the code below");
-    assert (bytes_per_count <= 8, "adjust the code below");
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(32/bytes_per_count), L);
-
-      bulk_load_backward(end_from, data_regs, 4);
-      bulk_store_backward(end_to, data_regs, 4);
-
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(16/bytes_per_count), L);
-
-      bulk_load_backward(end_from, data_regs, 2);
-      bulk_store_backward(end_to, data_regs, 2);
-
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(8/bytes_per_count), L);
-
-      __ ldr(R3, Address(end_from, -8, pre_indexed));
-      __ str(R3, Address(end_to,   -8, pre_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 4) {
-      Label L;
-      __ tbz(count, exact_log2(4/bytes_per_count), L);
-
-      __ ldr_w(R3, Address(end_from, -4, pre_indexed));
-      __ str_w(R3, Address(end_to,   -4, pre_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 2) {
-      Label L;
-      __ tbz(count, exact_log2(2/bytes_per_count), L);
-
-      __ ldrh(R3, Address(end_from, -2, pre_indexed));
-      __ strh(R3, Address(end_to,   -2, pre_indexed));
-
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 1) {
-      Label L;
-      __ tbz(count, 0, L);
-
-      __ ldrb(R3, Address(end_from, -1, pre_indexed));
-      __ strb(R3, Address(end_to,   -1, pre_indexed));
-
-      __ bind(L);
-    }
-#else
     __ tst(count, 16 / bytes_per_count);
     __ ldmdb(end_from, RegisterSet(R3, R6), writeback, ne); // copy 16 bytes
     __ stmdb(end_to, RegisterSet(R3, R6), writeback, ne);
@@ -1573,15 +1195,13 @@
     }
 
     __ pop(RegisterSet(R4,R10));
-#endif // AARCH64
 
     return count_per_loop;
   }
 
 
   // Generate the inner loop for shifted forward array copy (unaligned copy).
-  // It can be used when bytes_per_count < wordSize, i.e.
-  //  byte/short copy on 32-bit ARM, byte/short/int/compressed-oop copy on AArch64.
+  // It can be used when bytes_per_count < wordSize, i.e. byte/short copy
   //
   // Arguments
   //      from:      start src address, 64 bits aligned
@@ -1594,11 +1214,11 @@
   // Return the minimum initial value for count
   //
   // Notes:
-  // - 'from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA, required for AArch64)
+  // - 'from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA)
   // - 'to' aligned on wordSize
   // - 'count' must be greater or equal than the returned value
   // - 'lsr_shift' + 'lsl_shift' = BitsPerWord
-  // - 'bytes_per_count' is 1 or 2 on 32-bit ARM; 1, 2 or 4 on AArch64
+  // - 'bytes_per_count' is 1 or 2
   //
   // Increases 'to' by count*bytes_per_count.
   //
@@ -1622,10 +1242,8 @@
     arraycopy_loop_config *config=&arraycopy_configurations[ArmCopyPlatform].forward_shifted;
     int pld_offset = config->pld_distance;
 
-#ifndef AARCH64
     bool split_read= config->split_ldm;
     bool split_write= config->split_stm;
-#endif // !AARCH64
 
     const bool prefetch_before = pld_offset < 0;
     const bool prefetch_after = pld_offset > 0;
@@ -1666,12 +1284,6 @@
       __ b(L_last_read, lt);
     }
 
-#ifdef AARCH64
-    const Register data_regs[9] = {R3, R4, R5, R6, R7, R8, R9, R10, R12};
-    __ logical_shift_right(R3, R12, lsr_shift); // part of R12 not yet written
-    __ subs_32(count, count, count_per_loop);
-    bulk_load_forward(from, &data_regs[1], 8);
-#else
     // read 32 bytes
     if (split_read) {
       // if write is not split, use less registers in first set to reduce locking
@@ -1686,7 +1298,6 @@
       __ ldmia(from, RegisterSet(R4, R10) | R12, writeback); // Note: small latency on R4
       __ subs(count, count, count_per_loop);
     }
-#endif // AARCH64
 
     if (prefetch_after) {
       // do it after the 1st ldm/ldp anyway  (no locking issues with early STM/STP)
@@ -1701,12 +1312,10 @@
     __ orr(R5, R5, AsmOperand(R6, lsl, lsl_shift));
     __ logical_shift_right(R6, R6, lsr_shift);
     __ orr(R6, R6, AsmOperand(R7, lsl, lsl_shift));
-#ifndef AARCH64
     if (split_write) {
       // write the first half as soon as possible to reduce stm locking
       __ stmia(to, RegisterSet(R3, R6), writeback, prefetch_before ? gt : ge);
     }
-#endif // !AARCH64
     __ logical_shift_right(R7, R7, lsr_shift);
     __ orr(R7, R7, AsmOperand(R8, lsl, lsl_shift));
     __ logical_shift_right(R8, R8, lsr_shift);
@@ -1716,23 +1325,17 @@
     __ logical_shift_right(R10, R10, lsr_shift);
     __ orr(R10, R10, AsmOperand(R12, lsl, lsl_shift));
 
-#ifdef AARCH64
-    bulk_store_forward(to, data_regs, 8);
-#else
     if (split_write) {
       __ stmia(to, RegisterSet(R7, R10), writeback, prefetch_before ? gt : ge);
     } else {
       __ stmia(to, RegisterSet(R3, R10), writeback, prefetch_before ? gt : ge);
     }
-#endif // AARCH64
     __ b(L_shifted_loop, gt); // no need to loop if 0 (when count need not be precise modulo bytes_per_loop)
 
     if (prefetch_before) {
       // the first loop may end earlier, allowing to skip pld at the end
       __ cmn_32(count, (bytes_per_loop + pld_offset)/bytes_per_count);
-#ifndef AARCH64
       __ stmia(to, RegisterSet(R3, R10), writeback); // stmia was skipped
-#endif // !AARCH64
       __ b(L_skip_pld, ge);
       __ adds_32(count, count, ((bytes_per_loop + pld_offset) / bytes_per_count) + count_per_loop);
     }
@@ -1740,90 +1343,6 @@
     __ BIND(L_last_read);
     __ b(L_done, eq);
 
-#ifdef AARCH64
-    assert(bytes_per_count < 8, "adjust the code below");
-
-    __ logical_shift_right(R3, R12, lsr_shift);
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(32/bytes_per_count), L);
-      bulk_load_forward(from, &data_regs[1], 4);
-      __ orr(R3, R3, AsmOperand(R4, lsl, lsl_shift));
-      __ logical_shift_right(R4, R4, lsr_shift);
-      __ orr(R4, R4, AsmOperand(R5, lsl, lsl_shift));
-      __ logical_shift_right(R5, R5, lsr_shift);
-      __ orr(R5, R5, AsmOperand(R6, lsl, lsl_shift));
-      __ logical_shift_right(R6, R6, lsr_shift);
-      __ orr(R6, R6, AsmOperand(R7, lsl, lsl_shift));
-      bulk_store_forward(to, data_regs, 4);
-      __ logical_shift_right(R3, R7, lsr_shift);
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(16/bytes_per_count), L);
-      bulk_load_forward(from, &data_regs[1], 2);
-      __ orr(R3, R3, AsmOperand(R4, lsl, lsl_shift));
-      __ logical_shift_right(R4, R4, lsr_shift);
-      __ orr(R4, R4, AsmOperand(R5, lsl, lsl_shift));
-      bulk_store_forward(to, data_regs, 2);
-      __ logical_shift_right(R3, R5, lsr_shift);
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(8/bytes_per_count), L);
-      __ ldr(R4, Address(from, 8, post_indexed));
-      __ orr(R3, R3, AsmOperand(R4, lsl, lsl_shift));
-      __ str(R3, Address(to, 8, post_indexed));
-      __ logical_shift_right(R3, R4, lsr_shift);
-      __ bind(L);
-    }
-
-    const int have_bytes = lsl_shift/BitsPerByte; // number of already read bytes in R3
-
-    // It remains less than wordSize to write.
-    // Do not check count if R3 already has maximal number of loaded elements (one less than wordSize).
-    if (have_bytes < wordSize - bytes_per_count) {
-      Label L;
-      __ andr(count, count, (uintx)(8/bytes_per_count-1)); // make count exact
-      __ cmp_32(count, have_bytes/bytes_per_count); // do we have enough bytes to store?
-      __ b(L, le);
-      __ ldr(R4, Address(from, 8, post_indexed));
-      __ orr(R3, R3, AsmOperand(R4, lsl, lsl_shift));
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(4/bytes_per_count), L);
-      __ str_w(R3, Address(to, 4, post_indexed));
-      if (bytes_per_count < 4) {
-        __ logical_shift_right(R3, R3, 4*BitsPerByte);
-      }
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 2) {
-      Label L;
-      __ tbz(count, exact_log2(2/bytes_per_count), L);
-      __ strh(R3, Address(to, 2, post_indexed));
-      if (bytes_per_count < 2) {
-        __ logical_shift_right(R3, R3, 2*BitsPerByte);
-      }
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 1) {
-      Label L;
-      __ tbz(count, exact_log2(1/bytes_per_count), L);
-      __ strb(R3, Address(to, 1, post_indexed));
-      __ bind(L);
-    }
-#else
     switch (bytes_per_count) {
     case 2:
       __ mov(R3, AsmOperand(R12, lsr, lsr_shift));
@@ -1906,15 +1425,13 @@
       __ strb(R3, Address(to, 1, post_indexed), ne); // one last byte
       break;
     }
-#endif // AARCH64
 
     __ BIND(L_done);
     return 0; // no minimum
   }
 
   // Generate the inner loop for shifted backward array copy (unaligned copy).
-  // It can be used when bytes_per_count < wordSize, i.e.
-  //  byte/short copy on 32-bit ARM, byte/short/int/compressed-oop copy on AArch64.
+  // It can be used when bytes_per_count < wordSize, i.e. byte/short copy
   //
   // Arguments
   //      end_from:  end src address, 64 bits aligned
@@ -1927,11 +1444,11 @@
   // Return the minimum initial value for count
   //
   // Notes:
-  // - 'end_from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA, required for AArch64)
+  // - 'end_from' aligned on 64-bit (recommended for 32-bit ARM in case this speeds up LDMIA)
   // - 'end_to' aligned on wordSize
   // - 'count' must be greater or equal than the returned value
   // - 'lsr_shift' + 'lsl_shift' = 'BitsPerWord'
-  // - 'bytes_per_count' is 1 or 2 on 32-bit ARM; 1, 2 or 4 on AArch64
+  // - 'bytes_per_count' is 1 or 2 on 32-bit ARM
   //
   // Decreases 'end_to' by count*bytes_per_count.
   //
@@ -1955,10 +1472,8 @@
     arraycopy_loop_config *config=&arraycopy_configurations[ArmCopyPlatform].backward_shifted;
     int pld_offset = config->pld_distance;
 
-#ifndef AARCH64
     bool split_read= config->split_ldm;
     bool split_write= config->split_stm;
-#endif // !AARCH64
 
 
     const bool prefetch_before = pld_offset < 0;
@@ -2001,11 +1516,6 @@
       __ b(L_last_read, lt);
     }
 
-#ifdef AARCH64
-    __ logical_shift_left(R12, R3, lsl_shift);
-    const Register data_regs[9] = {R3, R4, R5, R6, R7, R8, R9, R10, R12};
-    bulk_load_backward(end_from, data_regs, 8);
-#else
     if (split_read) {
       __ ldmdb(end_from, RegisterSet(R7, R10), writeback);
       __ mov(R12, AsmOperand(R3, lsl, lsl_shift)); // part of R3 not yet written
@@ -2014,7 +1524,6 @@
       __ mov(R12, AsmOperand(R3, lsl, lsl_shift)); // part of R3 not yet written
       __ ldmdb(end_from, RegisterSet(R3, R10), writeback);
     }
-#endif // AARCH64
 
     __ subs_32(count, count, count_per_loop);
 
@@ -2034,35 +1543,27 @@
     __ orr(R7, R7, AsmOperand(R6, lsr, lsr_shift));
     __ logical_shift_left(R6, R6, lsl_shift);
     __ orr(R6, R6, AsmOperand(R5, lsr, lsr_shift));
-#ifndef AARCH64
     if (split_write) {
       // store early to reduce locking issues
       __ stmdb(end_to, RegisterSet(R6, R10) | R12, writeback, prefetch_before ? gt : ge);
     }
-#endif // !AARCH64
     __ logical_shift_left(R5, R5, lsl_shift);
     __ orr(R5, R5, AsmOperand(R4, lsr, lsr_shift));
     __ logical_shift_left(R4, R4, lsl_shift);
     __ orr(R4, R4, AsmOperand(R3, lsr, lsr_shift));
 
-#ifdef AARCH64
-    bulk_store_backward(end_to, &data_regs[1], 8);
-#else
     if (split_write) {
       __ stmdb(end_to, RegisterSet(R4, R5), writeback, prefetch_before ? gt : ge);
     } else {
       __ stmdb(end_to, RegisterSet(R4, R10) | R12, writeback, prefetch_before ? gt : ge);
     }
-#endif // AARCH64
 
     __ b(L_shifted_loop, gt); // no need to loop if 0 (when count need not be precise modulo bytes_per_loop)
 
     if (prefetch_before) {
       // the first loop may end earlier, allowing to skip pld at the end
       __ cmn_32(count, ((bytes_per_loop + pld_offset)/bytes_per_count));
-#ifndef AARCH64
       __ stmdb(end_to, RegisterSet(R4, R10) | R12, writeback); // stmdb was skipped
-#endif // !AARCH64
       __ b(L_skip_pld, ge);
       __ adds_32(count, count, ((bytes_per_loop + pld_offset) / bytes_per_count) + count_per_loop);
     }
@@ -2070,99 +1571,6 @@
     __ BIND(L_last_read);
     __ b(L_done, eq);
 
-#ifdef AARCH64
-    assert(bytes_per_count < 8, "adjust the code below");
-
-    __ logical_shift_left(R12, R3, lsl_shift);
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(32/bytes_per_count), L);
-      bulk_load_backward(end_from, &data_regs[4], 4);
-
-      __ orr(R12, R12, AsmOperand(R10, lsr, lsr_shift));
-      __ logical_shift_left(R10, R10, lsl_shift);
-      __ orr(R10, R10, AsmOperand(R9, lsr, lsr_shift));
-      __ logical_shift_left(R9, R9, lsl_shift);
-      __ orr(R9, R9, AsmOperand(R8, lsr, lsr_shift));
-      __ logical_shift_left(R8, R8, lsl_shift);
-      __ orr(R8, R8, AsmOperand(R7, lsr, lsr_shift));
-
-      bulk_store_backward(end_to, &data_regs[5], 4);
-      __ logical_shift_left(R12, R7, lsl_shift);
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(16/bytes_per_count), L);
-      bulk_load_backward(end_from, &data_regs[6], 2);
-
-      __ orr(R12, R12, AsmOperand(R10, lsr, lsr_shift));
-      __ logical_shift_left(R10, R10, lsl_shift);
-      __ orr(R10, R10, AsmOperand(R9, lsr, lsr_shift));
-
-      bulk_store_backward(end_to, &data_regs[7], 2);
-      __ logical_shift_left(R12, R9, lsl_shift);
-      __ bind(L);
-    }
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(8/bytes_per_count), L);
-      __ ldr(R10, Address(end_from, -8, pre_indexed));
-      __ orr(R12, R12, AsmOperand(R10, lsr, lsr_shift));
-      __ str(R12, Address(end_to, -8, pre_indexed));
-      __ logical_shift_left(R12, R10, lsl_shift);
-      __ bind(L);
-    }
-
-    const int have_bytes = lsr_shift/BitsPerByte; // number of already read bytes in R12
-
-    // It remains less than wordSize to write.
-    // Do not check count if R12 already has maximal number of loaded elements (one less than wordSize).
-    if (have_bytes < wordSize - bytes_per_count) {
-      Label L;
-      __ andr(count, count, (uintx)(8/bytes_per_count-1)); // make count exact
-      __ cmp_32(count, have_bytes/bytes_per_count); // do we have enough bytes to store?
-      __ b(L, le);
-      __ ldr(R10, Address(end_from, -8, pre_indexed));
-      __ orr(R12, R12, AsmOperand(R10, lsr, lsr_shift));
-      __ bind(L);
-    }
-
-    assert (bytes_per_count <= 4, "must be");
-
-    {
-      Label L;
-      __ tbz(count, exact_log2(4/bytes_per_count), L);
-      __ logical_shift_right(R9, R12, (wordSize-4)*BitsPerByte);
-      __ str_w(R9, Address(end_to, -4, pre_indexed)); // Write 4 MSB
-      if (bytes_per_count < 4) {
-        __ logical_shift_left(R12, R12, 4*BitsPerByte); // Promote remaining bytes to MSB
-      }
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 2) {
-      Label L;
-      __ tbz(count, exact_log2(2/bytes_per_count), L);
-      __ logical_shift_right(R9, R12, (wordSize-2)*BitsPerByte);
-      __ strh(R9, Address(end_to, -2, pre_indexed)); // Write 2 MSB
-      if (bytes_per_count < 2) {
-        __ logical_shift_left(R12, R12, 2*BitsPerByte); // Promote remaining bytes to MSB
-      }
-      __ bind(L);
-    }
-
-    if (bytes_per_count <= 1) {
-      Label L;
-      __ tbz(count, exact_log2(1/bytes_per_count), L);
-      __ logical_shift_right(R9, R12, (wordSize-1)*BitsPerByte);
-      __ strb(R9, Address(end_to, -1, pre_indexed)); // Write 1 MSB
-      __ bind(L);
-    }
-#else
       switch(bytes_per_count) {
       case 2:
       __ mov(R12, AsmOperand(R3, lsl, lsl_shift)); // part of R3 not yet written
@@ -2246,7 +1654,6 @@
 
       break;
       }
-#endif // AARCH64
 
     __ BIND(L_done);
     return 0; // no minimum
@@ -2261,27 +1668,6 @@
     }
   }
 
-#ifdef AARCH64
-  // Loads one 'size_in_bytes'-sized value from 'from' in given direction, i.e.
-  //   if forward:  loads value at from and increases from by size
-  //   if !forward: loads value at from-size_in_bytes and decreases from by size
-  void load_one(Register rd, Register from, int size_in_bytes, bool forward) {
-    assert_different_registers(from, rd);
-    Address addr = get_addr_with_indexing(from, size_in_bytes, forward);
-    __ load_sized_value(rd, addr, size_in_bytes, false);
-  }
-
-  // Stores one 'size_in_bytes'-sized value to 'to' in given direction (see load_one)
-  void store_one(Register rd, Register to, int size_in_bytes, bool forward) {
-    assert_different_registers(to, rd);
-    Address addr = get_addr_with_indexing(to, size_in_bytes, forward);
-    __ store_sized_value(rd, addr, size_in_bytes);
-  }
-#else
-  // load_one and store_one are the same as for AArch64 except for
-  //   *) Support for condition execution
-  //   *) Second value register argument for 8-byte values
-
   void load_one(Register rd, Register from, int size_in_bytes, bool forward, AsmCondition cond = al, Register rd2 = noreg) {
     assert_different_registers(from, rd, rd2);
     if (size_in_bytes < 8) {
@@ -2315,7 +1701,6 @@
       }
     }
   }
-#endif // AARCH64
 
   // Copies data from 'from' to 'to' in specified direction to align 'from' by 64 bits.
   // (on 32-bit ARM 64-bit alignment is better for LDM).
@@ -2336,36 +1721,6 @@
   // Returns maximum number of bytes which may be copied.
   int align_src(Register from, Register to, Register count, Register tmp, int bytes_per_count, bool forward) {
     assert_different_registers(from, to, count, tmp);
-#ifdef AARCH64
-    // TODO-AARCH64: replace by simple loop?
-    Label Laligned_by_2, Laligned_by_4, Laligned_by_8;
-
-    if (bytes_per_count == 1) {
-      __ tbz(from, 0, Laligned_by_2);
-      __ sub_32(count, count, 1);
-      load_one(tmp, from, 1, forward);
-      store_one(tmp, to, 1, forward);
-    }
-
-    __ BIND(Laligned_by_2);
-
-    if (bytes_per_count <= 2) {
-      __ tbz(from, 1, Laligned_by_4);
-      __ sub_32(count, count, 2/bytes_per_count);
-      load_one(tmp, from, 2, forward);
-      store_one(tmp, to, 2, forward);
-    }
-
-    __ BIND(Laligned_by_4);
-
-    if (bytes_per_count <= 4) {
-      __ tbz(from, 2, Laligned_by_8);
-      __ sub_32(count, count, 4/bytes_per_count);
-      load_one(tmp, from, 4, forward);
-      store_one(tmp, to, 4, forward);
-    }
-    __ BIND(Laligned_by_8);
-#else // AARCH64
     if (bytes_per_count < 8) {
       Label L_align_src;
       __ BIND(L_align_src);
@@ -2378,7 +1733,6 @@
         __ b(L_align_src, ne); // if bytes_per_count == 4, then 0 or 1 loop iterations are enough
       }
     }
-#endif // AARCH64
     return 7/bytes_per_count;
   }
 
@@ -2398,19 +1752,6 @@
     assert_different_registers(from, to, count, tmp);
 
     __ align(OptoLoopAlignment);
-#ifdef AARCH64
-    Label L_small_array_done, L_small_array_loop;
-    __ BIND(entry);
-    __ cbz_32(count, L_small_array_done);
-
-    __ BIND(L_small_array_loop);
-    __ subs_32(count, count, 1);
-    load_one(tmp, from, bytes_per_count, forward);
-    store_one(tmp, to, bytes_per_count, forward);
-    __ b(L_small_array_loop, gt);
-
-    __ BIND(L_small_array_done);
-#else
     Label L_small_loop;
     __ BIND(L_small_loop);
     store_one(tmp, to, bytes_per_count, forward, al, tmp2);
@@ -2418,7 +1759,6 @@
     __ subs(count, count, 1);
     load_one(tmp, from, bytes_per_count, forward, ge, tmp2);
     __ b(L_small_loop, ge);
-#endif // AARCH64
   }
 
   // Aligns 'to' by reading one word from 'from' and writting its part to 'to'.
@@ -2500,7 +1840,7 @@
 
     assert (0 < to_remainder && to_remainder < wordSize, "to_remainder is invalid");
 
-    const Register tmp  = forward ? R3 : R12; // TODO-AARCH64: on cojoint_short R4 was used for tmp
+    const Register tmp  = forward ? R3 : R12;
     assert_different_registers(from, to, count, Rval, tmp);
 
     int required_to_align = align_dst(to, count, Rval, tmp, to_remainder, bytes_per_count, forward);
@@ -2534,7 +1874,7 @@
   //     shifts 'to' by the number of copied bytes
   //
   // Scratches 'from', 'count', R3 and R12.
-  // On AArch64 also scratches R4-R10, on 32-bit ARM saves them to use.
+  // R4-R10 saved for use.
   int align_dst_and_generate_shifted_copy_loop(Register from, Register to, Register count, int bytes_per_count, bool forward) {
 
     const Register Rval = forward ? R12 : R3; // as generate_{forward,backward}_shifted_copy_loop expect
@@ -2544,100 +1884,6 @@
     // Note: if {seq} is a sequence of numbers, L{seq} means that if the execution reaches this point,
     // then the remainder of 'to' divided by wordSize is one of elements of {seq}.
 
-#ifdef AARCH64
-    // TODO-AARCH64: simplify, tune
-
-    load_one(Rval, from, wordSize, forward);
-
-    Label L_loop_finished;
-
-    switch (bytes_per_count) {
-      case 4:
-        min_copy = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 4, bytes_per_count, forward);
-        break;
-      case 2:
-      {
-        Label L2, L4, L6;
-
-        __ tbz(to, 1, L4);
-        __ tbz(to, 2, L2);
-
-        __ BIND(L6);
-        int min_copy6 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 6, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L2);
-        int min_copy2 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 2, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L4);
-        int min_copy4 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 4, bytes_per_count, forward);
-
-        min_copy = MAX2(MAX2(min_copy2, min_copy4), min_copy6);
-        break;
-      }
-      case 1:
-      {
-        Label L1, L2, L3, L4, L5, L6, L7;
-        Label L15, L26;
-        Label L246;
-
-        __ tbz(to, 0, L246);
-        __ tbz(to, 1, L15);
-        __ tbz(to, 2, L3);
-
-        __ BIND(L7);
-        int min_copy7 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 7, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L246);
-        __ tbnz(to, 1, L26);
-
-        __ BIND(L4);
-        int min_copy4 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 4, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L15);
-        __ tbz(to, 2, L1);
-
-        __ BIND(L5);
-        int min_copy5 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 5, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L3);
-        int min_copy3 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 3, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L26);
-        __ tbz(to, 2, L2);
-
-        __ BIND(L6);
-        int min_copy6 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 6, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L1);
-        int min_copy1 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 1, bytes_per_count, forward);
-        __ b(L_loop_finished);
-
-        __ BIND(L2);
-        int min_copy2 = align_dst_and_generate_shifted_copy_loop(from, to, count, Rval, 2, bytes_per_count, forward);
-
-
-        min_copy = MAX2(min_copy1, min_copy2);
-        min_copy = MAX2(min_copy,  min_copy3);
-        min_copy = MAX2(min_copy,  min_copy4);
-        min_copy = MAX2(min_copy,  min_copy5);
-        min_copy = MAX2(min_copy,  min_copy6);
-        min_copy = MAX2(min_copy,  min_copy7);
-        break;
-      }
-      default:
-        ShouldNotReachHere();
-        break;
-    }
-    __ BIND(L_loop_finished);
-
-#else
     __ push(RegisterSet(R4,R10));
     load_one(Rval, from, wordSize, forward);
 
@@ -2694,7 +1940,6 @@
     }
 
     __ pop(RegisterSet(R4,R10));
-#endif // AARCH64
 
     return min_copy;
   }
@@ -2776,7 +2021,7 @@
 
     Label L_small_array;
     __ cmp_32(count, small_copy_limit);
-    __ b(L_small_array, le); // TODO-AARCH64: le vs lt
+    __ b(L_small_array, le);
 
     // Otherwise proceed with large implementation.
 
@@ -2864,7 +2109,7 @@
   //               if 'forward' then 'to' == upper bound, else 'to' == beginning of the modified region
   //     count:    total number of copied elements, 32-bit int
   //
-  // Blows all volatile (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR) and 'to', 'count', 'tmp' registers.
+  // Blows all volatile R0-R3, Rtemp, LR) and 'to', 'count', 'tmp' registers.
   void oop_arraycopy_stub_epilogue_helper(Register to, Register count, Register tmp, bool status, bool forward, DecoratorSet decorators) {
     assert_different_registers(to, count, tmp);
 
@@ -2883,12 +2128,7 @@
       __ mov(R0, 0); // OK
     }
 
-#ifdef AARCH64
-    __ raw_pop(LR, ZR);
-    __ ret();
-#else
     __ pop(PC);
-#endif // AARCH64
   }
 
 
@@ -2939,11 +2179,7 @@
     const int callee_saved_regs = 3; // R0-R2
 
     // LR is used later to save barrier args
-#ifdef AARCH64
-    __ raw_push(LR, ZR);
-#else
     __ push(LR);
-#endif // AARCH64
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY;
     if (disjoint) {
@@ -3021,13 +2257,8 @@
     }
 
     if (!to_is_aligned) {
-      // !to_is_aligned <=> UseCompressedOops && AArch64
       __ BIND(L_unaligned_dst);
-#ifdef AARCH64
-      assert (UseCompressedOops, "unaligned oop array copy may be requested only with UseCompressedOops");
-#else
       ShouldNotReachHere();
-#endif // AARCH64
       int min_copy_shifted = align_dst_and_generate_shifted_copy_loop(from, to, count, bytes_per_count, forward);
       assert (small_copy_limit >= count_required_to_align + min_copy_shifted, "first loop might exhaust count");
 
@@ -3060,10 +2291,6 @@
     __ align(CodeEntryAlignment);
     StubCodeMark mark(this, "StubRoutines", name);
     address start = __ pc();
-#ifdef AARCH64
-    __ NOT_IMPLEMENTED();
-    start = NULL;
-#else
     const Register tmp = Rtemp;
 
     // bump this on entry, not on exit:
@@ -3085,7 +2312,6 @@
     __ jump(StubRoutines::_jshort_arraycopy, relocInfo::runtime_call_type, tmp, eq);
 
     __ jump(StubRoutines::_jbyte_arraycopy, relocInfo::runtime_call_type, tmp);
-#endif
     return start;
   }
 
@@ -3185,7 +2411,7 @@
   //      to:    R1
   //      count: R2 treated as signed 32-bit int
   //      ckoff: R3 (super_check_offset)
-  //      ckval: R4 (AArch64) / SP[0] (32-bit ARM) (super_klass)
+  //      ckval: R4 (super_klass)
   //      ret:   R0 zero for success; (-1^K) where K is partial transfer count (32-bit)
   //
   address generate_checkcast_copy(const char * name) {
@@ -3200,7 +2426,7 @@
     const Register R3_ckoff  = R3;      // super_check_offset
     const Register R4_ckval  = R4;      // super_klass
 
-    const int callee_saved_regs = AARCH64_ONLY(5) NOT_AARCH64(4); // LR saved differently
+    const int callee_saved_regs = 4; // LR saved differently
 
     Label load_element, store_element, do_epilogue, fail;
 
@@ -3208,52 +2434,34 @@
 
     __ zap_high_non_significant_bits(R2);
 
-#ifdef AARCH64
-    __ raw_push(LR, ZR);
-    __ raw_push(R19, R20);
-#else
     int pushed = 0;
     __ push(LR);
     pushed+=1;
-#endif // AARCH64
 
     DecoratorSet decorators = IN_HEAP | IS_ARRAY | ARRAYCOPY_CHECKCAST;
 
     BarrierSetAssembler *bs = BarrierSet::barrier_set()->barrier_set_assembler();
     bs->arraycopy_prologue(_masm, decorators, true, to, count, callee_saved_regs);
 
-#ifndef AARCH64
     const RegisterSet caller_saved_regs = RegisterSet(R4,R6) | RegisterSet(R8,R9) | altFP_7_11;
     __ push(caller_saved_regs);
     assert(caller_saved_regs.size() == 6, "check the count");
     pushed+=6;
 
     __ ldr(R4_ckval,Address(SP, wordSize*pushed)); // read the argument that was on the stack
-#endif // !AARCH64
 
     // Save arguments for barrier generation (after the pre barrier):
     // - must be a caller saved register and not LR
     // - ARM32: avoid R10 in case RThread is needed
-    const Register saved_count = AARCH64_ONLY(R19) NOT_AARCH64(altFP_7_11);
-#ifdef AARCH64
-    __ mov_w(saved_count, count);
-    __ cbnz_w(count, load_element); // and test count
-#else
+    const Register saved_count = altFP_7_11;
     __ movs(saved_count, count); // and test count
     __ b(load_element,ne);
-#endif // AARCH64
 
     // nothing to copy
     __ mov(R0, 0);
 
-#ifdef AARCH64
-    __ raw_pop(R19, R20);
-    __ raw_pop(LR, ZR);
-    __ ret();
-#else
     __ pop(caller_saved_regs);
     __ pop(PC);
-#endif // AARCH64
 
     // ======== begin loop ========
     // (Loop is rotated; its entry is load_element.)
@@ -3290,7 +2498,7 @@
 
     __ BIND(do_epilogue);
 
-    Register copied = AARCH64_ONLY(R20) NOT_AARCH64(R4); // saved
+    Register copied = R4; // saved
     Label L_not_copied;
 
     __ subs_32(copied, saved_count, count); // copied count (in saved reg)
@@ -3306,17 +2514,10 @@
     __ BIND(L_not_copied);
     __ cmp_32(copied, saved_count); // values preserved in saved registers
 
-#ifdef AARCH64
-    __ csinv(R0, ZR, copied, eq); // 0 if all copied else NOT(copied)
-    __ raw_pop(R19, R20);
-    __ raw_pop(LR, ZR);
-    __ ret();
-#else
     __ mov(R0, 0, eq); // 0 if all copied
     __ mvn(R0, copied, ne); // else NOT(copied)
     __ pop(caller_saved_regs);
     __ pop(PC);
-#endif // AARCH64
 
     return start;
   }
@@ -3360,7 +2561,7 @@
   //    R1    -  src_pos (32-bit int)
   //    R2    -  dst oop
   //    R3    -  dst_pos (32-bit int)
-  //    R4 (AArch64) / SP[0] (32-bit ARM) -  element count (32-bit int)
+  //    SP[0] -  element count (32-bit int)
   //
   //  Output: (32-bit int)
   //    R0 ==  0  -  success
@@ -3378,7 +2579,7 @@
     // registers used as temp
     const Register R5_src_klass = R5; // source array klass
     const Register R6_dst_klass = R6; // destination array klass
-    const Register R_lh         = AARCH64_ONLY(R7) NOT_AARCH64(altFP_7_11); // layout handler
+    const Register R_lh         = altFP_7_11; // layout handler
     const Register R8_temp      = R8;
 
     __ align(CodeEntryAlignment);
@@ -3389,21 +2590,17 @@
     __ zap_high_non_significant_bits(R3);
     __ zap_high_non_significant_bits(R4);
 
-#ifndef AARCH64
     int pushed = 0;
     const RegisterSet saved_regs = RegisterSet(R4,R6) | RegisterSet(R8,R9) | altFP_7_11;
     __ push(saved_regs);
     assert(saved_regs.size() == 6, "check the count");
     pushed+=6;
-#endif // !AARCH64
 
     // bump this on entry, not on exit:
     inc_counter_np(SharedRuntime::_generic_array_copy_ctr, R5, R12);
 
     const Register length   = R4;  // elements count
-#ifndef AARCH64
     __ ldr(length, Address(SP,4*pushed));
-#endif // !AARCH64
 
 
     //-----------------------------------------------------------------------
@@ -3496,43 +2693,6 @@
       // 'from', 'to', 'count' registers should be set in this order
       // since they are the same as 'src', 'src_pos', 'dst'.
 
-#ifdef AARCH64
-
-      BLOCK_COMMENT("choose copy loop based on element size and scale indexes");
-      Label Lbyte, Lshort, Lint, Llong;
-
-      __ cbz(R12_elsize, Lbyte);
-
-      assert (LogBytesPerShort < LogBytesPerInt && LogBytesPerInt < LogBytesPerLong, "must be");
-      __ cmp(R12_elsize, LogBytesPerInt);
-      __ b(Lint,  eq);
-      __ b(Llong, gt);
-
-      __ BIND(Lshort);
-      __ add_ptr_scaled_int32(from, src, src_pos, LogBytesPerShort);
-      __ add_ptr_scaled_int32(to,   dst, dst_pos, LogBytesPerShort);
-      __ mov(count, length);
-      __ b(StubRoutines::_jshort_arraycopy);
-
-      __ BIND(Lint);
-      __ add_ptr_scaled_int32(from, src, src_pos, LogBytesPerInt);
-      __ add_ptr_scaled_int32(to,   dst, dst_pos, LogBytesPerInt);
-      __ mov(count, length);
-      __ b(StubRoutines::_jint_arraycopy);
-
-      __ BIND(Lbyte);
-      __ add_ptr_scaled_int32(from, src, src_pos, 0);
-      __ add_ptr_scaled_int32(to,   dst, dst_pos, 0);
-      __ mov(count, length);
-      __ b(StubRoutines::_jbyte_arraycopy);
-
-      __ BIND(Llong);
-      __ add_ptr_scaled_int32(from, src, src_pos, LogBytesPerLong);
-      __ add_ptr_scaled_int32(to,   dst, dst_pos, LogBytesPerLong);
-      __ mov(count, length);
-      __ b(StubRoutines::_jlong_arraycopy);
-
-#else // AARCH64
 
       BLOCK_COMMENT("scale indexes to element size");
       __ add(from, src, AsmOperand(src_pos, lsl, R12_elsize));       // src_addr
@@ -3556,7 +2716,6 @@
 
       __ b(StubRoutines::_jlong_arraycopy);
 
-#endif // AARCH64
     }
 
     // ObjArrayKlass
@@ -3586,9 +2745,7 @@
       __ BIND(L_plain_copy);
       __ mov(count, length);
 
-#ifndef AARCH64
       __ pop(saved_regs); // XXX optim: avoid later push in oop_arraycopy ?
-#endif // !AARCH64
       __ b(StubRoutines::_oop_arraycopy);
     }
 
@@ -3628,28 +2785,24 @@
       __ ldr_u32(sco_temp, Address(R6_dst_klass, sco_offset));
       generate_type_check(R5_src_klass, sco_temp, R6_dst_klass,
                           R8_temp, R9,
-                          AARCH64_ONLY(R10) NOT_AARCH64(R12),
+                          R12,
                           L_plain_copy);
 
       // Fetch destination element klass from the ObjArrayKlass header.
       int ek_offset = in_bytes(ObjArrayKlass::element_klass_offset());
 
       // the checkcast_copy loop needs two extra arguments:
-      const Register Rdst_elem_klass = AARCH64_ONLY(R4) NOT_AARCH64(R3);
+      const Register Rdst_elem_klass = R3;
       __ ldr(Rdst_elem_klass, Address(R6_dst_klass, ek_offset));   // dest elem klass
-#ifndef AARCH64
       __ pop(saved_regs); // XXX optim: avoid later push in oop_arraycopy ?
       __ str(Rdst_elem_klass, Address(SP,0));    // dest elem klass argument
-#endif // !AARCH64
       __ ldr_u32(R3, Address(Rdst_elem_klass, sco_offset));  // sco of elem klass
       __ b(StubRoutines::_checkcast_arraycopy);
     }
 
     __ BIND(L_failed);
 
-#ifndef AARCH64
     __ pop(saved_regs);
-#endif // !AARCH64
     __ mvn(R0, 0); // failure, with 0 copied
     __ ret();
 
@@ -3683,11 +2836,7 @@
         break;
 
       case 8: // int64_t
-#ifdef AARCH64
-        __ ldr(R1, Address(R0));
-#else
         Unimplemented();
-#endif // AARCH64
         break;
 
       default:
@@ -3765,467 +2914,8 @@
 
   }
 
-#ifndef AARCH64
 #define COMPILE_CRYPTO
 #include "stubRoutinesCrypto_arm.cpp"
-#else
-
-#ifdef COMPILER2
-  // Arguments:
-  //
-  // Inputs:
-  //   c_rarg0   - source byte array address
-  //   c_rarg1   - destination byte array address
-  //   c_rarg2   - K (key) in little endian int array
-  //
-  address generate_aescrypt_encryptBlock() {
-    __ align(CodeEntryAlignment);
-    StubCodeMark mark(this, "StubRoutines", "aescrypt_encryptBlock");
-
-    Label L_doLast;
-
-    const Register from        = c_rarg0;  // source array address
-    const Register to          = c_rarg1;  // destination array address
-    const Register key         = c_rarg2;  // key array address
-    const Register keylen      = R8;
-
-    address start = __ pc();
-    __ stp(FP, LR, Address(SP, -2 * wordSize, pre_indexed));
-    __ mov(FP, SP);
-
-    __ ldr_w(keylen, Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)));
-
-    __ vld1(V0, Address(from), MacroAssembler::VELEM_SIZE_8, 128); // get 16 bytes of input
-
-    __ vld1(V1, V2, V3, V4, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-
-    int quad = 1;
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V3, V3, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V4, V4, MacroAssembler::VELEM_SIZE_8, quad);
-    __ aese(V0, V1);
-    __ aesmc(V0, V0);
-    __ aese(V0, V2);
-    __ aesmc(V0, V0);
-    __ aese(V0, V3);
-    __ aesmc(V0, V0);
-    __ aese(V0, V4);
-    __ aesmc(V0, V0);
-
-    __ vld1(V1, V2, V3, V4, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V3, V3, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V4, V4, MacroAssembler::VELEM_SIZE_8, quad);
-    __ aese(V0, V1);
-    __ aesmc(V0, V0);
-    __ aese(V0, V2);
-    __ aesmc(V0, V0);
-    __ aese(V0, V3);
-    __ aesmc(V0, V0);
-    __ aese(V0, V4);
-    __ aesmc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ cmp_w(keylen, 44);
-    __ b(L_doLast, eq);
-
-    __ aese(V0, V1);
-    __ aesmc(V0, V0);
-    __ aese(V0, V2);
-    __ aesmc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ cmp_w(keylen, 52);
-    __ b(L_doLast, eq);
-
-    __ aese(V0, V1);
-    __ aesmc(V0, V0);
-    __ aese(V0, V2);
-    __ aesmc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ BIND(L_doLast);
-
-    __ aese(V0, V1);
-    __ aesmc(V0, V0);
-    __ aese(V0, V2);
-
-    __ vld1(V1, Address(key), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ eor(V0, V0, V1, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ vst1(V0, Address(to), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ mov(R0, 0);
-
-    __ mov(SP, FP);
-    __ ldp(FP, LR, Address(SP, 2 * wordSize, post_indexed));
-    __ ret(LR);
-
-    return start;
-  }
-
-  // Arguments:
-  //
-  // Inputs:
-  //   c_rarg0   - source byte array address
-  //   c_rarg1   - destination byte array address
-  //   c_rarg2   - K (key) in little endian int array
-  //
-  address generate_aescrypt_decryptBlock() {
-    assert(UseAES, "need AES instructions and misaligned SSE support");
-    __ align(CodeEntryAlignment);
-    StubCodeMark mark(this, "StubRoutines", "aescrypt_decryptBlock");
-    Label L_doLast;
-
-    const Register from        = c_rarg0;  // source array address
-    const Register to          = c_rarg1;  // destination array address
-    const Register key         = c_rarg2;  // key array address
-    const Register keylen      = R8;
-
-    address start = __ pc();
-    __ stp(FP, LR, Address(SP, -2 * wordSize, pre_indexed));
-    __ mov(FP, SP);
-
-    __ ldr_w(keylen, Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)));
-
-    __ vld1(V0, Address(from), MacroAssembler::VELEM_SIZE_8, 128); // get 16 bytes of input
-
-    __ vld1(V5, Address(key, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-
-    int quad = 1;
-    __ rev32(V5, V5, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ vld1(V1, V2, V3, V4, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V3, V3, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V4, V4, MacroAssembler::VELEM_SIZE_8, quad);
-    __ aesd(V0, V1);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V2);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V3);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V4);
-    __ aesimc(V0, V0);
-
-    __ vld1(V1, V2, V3, V4, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V3, V3, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V4, V4, MacroAssembler::VELEM_SIZE_8, quad);
-    __ aesd(V0, V1);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V2);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V3);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V4);
-    __ aesimc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ cmp_w(keylen, 44);
-    __ b(L_doLast, eq);
-
-    __ aesd(V0, V1);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V2);
-    __ aesimc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ cmp_w(keylen, 52);
-    __ b(L_doLast, eq);
-
-    __ aesd(V0, V1);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V2);
-    __ aesimc(V0, V0);
-
-    __ vld1(V1, V2, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V2, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ BIND(L_doLast);
-
-    __ aesd(V0, V1);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V2);
-
-    __ eor(V0, V0, V5, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ vst1(V0, Address(to), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ mov(R0, 0);
-
-    __ mov(SP, FP);
-    __ ldp(FP, LR, Address(SP, 2 * wordSize, post_indexed));
-    __ ret(LR);
-
-
-    return start;
-  }
-
-  // Arguments:
-  //
-  // Inputs:
-  //   c_rarg0   - source byte array address
-  //   c_rarg1   - destination byte array address
-  //   c_rarg2   - K (key) in little endian int array
-  //   c_rarg3   - r vector byte array address
-  //   c_rarg4   - input length
-  //
-  // Output:
-  //   x0        - input length
-  //
-  address generate_cipherBlockChaining_encryptAESCrypt() {
-    assert(UseAES, "need AES instructions and misaligned SSE support");
-    __ align(CodeEntryAlignment);
-    StubCodeMark mark(this, "StubRoutines", "cipherBlockChaining_encryptAESCrypt");
-
-    Label L_loadkeys_44, L_loadkeys_52, L_aes_loop, L_rounds_44, L_rounds_52;
-
-    const Register from        = c_rarg0;  // source array address
-    const Register to          = c_rarg1;  // destination array address
-    const Register key         = c_rarg2;  // key array address
-    const Register rvec        = c_rarg3;  // r byte array initialized from initvector array address
-                                           // and left with the results of the last encryption block
-    const Register len_reg     = c_rarg4;  // src len (must be multiple of blocksize 16)
-    const Register keylen      = R8;
-
-    address start = __ pc();
-    __ stp(FP, LR, Address(SP, -2 * wordSize, pre_indexed));
-    __ mov(FP, SP);
-
-    __ mov(R9, len_reg);
-    __ ldr_w(keylen, Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)));
-
-    __ vld1(V0, Address(rvec), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ cmp_w(keylen, 52);
-    __ b(L_loadkeys_44, cc);
-    __ b(L_loadkeys_52, eq);
-
-    __ vld1(V17, V18, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-
-    int quad = 1;
-    __ rev32(V17, V17, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V18, V18, MacroAssembler::VELEM_SIZE_8, quad);
-    __ BIND(L_loadkeys_52);
-    __ vld1(V19, V20, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V19, V19, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V20, V20, MacroAssembler::VELEM_SIZE_8, quad);
-    __ BIND(L_loadkeys_44);
-    __ vld1(V21, V22, V23, V24, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V21, V21, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V22, V22, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V23, V23, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V24, V24, MacroAssembler::VELEM_SIZE_8, quad);
-    __ vld1(V25, V26, V27, V28, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V25, V25, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V26, V26, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V27, V27, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V28, V28, MacroAssembler::VELEM_SIZE_8, quad);
-    __ vld1(V29, V30, V31, Address(key), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V29, V29, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V30, V30, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V31, V31, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ BIND(L_aes_loop);
-    __ vld1(V1, Address(from, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ eor(V0, V0, V1, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ b(L_rounds_44, cc);
-    __ b(L_rounds_52, eq);
-
-    __ aese(V0, V17);
-    __ aesmc(V0, V0);
-    __ aese(V0, V18);
-    __ aesmc(V0, V0);
-    __ BIND(L_rounds_52);
-    __ aese(V0, V19);
-    __ aesmc(V0, V0);
-    __ aese(V0, V20);
-    __ aesmc(V0, V0);
-    __ BIND(L_rounds_44);
-    __ aese(V0, V21);
-    __ aesmc(V0, V0);
-    __ aese(V0, V22);
-    __ aesmc(V0, V0);
-    __ aese(V0, V23);
-    __ aesmc(V0, V0);
-    __ aese(V0, V24);
-    __ aesmc(V0, V0);
-    __ aese(V0, V25);
-    __ aesmc(V0, V0);
-    __ aese(V0, V26);
-    __ aesmc(V0, V0);
-    __ aese(V0, V27);
-    __ aesmc(V0, V0);
-    __ aese(V0, V28);
-    __ aesmc(V0, V0);
-    __ aese(V0, V29);
-    __ aesmc(V0, V0);
-    __ aese(V0, V30);
-    __ eor(V0, V0, V31, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ vst1(V0, Address(to, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ sub(len_reg, len_reg, 16);
-    __ cbnz(len_reg, L_aes_loop);
-
-    __ vst1(V0, Address(rvec), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ mov(R0, R9);
-
-    __ mov(SP, FP);
-    __ ldp(FP, LR, Address(SP, 2 * wordSize, post_indexed));
-    __ ret(LR);
-
-    return start;
-  }
-
-  // Arguments:
-  //
-  // Inputs:
-  //   c_rarg0   - source byte array address
-  //   c_rarg1   - destination byte array address
-  //   c_rarg2   - K (key) in little endian int array
-  //   c_rarg3   - r vector byte array address
-  //   c_rarg4   - input length
-  //
-  // Output:
-  //   rax       - input length
-  //
-  address generate_cipherBlockChaining_decryptAESCrypt() {
-    assert(UseAES, "need AES instructions and misaligned SSE support");
-    __ align(CodeEntryAlignment);
-    StubCodeMark mark(this, "StubRoutines", "cipherBlockChaining_decryptAESCrypt");
-
-    Label L_loadkeys_44, L_loadkeys_52, L_aes_loop, L_rounds_44, L_rounds_52;
-
-    const Register from        = c_rarg0;  // source array address
-    const Register to          = c_rarg1;  // destination array address
-    const Register key         = c_rarg2;  // key array address
-    const Register rvec        = c_rarg3;  // r byte array initialized from initvector array address
-                                           // and left with the results of the last encryption block
-    const Register len_reg     = c_rarg4;  // src len (must be multiple of blocksize 16)
-    const Register keylen      = R8;
-
-    address start = __ pc();
-    __ stp(FP, LR, Address(SP, -2 * wordSize, pre_indexed));
-    __ mov(FP, SP);
-
-    __ mov(R9, len_reg);
-    __ ldr_w(keylen, Address(key, arrayOopDesc::length_offset_in_bytes() - arrayOopDesc::base_offset_in_bytes(T_INT)));
-
-    __ vld1(V2, Address(rvec), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ vld1(V31, Address(key, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-
-    int quad = 1;
-    __ rev32(V31, V31, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ cmp_w(keylen, 52);
-    __ b(L_loadkeys_44, cc);
-    __ b(L_loadkeys_52, eq);
-
-    __ vld1(V17, V18, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V17, V17, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V18, V18, MacroAssembler::VELEM_SIZE_8, quad);
-    __ BIND(L_loadkeys_52);
-    __ vld1(V19, V20, Address(key, 32, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V19, V19, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V20, V20, MacroAssembler::VELEM_SIZE_8, quad);
-    __ BIND(L_loadkeys_44);
-    __ vld1(V21, V22, V23, V24, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V21, V21, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V22, V22, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V23, V23, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V24, V24, MacroAssembler::VELEM_SIZE_8, quad);
-    __ vld1(V25, V26, V27, V28, Address(key, 64, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V25, V25, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V26, V26, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V27, V27, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V28, V28, MacroAssembler::VELEM_SIZE_8, quad);
-    __ vld1(V29, V30, Address(key), MacroAssembler::VELEM_SIZE_8, 128);
-    __ rev32(V29, V29, MacroAssembler::VELEM_SIZE_8, quad);
-    __ rev32(V30, V30, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ BIND(L_aes_loop);
-    __ vld1(V0, Address(from, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ orr(V1, V0, V0, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ b(L_rounds_44, cc);
-    __ b(L_rounds_52, eq);
-
-    __ aesd(V0, V17);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V17);
-    __ aesimc(V0, V0);
-    __ BIND(L_rounds_52);
-    __ aesd(V0, V19);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V20);
-    __ aesimc(V0, V0);
-    __ BIND(L_rounds_44);
-    __ aesd(V0, V21);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V22);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V23);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V24);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V25);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V26);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V27);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V28);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V29);
-    __ aesimc(V0, V0);
-    __ aesd(V0, V30);
-    __ eor(V0, V0, V31, MacroAssembler::VELEM_SIZE_8, quad);
-    __ eor(V0, V0, V2, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ vst1(V0, Address(to, 16, post_indexed), MacroAssembler::VELEM_SIZE_8, 128);
-    __ orr(V2, V1, V1, MacroAssembler::VELEM_SIZE_8, quad);
-
-    __ sub(len_reg, len_reg, 16);
-    __ cbnz(len_reg, L_aes_loop);
-
-    __ vst1(V2, Address(rvec), MacroAssembler::VELEM_SIZE_8, 128);
-
-    __ mov(R0, R9);
-
-    __ mov(SP, FP);
-    __ ldp(FP, LR, Address(SP, 2 * wordSize, post_indexed));
-    __ ret(LR);
-
-    return start;
-  }
-
-#endif // COMPILER2
-#endif // AARCH64
 
  private:
 
@@ -4298,7 +2988,6 @@
     // stub for throwing stack overflow error used both by interpreter and compiler
     StubRoutines::_throw_StackOverflowError_entry  = generate_throw_exception("StackOverflowError throw_exception", CAST_FROM_FN_PTR(address, SharedRuntime::throw_StackOverflowError));
 
-#ifndef AARCH64
     // integer division used both by interpreter and compiler
     StubRoutines::Arm::_idiv_irem_entry = generate_idiv_irem();
 
@@ -4308,7 +2997,6 @@
     StubRoutines::_atomic_cmpxchg_long_entry = generate_atomic_cmpxchg_long();
     StubRoutines::_atomic_load_long_entry = generate_atomic_load_long();
     StubRoutines::_atomic_store_long_entry = generate_atomic_store_long();
-#endif // !AARCH64
   }
 
   void generate_all() {
@@ -4338,24 +3026,10 @@
     generate_safefetch("SafeFetch32", sizeof(int), &StubRoutines::_safefetch32_entry,
                                                    &StubRoutines::_safefetch32_fault_pc,
                                                    &StubRoutines::_safefetch32_continuation_pc);
-#ifdef AARCH64
-    generate_safefetch("SafeFetchN", wordSize, &StubRoutines::_safefetchN_entry,
-                                               &StubRoutines::_safefetchN_fault_pc,
-                                               &StubRoutines::_safefetchN_continuation_pc);
-#ifdef COMPILER2
-    if (UseAESIntrinsics) {
-      StubRoutines::_aescrypt_encryptBlock = generate_aescrypt_encryptBlock();
-      StubRoutines::_aescrypt_decryptBlock = generate_aescrypt_decryptBlock();
-      StubRoutines::_cipherBlockChaining_encryptAESCrypt = generate_cipherBlockChaining_encryptAESCrypt();
-      StubRoutines::_cipherBlockChaining_decryptAESCrypt = generate_cipherBlockChaining_decryptAESCrypt();
-    }
-#endif
-#else
     assert (sizeof(int) == wordSize, "32-bit architecture");
     StubRoutines::_safefetchN_entry           = StubRoutines::_safefetch32_entry;
     StubRoutines::_safefetchN_fault_pc        = StubRoutines::_safefetch32_fault_pc;
     StubRoutines::_safefetchN_continuation_pc = StubRoutines::_safefetch32_continuation_pc;
-#endif // AARCH64
 
 #ifdef COMPILE_CRYPTO
     // generate AES intrinsics code
--- a/src/hotspot/cpu/arm/stubRoutines_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/stubRoutines_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -27,13 +27,9 @@
 #include "runtime/frame.inline.hpp"
 #include "runtime/stubRoutines.hpp"
 
-#ifndef AARCH64
 address StubRoutines::Arm::_idiv_irem_entry = NULL;
-#endif
 
 address StubRoutines::Arm::_partial_subtype_check = NULL;
 
-#ifndef AARCH64
 address StubRoutines::_atomic_load_long_entry = NULL;
 address StubRoutines::_atomic_store_long_entry = NULL;
-#endif
--- a/src/hotspot/cpu/arm/stubRoutines_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/stubRoutines_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -40,16 +40,12 @@
 
  private:
 
-#ifndef AARCH64
   static address _idiv_irem_entry;
-#endif
   static address _partial_subtype_check;
 
  public:
 
-#ifndef AARCH64
   static address idiv_irem_entry() { return _idiv_irem_entry; }
-#endif
   static address partial_subtype_check() { return _partial_subtype_check; }
 };
 
@@ -57,13 +53,11 @@
     return return_pc == _call_stub_return_address;
   }
 
-#ifndef AARCH64
   static address _atomic_load_long_entry;
   static address _atomic_store_long_entry;
 
   static address atomic_load_long_entry()                  { return _atomic_load_long_entry; }
   static address atomic_store_long_entry()                 { return _atomic_store_long_entry; }
-#endif
 
 
 #endif // CPU_ARM_VM_STUBROUTINES_ARM_HPP
--- a/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -65,7 +65,7 @@
   address entry = __ pc();
 
   // callee-save register for saving LR, shared with generate_native_entry
-  const Register Rsaved_ret_addr = AARCH64_ONLY(R21) NOT_AARCH64(Rtmp_save0);
+  const Register Rsaved_ret_addr = Rtmp_save0;
 
   __ mov(Rsaved_ret_addr, LR);
 
@@ -73,24 +73,6 @@
   __ mov(R2, Rlocals);
   __ mov(R3, SP);
 
-#ifdef AARCH64
-  // expand expr. stack and extended SP to avoid cutting SP in call_VM
-  __ mov(Rstack_top, SP);
-  __ str(Rstack_top, Address(FP, frame::interpreter_frame_extended_sp_offset * wordSize));
-  __ check_stack_top();
-
-  __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::slow_signature_handler), R1, R2, R3, false);
-
-  __ ldp(ZR,      c_rarg1, Address(SP, 2*wordSize, post_indexed));
-  __ ldp(c_rarg2, c_rarg3, Address(SP, 2*wordSize, post_indexed));
-  __ ldp(c_rarg4, c_rarg5, Address(SP, 2*wordSize, post_indexed));
-  __ ldp(c_rarg6, c_rarg7, Address(SP, 2*wordSize, post_indexed));
-
-  __ ldp_d(V0, V1, Address(SP, 2*wordSize, post_indexed));
-  __ ldp_d(V2, V3, Address(SP, 2*wordSize, post_indexed));
-  __ ldp_d(V4, V5, Address(SP, 2*wordSize, post_indexed));
-  __ ldp_d(V6, V7, Address(SP, 2*wordSize, post_indexed));
-#else
 
   // Safer to save R9 (when scratched) since callers may have been
   // written assuming R9 survives. This is suboptimal but
@@ -110,7 +92,6 @@
   // eliminate any gain imposed by avoiding 8 double word loads.
   __ fldmiad(SP, FloatRegisterSet(D0, 8), writeback);
 #endif // __ABI_HARD__
-#endif // AARCH64
 
   __ ret(Rsaved_ret_addr);
 
@@ -129,10 +110,6 @@
 address TemplateInterpreterGenerator::generate_abstract_entry(void) {
   address entry_point = __ pc();
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp);
-  __ restore_stack_top();
-#endif
 
   __ empty_expression_stack();
 
@@ -274,16 +251,11 @@
 
   __ interp_verify_oop(R0_tos, state, __FILE__, __LINE__);
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp);  // Restore SP to extended SP
-  __ restore_stack_top();
-#else
   // Restore stack bottom in case i2c adjusted stack
   __ ldr(SP, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
   // and NULL it as marker that SP is now tos until next java call
   __ mov(Rtemp, (int)NULL_WORD);
   __ str(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
 
   __ restore_method();
   __ restore_bcp();
@@ -299,9 +271,7 @@
   __ check_stack_top();
   __ add(Rstack_top, Rstack_top, AsmOperand(Rtemp, lsl, Interpreter::logStackElementSize));
 
-#ifndef AARCH64
   __ convert_retval_to_tos(state);
-#endif // !AARCH64
 
  __ check_and_handle_popframe();
  __ check_and_handle_earlyret();
@@ -317,15 +287,10 @@
 
   __ interp_verify_oop(R0_tos, state, __FILE__, __LINE__);
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp);  // Restore SP to extended SP
-  __ restore_stack_top();
-#else
   // The stack is not extended by deopt but we must NULL last_sp as this
   // entry is like a "return".
   __ mov(Rtemp, 0);
   __ str(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
 
   __ restore_method();
   __ restore_bcp();
@@ -351,32 +316,6 @@
 }
 
 address TemplateInterpreterGenerator::generate_result_handler_for(BasicType type) {
-#ifdef AARCH64
-  address entry = __ pc();
-  switch (type) {
-    case T_BOOLEAN:
-      __ tst(R0, 0xff);
-      __ cset(R0, ne);
-      break;
-    case T_CHAR   : __ zero_extend(R0, R0, 16);  break;
-    case T_BYTE   : __ sign_extend(R0, R0,  8);  break;
-    case T_SHORT  : __ sign_extend(R0, R0, 16);  break;
-    case T_INT    : // fall through
-    case T_LONG   : // fall through
-    case T_VOID   : // fall through
-    case T_FLOAT  : // fall through
-    case T_DOUBLE : /* nothing to do */          break;
-    case T_OBJECT :
-      // retrieve result from frame
-      __ ldr(R0, Address(FP, frame::interpreter_frame_oop_temp_offset * wordSize));
-      // and verify it
-      __ verify_oop(R0);
-      break;
-    default       : ShouldNotReachHere();
-  }
-  __ ret();
-  return entry;
-#else
   // Result handlers are not used on 32-bit ARM
   // since the returned value is already in appropriate format.
   __ should_not_reach_here();  // to avoid empty code block
@@ -384,7 +323,6 @@
   // The result handler non-zero indicates an object is returned and this is
   // used in the native entry code.
   return type == T_OBJECT ? (address)(-1) : NULL;
-#endif // AARCH64
 }
 
 address TemplateInterpreterGenerator::generate_safept_entry_for(TosState state, address runtime_entry) {
@@ -466,11 +404,7 @@
 
     __ add(Ricnt, Ricnt, InvocationCounter::count_increment);
 
-#ifdef AARCH64
-    __ andr(Rbcnt, Rbcnt, (unsigned int)InvocationCounter::count_mask_value); // mask out the status bits
-#else
     __ bic(Rbcnt, Rbcnt, ~InvocationCounter::count_mask_value); // mask out the status bits
-#endif // AARCH64
 
     __ str_32(Ricnt, invocation_counter);            // save invocation count
     __ add(Ricnt, Ricnt, Rbcnt);                     // add both counters
@@ -522,13 +456,12 @@
   // Registers on entry:
   //
   // R3 = number of additional locals
-  // R11 = max expression stack slots (AArch64 only)
   // Rthread
   // Rmethod
   // Registers used: R0, R1, R2, Rtemp.
 
   const Register Radditional_locals = R3;
-  const Register RmaxStack = AARCH64_ONLY(R11) NOT_AARCH64(R2);
+  const Register RmaxStack = R2;
 
   // monitor entry size
   const int entry_size = frame::interpreter_frame_monitor_size() * wordSize;
@@ -545,10 +478,8 @@
 
   __ ldr(R0, Address(Rthread, Thread::stack_base_offset()));
   __ ldr(R1, Address(Rthread, Thread::stack_size_offset()));
-#ifndef AARCH64
   __ ldr(Rtemp, Address(Rmethod, Method::const_offset()));
   __ ldrh(RmaxStack, Address(Rtemp, ConstMethod::max_stack_offset()));
-#endif // !AARCH64
   __ sub_slow(Rtemp, SP, overhead_size + reserved_pages + guard_pages + Method::extra_stack_words());
 
   // reserve space for additional locals
@@ -562,16 +493,8 @@
 
   __ cmp(Rtemp, R0);
 
-#ifdef AARCH64
-  Label L;
-  __ b(L, hi);
-  __ mov(SP, Rsender_sp);  // restore SP
-  __ b(StubRoutines::throw_StackOverflowError_entry());
-  __ bind(L);
-#else
   __ mov(SP, Rsender_sp, ls);  // restore SP
   __ b(StubRoutines::throw_StackOverflowError_entry(), ls);
-#endif // AARCH64
 }
 
 
@@ -595,14 +518,9 @@
   // get synchronization object
   { Label done;
     __ ldr_u32(Rtemp, Address(Rmethod, Method::access_flags_offset()));
-#ifdef AARCH64
-    __ ldr(R0, Address(Rlocals, Interpreter::local_offset_in_bytes(0))); // get receiver (assume this is frequent case)
-    __ tbz(Rtemp, JVM_ACC_STATIC_BIT, done);
-#else
     __ tst(Rtemp, JVM_ACC_STATIC);
     __ ldr(R0, Address(Rlocals, Interpreter::local_offset_in_bytes(0)), eq); // get receiver (assume this is frequent case)
     __ b(done, eq);
-#endif // AARCH64
     __ load_mirror(R0, Rmethod, Rtemp);
     __ bind(done);
     __ resolve(IS_NOT_NULL, R0);
@@ -610,12 +528,6 @@
 
   // add space for monitor & lock
 
-#ifdef AARCH64
-  __ check_extended_sp(Rtemp);
-  __ sub(SP, SP, entry_size);                  // adjust extended SP
-  __ mov(Rtemp, SP);
-  __ str(Rtemp, Address(FP, frame::interpreter_frame_extended_sp_offset * wordSize));
-#endif // AARCH64
 
   __ sub(Rstack_top, Rstack_top, entry_size);
   __ check_stack_top_on_expansion();
@@ -628,90 +540,6 @@
   __ lock_object(R1);
 }
 
-#ifdef AARCH64
-
-//
-// Generate a fixed interpreter frame. This is identical setup for interpreted methods
-// and for native methods hence the shared code.
-//
-// On entry:
-//   R10 = ConstMethod
-//   R11 = max expr. stack (in slots), if !native_call
-//
-// On exit:
-//   Rbcp, Rstack_top are initialized, SP is extended
-//
-void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
-  // Incoming registers
-  const Register RconstMethod = R10;
-  const Register RmaxStack = R11;
-  // Temporary registers
-  const Register RextendedSP = R0;
-  const Register Rcache = R1;
-  const Register Rmdp = ProfileInterpreter ? R2 : ZR;
-
-  // Generates the following stack layout (stack grows up in this picture):
-  //
-  // [ expr. stack bottom ]
-  // [ saved Rbcp         ]
-  // [ current Rlocals    ]
-  // [ cache              ]
-  // [ mdx                ]
-  // [ mirror             ]
-  // [ Method*            ]
-  // [ extended SP        ]
-  // [ expr. stack top    ]
-  // [ sender_sp          ]
-  // [ saved FP           ] <--- FP
-  // [ saved LR           ]
-
-  // initialize fixed part of activation frame
-  __ stp(FP, LR, Address(SP, -2*wordSize, pre_indexed));
-  __ mov(FP, SP);                                     // establish new FP
-
-  // setup Rbcp
-  if (native_call) {
-    __ mov(Rbcp, ZR);                                 // bcp = 0 for native calls
-  } else {
-    __ add(Rbcp, RconstMethod, in_bytes(ConstMethod::codes_offset())); // get codebase
-  }
-
-  // Rstack_top & RextendedSP
-  __ sub(Rstack_top, SP, 10*wordSize);
-  if (native_call) {
-    __ sub(RextendedSP, Rstack_top, align_up(wordSize, StackAlignmentInBytes));    // reserve 1 slot for exception handling
-  } else {
-    __ sub(RextendedSP, Rstack_top, AsmOperand(RmaxStack, lsl, Interpreter::logStackElementSize));
-    __ align_reg(RextendedSP, RextendedSP, StackAlignmentInBytes);
-  }
-  __ mov(SP, RextendedSP);
-  __ check_stack_top();
-
-  // Load Rmdp
-  if (ProfileInterpreter) {
-    __ ldr(Rtemp, Address(Rmethod, Method::method_data_offset()));
-    __ tst(Rtemp, Rtemp);
-    __ add(Rtemp, Rtemp, in_bytes(MethodData::data_offset()));
-    __ csel(Rmdp, ZR, Rtemp, eq);
-  }
-
-  // Load Rcache
-  __ ldr(Rtemp, Address(RconstMethod, ConstMethod::constants_offset()));
-  __ ldr(Rcache, Address(Rtemp, ConstantPool::cache_offset_in_bytes()));
-  // Get mirror and store it in the frame as GC root for this Method*
-  __ load_mirror(Rtemp, Rmethod, Rtemp);
-
-  // Build fixed frame
-  __ stp(Rstack_top, Rbcp, Address(FP, -10*wordSize));
-  __ stp(Rlocals, Rcache,  Address(FP,  -8*wordSize));
-  __ stp(Rmdp, Rtemp,          Address(FP,  -6*wordSize));
-  __ stp(Rmethod, RextendedSP, Address(FP,  -4*wordSize));
-  __ stp(ZR, Rsender_sp,   Address(FP,  -2*wordSize));
-  assert(frame::interpreter_frame_initial_sp_offset == -10, "interpreter frame broken");
-  assert(frame::interpreter_frame_stack_top_offset  == -2, "stack top broken");
-}
-
-#else // AARCH64
 
 //
 // Generate a fixed interpreter frame. This is identical setup for interpreted methods
@@ -773,7 +601,6 @@
   __ str(SP, Address(SP, 0));                          // set expression stack bottom
 }
 
-#endif // AARCH64
 
 // End of helpers
 
@@ -802,7 +629,6 @@
 //
 // Stack layout immediately at entry
 //
-// [ optional padding(*)] <--- SP (AArch64)
 // [ parameter n        ] <--- Rparams (SP on 32-bit ARM)
 //   ...
 // [ parameter 1        ]
@@ -816,7 +642,6 @@
 // local variables follow incoming parameters immediately; i.e.
 // the return address is saved at the end of the locals.
 //
-// [ reserved stack (*) ] <--- SP (AArch64)
 // [ expr. stack        ] <--- Rstack_top (SP on 32-bit ARM)
 // [ monitor entry      ]
 //   ...
@@ -832,10 +657,6 @@
 // 32-bit ARM:
 // [ last_sp            ]
 //
-// AArch64:
-// [ extended SP (*)    ]
-// [ stack top (*)      ]
-//
 // [ sender_sp          ]
 // [ saved FP           ] <--- FP
 // [ saved LR           ]
@@ -847,8 +668,6 @@
 //   ...
 // [ parameter 1        ] <--- Rlocals
 //
-// (*) - AArch64 only
-//
 
 address TemplateInterpreterGenerator::generate_Reference_get_entry(void) {
   // Code: _aload_0, _getfield, _areturn
@@ -925,29 +744,18 @@
   address entry_point = __ pc();
 
   // Register allocation
-  const Register Rsize_of_params = AARCH64_ONLY(R20) NOT_AARCH64(R6);
-  const Register Rsig_handler    = AARCH64_ONLY(R21) NOT_AARCH64(Rtmp_save0 /* R4 */);
-  const Register Rnative_code    = AARCH64_ONLY(R22) NOT_AARCH64(Rtmp_save1 /* R5 */);
-  const Register Rresult_handler = AARCH64_ONLY(Rsig_handler) NOT_AARCH64(R6);
+  const Register Rsize_of_params = R6;
+  const Register Rsig_handler    = Rtmp_save0;   // R4
+  const Register Rnative_code    = Rtmp_save1;   // R5
+  const Register Rresult_handler = R6;
 
-#ifdef AARCH64
-  const Register RconstMethod = R10; // also used in generate_fixed_frame (should match)
-  const Register Rsaved_result = Rnative_code;
-  const FloatRegister Dsaved_result = V8;
-#else
   const Register Rsaved_result_lo = Rtmp_save0;  // R4
   const Register Rsaved_result_hi = Rtmp_save1;  // R5
   FloatRegister saved_result_fp;
-#endif // AARCH64
 
 
-#ifdef AARCH64
-  __ ldr(RconstMethod, Address(Rmethod, Method::const_offset()));
-  __ ldrh(Rsize_of_params,  Address(RconstMethod, ConstMethod::size_of_parameters_offset()));
-#else
   __ ldr(Rsize_of_params, Address(Rmethod, Method::const_offset()));
   __ ldrh(Rsize_of_params,  Address(Rsize_of_params, ConstMethod::size_of_parameters_offset()));
-#endif // AARCH64
 
   // native calls don't need the stack size check since they have no expression stack
   // and the arguments are already on the stack and we only add a handful of words
@@ -957,19 +765,9 @@
   __ sub(Rlocals, Rparams, wordSize);
   __ add(Rlocals, Rlocals, AsmOperand(Rsize_of_params, lsl, Interpreter::logStackElementSize));
 
-#ifdef AARCH64
-  int extra_stack_reserve = 2*wordSize; // extra space for oop_temp
-  if(__ can_post_interpreter_events()) {
-    // extra space for saved results
-    extra_stack_reserve += 2*wordSize;
-  }
-  // reserve extra stack space and nullify oop_temp slot
-  __ stp(ZR, ZR, Address(SP, -extra_stack_reserve, pre_indexed));
-#else
   // reserve stack space for oop_temp
   __ mov(R0, 0);
   __ push(R0);
-#endif // AARCH64
 
   generate_fixed_frame(true); // Note: R9 is now saved in the frame
 
@@ -1065,15 +863,6 @@
 
   // Allocate stack space for arguments
 
-#ifdef AARCH64
-  __ sub(Rtemp, SP, Rsize_of_params, ex_uxtw, LogBytesPerWord);
-  __ align_reg(SP, Rtemp, StackAlignmentInBytes);
-
-  // Allocate more stack space to accomodate all arguments passed on GP and FP registers:
-  // 8 * wordSize for GPRs
-  // 8 * wordSize for FPRs
-  int reg_arguments = align_up(8*wordSize + 8*wordSize, StackAlignmentInBytes);
-#else
 
   // C functions need aligned stack
   __ bic(SP, SP, StackAlignmentInBytes - 1);
@@ -1093,12 +882,11 @@
   // It is also used for JNIEnv & class additional parameters.
   int reg_arguments = 4 * wordSize;
 #endif // __ABI_HARD__
-#endif // AARCH64
 
   __ sub(SP, SP, reg_arguments);
 
 
-  // Note: signature handler blows R4 (32-bit ARM) or R21 (AArch64) besides all scratch registers.
+  // Note: signature handler blows R4 besides all scratch registers.
   // See AbstractInterpreterGenerator::generate_slow_signature_handler().
   __ call(Rsig_handler);
 #if R9_IS_SCRATCHED
@@ -1134,18 +922,11 @@
   }
 #endif
 
-#ifdef AARCH64
-  __ mov(Rtemp, _thread_in_native);
-  __ add(Rtemp2, Rthread, in_bytes(JavaThread::thread_state_offset()));
-  // STLR is used to force all preceding writes to be observed prior to thread state change
-  __ stlr_w(Rtemp, Rtemp2);
-#else
   // Force all preceding writes to be observed prior to thread state change
   __ membar(MacroAssembler::StoreStore, Rtemp);
 
   __ mov(Rtemp, _thread_in_native);
   __ str(Rtemp, Address(Rthread, JavaThread::thread_state_offset()));
-#endif // AARCH64
 
   __ call(Rnative_code);
 #if R9_IS_SCRATCHED
@@ -1167,10 +948,6 @@
   __ ldr_global_s32(Rtemp, SafepointSynchronize::address_of_state());
 
   // Protect the return value in the interleaved code: save it to callee-save registers.
-#ifdef AARCH64
-  __ mov(Rsaved_result, R0);
-  __ fmov_d(Dsaved_result, D0);
-#else
   __ mov(Rsaved_result_lo, R0);
   __ mov(Rsaved_result_hi, R1);
 #ifdef __ABI_HARD__
@@ -1180,26 +957,17 @@
 #else
   saved_result_fp = fnoreg;
 #endif // __ABI_HARD__
-#endif // AARCH64
 
   {
     __ ldr_u32(R3, Address(Rthread, JavaThread::suspend_flags_offset()));
     __ cmp(Rtemp, SafepointSynchronize::_not_synchronized);
     __ cond_cmp(R3, 0, eq);
 
-#ifdef AARCH64
-    Label L;
-    __ b(L, eq);
-    __ mov(R0, Rthread);
-    __ call(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans), relocInfo::none);
-    __ bind(L);
-#else
   __ mov(R0, Rthread, ne);
   __ call(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans), relocInfo::none, ne);
 #if R9_IS_SCRATCHED
   __ restore_method();
 #endif
-#endif // AARCH64
   }
 
   // Perform Native->Java thread transition
@@ -1217,15 +985,9 @@
   // Unbox oop result, e.g. JNIHandles::resolve result if it's an oop.
   {
     Label Lnot_oop;
-#ifdef AARCH64
-    __ mov_slow(Rtemp, AbstractInterpreter::result_handler(T_OBJECT));
-    __ cmp(Rresult_handler, Rtemp);
-    __ b(Lnot_oop, ne);
-#else // !AARCH64
     // For ARM32, Rresult_handler is -1 for oop result, 0 otherwise.
     __ cbz(Rresult_handler, Lnot_oop);
-#endif // !AARCH64
-    Register value = AARCH64_ONLY(Rsaved_result) NOT_AARCH64(Rsaved_result_lo);
+    Register value = Rsaved_result_lo;
     __ resolve_jobject(value,   // value
                        Rtemp,   // tmp1
                        R1_tmp); // tmp2
@@ -1234,43 +996,23 @@
     __ bind(Lnot_oop);
   }
 
-#ifdef AARCH64
-  // Restore SP (drop native parameters area), to keep SP in sync with extended_sp in frame
-  __ restore_sp_after_call(Rtemp);
-  __ check_stack_top();
-#endif // AARCH64
 
   // reguard stack if StackOverflow exception happened while in native.
   {
     __ ldr_u32(Rtemp, Address(Rthread, JavaThread::stack_guard_state_offset()));
     __ cmp_32(Rtemp, JavaThread::stack_guard_yellow_reserved_disabled);
-#ifdef AARCH64
-    Label L;
-    __ b(L, ne);
-    __ call(CAST_FROM_FN_PTR(address, SharedRuntime::reguard_yellow_pages), relocInfo::none);
-    __ bind(L);
-#else
   __ call(CAST_FROM_FN_PTR(address, SharedRuntime::reguard_yellow_pages), relocInfo::none, eq);
 #if R9_IS_SCRATCHED
   __ restore_method();
 #endif
-#endif // AARCH64
   }
 
   // check pending exceptions
   {
     __ ldr(Rtemp, Address(Rthread, Thread::pending_exception_offset()));
-#ifdef AARCH64
-    Label L;
-    __ cbz(Rtemp, L);
-    __ mov_pc_to(Rexception_pc);
-    __ b(StubRoutines::forward_exception_entry());
-    __ bind(L);
-#else
     __ cmp(Rtemp, 0);
     __ mov(Rexception_pc, PC, ne);
     __ b(StubRoutines::forward_exception_entry(), ne);
-#endif // AARCH64
   }
 
   if (synchronized) {
@@ -1284,19 +1026,9 @@
   //       the exception handler code notifies the runtime of method exits
   //       too. If this happens before, method entry/exit notifications are
   //       not properly paired (was bug - gri 11/22/99).
-#ifdef AARCH64
-  __ notify_method_exit(vtos, InterpreterMacroAssembler::NotifyJVMTI, true, Rsaved_result, noreg, Dsaved_result);
-#else
   __ notify_method_exit(vtos, InterpreterMacroAssembler::NotifyJVMTI, true, Rsaved_result_lo, Rsaved_result_hi, saved_result_fp);
-#endif // AARCH64
 
   // Restore the result. Oop result is restored from the stack.
-#ifdef AARCH64
-  __ mov(R0, Rsaved_result);
-  __ fmov_d(D0, Dsaved_result);
-
-  __ blr(Rresult_handler);
-#else
   __ cmp(Rresult_handler, 0);
   __ ldr(R0, Address(FP, frame::interpreter_frame_oop_temp_offset * wordSize), ne);
   __ mov(R0, Rsaved_result_lo, eq);
@@ -1316,18 +1048,11 @@
     __ bind(L);
   }
 #endif // ASSERT
-#endif // AARCH64
 
   // Restore FP/LR, sender_sp and return
-#ifdef AARCH64
-  __ ldr(Rtemp, Address(FP, frame::interpreter_frame_sender_sp_offset * wordSize));
-  __ ldp(FP, LR, Address(FP));
-  __ mov(SP, Rtemp);
-#else
   __ mov(Rtemp, FP);
   __ ldmia(FP, RegisterSet(FP) | RegisterSet(LR));
   __ ldr(SP, Address(Rtemp, frame::interpreter_frame_sender_sp_offset * wordSize));
-#endif // AARCH64
 
   __ ret();
 
@@ -1354,12 +1079,8 @@
 
   address entry_point = __ pc();
 
-  const Register RconstMethod = AARCH64_ONLY(R10) NOT_AARCH64(R3);
+  const Register RconstMethod = R3;
 
-#ifdef AARCH64
-  const Register RmaxStack = R11;
-  const Register RlocalsBase = R12;
-#endif // AARCH64
 
   __ ldr(RconstMethod, Address(Rmethod, Method::const_offset()));
 
@@ -1372,48 +1093,10 @@
 
   __ sub(R3, R3, R2); // number of additional locals
 
-#ifdef AARCH64
-  // setup RmaxStack
-  __ ldrh(RmaxStack, Address(RconstMethod, ConstMethod::max_stack_offset()));
-  // We have to add extra reserved slots to max_stack. There are 3 users of the extra slots,
-  // none of which are at the same time, so we just need to make sure there is enough room
-  // for the biggest user:
-  //   -reserved slot for exception handler
-  //   -reserved slots for JSR292. Method::extra_stack_entries() is the size.
-  //   -3 reserved slots so get_method_counters() can save some registers before call_VM().
-  __ add(RmaxStack, RmaxStack, MAX2(3, Method::extra_stack_entries()));
-#endif // AARCH64
 
   // see if we've got enough room on the stack for locals plus overhead.
   generate_stack_overflow_check();
 
-#ifdef AARCH64
-
-  // allocate space for locals
-  {
-    __ sub(RlocalsBase, Rparams, AsmOperand(R3, lsl, Interpreter::logStackElementSize));
-    __ align_reg(SP, RlocalsBase, StackAlignmentInBytes);
-  }
-
-  // explicitly initialize locals
-  {
-    Label zero_loop, done;
-    __ cbz(R3, done);
-
-    __ tbz(R3, 0, zero_loop);
-    __ subs(R3, R3, 1);
-    __ str(ZR, Address(RlocalsBase, wordSize, post_indexed));
-    __ b(done, eq);
-
-    __ bind(zero_loop);
-    __ subs(R3, R3, 2);
-    __ stp(ZR, ZR, Address(RlocalsBase, 2*wordSize, post_indexed));
-    __ b(zero_loop, ne);
-
-    __ bind(done);
-  }
-
-#else
   // allocate space for locals
   // explicitly initialize locals
 
@@ -1439,7 +1122,6 @@
   __ push(R0, ge);
 
   __ b(loop, gt);
-#endif // AARCH64
 
   // initialize fixed part of activation frame
   generate_fixed_frame(false);
@@ -1554,11 +1236,9 @@
   Interpreter::_rethrow_exception_entry = __ pc();
   // Rexception_obj: exception
 
-#ifndef AARCH64
   // Clear interpreter_frame_last_sp.
   __ mov(Rtemp, 0);
   __ str(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // !AARCH64
 
 #if R9_IS_SCRATCHED
   __ restore_method();
@@ -1567,9 +1247,6 @@
   __ restore_dispatch();
   __ restore_locals();
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp);
-#endif // AARCH64
 
   // Entry point for exceptions thrown within interpreter code
   Interpreter::_throw_exception_entry = __ pc();
@@ -1606,9 +1283,6 @@
   //
    Interpreter::_remove_activation_preserving_args_entry = __ pc();
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp); // restore SP to extended SP
-#endif // AARCH64
 
   __ empty_expression_stack();
 
@@ -1635,9 +1309,6 @@
     __ ldr(R0, Address(FP, frame::return_addr_offset * wordSize));
     __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::interpreter_contains), R0);
     __ cbnz_32(R0, caller_not_deoptimized);
-#ifdef AARCH64
-    __ NOT_TESTED();
-#endif
 
     // Compute size of arguments for saving when returning to deoptimized caller
     __ restore_method();
@@ -1672,7 +1343,6 @@
                        /* install_monitor_exception */ false,
                        /* notify_jvmdi */ false);
 
-#ifndef AARCH64
   // Finish with popframe handling
   // A previous I2C followed by a deoptimization might have moved the
   // outgoing arguments further up the stack. PopFrame expects the
@@ -1691,17 +1361,11 @@
   __ mov(R0, Rthread);
   __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::popframe_move_outgoing_args), R0, R1, R2);
   __ reset_last_Java_frame(Rtemp);
-#endif // !AARCH64
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp);
-  __ restore_stack_top();
-#else
   // Restore the last_sp and null it out
   __ ldr(SP, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
   __ mov(Rtemp, (int)NULL_WORD);
   __ str(Rtemp, Address(FP, frame::interpreter_frame_last_sp_offset * wordSize));
-#endif // AARCH64
 
   __ restore_bcp();
   __ restore_dispatch();
@@ -1778,9 +1442,6 @@
 address TemplateInterpreterGenerator::generate_earlyret_entry_for(TosState state) {
   address entry = __ pc();
 
-#ifdef AARCH64
-  __ restore_sp_after_call(Rtemp); // restore SP to extended SP
-#endif // AARCH64
 
   __ restore_bcp();
   __ restore_dispatch();
@@ -1801,13 +1462,11 @@
                        false, /* install_monitor_exception */
                        true); /* notify_jvmdi */
 
-#ifndef AARCH64
   // According to interpreter calling conventions, result is returned in R0/R1,
   // so ftos (S0) and dtos (D0) are moved to R0/R1.
   // This conversion should be done after remove_activation, as it uses
   // push(state) & pop(state) to preserve return value.
   __ convert_tos_to_retval(state);
-#endif // !AARCH64
   __ ret();
 
   return entry;
@@ -1830,7 +1489,7 @@
 
   lep = __ pc(); __ push(ltos); __ b(L);
 
-  if (AARCH64_ONLY(true) NOT_AARCH64(VerifyOops)) {  // can't share atos entry with itos on AArch64 or if VerifyOops
+  if (VerifyOops) {  // can't share atos entry if VerifyOops
     aep = __ pc(); __ push(atos); __ b(L);
   } else {
     aep = __ pc();              // fall through
@@ -1858,11 +1517,7 @@
 
   // pass tosca registers as arguments
   __ mov(R2, R0_tos);
-#ifdef AARCH64
-  __ mov(R3, ZR);
-#else
   __ mov(R3, R1_tos_hi);
-#endif // AARCH64
   __ mov(R1, LR);       // save return address
 
   // call tracer
--- a/src/hotspot/cpu/arm/templateTable_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/templateTable_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -58,9 +58,7 @@
 }
 
 static inline Address laddress(int n)            { return iaddress(n + 1); }
-#ifndef AARCH64
 static inline Address haddress(int n)            { return iaddress(n + 0); }
-#endif // !AARCH64
 
 static inline Address faddress(int n)            { return iaddress(n); }
 static inline Address daddress(int n)            { return laddress(n); }
@@ -72,12 +70,7 @@
 }
 
 Address TemplateTable::load_iaddress(Register index, Register scratch) {
-#ifdef AARCH64
-  get_local_base_addr(scratch, index);
-  return Address(scratch);
-#else
   return Address(Rlocals, index, lsl, Interpreter::logStackElementSize, basic_offset, sub_offset);
-#endif // AARCH64
 }
 
 Address TemplateTable::load_aaddress(Register index, Register scratch) {
@@ -113,45 +106,29 @@
 }
 
 
-// 32-bit ARM:
 // Loads double/long local into R0_tos_lo/R1_tos_hi with two
 // separate ldr instructions (supports nonadjacent values).
 // Used for longs in all modes, and for doubles in SOFTFP mode.
-//
-// AArch64: loads long local into R0_tos.
-//
 void TemplateTable::load_category2_local(Register Rlocal_index, Register tmp) {
   const Register Rlocal_base = tmp;
   assert_different_registers(Rlocal_index, tmp);
 
   get_local_base_addr(Rlocal_base, Rlocal_index);
-#ifdef AARCH64
-  __ ldr(R0_tos, Address(Rlocal_base, Interpreter::local_offset_in_bytes(1)));
-#else
   __ ldr(R0_tos_lo, Address(Rlocal_base, Interpreter::local_offset_in_bytes(1)));
   __ ldr(R1_tos_hi, Address(Rlocal_base, Interpreter::local_offset_in_bytes(0)));
-#endif // AARCH64
 }
 
 
-// 32-bit ARM:
 // Stores R0_tos_lo/R1_tos_hi to double/long local with two
 // separate str instructions (supports nonadjacent values).
 // Used for longs in all modes, and for doubles in SOFTFP mode
-//
-// AArch64: stores R0_tos to long local.
-//
 void TemplateTable::store_category2_local(Register Rlocal_index, Register tmp) {
   const Register Rlocal_base = tmp;
   assert_different_registers(Rlocal_index, tmp);
 
   get_local_base_addr(Rlocal_base, Rlocal_index);
-#ifdef AARCH64
-  __ str(R0_tos, Address(Rlocal_base, Interpreter::local_offset_in_bytes(1)));
-#else
   __ str(R0_tos_lo, Address(Rlocal_base, Interpreter::local_offset_in_bytes(1)));
   __ str(R1_tos_hi, Address(Rlocal_base, Interpreter::local_offset_in_bytes(0)));
-#endif // AARCH64
 }
 
 // Returns address of Java array element using temp register as address base.
@@ -192,7 +169,7 @@
 // Miscelaneous helper routines
 
 // Store an oop (or NULL) at the address described by obj.
-// Blows all volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR).
+// Blows all volatile registers R0-R3, Rtemp, LR).
 // Also destroys new_val and obj.base().
 static void do_oop_store(InterpreterMacroAssembler* _masm,
                          Address obj,
@@ -224,7 +201,7 @@
 }
 
 
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR.
+// Blows volatile registers R0-R3, Rtemp, LR.
 void TemplateTable::patch_bytecode(Bytecodes::Code bc, Register bc_reg,
                                    Register temp_reg, bool load_bc_into_bc_reg/*=true*/,
                                    int byte_no) {
@@ -327,22 +304,12 @@
   transition(vtos, ltos);
   assert((value == 0) || (value == 1), "unexpected long constant");
   __ mov(R0_tos, value);
-#ifndef AARCH64
   __ mov(R1_tos_hi, 0);
-#endif // !AARCH64
 }
 
 
 void TemplateTable::fconst(int value) {
   transition(vtos, ftos);
-#ifdef AARCH64
-  switch(value) {
-  case 0:   __ fmov_sw(S0_tos, ZR);    break;
-  case 1:   __ fmov_s (S0_tos, 0x70);  break;
-  case 2:   __ fmov_s (S0_tos, 0x00);  break;
-  default:  ShouldNotReachHere();      break;
-  }
-#else
   const int zero = 0;         // 0.0f
   const int one = 0x3f800000; // 1.0f
   const int two = 0x40000000; // 2.0f
@@ -357,19 +324,11 @@
 #ifndef __SOFTFP__
   __ fmsr(S0_tos, R0_tos);
 #endif // !__SOFTFP__
-#endif // AARCH64
 }
 
 
 void TemplateTable::dconst(int value) {
   transition(vtos, dtos);
-#ifdef AARCH64
-  switch(value) {
-  case 0:   __ fmov_dx(D0_tos, ZR);    break;
-  case 1:   __ fmov_d (D0_tos, 0x70);  break;
-  default:  ShouldNotReachHere();      break;
-  }
-#else
   const int one_lo = 0;            // low part of 1.0
   const int one_hi = 0x3ff00000;   // high part of 1.0
 
@@ -390,7 +349,6 @@
   } else {
     ShouldNotReachHere();
   }
-#endif // AARCH64
 }
 
 
@@ -429,25 +387,15 @@
 
   // get const type
   __ add(Rtemp, Rtags, tags_offset);
-#ifdef AARCH64
-  __ add(Rtemp, Rtemp, Rindex);
-  __ ldarb(RtagType, Rtemp);  // TODO-AARCH64 figure out if barrier is needed here, or control dependency is enough
-#else
   __ ldrb(RtagType, Address(Rtemp, Rindex));
   volatile_barrier(MacroAssembler::LoadLoad, Rtemp);
-#endif // AARCH64
 
   // unresolved class - get the resolved class
   __ cmp(RtagType, JVM_CONSTANT_UnresolvedClass);
 
   // unresolved class in error (resolution failed) - call into runtime
   // so that the same error from first resolution attempt is thrown.
-#ifdef AARCH64
-  __ mov(Rtemp, JVM_CONSTANT_UnresolvedClassInError); // this constant does not fit into 5-bit immediate constraint
-  __ cond_cmp(RtagType, Rtemp, ne);
-#else
   __ cond_cmp(RtagType, JVM_CONSTANT_UnresolvedClassInError, ne);
-#endif // AARCH64
 
   // resolved class - need to call vm to get java mirror of the class
   __ cond_cmp(RtagType, JVM_CONSTANT_Class, ne);
@@ -556,12 +504,8 @@
 
   __ cmp(Rtemp, JVM_CONSTANT_Long);
   __ b(Condy, ne);
-#ifdef AARCH64
-  __ ldr(R0_tos, Address(Rbase, base_offset));
-#else
   __ ldr(R0_tos_lo, Address(Rbase, base_offset + 0 * wordSize));
   __ ldr(R1_tos_hi, Address(Rbase, base_offset + 1 * wordSize));
-#endif // AARCH64
   __ push(ltos);
   __ b(exit);
 
@@ -587,12 +531,8 @@
   // VMr2 = flags = (tos, off) using format of CPCE::_flags
   __ mov(off, flags);
 
-#ifdef AARCH64
-  __ andr(off, off, (unsigned)ConstantPoolCacheEntry::field_index_mask);
-#else
   __ logical_shift_left( off, off, 32 - ConstantPoolCacheEntry::field_index_bits);
   __ logical_shift_right(off, off, 32 - ConstantPoolCacheEntry::field_index_bits);
-#endif
 
   const Address field(obj, off);
 
@@ -652,13 +592,9 @@
         __ cond_cmp(flags, dtos, ne);
         __ b(notLongDouble, ne);
 
-#ifdef AARCH64
-        __ ldr(R0_tos, field);
-#else
         __ add(rtmp, obj, wordSize);
         __ ldr(R0_tos_lo, Address(obj, off));
         __ ldr(R1_tos_hi, Address(rtmp, off));
-#endif
         __ push(ltos);
         __ b(Done);
 
@@ -907,12 +843,8 @@
 
   index_check(Rarray, Rindex);
 
-#ifdef AARCH64
-  __ ldr(R0_tos, get_array_elem_addr(T_LONG, Rarray, Rindex, Rtemp));
-#else
   Address addr = get_array_elem_addr_same_base(T_LONG, Rarray, Rindex, Rtemp);
   __ access_load_at(T_LONG, IN_HEAP | IS_ARRAY, addr, noreg /* ltos */, noreg, noreg, noreg);
-#endif // AARCH64
 }
 
 
@@ -1012,12 +944,8 @@
 
 void TemplateTable::lload(int n) {
   transition(vtos, ltos);
-#ifdef AARCH64
-  __ ldr(R0_tos, laddress(n));
-#else
   __ ldr(R0_tos_lo, laddress(n));
   __ ldr(R1_tos_hi, haddress(n));
-#endif // AARCH64
 }
 
 
@@ -1105,14 +1033,8 @@
     assert(Bytecodes::java_code(Bytecodes::_fast_aload_0) == Bytecodes::_aload_0, "fix bytecode definition");
 
     __ cmp(next_bytecode, Bytecodes::_fast_fgetfield);
-#ifdef AARCH64
-    __ mov(Rtemp, Bytecodes::_fast_faccess_0);
-    __ mov(target_bytecode, Bytecodes::_fast_aload_0);
-    __ mov(target_bytecode, Rtemp, eq);
-#else
     __ mov(target_bytecode, Bytecodes::_fast_faccess_0, eq);
     __ mov(target_bytecode, Bytecodes::_fast_aload_0, ne);
-#endif // AARCH64
 
     // rewrite
     __ bind(rewrite);
@@ -1198,11 +1120,7 @@
   const Register Rlocal_index = R2_tmp;
   const Register Rlocal_base = R3_tmp;
 
-#ifdef AARCH64
-  __ pop_l(R0_tos);
-#else
   __ pop_l(R0_tos_lo, R1_tos_hi);
-#endif // AARCH64
 
   locals_index_wide(Rlocal_index);
   store_category2_local(Rlocal_index, R3_tmp);
@@ -1252,12 +1170,8 @@
   __ pop_i(Rindex);
   index_check(Rarray, Rindex);
 
-#ifdef AARCH64
-  __ str(R0_tos, get_array_elem_addr(T_LONG, Rarray, Rindex, Rtemp));
-#else
   Address addr = get_array_elem_addr_same_base(T_LONG, Rarray, Rindex, Rtemp);
   __ access_store_at(T_LONG, IN_HEAP | IS_ARRAY, addr, noreg /* ltos */, noreg, noreg, noreg, false);
-#endif // AARCH64
 }
 
 
@@ -1401,12 +1315,8 @@
 
 void TemplateTable::lstore(int n) {
   transition(ltos, vtos);
-#ifdef AARCH64
-  __ str(R0_tos, laddress(n));
-#else
   __ str(R0_tos_lo, laddress(n));
   __ str(R1_tos_hi, haddress(n));
-#endif // AARCH64
 }
 
 
@@ -1563,15 +1473,9 @@
     case _and : __ and_32 (R0_tos, arg1, arg2); break;
     case _or  : __ orr_32 (R0_tos, arg1, arg2); break;
     case _xor : __ eor_32 (R0_tos, arg1, arg2); break;
-#ifdef AARCH64
-    case shl  : __ lslv_w (R0_tos, arg1, arg2); break;
-    case shr  : __ asrv_w (R0_tos, arg1, arg2); break;
-    case ushr : __ lsrv_w (R0_tos, arg1, arg2); break;
-#else
     case shl  : __ andr(arg2, arg2, 0x1f); __ mov (R0_tos, AsmOperand(arg1, lsl, arg2)); break;
     case shr  : __ andr(arg2, arg2, 0x1f); __ mov (R0_tos, AsmOperand(arg1, asr, arg2)); break;
     case ushr : __ andr(arg2, arg2, 0x1f); __ mov (R0_tos, AsmOperand(arg1, lsr, arg2)); break;
-#endif // AARCH64
     default   : ShouldNotReachHere();
   }
 }
@@ -1579,20 +1483,6 @@
 
 void TemplateTable::lop2(Operation op) {
   transition(ltos, ltos);
-#ifdef AARCH64
-  const Register arg1 = R1_tmp;
-  const Register arg2 = R0_tos;
-
-  __ pop_l(arg1);
-  switch (op) {
-    case add  : __ add (R0_tos, arg1, arg2); break;
-    case sub  : __ sub (R0_tos, arg1, arg2); break;
-    case _and : __ andr(R0_tos, arg1, arg2); break;
-    case _or  : __ orr (R0_tos, arg1, arg2); break;
-    case _xor : __ eor (R0_tos, arg1, arg2); break;
-    default   : ShouldNotReachHere();
-  }
-#else
   const Register arg1_lo = R2_tmp;
   const Register arg1_hi = R3_tmp;
   const Register arg2_lo = R0_tos_lo;
@@ -1607,20 +1497,11 @@
     case _xor: __ eor (R0_tos_lo, arg1_lo, arg2_lo); __ eor (R1_tos_hi, arg1_hi, arg2_hi); break;
     default : ShouldNotReachHere();
   }
-#endif // AARCH64
 }
 
 
 void TemplateTable::idiv() {
   transition(itos, itos);
-#ifdef AARCH64
-  const Register divisor = R0_tos;
-  const Register dividend = R1_tmp;
-
-  __ cbz_w(divisor, Interpreter::_throw_ArithmeticException_entry);
-  __ pop_i(dividend);
-  __ sdiv_w(R0_tos, dividend, divisor);
-#else
   __ mov(R2, R0_tos);
   __ pop_i(R0);
   // R0 - dividend
@@ -1628,41 +1509,22 @@
   __ call(StubRoutines::Arm::idiv_irem_entry(), relocInfo::none);
   // R1 - result
   __ mov(R0_tos, R1);
-#endif // AARCH64
 }
 
 
 void TemplateTable::irem() {
   transition(itos, itos);
-#ifdef AARCH64
-  const Register divisor = R0_tos;
-  const Register dividend = R1_tmp;
-  const Register quotient = R2_tmp;
-
-  __ cbz_w(divisor, Interpreter::_throw_ArithmeticException_entry);
-  __ pop_i(dividend);
-  __ sdiv_w(quotient, dividend, divisor);
-  __ msub_w(R0_tos, divisor, quotient, dividend);
-#else
   __ mov(R2, R0_tos);
   __ pop_i(R0);
   // R0 - dividend
   // R2 - divisor
   __ call(StubRoutines::Arm::idiv_irem_entry(), relocInfo::none);
   // R0 - remainder
-#endif // AARCH64
 }
 
 
 void TemplateTable::lmul() {
   transition(ltos, ltos);
-#ifdef AARCH64
-  const Register arg1 = R0_tos;
-  const Register arg2 = R1_tmp;
-
-  __ pop_l(arg2);
-  __ mul(R0_tos, arg1, arg2);
-#else
   const Register arg1_lo = R0_tos_lo;
   const Register arg1_hi = R1_tos_hi;
   const Register arg2_lo = R2_tmp;
@@ -1671,20 +1533,11 @@
   __ pop_l(arg2_lo, arg2_hi);
 
   __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::lmul), arg1_lo, arg1_hi, arg2_lo, arg2_hi);
-#endif // AARCH64
 }
 
 
 void TemplateTable::ldiv() {
   transition(ltos, ltos);
-#ifdef AARCH64
-  const Register divisor = R0_tos;
-  const Register dividend = R1_tmp;
-
-  __ cbz(divisor, Interpreter::_throw_ArithmeticException_entry);
-  __ pop_l(dividend);
-  __ sdiv(R0_tos, dividend, divisor);
-#else
   const Register x_lo = R2_tmp;
   const Register x_hi = R3_tmp;
   const Register y_lo = R0_tos_lo;
@@ -1696,22 +1549,11 @@
   __ orrs(Rtemp, y_lo, y_hi);
   __ call(Interpreter::_throw_ArithmeticException_entry, relocInfo::none, eq);
   __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::ldiv), y_lo, y_hi, x_lo, x_hi);
-#endif // AARCH64
 }
 
 
 void TemplateTable::lrem() {
   transition(ltos, ltos);
-#ifdef AARCH64
-  const Register divisor = R0_tos;
-  const Register dividend = R1_tmp;
-  const Register quotient = R2_tmp;
-
-  __ cbz(divisor, Interpreter::_throw_ArithmeticException_entry);
-  __ pop_l(dividend);
-  __ sdiv(quotient, dividend, divisor);
-  __ msub(R0_tos, divisor, quotient, dividend);
-#else
   const Register x_lo = R2_tmp;
   const Register x_hi = R3_tmp;
   const Register y_lo = R0_tos_lo;
@@ -1723,18 +1565,11 @@
   __ orrs(Rtemp, y_lo, y_hi);
   __ call(Interpreter::_throw_ArithmeticException_entry, relocInfo::none, eq);
   __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::lrem), y_lo, y_hi, x_lo, x_hi);
-#endif // AARCH64
 }
 
 
 void TemplateTable::lshl() {
   transition(itos, ltos);
-#ifdef AARCH64
-  const Register val = R1_tmp;
-  const Register shift_cnt = R0_tos;
-  __ pop_l(val);
-  __ lslv(R0_tos, val, shift_cnt);
-#else
   const Register shift_cnt = R4_tmp;
   const Register val_lo = R2_tmp;
   const Register val_hi = R3_tmp;
@@ -1742,18 +1577,11 @@
   __ pop_l(val_lo, val_hi);
   __ andr(shift_cnt, R0_tos, 63);
   __ long_shift(R0_tos_lo, R1_tos_hi, val_lo, val_hi, lsl, shift_cnt);
-#endif // AARCH64
 }
 
 
 void TemplateTable::lshr() {
   transition(itos, ltos);
-#ifdef AARCH64
-  const Register val = R1_tmp;
-  const Register shift_cnt = R0_tos;
-  __ pop_l(val);
-  __ asrv(R0_tos, val, shift_cnt);
-#else
   const Register shift_cnt = R4_tmp;
   const Register val_lo = R2_tmp;
   const Register val_hi = R3_tmp;
@@ -1761,18 +1589,11 @@
   __ pop_l(val_lo, val_hi);
   __ andr(shift_cnt, R0_tos, 63);
   __ long_shift(R0_tos_lo, R1_tos_hi, val_lo, val_hi, asr, shift_cnt);
-#endif // AARCH64
 }
 
 
 void TemplateTable::lushr() {
   transition(itos, ltos);
-#ifdef AARCH64
-  const Register val = R1_tmp;
-  const Register shift_cnt = R0_tos;
-  __ pop_l(val);
-  __ lsrv(R0_tos, val, shift_cnt);
-#else
   const Register shift_cnt = R4_tmp;
   const Register val_lo = R2_tmp;
   const Register val_hi = R3_tmp;
@@ -1780,7 +1601,6 @@
   __ pop_l(val_lo, val_hi);
   __ andr(shift_cnt, R0_tos, 63);
   __ long_shift(R0_tos_lo, R1_tos_hi, val_lo, val_hi, lsr, shift_cnt);
-#endif // AARCH64
 }
 
 
@@ -1876,12 +1696,8 @@
 
 void TemplateTable::lneg() {
   transition(ltos, ltos);
-#ifdef AARCH64
-  __ neg(R0_tos, R0_tos);
-#else
   __ rsbs(R0_tos_lo, R0_tos_lo, 0);
   __ rsc (R1_tos_hi, R1_tos_hi, 0);
-#endif // AARCH64
 }
 
 
@@ -1991,37 +1807,25 @@
   // Conversion
   switch (bytecode()) {
     case Bytecodes::_i2l:
-#ifdef AARCH64
-      __ sign_extend(R0_tos, R0_tos, 32);
-#else
       __ mov(R1_tos_hi, AsmOperand(R0_tos, asr, BitsPerWord-1));
-#endif // AARCH64
       break;
 
     case Bytecodes::_i2f:
-#ifdef AARCH64
-      __ scvtf_sw(S0_tos, R0_tos);
-#else
 #ifdef __SOFTFP__
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_i2f), R0_tos);
 #else
       __ fmsr(S0_tmp, R0_tos);
       __ fsitos(S0_tos, S0_tmp);
 #endif // __SOFTFP__
-#endif // AARCH64
       break;
 
     case Bytecodes::_i2d:
-#ifdef AARCH64
-      __ scvtf_dw(D0_tos, R0_tos);
-#else
 #ifdef __SOFTFP__
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_i2d), R0_tos);
 #else
       __ fmsr(S0_tmp, R0_tos);
       __ fsitod(D0_tos, S0_tmp);
 #endif // __SOFTFP__
-#endif // AARCH64
       break;
 
     case Bytecodes::_i2b:
@@ -2041,49 +1845,33 @@
       break;
 
     case Bytecodes::_l2f:
-#ifdef AARCH64
-      __ scvtf_sx(S0_tos, R0_tos);
-#else
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::l2f), R0_tos_lo, R1_tos_hi);
 #if !defined(__SOFTFP__) && !defined(__ABI_HARD__)
       __ fmsr(S0_tos, R0);
 #endif // !__SOFTFP__ && !__ABI_HARD__
-#endif // AARCH64
       break;
 
     case Bytecodes::_l2d:
-#ifdef AARCH64
-      __ scvtf_dx(D0_tos, R0_tos);
-#else
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::l2d), R0_tos_lo, R1_tos_hi);
 #if !defined(__SOFTFP__) && !defined(__ABI_HARD__)
       __ fmdrr(D0_tos, R0, R1);
 #endif // !__SOFTFP__ && !__ABI_HARD__
-#endif // AARCH64
       break;
 
     case Bytecodes::_f2i:
-#ifdef AARCH64
-      __ fcvtzs_ws(R0_tos, S0_tos);
-#else
 #ifndef __SOFTFP__
       __ ftosizs(S0_tos, S0_tos);
       __ fmrs(R0_tos, S0_tos);
 #else
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::f2i), R0_tos);
 #endif // !__SOFTFP__
-#endif // AARCH64
       break;
 
     case Bytecodes::_f2l:
-#ifdef AARCH64
-      __ fcvtzs_xs(R0_tos, S0_tos);
-#else
 #ifndef __SOFTFP__
       __ fmrs(R0_tos, S0_tos);
 #endif // !__SOFTFP__
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::f2l), R0_tos);
-#endif // AARCH64
       break;
 
     case Bytecodes::_f2d:
@@ -2095,27 +1883,19 @@
       break;
 
     case Bytecodes::_d2i:
-#ifdef AARCH64
-      __ fcvtzs_wd(R0_tos, D0_tos);
-#else
 #ifndef __SOFTFP__
       __ ftosizd(Stemp, D0);
       __ fmrs(R0, Stemp);
 #else
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::d2i), R0_tos_lo, R1_tos_hi);
 #endif // !__SOFTFP__
-#endif // AARCH64
       break;
 
     case Bytecodes::_d2l:
-#ifdef AARCH64
-      __ fcvtzs_xd(R0_tos, D0_tos);
-#else
 #ifndef __SOFTFP__
       __ fmrrd(R0_tos_lo, R1_tos_hi, D0_tos);
 #endif // !__SOFTFP__
       __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::d2l), R0_tos_lo, R1_tos_hi);
-#endif // AARCH64
       break;
 
     case Bytecodes::_d2f:
@@ -2134,16 +1914,6 @@
 
 void TemplateTable::lcmp() {
   transition(ltos, itos);
-#ifdef AARCH64
-  const Register arg1 = R1_tmp;
-  const Register arg2 = R0_tos;
-
-  __ pop_l(arg1);
-
-  __ cmp(arg1, arg2);
-  __ cset(R0_tos, gt);               // 1 if '>', else 0
-  __ csinv(R0_tos, R0_tos, ZR, ge);  // previous value if '>=', else -1
-#else
   const Register arg1_lo = R2_tmp;
   const Register arg1_hi = R3_tmp;
   const Register arg2_lo = R0_tos_lo;
@@ -2166,33 +1936,12 @@
   __ mov (res, 1, hi);
   __ bind(done);
   __ mov (R0_tos, res);
-#endif // AARCH64
 }
 
 
 void TemplateTable::float_cmp(bool is_float, int unordered_result) {
   assert((unordered_result == 1) || (unordered_result == -1), "invalid unordered result");
 
-#ifdef AARCH64
-  if (is_float) {
-    transition(ftos, itos);
-    __ pop_f(S1_tmp);
-    __ fcmp_s(S1_tmp, S0_tos);
-  } else {
-    transition(dtos, itos);
-    __ pop_d(D1_tmp);
-    __ fcmp_d(D1_tmp, D0_tos);
-  }
-
-  if (unordered_result < 0) {
-    __ cset(R0_tos, gt);               // 1 if '>', else 0
-    __ csinv(R0_tos, R0_tos, ZR, ge);  // previous value if '>=', else -1
-  } else {
-    __ cset(R0_tos, hi);               // 1 if '>' or unordered, else 0
-    __ csinv(R0_tos, R0_tos, ZR, pl);  // previous value if '>=' or unordered, else -1
-  }
-
-#else
 
 #ifdef __SOFTFP__
 
@@ -2258,7 +2007,6 @@
   }
   __ mov(R0_tos, 0, eq);         // result ==  0 if equ (Z=1)
 #endif // __SOFTFP__
-#endif // AARCH64
 }
 
 
@@ -2303,12 +2051,7 @@
     __ sub(Rret_addr, Rret_addr, Rtemp);
 
     // Load the next target bytecode into R3_bytecode and advance Rbcp
-#ifdef AARCH64
-    __ add(Rbcp, Rbcp, Rdisp);
-    __ ldrb(R3_bytecode, Address(Rbcp));
-#else
     __ ldrb(R3_bytecode, Address(Rbcp, Rdisp, lsl, 0, pre_indexed));
-#endif // AARCH64
 
     // Push return address
     __ push_i(Rret_addr);
@@ -2320,12 +2063,7 @@
   // Normal (non-jsr) branch handling
 
   // Adjust the bcp by the displacement in Rdisp and load next bytecode.
-#ifdef AARCH64
-  __ add(Rbcp, Rbcp, Rdisp);
-  __ ldrb(R3_bytecode, Address(Rbcp));
-#else
   __ ldrb(R3_bytecode, Address(Rbcp, Rdisp, lsl, 0, pre_indexed));
-#endif // AARCH64
 
   assert(UseLoopCounter || !UseOnStackReplacement, "on-stack-replacement requires loop counters");
   Label backedge_counter_overflow;
@@ -2340,12 +2078,8 @@
     const Register Rcounters = R1_tmp;
 
     // count only if backward branch
-#ifdef AARCH64
-    __ tbz(Rdisp, (BitsPerWord - 1), dispatch); // TODO-AARCH64: check performance of this variant on 32-bit ARM
-#else
     __ tst(Rdisp, Rdisp);
     __ b(dispatch, pl);
-#endif // AARCH64
 
     if (TieredCompilation) {
       Label no_mdo;
@@ -2364,10 +2098,10 @@
       }
       __ bind(no_mdo);
       // Increment backedge counter in MethodCounters*
-      // Note Rbumped_taken_count is a callee saved registers for ARM32, but caller saved for ARM64
+      // Note Rbumped_taken_count is a callee saved registers for ARM32
       __ get_method_counters(Rmethod, Rcounters, dispatch, true /*saveRegs*/,
                              Rdisp, R3_bytecode,
-                             AARCH64_ONLY(Rbumped_taken_count) NOT_AARCH64(noreg));
+                             noreg);
       const Address mask(Rcounters, in_bytes(MethodCounters::backedge_mask_offset()));
       __ increment_mask_and_jump(Address(Rcounters, be_offset), increment, mask,
                                  Rcnt, R4_tmp, eq, &backedge_counter_overflow);
@@ -2375,17 +2109,13 @@
       // Increment backedge counter in MethodCounters*
       __ get_method_counters(Rmethod, Rcounters, dispatch, true /*saveRegs*/,
                              Rdisp, R3_bytecode,
-                             AARCH64_ONLY(Rbumped_taken_count) NOT_AARCH64(noreg));
+                             noreg);
       __ ldr_u32(Rtemp, Address(Rcounters, be_offset));           // load backedge counter
       __ add(Rtemp, Rtemp, InvocationCounter::count_increment);   // increment counter
       __ str_32(Rtemp, Address(Rcounters, be_offset));            // store counter
 
       __ ldr_u32(Rcnt, Address(Rcounters, inv_offset));           // load invocation counter
-#ifdef AARCH64
-      __ andr(Rcnt, Rcnt, (unsigned int)InvocationCounter::count_mask_value);  // and the status bits
-#else
       __ bic(Rcnt, Rcnt, ~InvocationCounter::count_mask_value);  // and the status bits
-#endif // AARCH64
       __ add(Rcnt, Rcnt, Rtemp);                                 // add both counters
 
       if (ProfileInterpreter) {
@@ -2412,13 +2142,9 @@
           // sure the overflow function is called only once every overflow_frequency.
           const int overflow_frequency = 1024;
 
-#ifdef AARCH64
-          __ tst(Rbumped_taken_count, (unsigned)(overflow_frequency-1));
-#else
           // was '__ andrs(...,overflow_frequency-1)', testing if lowest 10 bits are 0
           assert(overflow_frequency == (1 << 10),"shift by 22 not correct for expected frequency");
           __ movs(Rbumped_taken_count, AsmOperand(Rbumped_taken_count, lsl, 22));
-#endif // AARCH64
 
           __ b(backedge_counter_overflow, eq);
         }
@@ -2487,13 +2213,8 @@
       __ ldr(R1_tmp, Address(Rtmp_save0, nmethod::osr_entry_point_offset()));
       __ ldr(Rtemp, Address(FP, frame::interpreter_frame_sender_sp_offset * wordSize));
 
-#ifdef AARCH64
-      __ ldp(FP, LR, Address(FP));
-      __ mov(SP, Rtemp);
-#else
       __ ldmia(FP, RegisterSet(FP) | RegisterSet(LR));
       __ bic(SP, Rtemp, StackAlignmentInBytes - 1);     // Remove frame and align stack
-#endif // AARCH64
 
       __ jump(R1_tmp);
     }
@@ -2505,19 +2226,8 @@
   transition(itos, vtos);
   // assume branch is more often taken than not (loops use backward branches)
   Label not_taken;
-#ifdef AARCH64
-  if (cc == equal) {
-    __ cbnz_w(R0_tos, not_taken);
-  } else if (cc == not_equal) {
-    __ cbz_w(R0_tos, not_taken);
-  } else {
-    __ cmp_32(R0_tos, 0);
-    __ b(not_taken, convNegCond(cc));
-  }
-#else
   __ cmp_32(R0_tos, 0);
   __ b(not_taken, convNegCond(cc));
-#endif // AARCH64
   branch(false, false);
   __ bind(not_taken);
   __ profile_not_taken_branch(R0_tmp);
@@ -2603,9 +2313,7 @@
   transition(itos, vtos);
 
   const Register Rindex  = R0_tos;
-#ifndef AARCH64
   const Register Rtemp2  = R1_tmp;
-#endif // !AARCH64
   const Register Rabcp   = R2_tmp;  // aligned bcp
   const Register Rlow    = R3_tmp;
   const Register Rhigh   = R4_tmp;
@@ -2616,38 +2324,13 @@
   __ align_reg(Rabcp, Rtemp, BytesPerInt);
 
   // load lo & hi
-#ifdef AARCH64
-  __ ldp_w(Rlow, Rhigh, Address(Rabcp, 2*BytesPerInt, post_indexed));
-#else
   __ ldmia(Rabcp, RegisterSet(Rlow) | RegisterSet(Rhigh), writeback);
-#endif // AARCH64
   __ byteswap_u32(Rlow, Rtemp, Rtemp2);
   __ byteswap_u32(Rhigh, Rtemp, Rtemp2);
 
   // compare index with high bound
   __ cmp_32(Rhigh, Rindex);
 
-#ifdef AARCH64
-  Label default_case, do_dispatch;
-  __ ccmp_w(Rindex, Rlow, Assembler::flags_for_condition(lt), ge);
-  __ b(default_case, lt);
-
-  __ sub_w(Rindex, Rindex, Rlow);
-  __ ldr_s32(Roffset, Address(Rabcp, Rindex, ex_sxtw, LogBytesPerInt));
-  if(ProfileInterpreter) {
-    __ sxtw(Rindex, Rindex);
-    __ profile_switch_case(Rabcp, Rindex, Rtemp2, R0_tmp);
-  }
-  __ b(do_dispatch);
-
-  __ bind(default_case);
-  __ ldr_s32(Roffset, Address(Rabcp, -3 * BytesPerInt));
-  if(ProfileInterpreter) {
-    __ profile_switch_default(R0_tmp);
-  }
-
-  __ bind(do_dispatch);
-#else
 
   // if Rindex <= Rhigh then calculate index in table (Rindex - Rlow)
   __ subs(Rindex, Rindex, Rlow, ge);
@@ -2673,17 +2356,11 @@
     __ ldr(Roffset, Address(Rabcp, -3 * BytesPerInt), lt);
     __ ldr(Roffset, Address(Rabcp, Rindex, lsl, LogBytesPerInt), ge);
   }
-#endif // AARCH64
 
   __ byteswap_u32(Roffset, Rtemp, Rtemp2);
 
   // load the next bytecode to R3_bytecode and advance Rbcp
-#ifdef AARCH64
-  __ add(Rbcp, Rbcp, Roffset, ex_sxtw);
-  __ ldrb(R3_bytecode, Address(Rbcp));
-#else
   __ ldrb(R3_bytecode, Address(Rbcp, Roffset, lsl, 0, pre_indexed));
-#endif // AARCH64
   __ dispatch_only(vtos);
 
 }
@@ -2713,32 +2390,19 @@
   __ align_reg(Rabcp, Rtemp, BytesPerInt);
 
   // load default & counter
-#ifdef AARCH64
-  __ ldp_w(Rdefault, Rcount, Address(Rabcp, 2*BytesPerInt, post_indexed));
-#else
   __ ldmia(Rabcp, RegisterSet(Rdefault) | RegisterSet(Rcount), writeback);
-#endif // AARCH64
   __ byteswap_u32(Rcount, R1_tmp, Rtemp);
 
-#ifdef AARCH64
-  __ cbz_w(Rcount, default_case);
-#else
   __ cmp_32(Rcount, 0);
   __ ldr(Rtemp, Address(Rabcp, 2*BytesPerInt, post_indexed), ne);
   __ b(default_case, eq);
-#endif // AARCH64
 
   // table search
   __ bind(loop);
-#ifdef AARCH64
-  __ ldr_s32(Rtemp, Address(Rabcp, 2*BytesPerInt, post_indexed));
-#endif // AARCH64
   __ cmp_32(Rtemp, Rkey);
   __ b(found, eq);
   __ subs(Rcount, Rcount, 1);
-#ifndef AARCH64
   __ ldr(Rtemp, Address(Rabcp, 2*BytesPerInt, post_indexed), ne);
-#endif // !AARCH64
   __ b(loop, ne);
 
   // default case
@@ -2773,12 +2437,7 @@
   __ byteswap_u32(Roffset, R1_tmp, Rtemp);
 
   // load the next bytecode to R3_bytecode and advance Rbcp
-#ifdef AARCH64
-  __ add(Rbcp, Rbcp, Roffset, ex_sxtw);
-  __ ldrb(R3_bytecode, Address(Rbcp));
-#else
   __ ldrb(R3_bytecode, Address(Rbcp, Roffset, lsl, 0, pre_indexed));
-#endif // AARCH64
   __ dispatch_only(vtos);
 }
 
@@ -2846,12 +2505,7 @@
     // } else {
     //   i = h;
     // }
-#ifdef AARCH64
-    __ add(temp1, array, AsmOperand(h, lsl, 1+LogBytesPerInt));
-    __ ldr_s32(val, Address(temp1));
-#else
     __ ldr_s32(val, Address(array, h, lsl, 1+LogBytesPerInt));
-#endif // AARCH64
     // Convert array[h].match to native byte-ordering before compare
     __ byteswap_u32(val, temp1, temp2);
     __ cmp_32(key, val);
@@ -2867,12 +2521,7 @@
   // end of binary search, result index is i (must check again!)
   Label default_case;
   // Convert array[i].match to native byte-ordering before compare
-#ifdef AARCH64
-  __ add(temp1, array, AsmOperand(i, lsl, 1+LogBytesPerInt));
-  __ ldr_s32(val, Address(temp1));
-#else
   __ ldr_s32(val, Address(array, i, lsl, 1+LogBytesPerInt));
-#endif // AARCH64
   __ byteswap_u32(val, temp1, temp2);
   __ cmp_32(key, val);
   __ b(default_case, ne);
@@ -2882,12 +2531,7 @@
   __ ldr_s32(offset, Address(temp1, 1*BytesPerInt));
   __ profile_switch_case(R0, i, R1, i);
   __ byteswap_u32(offset, temp1, temp2);
-#ifdef AARCH64
-  __ add(Rbcp, Rbcp, offset, ex_sxtw);
-  __ ldrb(R3_bytecode, Address(Rbcp));
-#else
   __ ldrb(R3_bytecode, Address(Rbcp, offset, lsl, 0, pre_indexed));
-#endif // AARCH64
   __ dispatch_only(vtos);
 
   // default case
@@ -2895,12 +2539,7 @@
   __ profile_switch_default(R0);
   __ ldr_s32(offset, Address(array, -2*BytesPerInt));
   __ byteswap_u32(offset, temp1, temp2);
-#ifdef AARCH64
-  __ add(Rbcp, Rbcp, offset, ex_sxtw);
-  __ ldrb(R3_bytecode, Address(Rbcp));
-#else
   __ ldrb(R3_bytecode, Address(Rbcp, offset, lsl, 0, pre_indexed));
-#endif // AARCH64
   __ dispatch_only(vtos);
 }
 
@@ -2932,13 +2571,11 @@
 
   __ interp_verify_oop(R0_tos, state, __FILE__, __LINE__);
 
-#ifndef AARCH64
   // According to interpreter calling conventions, result is returned in R0/R1,
   // so ftos (S0) and dtos (D0) are moved to R0/R1.
   // This conversion should be done after remove_activation, as it uses
   // push(state) & pop(state) to preserve return value.
   __ convert_tos_to_retval(state);
-#endif // !AARCH64
 
   __ ret();
 
@@ -2972,19 +2609,14 @@
 // requirement (1) but miss the volatile-store-volatile-load case.  This final
 // case is placed after volatile-stores although it could just as well go
 // before volatile-loads.
-// TODO-AARCH64: consider removing extra unused parameters
 void TemplateTable::volatile_barrier(MacroAssembler::Membar_mask_bits order_constraint,
                                      Register tmp,
                                      bool preserve_flags,
                                      Register load_tgt) {
-#ifdef AARCH64
-  __ membar(order_constraint);
-#else
   __ membar(order_constraint, tmp, preserve_flags, load_tgt);
-#endif
 }
 
-// Blows all volatile registers: R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR.
+// Blows all volatile registers: R0-R3, Rtemp, LR.
 void TemplateTable::resolve_cache_and_index(int byte_no,
                                             Register Rcache,
                                             Register Rindex,
@@ -3047,7 +2679,7 @@
 }
 
 
-// Blows all volatile registers: R0-R3 on 32-bit ARM, R0-R18 on AArch64, Rtemp, LR.
+// Blows all volatile registers: R0-R3, Rtemp, LR.
 void TemplateTable::load_invoke_cp_cache_entry(int byte_no,
                                                Register method,
                                                Register itable_index,
@@ -3090,7 +2722,7 @@
 
 
 // The registers cache and index expected to be set before call, and should not be Rtemp.
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR,
+// Blows volatile registers R0-R3, Rtemp, LR,
 // except cache and index registers which are preserved.
 void TemplateTable::jvmti_post_field_access(Register Rcache,
                                             Register Rindex,
@@ -3164,46 +2796,27 @@
 
   // There are actually two versions of implementation of getfield/getstatic:
   //
-  // 32-bit ARM:
   // 1) Table switch using add(PC,...) instruction (fast_version)
   // 2) Table switch using ldr(PC,...) instruction
   //
-  // AArch64:
-  // 1) Table switch using adr/add/br instructions (fast_version)
-  // 2) Table switch using adr/ldr/br instructions
-  //
   // First version requires fixed size of code block for each case and
   // can not be used in RewriteBytecodes and VerifyOops
   // modes.
 
   // Size of fixed size code block for fast_version
-  const int log_max_block_size = AARCH64_ONLY(2) NOT_AARCH64(3);
+  const int log_max_block_size = 3;
   const int max_block_size = 1 << log_max_block_size;
 
   // Decide if fast version is enabled
-  bool fast_version = (is_static || !RewriteBytecodes) && !VerifyOops && !VerifyInterpreterStackTop;
+  bool fast_version = (is_static || !RewriteBytecodes) && !VerifyOops;
 
   // On 32-bit ARM atos and itos cases can be merged only for fast version, because
   // atos requires additional processing in slow version.
-  // On AArch64 atos and itos cannot be merged.
-  bool atos_merged_with_itos = AARCH64_ONLY(false) NOT_AARCH64(fast_version);
+  bool atos_merged_with_itos = fast_version;
 
   assert(number_of_states == 10, "number of tos states should be equal to 9");
 
   __ cmp(Rflags, itos);
-#ifdef AARCH64
-  __ b(Lint, eq);
-
-  if(fast_version) {
-    __ adr(Rtemp, Lbtos);
-    __ add(Rtemp, Rtemp, AsmOperand(Rflags, lsl, log_max_block_size + Assembler::LogInstructionSize));
-    __ br(Rtemp);
-  } else {
-    __ adr(Rtemp, Ltable);
-    __ ldr(Rtemp, Address::indexed_ptr(Rtemp, Rflags));
-    __ br(Rtemp);
-  }
-#else
   if(atos_merged_with_itos) {
     __ cmp(Rflags, atos, ne);
   }
@@ -3217,13 +2830,11 @@
 
   // jump to itos/atos case
   __ b(Lint);
-#endif // AARCH64
 
   // table with addresses for slow version
   if (fast_version) {
     // nothing to do
   } else  {
-    AARCH64_ONLY(__ align(wordSize));
     __ bind(Ltable);
     __ emit_address(Lbtos);
     __ emit_address(Lztos);
@@ -3306,11 +2917,7 @@
     assert(ltos == seq++, "ltos has unexpected value");
     FixedSizeCodeBlock ltos_block(_masm, max_block_size, fast_version);
     __ bind(Lltos);
-#ifdef AARCH64
-    __ ldr(R0_tos, Address(Robj, Roffset));
-#else
     __ access_load_at(T_LONG, IN_HEAP, Address(Robj, Roffset), noreg /* ltos */, noreg, noreg, noreg);
-#endif // AARCH64
     __ push(ltos);
     if (!is_static && rc == may_rewrite) {
       patch_bytecode(Bytecodes::_fast_lgetfield, R0_tmp, Rtemp);
@@ -3340,11 +2947,7 @@
     __ bind(Ldtos);
     // doubles and longs are placed on stack in the same way, so
     // we can use push(ltos) to transfer value without using VFP
-#ifdef AARCH64
-    __ ldr(R0_tos, Address(Robj, Roffset));
-#else
     __ access_load_at(T_LONG, IN_HEAP, Address(Robj, Roffset), noreg /* ltos */, noreg, noreg, noreg);
-#endif // AARCH64
     __ push(ltos);
     if (!is_static && rc == may_rewrite) {
       patch_bytecode(Bytecodes::_fast_dgetfield, R0_tmp, Rtemp);
@@ -3356,7 +2959,7 @@
   {
     assert(atos == seq++, "atos has unexpected value");
 
-    // atos case for AArch64 and slow version on 32-bit ARM
+    // atos case for slow version on 32-bit ARM
     if(!atos_merged_with_itos) {
       __ bind(Latos);
       do_oop_load(_masm, R0_tos, Address(Robj, Roffset));
@@ -3410,7 +3013,7 @@
 
 
 // The registers cache and index expected to be set before call, and should not be R1 or Rtemp.
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR,
+// Blows volatile registers R0-R3, Rtemp, LR,
 // except cache and index registers which are preserved.
 void TemplateTable::jvmti_post_field_mod(Register Rcache, Register Rindex, bool is_static) {
   ByteSize cp_base_offset = ConstantPoolCache::base_offset();
@@ -3442,18 +3045,11 @@
 
       __ cmp(Rtemp, ltos);
       __ cond_cmp(Rtemp, dtos, ne);
-#ifdef AARCH64
-      __ mov(Rtemp, Interpreter::expr_offset_in_bytes(2));
-      __ mov(R1, Interpreter::expr_offset_in_bytes(1));
-      __ mov(R1, Rtemp, eq);
-      __ ldr(R1, Address(Rstack_top, R1));
-#else
       // two word value (ltos/dtos)
       __ ldr(R1, Address(SP, Interpreter::expr_offset_in_bytes(2)), eq);
 
       // one word value (not ltos, dtos)
       __ ldr(R1, Address(SP, Interpreter::expr_offset_in_bytes(1)), ne);
-#endif // AARCH64
     }
 
     // cache entry pointer
@@ -3512,39 +3108,22 @@
   // 1) Table switch using add(PC,...) instruction (fast_version)
   // 2) Table switch using ldr(PC,...) instruction
   //
-  // AArch64:
-  // 1) Table switch using adr/add/br instructions (fast_version)
-  // 2) Table switch using adr/ldr/br instructions
-  //
   // First version requires fixed size of code block for each case and
   // can not be used in RewriteBytecodes and VerifyOops
   // modes.
 
   // Size of fixed size code block for fast_version (in instructions)
-  const int log_max_block_size = AARCH64_ONLY(is_static ? 2 : 3) NOT_AARCH64(3);
+  const int log_max_block_size = 3;
   const int max_block_size = 1 << log_max_block_size;
 
   // Decide if fast version is enabled
-  bool fast_version = (is_static || !RewriteBytecodes) && !VerifyOops && !ZapHighNonSignificantBits;
+  bool fast_version = (is_static || !RewriteBytecodes) && !VerifyOops;
 
   assert(number_of_states == 10, "number of tos states should be equal to 9");
 
   // itos case is frequent and is moved outside table switch
   __ cmp(Rflags, itos);
 
-#ifdef AARCH64
-  __ b(Lint, eq);
-
-  if (fast_version) {
-    __ adr(Rtemp, Lbtos);
-    __ add(Rtemp, Rtemp, AsmOperand(Rflags, lsl, log_max_block_size + Assembler::LogInstructionSize));
-    __ br(Rtemp);
-  } else {
-    __ adr(Rtemp, Ltable);
-    __ ldr(Rtemp, Address::indexed_ptr(Rtemp, Rflags));
-    __ br(Rtemp);
-  }
-#else
   // table switch by type
   if (fast_version) {
     __ add(PC, PC, AsmOperand(Rflags, lsl, log_max_block_size + Assembler::LogInstructionSize), ne);
@@ -3554,13 +3133,11 @@
 
   // jump to itos case
   __ b(Lint);
-#endif // AARCH64
 
   // table with addresses for slow version
   if (fast_version) {
     // nothing to do
   } else  {
-    AARCH64_ONLY(__ align(wordSize));
     __ bind(Ltable);
     __ emit_address(Lbtos);
     __ emit_address(Lztos);
@@ -3647,11 +3224,7 @@
     __ bind(Lltos);
     __ pop(ltos);
     if (!is_static) pop_and_check_object(Robj);
-#ifdef AARCH64
-    __ str(R0_tos, Address(Robj, Roffset));
-#else
     __ access_store_at(T_LONG, IN_HEAP, Address(Robj, Roffset), noreg /* ltos */, noreg, noreg, noreg, false);
-#endif // AARCH64
     if (!is_static && rc == may_rewrite) {
       patch_bytecode(Bytecodes::_fast_lputfield, R0_tmp, Rtemp, true, byte_no);
     }
@@ -3683,11 +3256,7 @@
     // we can use pop(ltos) to transfer value without using VFP
     __ pop(ltos);
     if (!is_static) pop_and_check_object(Robj);
-#ifdef AARCH64
-    __ str(R0_tos, Address(Robj, Roffset));
-#else
     __ access_store_at(T_LONG, IN_HEAP, Address(Robj, Roffset), noreg /* ltos */, noreg, noreg, noreg, false);
-#endif // AARCH64
     if (!is_static && rc == may_rewrite) {
       patch_bytecode(Bytecodes::_fast_dputfield, R0_tmp, Rtemp, true, byte_no);
     }
@@ -3769,7 +3338,7 @@
   Unimplemented();
 }
 
-// Blows volatile registers (R0-R3 on 32-bit ARM, R0-R18 on AArch64), Rtemp, LR,
+// Blows volatile registers R0-R3, Rtemp, LR,
 // but preserves tosca with the given state.
 void TemplateTable::jvmti_post_fast_field_mod(TosState state) {
   if (__ can_post_field_modification()) {
@@ -3833,7 +3402,6 @@
   Label notVolatile;
   __ tbz(Rflags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
 
-  // TODO-AARCH64 on AArch64, store-release instructions can be used to get rid of this explict barrier
   volatile_barrier(MacroAssembler::Membar_mask_bits(MacroAssembler::StoreStore | MacroAssembler::LoadStore), Rtemp);
 
   __ bind(notVolatile);
@@ -3859,11 +3427,6 @@
     case Bytecodes::_fast_iputfield:
       __ access_store_at(T_INT, IN_HEAP, addr, R0_tos, noreg, noreg, noreg, false);
       break;
-#ifdef AARCH64
-    case Bytecodes::_fast_lputfield: __ str  (R0_tos, addr); break;
-    case Bytecodes::_fast_fputfield: __ str_s(S0_tos, addr); break;
-    case Bytecodes::_fast_dputfield: __ str_d(D0_tos, addr); break;
-#else
     case Bytecodes::_fast_lputfield:
       __ access_store_at(T_LONG, IN_HEAP, addr, noreg, noreg, noreg, noreg, false);
       break;
@@ -3873,8 +3436,6 @@
     case Bytecodes::_fast_dputfield:
       __ access_store_at(T_DOUBLE, IN_HEAP, addr, noreg, noreg, noreg, noreg, false);
       break;
-#endif // AARCH64
-
     case Bytecodes::_fast_aputfield:
       do_oop_store(_masm, addr, R0_tos, Rtemp, R1_tmp, R2_tmp, false);
       break;
@@ -3958,11 +3519,6 @@
     case Bytecodes::_fast_igetfield:
       __ access_load_at(T_INT, IN_HEAP, addr, R0_tos, noreg, noreg, noreg);
       break;
-#ifdef AARCH64
-    case Bytecodes::_fast_lgetfield: __ ldr  (R0_tos, addr); break;
-    case Bytecodes::_fast_fgetfield: __ ldr_s(S0_tos, addr); break;
-    case Bytecodes::_fast_dgetfield: __ ldr_d(D0_tos, addr); break;
-#else
     case Bytecodes::_fast_lgetfield:
       __ access_load_at(T_LONG, IN_HEAP, addr, noreg, noreg, noreg, noreg);
       break;
@@ -3972,7 +3528,6 @@
     case Bytecodes::_fast_dgetfield:
       __ access_load_at(T_DOUBLE, IN_HEAP, addr, noreg, noreg, noreg, noreg);
       break;
-#endif // AARCH64
     case Bytecodes::_fast_agetfield:
       do_oop_load(_masm, R0_tos, addr);
       __ verify_oop(R0_tos);
@@ -3985,7 +3540,6 @@
   Label notVolatile;
   __ tbz(Rflags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
 
-  // TODO-AARCH64 on AArch64, load-acquire instructions can be used to get rid of this explict barrier
   volatile_barrier(MacroAssembler::Membar_mask_bits(MacroAssembler::LoadLoad | MacroAssembler::LoadStore), Rtemp);
 
   __ bind(notVolatile);
@@ -4018,32 +3572,6 @@
   __ null_check(Robj, Rtemp);
   __ sub(Rbcp, Rbcp, 1);
 
-#ifdef AARCH64
-  Label notVolatile;
-  __ tbz(Rflags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
-
-  __ add(Rtemp, Robj, Roffset);
-
-  if (state == itos) {
-    __ ldar_w(R0_tos, Rtemp);
-  } else if (state == atos) {
-    if (UseCompressedOops) {
-      __ ldar_w(R0_tos, Rtemp);
-      __ decode_heap_oop(R0_tos);
-    } else {
-      __ ldar(R0_tos, Rtemp);
-    }
-    __ verify_oop(R0_tos);
-  } else if (state == ftos) {
-    __ ldar_w(R0_tos, Rtemp);
-    __ fmov_sw(S0_tos, R0_tos);
-  } else {
-    ShouldNotReachHere();
-  }
-  __ b(done);
-
-  __ bind(notVolatile);
-#endif // AARCH64
 
   if (state == itos) {
     __ access_load_at(T_INT, IN_HEAP, Address(Robj, Roffset), R0_tos, noreg, noreg, noreg);
@@ -4051,20 +3579,15 @@
     do_oop_load(_masm, R0_tos, Address(Robj, Roffset));
     __ verify_oop(R0_tos);
   } else if (state == ftos) {
-#ifdef AARCH64
-    __ ldr_s(S0_tos, Address(Robj, Roffset));
-#else
 #ifdef __SOFTFP__
     __ ldr(R0_tos, Address(Robj, Roffset));
 #else
     __ access_load_at(T_FLOAT, IN_HEAP, Address(Robj, Roffset), noreg /* ftos */, noreg, noreg, noreg);
 #endif // __SOFTFP__
-#endif // AARCH64
   } else {
     ShouldNotReachHere();
   }
 
-#ifndef AARCH64
   // Check for volatile load
   Label notVolatile;
   __ tbz(Rflags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
@@ -4072,7 +3595,6 @@
   volatile_barrier(MacroAssembler::Membar_mask_bits(MacroAssembler::LoadLoad | MacroAssembler::LoadStore), Rtemp);
 
   __ bind(notVolatile);
-#endif // !AARCH64
 
   __ bind(done);
 }
@@ -4342,7 +3864,6 @@
 void TemplateTable::invokehandle(int byte_no) {
   transition(vtos, vtos);
 
-  // TODO-AARCH64 review register usage
   const Register Rrecv  = R2_tmp;
   const Register Rmtype = R4_tmp;
   const Register R5_method = R5_tmp;  // can't reuse Rmethod!
@@ -4364,7 +3885,6 @@
 void TemplateTable::invokedynamic(int byte_no) {
   transition(vtos, vtos);
 
-  // TODO-AARCH64 review register usage
   const Register Rcallsite = R4_tmp;
   const Register R5_method = R5_tmp;  // can't reuse Rmethod!
 
@@ -4420,15 +3940,10 @@
   const int tags_offset = Array<u1>::base_offset_in_bytes();
   __ add(Rtemp, Rtags, Rindex);
 
-#ifdef AARCH64
-  __ add(Rtemp, Rtemp, tags_offset);
-  __ ldarb(Rtemp, Rtemp);
-#else
   __ ldrb(Rtemp, Address(Rtemp, tags_offset));
 
   // use Rklass as a scratch
   volatile_barrier(MacroAssembler::LoadLoad, Rklass);
-#endif // AARCH64
 
   // get InstanceKlass
   __ cmp(Rtemp, JVM_CONSTANT_Class);
@@ -4509,21 +4024,6 @@
     __ bind(L);
 #endif
 
-#ifdef AARCH64
-    {
-      Label loop;
-      // Step back by 1 word if object size is not a multiple of 2*wordSize.
-      assert(wordSize <= sizeof(oopDesc), "oop header should contain at least one word");
-      __ andr(Rtemp2, Rsize, (uintx)wordSize);
-      __ sub(Rzero_cur, Rzero_cur, Rtemp2);
-
-      // Zero by 2 words per iteration.
-      __ bind(loop);
-      __ subs(Rsize, Rsize, 2*wordSize);
-      __ stp(ZR, ZR, Address(Rzero_cur, 2*wordSize, post_indexed));
-      __ b(loop, gt);
-    }
-#else
     __ mov(Rzero0, 0);
     __ mov(Rzero1, 0);
     __ add(Rzero_end, Rzero_cur, Rsize);
@@ -4540,7 +4040,6 @@
       __ cmp(Rzero_cur, Rzero_end, ne);
       __ b(loop, ne);
     }
-#endif // AARCH64
 
     // initialize object header only.
     __ bind(initialize_header);
@@ -4553,9 +4052,6 @@
     __ str(Rtemp, Address(Robj, oopDesc::mark_offset_in_bytes()));
 
     // klass
-#ifdef AARCH64
-    __ store_klass_gap(Robj);
-#endif // AARCH64
     __ store_klass(Rklass, Robj); // blows Rklass:
     Rklass = noreg;
 
@@ -4646,19 +4142,11 @@
 
   // See if bytecode has already been quicked
   __ add(Rtemp, Rtags, Rindex);
-#ifdef AARCH64
-  // TODO-AARCH64: investigate if LoadLoad barrier is needed here or control dependency is enough
-  __ add(Rtemp, Rtemp, Array<u1>::base_offset_in_bytes());
-  __ ldarb(Rtemp, Rtemp); // acts as LoadLoad memory barrier
-#else
   __ ldrb(Rtemp, Address(Rtemp, Array<u1>::base_offset_in_bytes()));
-#endif // AARCH64
 
   __ cmp(Rtemp, JVM_CONSTANT_Class);
 
-#ifndef AARCH64
   volatile_barrier(MacroAssembler::LoadLoad, Rtemp, true);
-#endif // !AARCH64
 
   __ b(quicked, eq);
 
@@ -4726,18 +4214,10 @@
 
   // See if bytecode has already been quicked
   __ add(Rtemp, Rtags, Rindex);
-#ifdef AARCH64
-  // TODO-AARCH64: investigate if LoadLoad barrier is needed here or control dependency is enough
-  __ add(Rtemp, Rtemp, Array<u1>::base_offset_in_bytes());
-  __ ldarb(Rtemp, Rtemp); // acts as LoadLoad memory barrier
-#else
   __ ldrb(Rtemp, Address(Rtemp, Array<u1>::base_offset_in_bytes()));
-#endif // AARCH64
   __ cmp(Rtemp, JVM_CONSTANT_Class);
 
-#ifndef AARCH64
   volatile_barrier(MacroAssembler::LoadLoad, Rtemp, true);
-#endif // !AARCH64
 
   __ b(quicked, eq);
 
@@ -4793,11 +4273,7 @@
   __ mov(R1, Rmethod);
   __ mov(R2, Rbcp);
   __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::get_original_bytecode_at), R1, R2);
-#ifdef AARCH64
-  __ sxtw(Rtmp_save0, R0);
-#else
   __ mov(Rtmp_save0, R0);
-#endif // AARCH64
 
   // post the breakpoint event
   __ mov(R1, Rmethod);
@@ -4871,16 +4347,11 @@
                                  // points to word before bottom of monitor block
 
     __ cmp(Rcur, Rbottom);                       // check if there are no monitors
-#ifndef AARCH64
     __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
                                                  // prefetch monitor's object for the first iteration
-#endif // !AARCH64
     __ b(allocate_monitor, eq);                  // there are no monitors, skip searching
 
     __ bind(loop);
-#ifdef AARCH64
-    __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()));
-#endif // AARCH64
     __ cmp(Rcur_obj, 0);                         // check if current entry is used
     __ mov(Rentry, Rcur, eq);                    // if not used then remember entry
 
@@ -4890,10 +4361,8 @@
     __ add(Rcur, Rcur, entry_size);              // otherwise advance to next entry
 
     __ cmp(Rcur, Rbottom);                       // check if bottom reached
-#ifndef AARCH64
     __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
                                                  // prefetch monitor's object for the next iteration
-#endif // !AARCH64
     __ b(loop, ne);                              // if not at bottom then check this entry
     __ bind(exit);
   }
@@ -4908,12 +4377,6 @@
 
     // 1. compute new pointers
 
-#ifdef AARCH64
-    __ check_extended_sp(Rtemp);
-    __ sub(SP, SP, entry_size);                  // adjust extended SP
-    __ mov(Rtemp, SP);
-    __ str(Rtemp, Address(FP, frame::interpreter_frame_extended_sp_offset * wordSize));
-#endif // AARCH64
 
     __ ldr(Rentry, Address(FP, frame::interpreter_frame_monitor_block_top_offset * wordSize));
                                                  // old monitor block top / expression stack bottom
@@ -4931,21 +4394,14 @@
     // 2. move expression stack contents
 
     __ cmp(R2_tmp, Rentry);                                 // check if expression stack is empty
-#ifndef AARCH64
     __ ldr(Rtemp, Address(R2_tmp, entry_size), ne);         // load expression stack word from old location
-#endif // !AARCH64
     __ b(allocated, eq);
 
     __ bind(loop);
-#ifdef AARCH64
-    __ ldr(Rtemp, Address(R2_tmp, entry_size));             // load expression stack word from old location
-#endif // AARCH64
     __ str(Rtemp, Address(R2_tmp, wordSize, post_indexed)); // store expression stack word at new location
                                                             // and advance to next word
     __ cmp(R2_tmp, Rentry);                                 // check if bottom reached
-#ifndef AARCH64
     __ ldr(Rtemp, Address(R2, entry_size), ne);             // load expression stack word from old location
-#endif // !AARCH64
     __ b(loop, ne);                                         // if not at bottom then copy next word
   }
 
@@ -4996,24 +4452,17 @@
                                  // points to word before bottom of monitor block
 
     __ cmp(Rcur, Rbottom);                       // check if bottom reached
-#ifndef AARCH64
     __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
                                                  // prefetch monitor's object for the first iteration
-#endif // !AARCH64
     __ b(throw_exception, eq);                   // throw exception if there are now monitors
 
     __ bind(loop);
-#ifdef AARCH64
-    __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()));
-#endif // AARCH64
     // check if current entry is for same object
     __ cmp(Rcur_obj, Robj);
     __ b(found, eq);                             // if same object then stop searching
     __ add(Rcur, Rcur, entry_size);              // otherwise advance to next entry
     __ cmp(Rcur, Rbottom);                       // check if bottom reached
-#ifndef AARCH64
     __ ldr(Rcur_obj, Address(Rcur, BasicObjectLock::obj_offset_in_bytes()), ne);
-#endif // !AARCH64
     __ b (loop, ne);                             // if not at bottom then check this entry
   }
 
--- a/src/hotspot/cpu/arm/vm_version_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/vm_version_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,23 +41,6 @@
   static void initialize();
   static bool is_initialized()      { return _is_initialized; }
 
-#ifdef AARCH64
-
- public:
-  static bool supports_ldrex()         { return true; }
-  static bool supports_ldrexd()        { return true; }
-  static bool supports_movw()          { return true; }
-
-  // Override Abstract_VM_Version implementation
-  static bool use_biased_locking();
-
-  static bool has_simd()               { return _has_simd; }
-  static bool has_vfp()                { return has_simd(); }
-  static bool simd_math_is_compliant() { return true; }
-
-  static bool prefer_moves_over_load_literal() { return true; }
-
-#else
 
  protected:
   enum Feature_Flag {
@@ -121,7 +104,6 @@
 
   friend class VM_Version_StubGenerator;
 
-#endif // AARCH64
 };
 
 #endif // CPU_ARM_VM_VM_VERSION_ARM_HPP
--- a/src/hotspot/cpu/arm/vm_version_arm_64.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-/*
- * Copyright (c) 2008, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- *
- */
-
-#include "precompiled.hpp"
-#include "jvm.h"
-#include "asm/macroAssembler.inline.hpp"
-#include "memory/resourceArea.hpp"
-#include "runtime/java.hpp"
-#include "runtime/os.inline.hpp"
-#include "runtime/stubCodeGenerator.hpp"
-#include "vm_version_arm.hpp"
-#include <sys/auxv.h>
-#include <asm/hwcap.h>
-
-#ifndef HWCAP_AES
-#define HWCAP_AES 1 << 3
-#endif
-
-bool VM_Version::_is_initialized = false;
-bool VM_Version::_has_simd = false;
-
-extern "C" {
-  typedef bool (*check_simd_t)();
-}
-
-
-#ifdef COMPILER2
-
-#define __ _masm->
-
-class VM_Version_StubGenerator: public StubCodeGenerator {
- public:
-
-  VM_Version_StubGenerator(CodeBuffer *c) : StubCodeGenerator(c) {}
-
-  address generate_check_simd() {
-    StubCodeMark mark(this, "VM_Version", "check_simd");
-    address start = __ pc();
-
-    __ vcnt(Stemp, Stemp);
-    __ mov(R0, 1);
-    __ ret(LR);
-
-    return start;
-  };
-};
-
-#undef __
-
-#endif
-
-
-
-extern "C" address check_simd_fault_instr;
-
-
-void VM_Version::initialize() {
-  ResourceMark rm;
-
-  // Making this stub must be FIRST use of assembler
-  const int stub_size = 128;
-  BufferBlob* stub_blob = BufferBlob::create("get_cpu_info", stub_size);
-  if (stub_blob == NULL) {
-    vm_exit_during_initialization("Unable to allocate get_cpu_info stub");
-  }
-
-  if (UseFMA) {
-    warning("FMA instructions are not available on this CPU");
-    FLAG_SET_DEFAULT(UseFMA, false);
-  }
-
-  if (UseSHA) {
-    warning("SHA instructions are not available on this CPU");
-    FLAG_SET_DEFAULT(UseSHA, false);
-  }
-
-  if (UseSHA1Intrinsics) {
-    warning("Intrinsics for SHA-1 crypto hash functions not available on this CPU.");
-    FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
-  }
-
-  if (UseSHA256Intrinsics) {
-    warning("Intrinsics for SHA-224 and SHA-256 crypto hash functions not available on this CPU.");
-    FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
-  }
-
-  if (UseSHA512Intrinsics) {
-    warning("Intrinsics for SHA-384 and SHA-512 crypto hash functions not available on this CPU.");
-    FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
-  }
-
-  if (UseCRC32Intrinsics) {
-    if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics))
-      warning("CRC32 intrinsics are not available on this CPU");
-    FLAG_SET_DEFAULT(UseCRC32Intrinsics, false);
-  }
-
-  if (UseCRC32CIntrinsics) {
-    if (!FLAG_IS_DEFAULT(UseCRC32CIntrinsics))
-      warning("CRC32C intrinsics are not available on this CPU");
-    FLAG_SET_DEFAULT(UseCRC32CIntrinsics, false);
-  }
-
-  if (UseAdler32Intrinsics) {
-    warning("Adler32 intrinsics are not available on this CPU");
-    FLAG_SET_DEFAULT(UseAdler32Intrinsics, false);
-  }
-
-  if (UseVectorizedMismatchIntrinsic) {
-    warning("vectorizedMismatch intrinsic is not available on this CPU.");
-    FLAG_SET_DEFAULT(UseVectorizedMismatchIntrinsic, false);
-  }
-
-  CodeBuffer c(stub_blob);
-
-#ifdef COMPILER2
-  VM_Version_StubGenerator g(&c);
-
-  address check_simd_pc = g.generate_check_simd();
-  if (check_simd_pc != NULL) {
-    check_simd_t check_simd = CAST_TO_FN_PTR(check_simd_t, check_simd_pc);
-    check_simd_fault_instr = (address)check_simd;
-    _has_simd = check_simd();
-  } else {
-    assert(! _has_simd, "default _has_simd value must be 'false'");
-  }
-#endif
-
-  unsigned long auxv = getauxval(AT_HWCAP);
-
-  char buf[512];
-  jio_snprintf(buf, sizeof(buf), "AArch64%s",
-               ((auxv & HWCAP_AES) ? ", aes" : ""));
-
-  _features_string = os::strdup(buf);
-
-#ifdef COMPILER2
-  if (auxv & HWCAP_AES) {
-    if (FLAG_IS_DEFAULT(UseAES)) {
-      FLAG_SET_DEFAULT(UseAES, true);
-    }
-    if (!UseAES) {
-      if (UseAESIntrinsics && !FLAG_IS_DEFAULT(UseAESIntrinsics)) {
-        warning("AES intrinsics require UseAES flag to be enabled. Intrinsics will be disabled.");
-      }
-      FLAG_SET_DEFAULT(UseAESIntrinsics, false);
-    } else {
-      if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
-        FLAG_SET_DEFAULT(UseAESIntrinsics, true);
-      }
-    }
-  } else
-#endif
-  if (UseAES || UseAESIntrinsics) {
-    if (UseAES && !FLAG_IS_DEFAULT(UseAES)) {
-      warning("AES instructions are not available on this CPU");
-      FLAG_SET_DEFAULT(UseAES, false);
-    }
-    if (UseAESIntrinsics && !FLAG_IS_DEFAULT(UseAESIntrinsics)) {
-      warning("AES intrinsics are not available on this CPU");
-      FLAG_SET_DEFAULT(UseAESIntrinsics, false);
-    }
-  }
-
-  if (UseAESCTRIntrinsics) {
-    warning("AES/CTR intrinsics are not available on this CPU");
-    FLAG_SET_DEFAULT(UseAESCTRIntrinsics, false);
-  }
-
-  _supports_cx8 = true;
-  _supports_atomic_getset4 = true;
-  _supports_atomic_getadd4 = true;
-  _supports_atomic_getset8 = true;
-  _supports_atomic_getadd8 = true;
-
-  // TODO-AARCH64 revise C2 flags
-
-  if (has_simd()) {
-    if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
-      FLAG_SET_DEFAULT(UsePopCountInstruction, true);
-    }
-  }
-
-  if (FLAG_IS_DEFAULT(AllocatePrefetchDistance)) {
-    FLAG_SET_DEFAULT(AllocatePrefetchDistance, 128);
-  }
-
-#ifdef COMPILER2
-  FLAG_SET_DEFAULT(UseFPUForSpilling, true);
-
-  if (FLAG_IS_DEFAULT(MaxVectorSize)) {
-    // FLAG_SET_DEFAULT(MaxVectorSize, has_simd() ? 16 : 8);
-    // SIMD/NEON can use 16, but default is 8 because currently
-    // larger than 8 will disable instruction scheduling
-    FLAG_SET_DEFAULT(MaxVectorSize, 8);
-  }
-
-  if (MaxVectorSize > 16) {
-    FLAG_SET_DEFAULT(MaxVectorSize, 8);
-  }
-#endif
-
-  if (FLAG_IS_DEFAULT(Tier4CompileThreshold)) {
-    Tier4CompileThreshold = 10000;
-  }
-  if (FLAG_IS_DEFAULT(Tier3InvocationThreshold)) {
-    Tier3InvocationThreshold = 1000;
-  }
-  if (FLAG_IS_DEFAULT(Tier3CompileThreshold)) {
-    Tier3CompileThreshold = 5000;
-  }
-  if (FLAG_IS_DEFAULT(Tier3MinInvocationThreshold)) {
-    Tier3MinInvocationThreshold = 500;
-  }
-
-  FLAG_SET_DEFAULT(TypeProfileLevel, 0); // unsupported
-
-  // This machine does not allow unaligned memory accesses
-  if (UseUnalignedAccesses) {
-    if (!FLAG_IS_DEFAULT(UseUnalignedAccesses))
-      warning("Unaligned memory access is not available on this CPU");
-    FLAG_SET_DEFAULT(UseUnalignedAccesses, false);
-  }
-
-  _is_initialized = true;
-}
-
-bool VM_Version::use_biased_locking() {
-  // TODO-AARCH64 measure performance and revise
-
-  // The cost of CAS on uniprocessor ARM v6 and later is low compared to the
-  // overhead related to slightly longer Biased Locking execution path.
-  // Testing shows no improvement when running with Biased Locking enabled
-  // on an ARMv6 and higher uniprocessor systems.  The situation is different on
-  // ARMv5 and MP systems.
-  //
-  // Therefore the Biased Locking is enabled on ARMv5 and ARM MP only.
-  //
-  return os::is_MP();
-}
--- a/src/hotspot/cpu/arm/vm_version_ext_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/vm_version_ext_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -49,11 +49,7 @@
   _no_of_cores  = os::processor_count();
   _no_of_threads = _no_of_cores;
   _no_of_sockets = _no_of_cores;
-#ifdef AARCH64
-  snprintf(_cpu_name, CPU_TYPE_DESC_BUF_SIZE - 1, "AArch64");
-#else
   snprintf(_cpu_name, CPU_TYPE_DESC_BUF_SIZE - 1, "ARM%d", _arm_arch);
-#endif
   snprintf(_cpu_desc, CPU_DETAILED_DESC_BUF_SIZE, "%s", _features_string);
   _initialized = true;
 }
--- a/src/hotspot/cpu/arm/vtableStubs_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/arm/vtableStubs_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -92,7 +92,7 @@
     int method_offset = vtableEntry::method_offset_in_bytes() + entry_offset;
 
     assert ((method_offset & (wordSize - 1)) == 0, "offset should be aligned");
-    int offset_mask = AARCH64_ONLY(0xfff << LogBytesPerWord) NOT_AARCH64(0xfff);
+    int offset_mask = 0xfff;
     if (method_offset & ~offset_mask) {
       __ add(tmp, tmp, method_offset & ~offset_mask);
     }
@@ -109,12 +109,7 @@
 #endif
 
   address ame_addr = __ pc();
-#ifdef AARCH64
-  __ ldr(tmp, Address(Rmethod, Method::from_compiled_offset()));
-  __ br(tmp);
-#else
   __ ldr(PC, Address(Rmethod, Method::from_compiled_offset()));
-#endif // AARCH64
 
   masm->flush();
   bookkeeping(masm, tty, s, npe_addr, ame_addr, true, vtable_index, slop_bytes, 0);
@@ -150,9 +145,9 @@
   assert(VtableStub::receiver_location() == R0->as_VMReg(), "receiver expected in R0");
 
   // R0-R3 / R0-R7 registers hold the arguments and cannot be spoiled
-  const Register Rclass  = AARCH64_ONLY(R9)  NOT_AARCH64(R4);
-  const Register Rintf   = AARCH64_ONLY(R10) NOT_AARCH64(R5);
-  const Register Rscan   = AARCH64_ONLY(R11) NOT_AARCH64(R6);
+  const Register Rclass  = R4;
+  const Register Rintf   = R5;
+  const Register Rscan   = R6;
 
   Label L_no_such_interface;
 
@@ -200,12 +195,7 @@
 
   address ame_addr = __ pc();
 
-#ifdef AARCH64
-  __ ldr(Rtemp, Address(Rmethod, Method::from_compiled_offset()));
-  __ br(Rtemp);
-#else
   __ ldr(PC, Address(Rmethod, Method::from_compiled_offset()));
-#endif // AARCH64
 
   __ bind(L_no_such_interface);
   // Handle IncompatibleClassChangeError in itable stubs.
--- a/src/hotspot/cpu/ppc/assembler_ppc.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/ppc/assembler_ppc.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -535,6 +535,9 @@
     XVMULSP_OPCODE = (60u << OPCODE_SHIFT |   80u << 3),
     XVMULDP_OPCODE = (60u << OPCODE_SHIFT |  112u << 3),
 
+    // Deliver A Random Number (introduced with POWER9)
+    DARN_OPCODE    = (31u << OPCODE_SHIFT |  755u << 1),
+
     // Vector Permute and Formatting
     VPKPX_OPCODE   = (4u  << OPCODE_SHIFT |  782u     ),
     VPKSHSS_OPCODE = (4u  << OPCODE_SHIFT |  398u     ),
@@ -1072,6 +1075,7 @@
   static int frt(      int         x)  { return  opp_u_field(x,             10,  6); }
   static int fxm(      int         x)  { return  opp_u_field(x,             19, 12); }
   static int l10(      int         x)  { return  opp_u_field(x,             10, 10); }
+  static int l14(      int         x)  { return  opp_u_field(x,             15, 14); }
   static int l15(      int         x)  { return  opp_u_field(x,             15, 15); }
   static int l910(     int         x)  { return  opp_u_field(x,             10,  9); }
   static int e1215(    int         x)  { return  opp_u_field(x,             15, 12); }
@@ -2220,6 +2224,9 @@
   inline void mtfprwa(  FloatRegister   d, Register a);
   inline void mffprd(   Register        a, FloatRegister d);
 
+  // Deliver A Random Number (introduced with POWER9)
+  inline void darn( Register d, int l = 1 /*L=CRN*/);
+
   // AES (introduced with Power 8)
   inline void vcipher(     VectorRegister d, VectorRegister a, VectorRegister b);
   inline void vcipherlast( VectorRegister d, VectorRegister a, VectorRegister b);
--- a/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/ppc/assembler_ppc.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2017 SAP SE. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -979,6 +979,9 @@
 inline void Assembler::tresume_()                               { emit_int32( TSR_OPCODE | /*L=1*/ 1u << (31-10) | rc(1)); }
 inline void Assembler::tcheck(int f)                            { emit_int32( TCHECK_OPCODE | bf(f)); }
 
+// Deliver A Random Number (introduced with POWER9)
+inline void Assembler::darn(Register d, int l /* =1 */) { emit_int32( DARN_OPCODE | rt(d) | l14(l)); }
+
 // ra0 version
 inline void Assembler::lwzx( Register d, Register s2) { emit_int32( LWZX_OPCODE | rt(d) | rb(s2));}
 inline void Assembler::lwz(  Register d, int si16   ) { emit_int32( LWZ_OPCODE  | rt(d) | d1(si16));}
--- a/src/hotspot/cpu/ppc/vm_version_ppc.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/ppc/vm_version_ppc.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -63,7 +63,9 @@
 
   // If PowerArchitecturePPC64 hasn't been specified explicitly determine from features.
   if (FLAG_IS_DEFAULT(PowerArchitecturePPC64)) {
-    if (VM_Version::has_lqarx()) {
+    if (VM_Version::has_darn()) {
+      FLAG_SET_ERGO(uintx, PowerArchitecturePPC64, 9);
+    } else if (VM_Version::has_lqarx()) {
       FLAG_SET_ERGO(uintx, PowerArchitecturePPC64, 8);
     } else if (VM_Version::has_popcntw()) {
       FLAG_SET_ERGO(uintx, PowerArchitecturePPC64, 7);
@@ -78,6 +80,7 @@
 
   bool PowerArchitecturePPC64_ok = false;
   switch (PowerArchitecturePPC64) {
+    case 9: if (!VM_Version::has_darn()   ) break;
     case 8: if (!VM_Version::has_lqarx()  ) break;
     case 7: if (!VM_Version::has_popcntw()) break;
     case 6: if (!VM_Version::has_cmpb()   ) break;
@@ -131,12 +134,11 @@
   // Create and print feature-string.
   char buf[(num_features+1) * 16]; // Max 16 chars per feature.
   jio_snprintf(buf, sizeof(buf),
-               "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+               "ppc64%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
                (has_fsqrt()   ? " fsqrt"   : ""),
                (has_isel()    ? " isel"    : ""),
                (has_lxarxeh() ? " lxarxeh" : ""),
                (has_cmpb()    ? " cmpb"    : ""),
-               //(has_mftgpr()? " mftgpr"  : ""),
                (has_popcntb() ? " popcntb" : ""),
                (has_popcntw() ? " popcntw" : ""),
                (has_fcfids()  ? " fcfids"  : ""),
@@ -149,7 +151,8 @@
                (has_ldbrx()   ? " ldbrx"   : ""),
                (has_stdbrx()  ? " stdbrx"  : ""),
                (has_vshasig() ? " sha"     : ""),
-               (has_tm()      ? " rtm"     : "")
+               (has_tm()      ? " rtm"     : ""),
+               (has_darn()    ? " darn"    : "")
                // Make sure number of %s matches num_features!
               );
   _features_string = os::strdup(buf);
@@ -663,6 +666,8 @@
   a->ldbrx(R7, R3_ARG1, R4_ARG2);              // code[14] -> ldbrx
   a->stdbrx(R7, R3_ARG1, R4_ARG2);             // code[15] -> stdbrx
   a->vshasigmaw(VR0, VR1, 1, 0xF);             // code[16] -> vshasig
+  // rtm is determined by OS
+  a->darn(R7);                                 // code[17] -> darn
   a->blr();
 
   // Emit function to set one cache line to zero. Emit function descriptor and get pointer to it.
@@ -714,6 +719,8 @@
   if (code[feature_cntr++]) features |= ldbrx_m;
   if (code[feature_cntr++]) features |= stdbrx_m;
   if (code[feature_cntr++]) features |= vshasig_m;
+  // feature rtm_m is determined by OS
+  if (code[feature_cntr++]) features |= darn_m;
 
   // Print the detection code.
   if (PrintAssembly) {
--- a/src/hotspot/cpu/ppc/vm_version_ppc.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/cpu/ppc/vm_version_ppc.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, 2017 SAP SE. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,6 +50,7 @@
     stdbrx,
     vshasig,
     rtm,
+    darn,
     num_features // last entry to count features
   };
   enum Feature_Flag_Set {
@@ -72,6 +73,7 @@
     stdbrx_m              = (1 << stdbrx ),
     vshasig_m             = (1 << vshasig),
     rtm_m                 = (1 << rtm    ),
+    darn_m                = (1 << darn   ),
     all_features_m        = (unsigned long)-1
   };
 
@@ -108,9 +110,10 @@
   static bool has_ldbrx()   { return (_features & ldbrx_m) != 0; }
   static bool has_stdbrx()  { return (_features & stdbrx_m) != 0; }
   static bool has_vshasig() { return (_features & vshasig_m) != 0; }
+  static bool has_tm()      { return (_features & rtm_m) != 0; }
+  static bool has_darn()    { return (_features & darn_m) != 0; }
+
   static bool has_mtfprd()  { return has_vpmsumb(); } // alias for P8
-  // OS feature support
-  static bool has_tm()      { return (_features & rtm_m) != 0; }
 
   // Assembler testing
   static void allow_all();
--- a/src/hotspot/os/aix/os_aix.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/aix/os_aix.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -776,12 +776,7 @@
 // Thread start routine for all newly created threads
 static void *thread_native_entry(Thread *thread) {
 
-  // find out my own stack dimensions
-  {
-    // actually, this should do exactly the same as thread->record_stack_base_and_size...
-    thread->set_stack_base(os::current_stack_base());
-    thread->set_stack_size(os::current_stack_size());
-  }
+  thread->record_stack_base_and_size();
 
   const pthread_t pthread_id = ::pthread_self();
   const tid_t kernel_thread_id = ::thread_self();
@@ -834,20 +829,15 @@
   assert(osthread->get_state() == RUNNABLE, "invalid os thread state");
 
   // Call one more level start routine.
-  thread->run();
+  thread->call_run();
+
+  // Note: at this point the thread object may already have deleted itself.
+  // Prevent dereferencing it from here on out.
+  thread = NULL;
 
   log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ", kernel thread id: " UINTX_FORMAT ").",
     os::current_thread_id(), (uintx) kernel_thread_id);
 
-  // If a thread has not deleted itself ("delete this") as part of its
-  // termination sequence, we have to ensure thread-local-storage is
-  // cleared before we actually terminate. No threads should ever be
-  // deleted asynchronously with respect to their termination.
-  if (Thread::current_or_null_safe() != NULL) {
-    assert(Thread::current_or_null_safe() == thread, "current thread is wrong");
-    thread->clear_thread_current();
-  }
-
   return 0;
 }
 
--- a/src/hotspot/os/bsd/globals_bsd.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/bsd/globals_bsd.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,12 +46,6 @@
   /*  overridden in Arguments::parse_each_vm_init_arg.            */            \
   product(bool, UseBsdPosixThreadCPUClocks, true,                               \
           "enable fast Bsd Posix clocks where available")                       \
-                                                                                \
-  product(bool, UseHugeTLBFS, false,                                            \
-          "Use MAP_HUGETLB for large pages")                                    \
-                                                                                \
-  product(bool, UseSHM, false,                                                  \
-          "Use SYSV shared memory for large pages")
 
 //
 // Defines Bsd-specific default values. The flags are available on all
--- a/src/hotspot/os/bsd/os_bsd.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/bsd/os_bsd.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -70,50 +70,38 @@
 #include "utilities/vmError.hpp"
 
 // put OS-includes here
-# include <sys/types.h>
-# include <sys/mman.h>
-# include <sys/stat.h>
-# include <sys/select.h>
-# include <pthread.h>
-# include <signal.h>
+# include <dlfcn.h>
 # include <errno.h>
-# include <dlfcn.h>
+# include <fcntl.h>
+# include <inttypes.h>
+# include <poll.h>
+# include <pthread.h>
+# include <pwd.h>
+# include <signal.h>
+# include <stdint.h>
 # include <stdio.h>
-# include <unistd.h>
+# include <string.h>
+# include <sys/ioctl.h>
+# include <sys/mman.h>
+# include <sys/param.h>
 # include <sys/resource.h>
-# include <pthread.h>
+# include <sys/socket.h>
 # include <sys/stat.h>
+# include <sys/syscall.h>
+# include <sys/sysctl.h>
 # include <sys/time.h>
 # include <sys/times.h>
-# include <sys/utsname.h>
-# include <sys/socket.h>
+# include <sys/types.h>
 # include <sys/wait.h>
 # include <time.h>
-# include <pwd.h>
-# include <poll.h>
-# include <fcntl.h>
-# include <string.h>
-# include <sys/param.h>
-# include <sys/sysctl.h>
-# include <sys/ipc.h>
-# include <sys/shm.h>
-#ifndef __APPLE__
-# include <link.h>
-#endif
-# include <stdint.h>
-# include <inttypes.h>
-# include <sys/ioctl.h>
-# include <sys/syscall.h>
+# include <unistd.h>
 
 #if defined(__FreeBSD__) || defined(__NetBSD__)
   #include <elf.h>
 #endif
 
 #ifdef __APPLE__
-  #include <mach/mach.h> // semaphore_* API
   #include <mach-o/dyld.h>
-  #include <sys/proc_info.h>
-  #include <objc/objc-auto.h>
 #endif
 
 #ifndef MAP_ANONYMOUS
@@ -125,8 +113,6 @@
 // for timer info max values which include all bits
 #define ALL_64_BITS CONST64(0xFFFFFFFFFFFFFFFF)
 
-#define LARGEPAGES_BIT (1 << 6)
-
 ////////////////////////////////////////////////////////////////////////////////
 // global variables
 julong os::Bsd::_physical_memory = 0;
@@ -644,6 +630,9 @@
 
 // Thread start routine for all newly created threads
 static void *thread_native_entry(Thread *thread) {
+
+  thread->record_stack_base_and_size();
+
   // Try to randomize the cache line index of hot stack frames.
   // This helps when threads of the same stack traces evict each other's
   // cache lines. The threads can be either from the same JVM instance, or
@@ -696,20 +685,15 @@
   }
 
   // call one more level start routine
-  thread->run();
+  thread->call_run();
+
+  // Note: at this point the thread object may already have deleted itself.
+  // Prevent dereferencing it from here on out.
+  thread = NULL;
 
   log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ", pthread id: " UINTX_FORMAT ").",
     os::current_thread_id(), (uintx) pthread_self());
 
-  // If a thread has not deleted itself ("delete this") as part of its
-  // termination sequence, we have to ensure thread-local-storage is
-  // cleared before we actually terminate. No threads should ever be
-  // deleted asynchronously with respect to their termination.
-  if (Thread::current_or_null_safe() != NULL) {
-    assert(Thread::current_or_null_safe() == thread, "current thread is wrong");
-    thread->clear_thread_current();
-  }
-
   return 0;
 }
 
@@ -2118,95 +2102,27 @@
 
 
 char* os::reserve_memory_special(size_t bytes, size_t alignment, char* req_addr, bool exec) {
-  fatal("This code is not used or maintained.");
-
-  // "exec" is passed in but not used.  Creating the shared image for
-  // the code cache doesn't have an SHM_X executable permission to check.
-  assert(UseLargePages && UseSHM, "only for SHM large pages");
-
-  key_t key = IPC_PRIVATE;
-  char *addr;
-
-  bool warn_on_failure = UseLargePages &&
-                         (!FLAG_IS_DEFAULT(UseLargePages) ||
-                          !FLAG_IS_DEFAULT(LargePageSizeInBytes));
-
-  // Create a large shared memory region to attach to based on size.
-  // Currently, size is the total size of the heap
-  int shmid = shmget(key, bytes, IPC_CREAT|SHM_R|SHM_W);
-  if (shmid == -1) {
-    // Possible reasons for shmget failure:
-    // 1. shmmax is too small for Java heap.
-    //    > check shmmax value: cat /proc/sys/kernel/shmmax
-    //    > increase shmmax value: echo "0xffffffff" > /proc/sys/kernel/shmmax
-    // 2. not enough large page memory.
-    //    > check available large pages: cat /proc/meminfo
-    //    > increase amount of large pages:
-    //          echo new_value > /proc/sys/vm/nr_hugepages
-    //      Note 1: different Bsd may use different name for this property,
-    //            e.g. on Redhat AS-3 it is "hugetlb_pool".
-    //      Note 2: it's possible there's enough physical memory available but
-    //            they are so fragmented after a long run that they can't
-    //            coalesce into large pages. Try to reserve large pages when
-    //            the system is still "fresh".
-    if (warn_on_failure) {
-      warning("Failed to reserve shared memory (errno = %d).", errno);
-    }
-    return NULL;
-  }
-
-  // attach to the region
-  addr = (char*)shmat(shmid, req_addr, 0);
-  int err = errno;
-
-  // Remove shmid. If shmat() is successful, the actual shared memory segment
-  // will be deleted when it's detached by shmdt() or when the process
-  // terminates. If shmat() is not successful this will remove the shared
-  // segment immediately.
-  shmctl(shmid, IPC_RMID, NULL);
-
-  if ((intptr_t)addr == -1) {
-    if (warn_on_failure) {
-      warning("Failed to attach shared memory (errno = %d).", err);
-    }
-    return NULL;
-  }
-
-  // The memory is committed
-  MemTracker::record_virtual_memory_reserve_and_commit((address)addr, bytes, CALLER_PC);
-
-  return addr;
+  fatal("os::reserve_memory_special should not be called on BSD.");
+  return NULL;
 }
 
 bool os::release_memory_special(char* base, size_t bytes) {
-  if (MemTracker::tracking_level() > NMT_minimal) {
-    Tracker tkr(Tracker::release);
-    // detaching the SHM segment will also delete it, see reserve_memory_special()
-    int rslt = shmdt(base);
-    if (rslt == 0) {
-      tkr.record((address)base, bytes);
-      return true;
-    } else {
-      return false;
-    }
-  } else {
-    return shmdt(base) == 0;
-  }
+  fatal("os::release_memory_special should not be called on BSD.");
+  return false;
 }
 
 size_t os::large_page_size() {
   return _large_page_size;
 }
 
-// HugeTLBFS allows application to commit large page memory on demand;
-// with SysV SHM the entire memory region must be allocated as shared
-// memory.
 bool os::can_commit_large_page_memory() {
-  return UseHugeTLBFS;
+  // Does not matter, we do not support huge pages.
+  return false;
 }
 
 bool os::can_execute_large_page_memory() {
-  return UseHugeTLBFS;
+  // Does not matter, we do not support huge pages.
+  return false;
 }
 
 char* os::pd_attempt_reserve_memory_at(size_t bytes, char* requested_addr, int file_desc) {
--- a/src/hotspot/os/linux/os_linux.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/linux/os_linux.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -649,6 +649,9 @@
 
 // Thread start routine for all newly created threads
 static void *thread_native_entry(Thread *thread) {
+
+  thread->record_stack_base_and_size();
+
   // Try to randomize the cache line index of hot stack frames.
   // This helps when threads of the same stack traces evict each other's
   // cache lines. The threads can be either from the same JVM instance, or
@@ -695,20 +698,15 @@
   }
 
   // call one more level start routine
-  thread->run();
+  thread->call_run();
+
+  // Note: at this point the thread object may already have deleted itself.
+  // Prevent dereferencing it from here on out.
+  thread = NULL;
 
   log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ", pthread id: " UINTX_FORMAT ").",
     os::current_thread_id(), (uintx) pthread_self());
 
-  // If a thread has not deleted itself ("delete this") as part of its
-  // termination sequence, we have to ensure thread-local-storage is
-  // cleared before we actually terminate. No threads should ever be
-  // deleted asynchronously with respect to their termination.
-  if (Thread::current_or_null_safe() != NULL) {
-    assert(Thread::current_or_null_safe() == thread, "current thread is wrong");
-    thread->clear_thread_current();
-  }
-
   return 0;
 }
 
--- a/src/hotspot/os/solaris/os_solaris.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/solaris/os_solaris.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -199,6 +199,10 @@
   return st;
 }
 
+static void _handle_uncaught_cxx_exception() {
+  VMError::report_and_die("An uncaught C++ exception");
+}
+
 bool os::is_primordial_thread(void) {
   int r = thr_main();
   guarantee(r == 0 || r == 1, "CR6501650 or CR6493689");
@@ -724,6 +728,11 @@
 
 // Thread start routine for all newly created threads
 extern "C" void* thread_native_entry(void* thread_addr) {
+
+  Thread* thread = (Thread*)thread_addr;
+
+  thread->record_stack_base_and_size();
+
   // Try to randomize the cache line index of hot stack frames.
   // This helps when threads of the same stack traces evict each other's
   // cache lines. The threads can be either from the same JVM instance, or
@@ -734,7 +743,6 @@
   alloca(((pid ^ counter++) & 7) * 128);
 
   int prio;
-  Thread* thread = (Thread*)thread_addr;
 
   thread->initialize_thread_current();
 
@@ -775,7 +783,13 @@
   // initialize signal mask for this thread
   os::Solaris::hotspot_sigmask(thread);
 
-  thread->run();
+  os::Solaris::init_thread_fpu_state();
+  std::set_terminate(_handle_uncaught_cxx_exception);
+
+  thread->call_run();
+
+  // Note: at this point the thread object may already have deleted itself.
+  // Do not dereference it from here on out.
 
   // One less thread is executing
   // When the VMThread gets here, the main thread may have already exited
@@ -786,15 +800,6 @@
 
   log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ").", os::current_thread_id());
 
-  // If a thread has not deleted itself ("delete this") as part of its
-  // termination sequence, we have to ensure thread-local-storage is
-  // cleared before we actually terminate. No threads should ever be
-  // deleted asynchronously with respect to their termination.
-  if (Thread::current_or_null_safe() != NULL) {
-    assert(Thread::current_or_null_safe() == thread, "current thread is wrong");
-    thread->clear_thread_current();
-  }
-
   if (UseDetachedThreads) {
     thr_exit(NULL);
     ShouldNotReachHere();
@@ -1090,67 +1095,58 @@
   return &vm_sigs;
 }
 
-void _handle_uncaught_cxx_exception() {
-  VMError::report_and_die("An uncaught C++ exception");
-}
-
-
-// First crack at OS-specific initialization, from inside the new thread.
-void os::initialize_thread(Thread* thr) {
-  if (is_primordial_thread()) {
-    JavaThread* jt = (JavaThread *)thr;
-    assert(jt != NULL, "Sanity check");
-    size_t stack_size;
-    address base = jt->stack_base();
-    if (Arguments::created_by_java_launcher()) {
-      // Use 2MB to allow for Solaris 7 64 bit mode.
-      stack_size = JavaThread::stack_size_at_create() == 0
-        ? 2048*K : JavaThread::stack_size_at_create();
-
-      // There are rare cases when we may have already used more than
-      // the basic stack size allotment before this method is invoked.
-      // Attempt to allow for a normally sized java_stack.
-      size_t current_stack_offset = (size_t)(base - (address)&stack_size);
-      stack_size += ReservedSpace::page_align_size_down(current_stack_offset);
-    } else {
-      // 6269555: If we were not created by a Java launcher, i.e. if we are
-      // running embedded in a native application, treat the primordial thread
-      // as much like a native attached thread as possible.  This means using
-      // the current stack size from thr_stksegment(), unless it is too large
-      // to reliably setup guard pages.  A reasonable max size is 8MB.
-      size_t current_size = current_stack_size();
-      // This should never happen, but just in case....
-      if (current_size == 0) current_size = 2 * K * K;
-      stack_size = current_size > (8 * K * K) ? (8 * K * K) : current_size;
-    }
-    address bottom = align_up(base - stack_size, os::vm_page_size());;
-    stack_size = (size_t)(base - bottom);
-
-    assert(stack_size > 0, "Stack size calculation problem");
-
-    if (stack_size > jt->stack_size()) {
+// CR 7190089: on Solaris, primordial thread's stack needs adjusting.
+// Without the adjustment, stack size is incorrect if stack is set to unlimited (ulimit -s unlimited).
+void os::Solaris::correct_stack_boundaries_for_primordial_thread(Thread* thr) {
+  assert(is_primordial_thread(), "Call only for primordial thread");
+
+  JavaThread* jt = (JavaThread *)thr;
+  assert(jt != NULL, "Sanity check");
+  size_t stack_size;
+  address base = jt->stack_base();
+  if (Arguments::created_by_java_launcher()) {
+    // Use 2MB to allow for Solaris 7 64 bit mode.
+    stack_size = JavaThread::stack_size_at_create() == 0
+      ? 2048*K : JavaThread::stack_size_at_create();
+
+    // There are rare cases when we may have already used more than
+    // the basic stack size allotment before this method is invoked.
+    // Attempt to allow for a normally sized java_stack.
+    size_t current_stack_offset = (size_t)(base - (address)&stack_size);
+    stack_size += ReservedSpace::page_align_size_down(current_stack_offset);
+  } else {
+    // 6269555: If we were not created by a Java launcher, i.e. if we are
+    // running embedded in a native application, treat the primordial thread
+    // as much like a native attached thread as possible.  This means using
+    // the current stack size from thr_stksegment(), unless it is too large
+    // to reliably setup guard pages.  A reasonable max size is 8MB.
+    size_t current_size = os::current_stack_size();
+    // This should never happen, but just in case....
+    if (current_size == 0) current_size = 2 * K * K;
+    stack_size = current_size > (8 * K * K) ? (8 * K * K) : current_size;
+  }
+  address bottom = align_up(base - stack_size, os::vm_page_size());;
+  stack_size = (size_t)(base - bottom);
+
+  assert(stack_size > 0, "Stack size calculation problem");
+
+  if (stack_size > jt->stack_size()) {
 #ifndef PRODUCT
-      struct rlimit limits;
-      getrlimit(RLIMIT_STACK, &limits);
-      size_t size = adjust_stack_size(base, (size_t)limits.rlim_cur);
-      assert(size >= jt->stack_size(), "Stack size problem in main thread");
+    struct rlimit limits;
+    getrlimit(RLIMIT_STACK, &limits);
+    size_t size = adjust_stack_size(base, (size_t)limits.rlim_cur);
+    assert(size >= jt->stack_size(), "Stack size problem in main thread");
 #endif
-      tty->print_cr("Stack size of %d Kb exceeds current limit of %d Kb.\n"
-                    "(Stack sizes are rounded up to a multiple of the system page size.)\n"
-                    "See limit(1) to increase the stack size limit.",
-                    stack_size / K, jt->stack_size() / K);
-      vm_exit(1);
-    }
-    assert(jt->stack_size() >= stack_size,
-           "Attempt to map more stack than was allocated");
-    jt->set_stack_size(stack_size);
-  }
-
-  // With the T2 libthread (T1 is no longer supported) threads are always bound
-  // and we use stackbanging in all cases.
-
-  os::Solaris::init_thread_fpu_state();
-  std::set_terminate(_handle_uncaught_cxx_exception);
+    tty->print_cr("Stack size of %d Kb exceeds current limit of %d Kb.\n"
+                  "(Stack sizes are rounded up to a multiple of the system page size.)\n"
+                  "See limit(1) to increase the stack size limit.",
+                  stack_size / K, jt->stack_size() / K);
+    vm_exit(1);
+  }
+  assert(jt->stack_size() >= stack_size,
+         "Attempt to map more stack than was allocated");
+  jt->set_stack_size(stack_size);
+
 }
 
 
--- a/src/hotspot/os/solaris/os_solaris.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/solaris/os_solaris.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -102,8 +102,6 @@
   static size_t page_size_for_alignment(size_t alignment);
   static bool setup_large_pages(caddr_t start, size_t bytes, size_t align);
 
-  static void init_thread_fpu_state(void);
-
   static void try_enable_extended_io();
 
   static struct sigaction *(*get_signal_action)(int);
@@ -148,6 +146,9 @@
 
   // SR_handler
   static void SR_handler(Thread* thread, ucontext_t* uc);
+
+  static void init_thread_fpu_state(void);
+
  protected:
   // Solaris-specific interface goes here
   static julong available_memory();
@@ -268,6 +269,7 @@
   static          jint  _os_thread_limit;
   static volatile jint  _os_thread_count;
 
+  static void correct_stack_boundaries_for_primordial_thread(Thread* thr);
 
   // Stack overflow handling
 
--- a/src/hotspot/os/windows/os_windows.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os/windows/os_windows.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -420,6 +420,9 @@
 
 // Thread start routine for all newly created threads
 static unsigned __stdcall thread_native_entry(Thread* thread) {
+
+  thread->record_stack_base_and_size();
+
   // Try to randomize the cache line index of hot stack frames.
   // This helps when threads of the same stack traces evict each other's
   // cache lines. The threads can be either from the same JVM instance, or
@@ -453,12 +456,15 @@
   // by VM, so VM can generate error dump when an exception occurred in non-
   // Java thread (e.g. VM thread).
   __try {
-    thread->run();
+    thread->call_run();
   } __except(topLevelExceptionFilter(
                                      (_EXCEPTION_POINTERS*)_exception_info())) {
     // Nothing to do.
   }
 
+  // Note: at this point the thread object may already have deleted itself.
+  // Do not dereference it from here on out.
+
   log_info(os, thread)("Thread finished (tid: " UINTX_FORMAT ").", os::current_thread_id());
 
   // One less thread is executing
@@ -468,15 +474,6 @@
     Atomic::dec(&os::win32::_os_thread_count);
   }
 
-  // If a thread has not deleted itself ("delete this") as part of its
-  // termination sequence, we have to ensure thread-local-storage is
-  // cleared before we actually terminate. No threads should ever be
-  // deleted asynchronously with respect to their termination.
-  if (Thread::current_or_null_safe() != NULL) {
-    assert(Thread::current_or_null_safe() == thread, "current thread is wrong");
-    thread->clear_thread_current();
-  }
-
   // Thread must not return from exit_process_or_thread(), but if it does,
   // let it proceed to exit normally
   return (unsigned)os::win32::exit_process_or_thread(os::win32::EPT_THREAD, res);
--- a/src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/aix_ppc/os_aix_ppc.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -85,11 +85,6 @@
   return (char*) -1;
 }
 
-// OS specific thread initialization
-//
-// Calculate and store the limits of the memory stack.
-void os::initialize_thread(Thread *thread) { }
-
 // Frame information (pc, sp, fp) retrieved via ucontext
 // always looks like a C-frame according to the frame
 // conventions in frame_ppc.hpp.
--- a/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -300,10 +300,6 @@
   return (char*) -1;
 }
 
-void os::initialize_thread(Thread* thr) {
-// Nothing to do.
-}
-
 address os::Bsd::ucontext_get_pc(const ucontext_t * uc) {
   return (address)uc->context_pc;
 }
--- a/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/bsd_zero/os_bsd_zero.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -100,10 +100,6 @@
 #endif // SPARC
 }
 
-void os::initialize_thread(Thread* thr) {
-  // Nothing to do.
-}
-
 address os::Bsd::ucontext_get_pc(const ucontext_t* uc) {
   ShouldNotCallThis();
   return NULL;
--- a/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -106,9 +106,6 @@
   return (char*) 0xffffffffffff;
 }
 
-void os::initialize_thread(Thread *thr) {
-}
-
 address os::Linux::ucontext_get_pc(const ucontext_t * uc) {
 #ifdef BUILTIN_SIM
   return (address)uc->uc_mcontext.gregs[REG_PC];
--- a/src/hotspot/os_cpu/linux_arm/atomic_linux_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/atomic_linux_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -44,7 +44,6 @@
  * kernel source or kernel_user_helpers.txt in Linux Doc.
  */
 
-#ifndef AARCH64
 template<>
 template<typename T>
 inline T Atomic::PlatformLoad<8>::operator()(T const volatile* src) const {
@@ -61,18 +60,9 @@
   (*os::atomic_store_long_func)(
     PrimitiveConversions::cast<int64_t>(store_value), reinterpret_cast<volatile int64_t*>(dest));
 }
-#endif
 
 // As per atomic.hpp all read-modify-write operations have to provide two-way
-// barriers semantics. For AARCH64 we are using load-acquire-with-reservation and
-// store-release-with-reservation. While load-acquire combined with store-release
-// do not generally form two-way barriers, their use with reservations does - the
-// ARMv8 architecture manual Section F "Barrier Litmus Tests" indicates they
-// provide sequentially consistent semantics. All we need to add is an explicit
-// barrier in the failure path of the cmpxchg operations (as these don't execute
-// the store) - arguably this may be overly cautious as there is a very low
-// likelihood that the hardware would pull loads/stores into the region guarded
-// by the reservation.
+// barriers semantics.
 //
 // For ARMv7 we add explicit barriers in the stubs.
 
@@ -90,45 +80,9 @@
                                                atomic_memory_order order) const {
   STATIC_ASSERT(4 == sizeof(I));
   STATIC_ASSERT(4 == sizeof(D));
-#ifdef AARCH64
-  D val;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %w[val], [%[dest]]\n\t"
-    " add %w[val], %w[val], %w[add_val]\n\t"
-    " stlxr %w[tmp], %w[val], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    : [val] "=&r" (val), [tmp] "=&r" (tmp)
-    : [add_val] "r" (add_value), [dest] "r" (dest)
-    : "memory");
-  return val;
-#else
   return add_using_helper<int32_t>(os::atomic_add_func, add_value, dest);
-#endif
 }
 
-#ifdef AARCH64
-template<>
-template<typename I, typename D>
-inline D Atomic::PlatformAdd<8>::add_and_fetch(I add_value, D volatile* dest,
-                                               atomic_memory_order order) const {
-  STATIC_ASSERT(8 == sizeof(I));
-  STATIC_ASSERT(8 == sizeof(D));
-  D val;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %[val], [%[dest]]\n\t"
-    " add %[val], %[val], %[add_val]\n\t"
-    " stlxr %w[tmp], %[val], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    : [val] "=&r" (val), [tmp] "=&r" (tmp)
-    : [add_val] "r" (add_value), [dest] "r" (dest)
-    : "memory");
-  return val;
-}
-#endif
 
 template<>
 template<typename T>
@@ -136,43 +90,9 @@
                                              T volatile* dest,
                                              atomic_memory_order order) const {
   STATIC_ASSERT(4 == sizeof(T));
-#ifdef AARCH64
-  T old_val;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %w[old_val], [%[dest]]\n\t"
-    " stlxr %w[tmp], %w[new_val], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    : [old_val] "=&r" (old_val), [tmp] "=&r" (tmp)
-    : [new_val] "r" (exchange_value), [dest] "r" (dest)
-    : "memory");
-  return old_val;
-#else
   return xchg_using_helper<int32_t>(os::atomic_xchg_func, exchange_value, dest);
-#endif
 }
 
-#ifdef AARCH64
-template<>
-template<typename T>
-inline T Atomic::PlatformXchg<8>::operator()(T exchange_value,
-                                             T volatile* dest,
-                                             atomic_memory_order order) const {
-  STATIC_ASSERT(8 == sizeof(T));
-  T old_val;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %[old_val], [%[dest]]\n\t"
-    " stlxr %w[tmp], %[new_val], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    : [old_val] "=&r" (old_val), [tmp] "=&r" (tmp)
-    : [new_val] "r" (exchange_value), [dest] "r" (dest)
-    : "memory");
-  return old_val;
-}
-#endif // AARCH64
 
 // The memory_order parameter is ignored - we always provide the strongest/most-conservative ordering
 
@@ -180,7 +100,6 @@
 template<>
 struct Atomic::PlatformCmpxchg<1> : Atomic::CmpxchgByteUsingInt {};
 
-#ifndef AARCH64
 
 inline int32_t reorder_cmpxchg_func(int32_t exchange_value,
                                     int32_t volatile* dest,
@@ -197,7 +116,6 @@
   return (*os::atomic_cmpxchg_long_func)(compare_value, exchange_value, dest);
 }
 
-#endif // !AARCH64
 
 template<>
 template<typename T>
@@ -206,27 +124,7 @@
                                                 T compare_value,
                                                 atomic_memory_order order) const {
   STATIC_ASSERT(4 == sizeof(T));
-#ifdef AARCH64
-  T rv;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %w[rv], [%[dest]]\n\t"
-    " cmp %w[rv], %w[cv]\n\t"
-    " b.ne 2f\n\t"
-    " stlxr %w[tmp], %w[ev], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    " b 3f\n\t"
-    "2:\n\t"
-    " dmb sy\n\t"
-    "3:\n\t"
-    : [rv] "=&r" (rv), [tmp] "=&r" (tmp)
-    : [ev] "r" (exchange_value), [dest] "r" (dest), [cv] "r" (compare_value)
-    : "memory");
-  return rv;
-#else
   return cmpxchg_using_helper<int32_t>(reorder_cmpxchg_func, exchange_value, dest, compare_value);
-#endif
 }
 
 template<>
@@ -236,27 +134,7 @@
                                                 T compare_value,
                                                 atomic_memory_order order) const {
   STATIC_ASSERT(8 == sizeof(T));
-#ifdef AARCH64
-  T rv;
-  int tmp;
-  __asm__ volatile(
-    "1:\n\t"
-    " ldaxr %[rv], [%[dest]]\n\t"
-    " cmp %[rv], %[cv]\n\t"
-    " b.ne 2f\n\t"
-    " stlxr %w[tmp], %[ev], [%[dest]]\n\t"
-    " cbnz %w[tmp], 1b\n\t"
-    " b 3f\n\t"
-    "2:\n\t"
-    " dmb sy\n\t"
-    "3:\n\t"
-    : [rv] "=&r" (rv), [tmp] "=&r" (tmp)
-    : [ev] "r" (exchange_value), [dest] "r" (dest), [cv] "r" (compare_value)
-    : "memory");
-  return rv;
-#else
   return cmpxchg_using_helper<int64_t>(reorder_cmpxchg_long_func, exchange_value, dest, compare_value);
-#endif
 }
 
 #endif // OS_CPU_LINUX_ARM_VM_ATOMIC_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/copy_linux_arm.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/copy_linux_arm.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -58,37 +58,18 @@
 }
 
 static void pd_conjoint_jints_atomic(const jint* from, jint* to, size_t count) {
-#ifdef AARCH64
-  _Copy_conjoint_jints_atomic(from, to, count * BytesPerInt);
-#else
   assert(HeapWordSize == BytesPerInt, "heapwords and jints must be the same size");
   // pd_conjoint_words is word-atomic in this implementation.
   pd_conjoint_words((const HeapWord*)from, (HeapWord*)to, count);
-#endif
 }
 
 static void pd_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) {
-#ifdef AARCH64
-  assert(HeapWordSize == BytesPerLong, "64-bit architecture");
-  pd_conjoint_words((const HeapWord*)from, (HeapWord*)to, count);
-#else
   _Copy_conjoint_jlongs_atomic(from, to, count * BytesPerLong);
-#endif
 }
 
 static void pd_conjoint_oops_atomic(const oop* from, oop* to, size_t count) {
-#ifdef AARCH64
-  if (UseCompressedOops) {
-    assert(BytesPerHeapOop == BytesPerInt, "compressed oops");
-    pd_conjoint_jints_atomic((const jint*)from, (jint*)to, count);
-  } else {
-    assert(BytesPerHeapOop == BytesPerLong, "64-bit architecture");
-    pd_conjoint_jlongs_atomic((const jlong*)from, (jlong*)to, count);
-  }
-#else
   assert(BytesPerHeapOop == BytesPerInt, "32-bit architecture");
   pd_conjoint_jints_atomic((const jint*)from, (jint*)to, count);
-#endif
 }
 
 static void pd_arrayof_conjoint_bytes(const HeapWord* from, HeapWord* to, size_t count) {
--- a/src/hotspot/os_cpu/linux_arm/globals_linux_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/globals_linux_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -30,16 +30,10 @@
 // (see globals.hpp)
 //
 define_pd_global(bool, DontYieldALot,            false);
-#ifdef AARCH64
-define_pd_global(intx, CompilerThreadStackSize,  1024);
-define_pd_global(intx, ThreadStackSize,          1024);
-define_pd_global(intx, VMThreadStackSize,        1024);
-#else
 define_pd_global(intx, CompilerThreadStackSize,  512);
 // System default ThreadStackSize appears to be 512 which is too big.
 define_pd_global(intx, ThreadStackSize,          320);
 define_pd_global(intx, VMThreadStackSize,        512);
-#endif // AARCH64
 
 define_pd_global(size_t, JVMInvokeMethodSlack,   8192);
 
--- a/src/hotspot/os_cpu/linux_arm/linux_arm_32.s	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/linux_arm_32.s	Thu Nov 01 09:01:15 2018 -0400
@@ -1,4 +1,4 @@
-# 
+#
 # Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
@@ -19,15 +19,15 @@
 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 # or visit www.oracle.com if you need additional information or have any
 # questions.
-# 
+#
 
-	
+
         # NOTE WELL!  The _Copy functions are called directly
 	# from server-compiler-generated code via CallLeafNoFP,
 	# which means that they *must* either not use floating
 	# point or use it in the same manner as does the server
 	# compiler.
-	
+
         .globl _Copy_conjoint_bytes
 	.type _Copy_conjoint_bytes, %function
         .globl _Copy_arrayof_conjoint_bytes
--- a/src/hotspot/os_cpu/linux_arm/linux_arm_64.s	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,542 +0,0 @@
-# 
-# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-# 
-
-        # TODO-AARCH64
-        
-        # NOTE WELL!  The _Copy functions are called directly
-        # from server-compiler-generated code via CallLeafNoFP,
-        # which means that they *must* either not use floating
-        # point or use it in the same manner as does the server
-        # compiler.
-        
-        .globl _Copy_conjoint_bytes
-        .type _Copy_conjoint_bytes, %function
-        .globl _Copy_arrayof_conjoint_bytes
-        .type _Copy_arrayof_conjoint_bytes, %function
-        .globl _Copy_disjoint_words
-        .type _Copy_disjoint_words, %function
-        .globl _Copy_conjoint_words
-        .type _Copy_conjoint_words, %function
-        .globl _Copy_conjoint_jshorts_atomic
-        .type _Copy_conjoint_jshorts_atomic, %function
-        .globl _Copy_arrayof_conjoint_jshorts
-        .type _Copy_arrayof_conjoint_jshorts, %function
-        .globl _Copy_conjoint_jints_atomic
-        .type _Copy_conjoint_jints_atomic, %function
-        .globl _Copy_arrayof_conjoint_jints
-        .type _Copy_arrayof_conjoint_jints, %function
-        .globl _Copy_conjoint_jlongs_atomic
-        .type _Copy_conjoint_jlongs_atomic, %function
-        .globl _Copy_arrayof_conjoint_jlongs
-        .type _Copy_arrayof_conjoint_jlongs, %function
-
-        .text
-        .globl  SpinPause
-        .type SpinPause, %function
-SpinPause:
-        yield
-        ret
-
-        # Support for void Copy::conjoint_bytes(void* from,
-        #                                       void* to,
-        #                                       size_t count)
-_Copy_conjoint_bytes:
-        hlt 1002
-
-        # Support for void Copy::arrayof_conjoint_bytes(void* from,
-        #                                               void* to,
-        #                                               size_t count)
-_Copy_arrayof_conjoint_bytes:
-        hlt 1003
-
-
-        # Support for void Copy::disjoint_words(void* from,
-        #                                       void* to,
-        #                                       size_t count)
-_Copy_disjoint_words:
-        # These and further memory prefetches may hit out of array ranges.
-        # Experiments showed that prefetching of inaccessible memory doesn't result in exceptions.
-        prfm    pldl1keep,  [x0, #0]
-        prfm    pstl1keep,  [x1, #0]
-        prfm    pldl1keep,  [x0, #64]
-        prfm    pstl1keep,  [x1, #64]
-
-        subs    x18, x2,  #128
-        b.ge    dw_large
-
-dw_lt_128:
-        # Copy [x0, x0 + x2) to [x1, x1 + x2)
-        
-        adr     x15,  dw_tail_table_base
-        and     x16,  x2,  #~8
-
-        # Calculate address to jump and store it to x15:
-        #   Each pair of instructions before dw_tail_table_base copies 16 bytes.
-        #   x16 is count of bytes to copy aligned down by 16.
-        #   So x16/16 pairs of instructions should be executed. 
-        #   Each pair takes 8 bytes, so x15 = dw_tail_table_base - (x16/16)*8 = x15 - x16/2
-        sub     x15,  x15, x16, lsr #1
-        prfm    plil1keep, [x15]
-    
-        add     x17,  x0,  x2
-        add     x18,  x1,  x2
-
-        # If x2 = x16 + 8, then copy 8 bytes and x16 bytes after that.
-        # Otherwise x2 = x16, so proceed to copy x16 bytes.
-        tbz     x2, #3, dw_lt_128_even
-        ldr     x3, [x0]
-        str     x3, [x1]
-dw_lt_128_even:
-        # Copy [x17 - x16, x17) to [x18 - x16, x18)
-        # x16 is aligned by 16 and less than 128
-
-        # Execute (x16/16) ldp-stp pairs; each pair copies 16 bytes
-        br      x15
-
-        ldp     x3,  x4,  [x17, #-112]
-        stp     x3,  x4,  [x18, #-112]
-        ldp     x5,  x6,  [x17, #-96]
-        stp     x5,  x6,  [x18, #-96]
-        ldp     x7,  x8,  [x17, #-80]
-        stp     x7,  x8,  [x18, #-80]
-        ldp     x9,  x10, [x17, #-64]
-        stp     x9,  x10, [x18, #-64]
-        ldp     x11, x12, [x17, #-48]
-        stp     x11, x12, [x18, #-48]
-        ldp     x13, x14, [x17, #-32]
-        stp     x13, x14, [x18, #-32]
-        ldp     x15, x16, [x17, #-16]
-        stp     x15, x16, [x18, #-16]
-dw_tail_table_base:
-        ret
-
-.p2align  6
-.rept   12
-        nop
-.endr
-dw_large:
-        # x18 >= 0;
-        # Copy [x0, x0 + x18 + 128) to [x1, x1 + x18 + 128)
-
-        ldp     x3,  x4,  [x0], #64
-        ldp     x5,  x6,  [x0, #-48]
-        ldp     x7,  x8,  [x0, #-32]
-        ldp     x9,  x10, [x0, #-16]
-
-        # Before and after each iteration of loop registers x3-x10 contain [x0 - 64, x0),
-        # and x1 is a place to copy this data;
-        # x18 contains number of bytes to be stored minus 128
-
-        # Exactly 16 instructions from p2align, so dw_loop starts from cache line boundary
-        # Checking it explictly by aligning with "hlt 1000" instructions 
-.p2alignl  6, 0xd4407d00
-dw_loop:
-        prfm    pldl1keep,  [x0, #64]
-        # Next line actually hurted memory copy performance (for interpreter) - JDK-8078120
-        # prfm    pstl1keep,  [x1, #64]
-
-        subs    x18, x18, #64
-
-        stp     x3,  x4,  [x1, #0]
-        ldp     x3,  x4,  [x0, #0]
-        stp     x5,  x6,  [x1, #16]
-        ldp     x5,  x6,  [x0, #16]
-        stp     x7,  x8,  [x1, #32]
-        ldp     x7,  x8,  [x0, #32]
-        stp     x9,  x10, [x1, #48]
-        ldp     x9,  x10, [x0, #48]
-        
-        add     x1,  x1,  #64
-        add     x0,  x0,  #64
-
-        b.ge    dw_loop
-
-        # 13 instructions from dw_loop, so the loop body hits into one cache line
-
-dw_loop_end:
-        adds    x2,  x18, #64
-
-        stp     x3,  x4,  [x1], #64
-        stp     x5,  x6,  [x1, #-48]
-        stp     x7,  x8,  [x1, #-32]
-        stp     x9,  x10, [x1, #-16]
-
-        # Increased x18 by 64, but stored 64 bytes, so x2 contains exact number of bytes to be stored
-
-        # If this number is not zero, also copy remaining bytes
-        b.ne    dw_lt_128
-        ret
-
-
-        # Support for void Copy::conjoint_words(void* from,
-        #                                       void* to,
-        #                                       size_t count)
-_Copy_conjoint_words:
-        subs    x3, x1, x0
-        # hi condition is met <=> from < to
-        ccmp    x2, x3, #0, hi
-        # hi condition is met <=> (from < to) and (to - from < count)
-        # otherwise _Copy_disjoint_words may be used, because it performs forward copying,
-        # so it also works when ranges overlap but to <= from
-        b.ls    _Copy_disjoint_words
-
-        # Overlapping case should be the rare one, it does not worth optimizing
-
-        ands    x3,  x2,  #~8
-        # x3 is count aligned down by 2*wordSize
-        add     x0,  x0,  x2
-        add     x1,  x1,  x2
-        sub     x3,  x3,  #16
-        # Skip loop if 0 or 1 words
-        b.eq    cw_backward_loop_end
-
-        # x3 >= 0
-        # Copy [x0 - x3 - 16, x0) to [x1 - x3 - 16, x1) backward
-cw_backward_loop:
-        subs    x3,  x3,  #16
-        ldp     x4,  x5,  [x0, #-16]!
-        stp     x4,  x5,  [x1, #-16]!
-        b.ge    cw_backward_loop
-
-cw_backward_loop_end:
-        # Copy remaining 0 or 1 words
-        tbz     x2,  #3,  cw_finish
-        ldr     x3, [x0, #-8]
-        str     x3, [x1, #-8]
-
-cw_finish:
-        ret
-
-
-        # Support for void Copy::conjoint_jshorts_atomic(void* from,
-        #                                                void* to,
-        #                                                size_t count)
-_Copy_conjoint_jshorts_atomic:
-        add     x17, x0, x2
-        add     x18, x1, x2
-
-        subs    x3, x1, x0
-        # hi is met <=> (from < to) and (to - from < count)
-        ccmp    x2, x3, #0, hi
-        b.hi    cs_backward
-        
-        subs    x3, x2, #14
-        b.ge    cs_forward_loop
-
-        # Copy x2 < 14 bytes from x0 to x1
-cs_forward_lt14:
-        ands    x7, x2, #7
-        tbz     x2, #3, cs_forward_lt8
-        ldrh    w3, [x0, #0]
-        ldrh    w4, [x0, #2]
-        ldrh    w5, [x0, #4]
-        ldrh    w6, [x0, #6]
-
-        strh    w3, [x1, #0]
-        strh    w4, [x1, #2]
-        strh    w5, [x1, #4]
-        strh    w6, [x1, #6]
-
-        # Copy x7 < 8 bytes from x17 - x7 to x18 - x7
-cs_forward_lt8:
-        b.eq    cs_forward_0
-        cmp     x7, #4
-        b.lt    cs_forward_2
-        b.eq    cs_forward_4
-
-cs_forward_6:
-        ldrh    w3, [x17, #-6]
-        strh    w3, [x18, #-6]
-cs_forward_4:
-        ldrh    w4, [x17, #-4]
-        strh    w4, [x18, #-4]
-cs_forward_2:
-        ldrh    w5, [x17, #-2]
-        strh    w5, [x18, #-2]
-cs_forward_0:
-        ret
-
-
-        # Copy [x0, x0 + x3 + 14) to [x1, x1 + x3 + 14)
-        # x3 >= 0
-.p2align 6
-cs_forward_loop:
-        subs    x3, x3, #14
-        
-        ldrh    w4, [x0], #14
-        ldrh    w5, [x0, #-12]
-        ldrh    w6, [x0, #-10]
-        ldrh    w7, [x0, #-8]
-        ldrh    w8, [x0, #-6]
-        ldrh    w9, [x0, #-4]
-        ldrh    w10, [x0, #-2]
-
-        strh    w4, [x1], #14
-        strh    w5, [x1, #-12]
-        strh    w6, [x1, #-10]
-        strh    w7, [x1, #-8]
-        strh    w8, [x1, #-6]
-        strh    w9, [x1, #-4]
-        strh    w10, [x1, #-2]
-
-        b.ge    cs_forward_loop
-        # Exactly 16 instruction from cs_forward_loop, so loop fits into one cache line
-
-        adds    x2, x3, #14
-        # x2 bytes should be copied from x0 to x1
-        b.ne    cs_forward_lt14
-        ret
-        
-        # Very similar to forward copying
-cs_backward:
-        subs    x3, x2, #14
-        b.ge    cs_backward_loop
-
-cs_backward_lt14:
-        ands    x7, x2, #7
-        tbz     x2, #3, cs_backward_lt8
-
-        ldrh    w3, [x17, #-8]
-        ldrh    w4, [x17, #-6]
-        ldrh    w5, [x17, #-4]
-        ldrh    w6, [x17, #-2]
-        
-        strh    w3, [x18, #-8]
-        strh    w4, [x18, #-6]
-        strh    w5, [x18, #-4]
-        strh    w6, [x18, #-2]
-
-cs_backward_lt8:
-        b.eq    cs_backward_0
-        cmp     x7, #4
-        b.lt    cs_backward_2
-        b.eq    cs_backward_4
-
-cs_backward_6:
-        ldrh    w3, [x0, #4]
-        strh    w3, [x1, #4]
-
-cs_backward_4:
-        ldrh    w4, [x0, #2]
-        strh    w4, [x1, #2]
-
-cs_backward_2:
-        ldrh    w5, [x0, #0]
-        strh    w5, [x1, #0]
-
-cs_backward_0:
-        ret
-
-
-.p2align 6
-cs_backward_loop:
-        subs    x3, x3, #14
-
-        ldrh    w4, [x17, #-14]!
-        ldrh    w5, [x17, #2]
-        ldrh    w6, [x17, #4]
-        ldrh    w7, [x17, #6]
-        ldrh    w8, [x17, #8]
-        ldrh    w9, [x17, #10]
-        ldrh    w10, [x17, #12]
-
-        strh    w4, [x18, #-14]!
-        strh    w5, [x18, #2]
-        strh    w6, [x18, #4]
-        strh    w7, [x18, #6]
-        strh    w8, [x18, #8]
-        strh    w9, [x18, #10]
-        strh    w10, [x18, #12]
-
-        b.ge    cs_backward_loop
-        adds    x2, x3, #14
-        b.ne    cs_backward_lt14
-        ret
-
-
-        # Support for void Copy::arrayof_conjoint_jshorts(void* from,
-        #                                                 void* to,
-        #                                                 size_t count)
-_Copy_arrayof_conjoint_jshorts:
-        hlt 1007
-
-
-        # Support for void Copy::conjoint_jlongs_atomic(jlong* from,
-        #                                               jlong* to,
-        #                                               size_t count)
-_Copy_conjoint_jlongs_atomic:
-_Copy_arrayof_conjoint_jlongs:
-        hlt 1009
-
-
-        # Support for void Copy::conjoint_jints_atomic(void* from,
-        #                                              void* to,
-        #                                              size_t count)
-_Copy_conjoint_jints_atomic:
-_Copy_arrayof_conjoint_jints:
-        # These and further memory prefetches may hit out of array ranges.
-        # Experiments showed that prefetching of inaccessible memory doesn't result in exceptions.
-        prfm    pldl1keep,  [x0, #0]
-        prfm    pstl1keep,  [x1, #0]
-        prfm    pldl1keep,  [x0, #32]
-        prfm    pstl1keep,  [x1, #32]
-
-        subs    x3, x1, x0
-        # hi condition is met <=> from < to
-        ccmp    x2, x3, #0, hi
-        # hi condition is met <=> (from < to) and (to - from < count)
-        b.hi    ci_backward
-
-        subs    x18, x2,  #64
-        b.ge    ci_forward_large
-
-ci_forward_lt_64:
-        # Copy [x0, x0 + x2) to [x1, x1 + x2)
-        
-        adr     x15,  ci_forward_tail_table_base
-        and     x16,  x2,  #~4
-
-        # Calculate address to jump and store it to x15:
-        #   Each pair of instructions before ci_forward_tail_table_base copies 8 bytes.
-        #   x16 is count of bytes to copy aligned down by 8.
-        #   So x16/8 pairs of instructions should be executed. 
-        #   Each pair takes 8 bytes, so x15 = ci_forward_tail_table_base - (x16/8)*8 = x15 - x16
-        sub     x15,  x15, x16
-        prfm    plil1keep, [x15]
-    
-        add     x17,  x0,  x2
-        add     x18,  x1,  x2
-
-        # If x2 = x16 + 4, then copy 4 bytes and x16 bytes after that.
-        # Otherwise x2 = x16, so proceed to copy x16 bytes.
-        tbz     x2, #2, ci_forward_lt_64_even
-        ldr     w3, [x0]
-        str     w3, [x1]
-ci_forward_lt_64_even:
-        # Copy [x17 - x16, x17) to [x18 - x16, x18)
-        # x16 is aligned by 8 and less than 64
-
-        # Execute (x16/8) ldp-stp pairs; each pair copies 8 bytes
-        br      x15
-
-        ldp     w3,  w4,  [x17, #-56]
-        stp     w3,  w4,  [x18, #-56]
-        ldp     w5,  w6,  [x17, #-48]
-        stp     w5,  w6,  [x18, #-48]
-        ldp     w7,  w8,  [x17, #-40]
-        stp     w7,  w8,  [x18, #-40]
-        ldp     w9,  w10, [x17, #-32]
-        stp     w9,  w10, [x18, #-32]
-        ldp     w11, w12, [x17, #-24]
-        stp     w11, w12, [x18, #-24]
-        ldp     w13, w14, [x17, #-16]
-        stp     w13, w14, [x18, #-16]
-        ldp     w15, w16, [x17, #-8]
-        stp     w15, w16, [x18, #-8]
-ci_forward_tail_table_base:
-        ret
-
-.p2align  6
-.rept   12
-        nop
-.endr
-ci_forward_large:
-        # x18 >= 0;
-        # Copy [x0, x0 + x18 + 64) to [x1, x1 + x18 + 64)
-
-        ldp     w3,  w4,  [x0], #32
-        ldp     w5,  w6,  [x0, #-24]
-        ldp     w7,  w8,  [x0, #-16]
-        ldp     w9,  w10, [x0, #-8]
-
-        # Before and after each iteration of loop registers w3-w10 contain [x0 - 32, x0),
-        # and x1 is a place to copy this data;
-        # x18 contains number of bytes to be stored minus 64
-
-        # Exactly 16 instructions from p2align, so ci_forward_loop starts from cache line boundary
-        # Checking it explictly by aligning with "hlt 1000" instructions 
-.p2alignl  6, 0xd4407d00
-ci_forward_loop:
-        prfm    pldl1keep,  [x0, #32]
-        prfm    pstl1keep,  [x1, #32]
-
-        subs    x18, x18, #32
-
-        stp     w3,  w4,  [x1, #0]
-        ldp     w3,  w4,  [x0, #0]
-        stp     w5,  w6,  [x1, #8]
-        ldp     w5,  w6,  [x0, #8]
-        stp     w7,  w8,  [x1, #16]
-        ldp     w7,  w8,  [x0, #16]
-        stp     w9,  w10, [x1, #24]
-        ldp     w9,  w10, [x0, #24]
-        
-        add     x1,  x1,  #32
-        add     x0,  x0,  #32
-
-        b.ge    ci_forward_loop
-
-        # 14 instructions from ci_forward_loop, so the loop body hits into one cache line
-
-ci_forward_loop_end:
-        adds    x2,  x18, #32
-
-        stp     w3,  w4,  [x1], #32
-        stp     w5,  w6,  [x1, #-24]
-        stp     w7,  w8,  [x1, #-16]
-        stp     w9,  w10, [x1, #-8]
-
-        # Increased x18 by 32, but stored 32 bytes, so x2 contains exact number of bytes to be stored
-
-        # If this number is not zero, also copy remaining bytes
-        b.ne    ci_forward_lt_64
-        ret
-
-ci_backward:
-
-        # Overlapping case should be the rare one, it does not worth optimizing
-
-        ands    x3,  x2,  #~4
-        # x3 is count aligned down by 2*jintSize
-        add     x0,  x0,  x2
-        add     x1,  x1,  x2
-        sub     x3,  x3,  #8
-        # Skip loop if 0 or 1 jints
-        b.eq    ci_backward_loop_end
-
-        # x3 >= 0
-        # Copy [x0 - x3 - 8, x0) to [x1 - x3 - 8, x1) backward
-ci_backward_loop:
-        subs    x3,  x3,  #8
-        ldp     w4,  w5,  [x0, #-8]!
-        stp     w4,  w5,  [x1, #-8]!
-        b.ge    ci_backward_loop
-
-ci_backward_loop_end:
-        # Copy remaining 0 or 1 jints
-        tbz     x2,  #2,  ci_backward_finish
-        ldr     w3, [x0, #-4]
-        str     w3, [x1, #-4]
-
-ci_backward_finish:
-        ret
--- a/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -32,8 +32,7 @@
 
 // Implementation of class OrderAccess.
 // - we define the high level barriers below and use the general
-//   implementation in orderAccess.hpp, with customizations
-//   on AARCH64 via the specialized_* template functions
+//   implementation in orderAccess.hpp.
 
 // Memory Ordering on ARM is weak.
 //
@@ -56,9 +55,6 @@
 // }
 
 inline static void dmb_sy() {
-#ifdef AARCH64
-   __asm__ __volatile__ ("dmb sy" : : : "memory");
-#else
    if (VM_Version::arm_arch() >= 7) {
 #ifdef __thumb__
      __asm__ volatile (
@@ -73,13 +69,9 @@
        "mcr p15, 0, %0, c7, c10, 5"
        : : "r" (zero) : "memory");
    }
-#endif
 }
 
 inline static void dmb_st() {
-#ifdef AARCH64
-   __asm__ __volatile__ ("dmb st" : : : "memory");
-#else
    if (VM_Version::arm_arch() >= 7) {
 #ifdef __thumb__
      __asm__ volatile (
@@ -94,16 +86,11 @@
        "mcr p15, 0, %0, c7, c10, 5"
        : : "r" (zero) : "memory");
    }
-#endif
 }
 
 // Load-Load/Store barrier
 inline static void dmb_ld() {
-#ifdef AARCH64
-   __asm__ __volatile__ ("dmb ld" : : : "memory");
-#else
    dmb_sy();
-#endif
 }
 
 
@@ -115,123 +102,4 @@
 inline void OrderAccess::release()    { dmb_sy(); }
 inline void OrderAccess::fence()      { dmb_sy(); }
 
-// specializations for Aarch64
-// TODO-AARCH64: evaluate effectiveness of ldar*/stlr* implementations compared to 32-bit ARM approach
-
-#ifdef AARCH64
-
-template<>
-struct OrderAccess::PlatformOrderedLoad<1, X_ACQUIRE>
-{
-  template <typename T>
-  T operator()(const volatile T* p) const {
-    volatile T result;
-    __asm__ volatile(
-      "ldarb %w[res], [%[ptr]]"
-      : [res] "=&r" (result)
-      : [ptr] "r" (p)
-      : "memory");
-    return result;
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedLoad<2, X_ACQUIRE>
-{
-  template <typename T>
-  T operator()(const volatile T* p) const {
-    volatile T result;
-    __asm__ volatile(
-      "ldarh %w[res], [%[ptr]]"
-      : [res] "=&r" (result)
-      : [ptr] "r" (p)
-      : "memory");
-    return result;
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedLoad<4, X_ACQUIRE>
-{
-  template <typename T>
-  T operator()(const volatile T* p) const {
-    volatile T result;
-    __asm__ volatile(
-      "ldar %w[res], [%[ptr]]"
-      : [res] "=&r" (result)
-      : [ptr] "r" (p)
-      : "memory");
-    return result;
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedLoad<8, X_ACQUIRE>
-{
-  template <typename T>
-  T operator()(const volatile T* p) const {
-    volatile T result;
-    __asm__ volatile(
-      "ldar %[res], [%[ptr]]"
-      : [res] "=&r" (result)
-      : [ptr] "r" (p)
-      : "memory");
-    return result;
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedStore<1, RELEASE_X_FENCE>
-{
-  template <typename T>
-  void operator()(T v, volatile T* p) const {
-    __asm__ volatile(
-      "stlrb %w[val], [%[ptr]]"
-      :
-      : [ptr] "r" (p), [val] "r" (v)
-      : "memory");
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedStore<2, RELEASE_X_FENCE>
-{
-  template <typename T>
-  void operator()(T v, volatile T* p) const {
-    __asm__ volatile(
-      "stlrh %w[val], [%[ptr]]"
-      :
-      : [ptr] "r" (p), [val] "r" (v)
-      : "memory");
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedStore<4, RELEASE_X_FENCE>
-{
-  template <typename T>
-  void operator()(T v, volatile T* p) const {
-    __asm__ volatile(
-      "stlr %w[val], [%[ptr]]"
-      :
-      : [ptr] "r" (p), [val] "r" (v)
-      : "memory");
-  }
-};
-
-template<>
-struct OrderAccess::PlatformOrderedStore<8, RELEASE_X_FENCE>
-{
-  template <typename T>
-  void operator()(T v, volatile T* p) const {
-    __asm__ volatile(
-      "stlr %[val], [%[ptr]]"
-      :
-      : [ptr] "r" (p), [val] "r" (v)
-      : "memory");
-  }
-};
-
-#endif // AARCH64
-
 #endif // OS_CPU_LINUX_ARM_VM_ORDERACCESS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/os_linux_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -78,7 +78,7 @@
 
 // Don't #define SPELL_REG_FP for thumb because it is not safe to use, so this makes sure we never fetch it.
 #ifndef __thumb__
-#define SPELL_REG_FP  AARCH64_ONLY("x29") NOT_AARCH64("fp")
+#define SPELL_REG_FP "fp"
 #endif
 
 address os::current_stack_pointer() {
@@ -91,19 +91,6 @@
   return (char*) -1;
 }
 
-void os::initialize_thread(Thread* thr) {
-  // Nothing to do
-}
-
-#ifdef AARCH64
-
-#define arm_pc pc
-#define arm_sp sp
-#define arm_fp regs[29]
-#define arm_r0 regs[0]
-#define ARM_REGS_IN_CONTEXT  31
-
-#else
 
 #if NGREG == 16
 // These definitions are based on the observation that until
@@ -119,7 +106,6 @@
 
 #define ARM_REGS_IN_CONTEXT  16
 
-#endif // AARCH64
 
 address os::Linux::ucontext_get_pc(const ucontext_t* uc) {
   return (address)uc->uc_mcontext.arm_pc;
@@ -260,13 +246,11 @@
 #endif
 }
 
-#ifndef AARCH64
 extern "C" address check_vfp_fault_instr;
 extern "C" address check_vfp3_32_fault_instr;
 
 address check_vfp_fault_instr = NULL;
 address check_vfp3_32_fault_instr = NULL;
-#endif // !AARCH64
 extern "C" address check_simd_fault_instr;
 address check_simd_fault_instr = NULL;
 
@@ -286,8 +270,8 @@
 
   if (sig == SIGILL &&
       ((info->si_addr == (caddr_t)check_simd_fault_instr)
-       NOT_AARCH64(|| info->si_addr == (caddr_t)check_vfp_fault_instr)
-       NOT_AARCH64(|| info->si_addr == (caddr_t)check_vfp3_32_fault_instr))) {
+       || info->si_addr == (caddr_t)check_vfp_fault_instr
+       || info->si_addr == (caddr_t)check_vfp3_32_fault_instr)) {
     // skip faulty instruction + instruction that sets return value to
     // success and set return value to failure.
     os::Linux::ucontext_set_pc(uc, (address)info->si_addr + 8);
@@ -512,9 +496,6 @@
 }
 
 void os::setup_fpu() {
-#ifdef AARCH64
-  __asm__ volatile ("msr fpcr, xzr");
-#else
 #if !defined(__SOFTFP__) && defined(__VFP_FP__)
   // Turn on IEEE-754 compliant VFP mode
   __asm__ volatile (
@@ -523,7 +504,6 @@
     : /* no output */ : /* no input */ : "r0"
   );
 #endif
-#endif // AARCH64
 }
 
 bool os::is_allocatable(size_t bytes) {
@@ -559,14 +539,8 @@
     st->print_cr("  %-3s = " INTPTR_FORMAT, as_Register(r)->name(), reg_area[r]);
   }
 #define U64_FORMAT "0x%016llx"
-#ifdef AARCH64
-  st->print_cr("  %-3s = " U64_FORMAT, "sp", uc->uc_mcontext.sp);
-  st->print_cr("  %-3s = " U64_FORMAT, "pc", uc->uc_mcontext.pc);
-  st->print_cr("  %-3s = " U64_FORMAT, "pstate", uc->uc_mcontext.pstate);
-#else
   // now print flag register
   st->print_cr("  %-4s = 0x%08lx", "cpsr",uc->uc_mcontext.arm_cpsr);
-#endif
   st->cr();
 
   intptr_t *sp = (intptr_t *)os::Linux::ucontext_get_sp(uc);
@@ -595,16 +569,10 @@
     print_location(st, reg_area[r]);
     st->cr();
   }
-#ifdef AARCH64
-  st->print_cr("  %-3s = " U64_FORMAT, "pc", uc->uc_mcontext.pc);
-  print_location(st, uc->uc_mcontext.pc);
-  st->cr();
-#endif
   st->cr();
 }
 
 
-#ifndef AARCH64
 
 typedef int64_t cmpxchg_long_func_t(int64_t, int64_t, volatile int64_t*);
 
@@ -714,7 +682,6 @@
   return old_value;
 }
 
-#endif // !AARCH64
 
 #ifndef PRODUCT
 void os::verify_stack_alignment() {
--- a/src/hotspot/os_cpu/linux_arm/os_linux_arm.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/os_linux_arm.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -28,11 +28,7 @@
 #ifndef __thumb__
   enum {
     // Offset to add to frame::_fp when dealing with non-thumb C frames
-#ifdef AARCH64
-    C_frame_offset =  0,
-#else
     C_frame_offset =  -1,
-#endif
   };
 #endif
 
@@ -44,7 +40,6 @@
   // Note: Currently only used in 64 bit Windows implementations
   static bool register_code_area(char *low, char *high) { return true; }
 
-#ifndef AARCH64
   static int64_t (*atomic_cmpxchg_long_func)(int64_t compare_value,
                                              int64_t exchange_value,
                                              volatile int64_t *dest);
@@ -74,6 +69,5 @@
   static int32_t  atomic_cmpxchg_bootstrap(int32_t compare_value,
                                            int32_t exchange_value,
                                            volatile int32_t *dest);
-#endif // !AARCH64
 
 #endif // OS_CPU_LINUX_ARM_VM_OS_LINUX_ARM_HPP
--- a/src/hotspot/os_cpu/linux_arm/prefetch_linux_arm.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/prefetch_linux_arm.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -28,21 +28,13 @@
 #include "runtime/prefetch.hpp"
 
 inline void Prefetch::read (void *loc, intx interval) {
-#ifdef AARCH64
-  __asm__ volatile ("prfm PLDL1KEEP, [%0]" : : "r" (loc));
-#else
 #if defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_5TE__)
   __asm__ volatile ("pld [%0]" : : "r" (loc));
 #endif
-#endif // AARCH64
 }
 
 inline void Prefetch::write(void *loc, intx interval) {
-#ifdef AARCH64
-  __asm__ volatile ("prfm PSTL1KEEP, [%0]" : : "r" (loc));
-#else
   // Not available on 32-bit ARM (prior to ARMv7 with MP extensions)
-#endif // AARCH64
 }
 
 #endif // OS_CPU_LINUX_ARM_VM_PREFETCH_LINUX_ARM_INLINE_HPP
--- a/src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -32,17 +32,12 @@
 
 frame JavaThread::pd_last_frame() {
   assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
-#ifdef AARCH64
-  assert (_anchor.last_Java_pc() != NULL, "pc should be stored");
-  return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
-#else
   if (_anchor.last_Java_pc() != NULL) {
     return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc());
   } else {
     // This will pick up pc from sp
     return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp());
   }
-#endif // AARCH64
 }
 
 void JavaThread::cache_global_variables() {
@@ -84,7 +79,7 @@
 
   // If we have a last_Java_frame, then we should use it even if
   // isInJava == true.  It should be more reliable than ucontext info.
-  if (jt->has_last_Java_frame() AARCH64_ONLY(&& jt->last_Java_pc() != NULL)) {
+  if (jt->has_last_Java_frame()) {
     *fr_addr = jt->pd_last_frame();
     return true;
   }
--- a/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -94,8 +94,6 @@
   return (char*) -1;
 }
 
-void os::initialize_thread(Thread *thread) { }
-
 // Frame information (pc, sp, fp) retrieved via ucontext
 // always looks like a C-frame according to the frame
 // conventions in frame_ppc64.hpp.
--- a/src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -95,9 +95,6 @@
   return (char*) -1;
 }
 
-// OS specific thread initialization.
-void os::initialize_thread(Thread* thread) { }
-
 // Frame information (pc, sp, fp) retrieved via ucontext
 // always looks like a C-frame according to the frame
 // conventions in frame_s390.hpp.
--- a/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -159,8 +159,6 @@
   return (char*) 0;
 }
 
-void os::initialize_thread(Thread* thr) {}
-
 void os::print_context(outputStream *st, const void *context) {
   if (context == NULL) return;
 
--- a/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -116,10 +116,6 @@
   return (char*) -1;
 }
 
-void os::initialize_thread(Thread* thr) {
-// Nothing to do.
-}
-
 address os::Linux::ucontext_get_pc(const ucontext_t * uc) {
   return (address)uc->uc_mcontext.gregs[REG_PC];
 }
--- a/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/linux_zero/os_linux_zero.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -96,10 +96,6 @@
 #endif // SPARC
 }
 
-void os::initialize_thread(Thread * thr){
-  // Nothing to do.
-}
-
 address os::Linux::ucontext_get_pc(const ucontext_t* uc) {
   ShouldNotCallThis();
   return NULL; // silence compile warnings
--- a/src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -212,10 +212,6 @@
   return true;
 }
 
-void os::initialize_thread(Thread* thr) {
-// Nothing to do.
-}
-
 // Atomics and Stub Functions
 
 typedef int32_t   xchg_func_t            (int32_t,  volatile int32_t*);
--- a/src/hotspot/share/aot/aotLoader.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/aot/aotLoader.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,13 +47,8 @@
     return;
   }
   if (UseAOT) {
-    if (JvmtiExport::can_hotswap_or_post_breakpoint()) {
-      if (PrintAOT) {
-        warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)");
-      }
-      FLAG_SET_DEFAULT(UseAOT, false);
-      return;
-    }
+    // We allow hotswap to be enabled after the onload phase, but not breakpoints
+    assert(!JvmtiExport::can_post_breakpoint(), "AOT should have been disabled.");
     FOR_ALL_AOT_HEAPS(heap) {
       (*heap)->load_klass_data(ik, thread);
     }
@@ -120,9 +115,9 @@
       return;
     }
 
-    if (JvmtiExport::can_hotswap_or_post_breakpoint()) {
+    if (JvmtiExport::can_post_breakpoint()) {
       if (PrintAOT) {
-        warning("JVMTI capability to hotswap and post breakpoint is not compatible with AOT (switching AOT off)");
+        warning("JVMTI capability to post breakpoint is not compatible with AOT (switching AOT off)");
       }
       FLAG_SET_DEFAULT(UseAOT, false);
       return;
--- a/src/hotspot/share/c1/c1_Compiler.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/c1/c1_Compiler.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -79,7 +79,6 @@
 }
 
 int Compiler::code_buffer_size() {
-  assert(SegmentedCodeCache, "Should be only used with a segmented code cache");
   return Compilation::desired_max_code_buffer_size() + Compilation::desired_max_constant_size();
 }
 
@@ -90,10 +89,7 @@
 
   // setup CodeBuffer.  Preallocate a BufferBlob of size
   // NMethodSizeLimit plus some extra space for constants.
-  int code_buffer_size = Compilation::desired_max_code_buffer_size() +
-    Compilation::desired_max_constant_size();
-
-  BufferBlob* buffer_blob = BufferBlob::create("C1 temporary CodeBuffer", code_buffer_size);
+  BufferBlob* buffer_blob = BufferBlob::create("C1 temporary CodeBuffer", code_buffer_size());
   if (buffer_blob != NULL) {
     CompilerThread::current()->set_buffer_blob(buffer_blob);
   }
--- a/src/hotspot/share/classfile/classLoader.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/classLoader.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1471,16 +1471,16 @@
     // if no protocol prefix is found, path is the same as stream->source()
     char* path = skip_uri_protocol(src);
     char* canonical_class_src_path = NEW_RESOURCE_ARRAY_IN_THREAD(THREAD, char, JVM_MAXPATHLEN);
-    if (!get_canonical_path(path, canonical_class_src_path, JVM_MAXPATHLEN)) {
-      tty->print_cr("Bad pathname %s. CDS dump aborted.", path);
-      vm_exit(1);
-    }
+    bool success = get_canonical_path(path, canonical_class_src_path, JVM_MAXPATHLEN);
+    // The path is from the ClassFileStream. Since a ClassFileStream has been created successfully in functions
+    // such as ClassLoader::load_class(), its source path must be valid.
+    assert(success, "must be valid path");
     for (int i = 0; i < FileMapInfo::get_number_of_shared_paths(); i++) {
       SharedClassPathEntry* ent = FileMapInfo::shared_path(i);
-      if (!get_canonical_path(ent->name(), canonical_path_table_entry, JVM_MAXPATHLEN)) {
-        tty->print_cr("Bad pathname %s. CDS dump aborted.", ent->name());
-        vm_exit(1);
-      }
+      success = get_canonical_path(ent->name(), canonical_path_table_entry, JVM_MAXPATHLEN);
+      // A shared path has been validated during its creation in ClassLoader::create_class_path_entry(),
+      // it must be valid here.
+      assert(success, "must be valid path");
       // If the path (from the class stream source) is the same as the shared
       // class or module path, then we have a match.
       if (strcmp(canonical_path_table_entry, canonical_class_src_path) == 0) {
--- a/src/hotspot/share/classfile/classLoaderDataGraph.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -287,54 +287,50 @@
   Handle           _holder;
   Thread*          _thread;
 
-  void hold_next() {
-    if (_next != NULL) {
-      _holder = Handle(_thread, _next->holder_phantom());
-    }
-  }
 public:
   ClassLoaderDataGraphIterator() : _next(ClassLoaderDataGraph::_head) {
     _thread = Thread::current();
     assert_locked_or_safepoint(ClassLoaderDataGraph_lock);
-    hold_next();
-  }
-
-  bool repeat() const {
-    return _next != NULL;
   }
 
   ClassLoaderData* get_next() {
-    ClassLoaderData* next = _next;
-    if (_next != NULL) {
-      _next = _next->next();
-      hold_next();
+    ClassLoaderData* cld = _next;
+    // Skip already unloaded CLD for concurrent unloading.
+    while (cld != NULL && !cld->is_alive()) {
+      cld = cld->next();
     }
-    return next;
+    if (cld != NULL) {
+      // Keep cld that is being returned alive.
+      _holder = Handle(_thread, cld->holder_phantom());
+      _next = cld->next();
+    } else {
+      _next = NULL;
+    }
+    return cld;
   }
+
+
 };
 
 // These functions assume that the caller has locked the ClassLoaderDataGraph_lock
 // if they are not calling the function from a safepoint.
 void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->classes_do(klass_closure);
   }
 }
 
 void ClassLoaderDataGraph::classes_do(void f(Klass* const)) {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->classes_do(f);
   }
 }
 
 void ClassLoaderDataGraph::methods_do(void f(Method*)) {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->methods_do(f);
   }
 }
@@ -342,8 +338,7 @@
 void ClassLoaderDataGraph::modules_do(void f(ModuleEntry*)) {
   assert_locked_or_safepoint(Module_lock);
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->modules_do(f);
   }
 }
@@ -361,8 +356,7 @@
 void ClassLoaderDataGraph::packages_do(void f(PackageEntry*)) {
   assert_locked_or_safepoint(Module_lock);
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->packages_do(f);
   }
 }
@@ -379,8 +373,7 @@
 
 void ClassLoaderDataGraph::loaded_classes_do(KlassClosure* klass_closure) {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->loaded_classes_do(klass_closure);
   }
 }
@@ -404,8 +397,7 @@
 }
 
 #define FOR_ALL_DICTIONARY(X)   ClassLoaderDataGraphIterator iter; \
-                                ClassLoaderData* X; \
-                                while ((X = iter.get_next()) != NULL) \
+                                while (ClassLoaderData* X = iter.get_next()) \
                                   if (X->dictionary() != NULL)
 
 // Walk classes in the loaded class dictionaries in various forms.
@@ -696,16 +688,14 @@
 
 void ClassLoaderDataGraph::verify() {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->verify();
   }
 }
 
 void ClassLoaderDataGraph::print_on(outputStream * const out) {
   ClassLoaderDataGraphIterator iter;
-  while (iter.repeat()) {
-    ClassLoaderData* cld = iter.get_next();
+  while (ClassLoaderData* cld = iter.get_next()) {
     cld->print_on(out);
   }
 }
--- a/src/hotspot/share/classfile/classLoaderExt.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/classLoaderExt.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -55,12 +55,10 @@
 bool ClassLoaderExt::_has_platform_classes = false;
 
 void ClassLoaderExt::append_boot_classpath(ClassPathEntry* new_entry) {
-#if INCLUDE_CDS
   if (UseSharedSpaces) {
     warning("Sharing is only supported for boot loader classes because bootstrap classpath has been appended");
     FileMapInfo::current_info()->header()->set_has_platform_or_app_classes(false);
   }
-#endif
   ClassLoader::add_to_boot_append_entries(new_entry);
 }
 
@@ -175,8 +173,7 @@
   }
 
   if (strstr(manifest, "Extension-List:") != NULL) {
-    tty->print_cr("-Xshare:dump does not support Extension-List in JAR manifest: %s", entry->name());
-    vm_exit(1);
+    vm_exit_during_cds_dumping(err_msg("-Xshare:dump does not support Extension-List in JAR manifest: %s", entry->name()));
   }
 
   char* cp_attr = get_class_path_attr(entry->name(), manifest, manifest_size);
--- a/src/hotspot/share/classfile/classLoaderExt.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/classLoaderExt.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -33,12 +33,17 @@
 
 class ClassLoaderExt: public ClassLoader { // AllStatic
 public:
+  static bool should_verify(int classpath_index) {
+    CDS_ONLY(return (classpath_index >= _app_class_paths_start_index);)
+    NOT_CDS(return false;)
+  }
+
+#if INCLUDE_CDS
+private:
   enum SomeConstants {
     max_classpath_index = 0x7fff
   };
 
-private:
-#if INCLUDE_CDS
   static char* get_class_path_attr(const char* jar_path, char* manifest, jint manifest_size);
   static void setup_app_search_path(); // Only when -Xshare:dump
   static void process_module_table(ModuleEntryTable* met, TRAPS);
@@ -54,27 +59,19 @@
 
   static bool _has_app_classes;
   static bool _has_platform_classes;
-#endif
 
-public:
-  CDS_ONLY(static void process_jar_manifest(ClassPathEntry* entry, bool check_for_duplicates);)
-
-  static bool should_verify(int classpath_index) {
-    CDS_ONLY(return (classpath_index >= _app_class_paths_start_index);)
-    NOT_CDS(return false;)
-  }
-  // Called by JVMTI code to add boot classpath
-  static void append_boot_classpath(ClassPathEntry* new_entry);
-
-  static void setup_search_paths() NOT_CDS_RETURN;
-  static void setup_module_paths(TRAPS) NOT_CDS_RETURN;
-
-#if INCLUDE_CDS
-private:
   static char* read_manifest(ClassPathEntry* entry, jint *manifest_size, bool clean_text, TRAPS);
   static ClassPathEntry* find_classpath_entry_from_cache(const char* path, TRAPS);
 
 public:
+  static void process_jar_manifest(ClassPathEntry* entry, bool check_for_duplicates);
+
+  // Called by JVMTI code to add boot classpath
+  static void append_boot_classpath(ClassPathEntry* new_entry);
+
+  static void setup_search_paths();
+  static void setup_module_paths(TRAPS);
+
   static char* read_manifest(ClassPathEntry* entry, jint *manifest_size, TRAPS) {
     // Remove all the new-line continuations (which wrap long lines at 72 characters, see
     // http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest), so
--- a/src/hotspot/share/classfile/dictionary.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/dictionary.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -468,7 +468,7 @@
 #if INCLUDE_CDS
 static bool is_jfr_event_class(Klass *k) {
   while (k) {
-    if (k->name()->equals("jdk/jfr/Event")) {
+    if (k->name()->equals("jdk/internal/event/Event")) {
       return true;
     }
     k = k->super();
--- a/src/hotspot/share/classfile/javaClasses.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/javaClasses.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -50,6 +50,7 @@
 #include "oops/oop.inline.hpp"
 #include "oops/symbol.hpp"
 #include "oops/typeArrayOop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
 #include "prims/resolvedMethodTable.hpp"
 #include "runtime/fieldDescriptor.inline.hpp"
 #include "runtime/frame.inline.hpp"
@@ -125,7 +126,7 @@
   if (ik == NULL) {
     ResourceMark rm;
     log_error(class)("Mismatch JDK version for field: %s type: %s", name_symbol->as_C_string(), signature_symbol->as_C_string());
-    vm_exit_during_initialization("Invalid layout of preloaded class");
+    vm_exit_during_initialization("Invalid layout of well-known class");
   }
 
   if (!ik->find_local_field(name_symbol, signature_symbol, &fd) || fd.is_static() != is_static) {
@@ -138,7 +139,7 @@
     LogStream ls(lt.error());
     ik->print_on(&ls);
 #endif //PRODUCT
-    vm_exit_during_initialization("Invalid layout of preloaded class: use -Xlog:class+load=info to see the origin of the problem class");
+    vm_exit_during_initialization("Invalid layout of well-known class: use -Xlog:class+load=info to see the origin of the problem class");
   }
   dest_offset = fd.offset();
 }
@@ -151,7 +152,7 @@
   if (name == NULL) {
     ResourceMark rm;
     log_error(class)("Name %s should be in the SymbolTable since its class is loaded", name_string);
-    vm_exit_during_initialization("Invalid layout of preloaded class", ik->external_name());
+    vm_exit_during_initialization("Invalid layout of well-known class", ik->external_name());
   }
   compute_offset(dest_offset, ik, name, signature_symbol, is_static);
 }
@@ -1196,7 +1197,7 @@
                                               Handle class_loader, Handle module,
                                               Handle protection_domain, TRAPS) {
   // Postpone restoring archived mirror until java.lang.Class is loaded. Please
-  // see more details in SystemDictionary::resolve_preloaded_classes().
+  // see more details in SystemDictionary::resolve_well_known_classes().
   if (!SystemDictionary::Class_klass_loaded()) {
     assert(fixup_mirror_list() != NULL, "fixup_mirror_list not initialized");
     fixup_mirror_list()->push(k);
@@ -4250,12 +4251,19 @@
 // Compute non-hard-coded field offsets of all the classes in this file
 void JavaClasses::compute_offsets() {
   if (UseSharedSpaces) {
-    return; // field offsets are loaded from archive
+    assert(JvmtiExport::is_early_phase() && !(JvmtiExport::should_post_class_file_load_hook() &&
+                                              JvmtiExport::has_early_class_hook_env()),
+           "JavaClasses::compute_offsets() must be called in early JVMTI phase.");
+    // None of the classes used by the rest of this function can be replaced by
+    // JMVTI ClassFileLoadHook.
+    // We are safe to use the archived offsets, which have already been restored
+    // by JavaClasses::serialize_offsets, without computing the offsets again.
+    return;
   }
 
   // We have already called the compute_offsets() of the
   // BASIC_JAVA_CLASSES_DO_PART1 classes (java_lang_String and java_lang_Class)
-  // earlier inside SystemDictionary::resolve_preloaded_classes()
+  // earlier inside SystemDictionary::resolve_well_known_classes()
   BASIC_JAVA_CLASSES_DO_PART2(DO_COMPUTE_OFFSETS);
 
   // generated interpreter code wants to know about the offsets we just computed:
@@ -4356,7 +4364,7 @@
     tty->print_cr("  name: %s, sig: %s, flags: %08x", fs.name()->as_C_string(), fs.signature()->as_C_string(), fs.access_flags().as_int());
   }
 #endif //PRODUCT
-  vm_exit_during_initialization("Invalid layout of preloaded class: use -Xlog:class+load=info to see the origin of the problem class");
+  vm_exit_during_initialization("Invalid layout of well-known class: use -Xlog:class+load=info to see the origin of the problem class");
   return -1;
 }
 
--- a/src/hotspot/share/classfile/systemDictionary.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/systemDictionary.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -67,7 +67,7 @@
 #include "oops/oop.inline.hpp"
 #include "oops/symbol.hpp"
 #include "oops/typeArrayKlass.hpp"
-#include "prims/jvmtiEnvBase.hpp"
+#include "prims/jvmtiExport.hpp"
 #include "prims/resolvedMethodTable.hpp"
 #include "prims/methodHandles.hpp"
 #include "runtime/arguments.hpp"
@@ -1189,20 +1189,15 @@
 }
 
 
-// Load a class from the shared spaces (found through the shared system
-// dictionary).  Force the superclass and all interfaces to be loaded.
-// Update the class definition to include sibling classes and no
-// subclasses (yet).  [Classes in the shared space are not part of the
-// object hierarchy until loaded.]
-
-InstanceKlass* SystemDictionary::load_shared_class(
-                 Symbol* class_name, Handle class_loader, TRAPS) {
+// Load a class for boot loader from the shared spaces (found through
+// the shared system dictionary). Force the super class and all interfaces
+// to be loaded.
+InstanceKlass* SystemDictionary::load_shared_boot_class(Symbol* class_name,
+                                                        TRAPS) {
   InstanceKlass* ik = find_shared_class(class_name);
-  // Make sure we only return the boot class for the NULL classloader.
-  if (ik != NULL &&
-      ik->is_shared_boot_class() && class_loader.is_null()) {
-    Handle protection_domain;
-    return load_shared_class(ik, class_loader, protection_domain, THREAD);
+  // Make sure we only return the boot class.
+  if (ik != NULL && ik->is_shared_boot_class()) {
+    return load_shared_class(ik, Handle(), Handle(), THREAD);
   }
   return NULL;
 }
@@ -1489,13 +1484,12 @@
            !search_only_bootloader_append,
            "Attempt to load a class outside of boot loader's module path");
 
-    // Search the shared system dictionary for classes preloaded into the
-    // shared spaces.
+    // Search for classes in the CDS archive.
     InstanceKlass* k = NULL;
     {
 #if INCLUDE_CDS
       PerfTraceTime vmtimer(ClassLoader::perf_shared_classload_time());
-      k = load_shared_class(class_name, class_loader, THREAD);
+      k = load_shared_boot_class(class_name, THREAD);
 #endif
     }
 
@@ -1958,7 +1952,7 @@
   // Allocate private object used as system class loader lock
   _system_loader_lock_obj = oopFactory::new_intArray(0, CHECK);
   // Initialize basic classes
-  resolve_preloaded_classes(CHECK);
+  resolve_well_known_classes(CHECK);
 }
 
 // Compact table of directions on the initialization of klasses:
@@ -1971,6 +1965,19 @@
   0
 };
 
+#ifdef ASSERT
+bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
+  int sid;
+  for (int i = 0; (sid = wk_init_info[i]) != 0; i++) {
+    Symbol* symbol = vmSymbols::symbol_at((vmSymbols::SID)sid);
+    if (class_name == symbol) {
+      return true;
+    }
+  }
+  return false;
+}
+#endif
+
 bool SystemDictionary::resolve_wk_klass(WKID id, TRAPS) {
   assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
   int sid = wk_init_info[id - FIRST_WKID];
@@ -2002,8 +2009,8 @@
   start_id = limit_id;
 }
 
-void SystemDictionary::resolve_preloaded_classes(TRAPS) {
-  assert(WK_KLASS(Object_klass) == NULL, "preloaded classes should only be initialized once");
+void SystemDictionary::resolve_well_known_classes(TRAPS) {
+  assert(WK_KLASS(Object_klass) == NULL, "well-known classes should only be initialized once");
 
   // Create the ModuleEntry for java.base.  This call needs to be done here,
   // after vmSymbols::initialize() is called but before any classes are pre-loaded.
@@ -2071,7 +2078,8 @@
   WKID jsr292_group_end   = WK_KLASS_ENUM_NAME(VolatileCallSite_klass);
   resolve_wk_klasses_until(jsr292_group_start, scan, CHECK);
   resolve_wk_klasses_through(jsr292_group_end, scan, CHECK);
-  resolve_wk_klasses_until(NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID), scan, CHECK);
+  WKID last = NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID);
+  resolve_wk_klasses_until(last, scan, CHECK);
 
   _box_klasses[T_BOOLEAN] = WK_KLASS(Boolean_klass);
   _box_klasses[T_CHAR]    = WK_KLASS(Character_klass);
@@ -2088,6 +2096,17 @@
     Method* method = InstanceKlass::cast(ClassLoader_klass())->find_method(vmSymbols::checkPackageAccess_name(), vmSymbols::class_protectiondomain_signature());
     _has_checkPackageAccess = (method != NULL);
   }
+
+#ifdef ASSERT
+  if (UseSharedSpaces) {
+    assert(JvmtiExport::is_early_phase(),
+           "All well known classes must be resolved in JVMTI early phase");
+    for (int i = FIRST_WKID; i < last; i++) {
+      InstanceKlass* k = _well_known_klasses[i];
+      assert(k->is_shared(), "must not be replaced by JVMTI class file load hook");
+    }
+  }
+#endif
 }
 
 // Tells if a given klass is a box (wrapper class, such as java.lang.Integer).
--- a/src/hotspot/share/classfile/systemDictionary.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/classfile/systemDictionary.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -85,19 +85,20 @@
 class GCTimer;
 class OopStorage;
 
-// Certain classes are preloaded, such as java.lang.Object and java.lang.String.
-// They are all "well-known", in the sense that no class loader is allowed
+#define WK_KLASS_ENUM_NAME(kname)    kname##_knum
+
+// Certain classes, such as java.lang.Object and java.lang.String,
+// are "well-known", in the sense that no class loader is allowed
 // to provide a different definition.
 //
-// These klasses must all have names defined in vmSymbols.
-
-#define WK_KLASS_ENUM_NAME(kname)    kname##_knum
-
 // Each well-known class has a short klass name (like object_klass),
 // and a vmSymbol name (like java_lang_Object).
-// The order of these definitions is significant; it is the order in which
-// preloading is actually performed by resolve_preloaded_classes.
-
+//
+// The order of these definitions is significant: the classes are
+// resolved during early VM start-up by resolve_well_known_classes
+// in this order. Changing the order may require careful restructuring
+// of the VM start-up sequence.
+//
 #define WK_KLASSES_DO(do_klass)                                                                                 \
   /* well-known classes */                                                                                      \
   do_klass(Object_klass,                                java_lang_Object                                      ) \
@@ -127,7 +128,7 @@
   do_klass(IllegalMonitorStateException_klass,          java_lang_IllegalMonitorStateException                ) \
   do_klass(Reference_klass,                             java_lang_ref_Reference                               ) \
                                                                                                                 \
-  /* Preload ref klasses and set reference types */                                                             \
+  /* ref klasses and set reference types */                                                                     \
   do_klass(SoftReference_klass,                         java_lang_ref_SoftReference                           ) \
   do_klass(WeakReference_klass,                         java_lang_ref_WeakReference                           ) \
   do_klass(FinalReference_klass,                        java_lang_ref_FinalReference                          ) \
@@ -200,7 +201,7 @@
   /* support for stack dump lock analysis */                                                                    \
   do_klass(java_util_concurrent_locks_AbstractOwnableSynchronizer_klass, java_util_concurrent_locks_AbstractOwnableSynchronizer) \
                                                                                                                 \
-  /* Preload boxing klasses */                                                                                  \
+  /* boxing klasses */                                                                                          \
   do_klass(Boolean_klass,                               java_lang_Boolean                                     ) \
   do_klass(Character_klass,                             java_lang_Character                                   ) \
   do_klass(Float_klass,                                 java_lang_Float                                       ) \
@@ -391,7 +392,8 @@
   // Initialization
   static void initialize(TRAPS);
 
-  // Checked fast access to commonly used classes - mostly preloaded
+  // Checked fast access to the well-known classes -- so that you don't try to use them
+  // before they are resolved.
   static InstanceKlass* check_klass(InstanceKlass* k) {
     assert(k != NULL, "klass not loaded");
     return k;
@@ -435,6 +437,12 @@
     return check_klass(_box_klasses[t]);
   }
   static BasicType box_klass_type(Klass* k);  // inverse of box_klass
+#ifdef ASSERT
+  static bool is_well_known_klass(Klass* k) {
+    return is_well_known_klass(k->name());
+  }
+  static bool is_well_known_klass(Symbol* class_name);
+#endif
 
 protected:
   // Returns the class loader data to be used when looking up/updating the
@@ -643,6 +651,8 @@
                                           Handle class_loader,
                                           Handle protection_domain,
                                           TRAPS);
+  static InstanceKlass* load_shared_boot_class(Symbol* class_name,
+                                               TRAPS);
   static InstanceKlass* load_instance_class(Symbol* class_name, Handle class_loader, TRAPS);
   static Handle compute_loader_lock_object(Handle class_loader, TRAPS);
   static void check_loader_lock_contention(Handle loader_lock, TRAPS);
@@ -650,9 +660,6 @@
   static bool is_parallelDefine(Handle class_loader);
 
 public:
-  static InstanceKlass* load_shared_class(Symbol* class_name,
-                                          Handle class_loader,
-                                          TRAPS);
   static bool is_system_class_loader(oop class_loader);
   static bool is_platform_class_loader(oop class_loader);
   static void clear_invoke_method_table();
@@ -695,8 +702,8 @@
                                   ClassLoaderData* loader_data,
                                   TRAPS);
 
-  // Resolve preloaded classes so they can be used like SystemDictionary::String_klass()
-  static void resolve_preloaded_classes(TRAPS);
+  // Resolve well-known classes so they can be used like SystemDictionary::String_klass()
+  static void resolve_well_known_classes(TRAPS);
 
   // Class loader constraints
   static void check_constraints(unsigned int hash,
@@ -707,7 +714,6 @@
                                 InstanceKlass* k, Handle loader,
                                 TRAPS);
 
-  // Variables holding commonly used klasses (preloaded)
   static InstanceKlass* _well_known_klasses[];
 
   // table of box klasses (int_klass, etc.)
--- a/src/hotspot/share/code/codeCache.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/code/codeCache.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -274,10 +274,10 @@
   }
   // Make sure we have enough space for VM internal code
   uint min_code_cache_size = CodeCacheMinimumUseSpace DEBUG_ONLY(* 3);
-  if (non_nmethod_size < (min_code_cache_size + code_buffers_size)) {
+  if (non_nmethod_size < min_code_cache_size) {
     vm_exit_during_initialization(err_msg(
         "Not enough space in non-nmethod code heap to run VM: " SIZE_FORMAT "K < " SIZE_FORMAT "K",
-        non_nmethod_size/K, (min_code_cache_size + code_buffers_size)/K));
+        non_nmethod_size/K, min_code_cache_size/K));
   }
 
   // Verify sizes and update flag values
--- a/src/hotspot/share/code/nmethod.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/code/nmethod.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -790,7 +790,9 @@
     char buffer[O_BUFLEN];
     char* jvmci_name = jvmci_installed_code_name(buffer, O_BUFLEN);
     if (jvmci_name != NULL) {
-      log->print(" jvmci_installed_code_name='%s'", jvmci_name);
+      log->print(" jvmci_installed_code_name='");
+      log->text("%s", jvmci_name);
+      log->print("'");
     }
 #endif
 }
--- a/src/hotspot/share/compiler/compileBroker.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/compiler/compileBroker.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -894,14 +894,19 @@
   EXCEPTION_MARK;
 
   julong available_memory = os::available_memory();
+  // If SegmentedCodeCache is off, both values refer to the single heap (with type CodeBlobType::All).
+  size_t available_cc_np  = CodeCache::unallocated_capacity(CodeBlobType::MethodNonProfiled),
+         available_cc_p   = CodeCache::unallocated_capacity(CodeBlobType::MethodProfiled);
+
   // Only do attempt to start additional threads if the lock is free.
   if (!CompileThread_lock->try_lock()) return;
 
   if (_c2_compile_queue != NULL) {
     int old_c2_count = _compilers[1]->num_compiler_threads();
-    int new_c2_count = MIN3(_c2_count,
+    int new_c2_count = MIN4(_c2_count,
         _c2_compile_queue->size() / 2,
-        (int)(available_memory / 200*M));
+        (int)(available_memory / (200*M)),
+        (int)(available_cc_np / (128*K)));
 
     for (int i = old_c2_count; i < new_c2_count; i++) {
       JavaThread *ct = make_thread(compiler2_object(i), _c2_compile_queue, _compilers[1], true, CHECK);
@@ -910,17 +915,18 @@
       if (TraceCompilerThreads) {
         ResourceMark rm;
         MutexLocker mu(Threads_lock);
-        tty->print_cr("Added compiler thread %s (available memory: %dMB)",
-                      ct->get_thread_name(), (int)(available_memory/M));
+        tty->print_cr("Added compiler thread %s (available memory: %dMB, available non-profiled code cache: %dMB)",
+                      ct->get_thread_name(), (int)(available_memory/M), (int)(available_cc_np/M));
       }
     }
   }
 
   if (_c1_compile_queue != NULL) {
     int old_c1_count = _compilers[0]->num_compiler_threads();
-    int new_c1_count = MIN3(_c1_count,
+    int new_c1_count = MIN4(_c1_count,
         _c1_compile_queue->size() / 4,
-        (int)(available_memory / 100*M));
+        (int)(available_memory / (100*M)),
+        (int)(available_cc_p / (128*K)));
 
     for (int i = old_c1_count; i < new_c1_count; i++) {
       JavaThread *ct = make_thread(compiler1_object(i), _c1_compile_queue, _compilers[0], true, CHECK);
@@ -929,8 +935,8 @@
       if (TraceCompilerThreads) {
         ResourceMark rm;
         MutexLocker mu(Threads_lock);
-        tty->print_cr("Added compiler thread %s (available memory: %dMB)",
-                      ct->get_thread_name(), (int)(available_memory/M));
+        tty->print_cr("Added compiler thread %s (available memory: %dMB, available profiled code cache: %dMB)",
+                      ct->get_thread_name(), (int)(available_memory/M), (int)(available_cc_p/M));
       }
     }
   }
@@ -1501,8 +1507,9 @@
 
     bool progress;
     if (jvmci_compiler_thread != NULL) {
-      // If the JVMCI compiler thread is not blocked, we deem it to be making progress.
-      progress = jvmci_compiler_thread->thread_state() != _thread_blocked;
+      // If the JVMCI compiler thread is not blocked or suspended, we deem it to be making progress.
+      progress = jvmci_compiler_thread->thread_state() != _thread_blocked &&
+        !jvmci_compiler_thread->is_external_suspend();
     } else {
       // Still waiting on JVMCI compiler queue. This thread may be holding a lock
       // that all JVMCI compiler threads are blocked on. We use the counter for
--- a/src/hotspot/share/compiler/directivesParser.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/compiler/directivesParser.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -566,159 +566,3 @@
   }
 }
 
-#ifndef PRODUCT
-void DirectivesParser::test(const char* text, bool should_pass) {
-  DirectivesParser cd(text, tty, !VerboseInternalVMTests);
-  if (should_pass) {
-    assert(cd.valid() == true, "failed on a valid DirectivesParser string");
-    if (VerboseInternalVMTests) {
-      tty->print("-- DirectivesParser test passed as expected --\n");
-    }
-  } else {
-    assert(cd.valid() == false, "succeeded on an invalid DirectivesParser string");
-    if (VerboseInternalVMTests) {
-      tty->print("-- DirectivesParser test failed as expected --\n");
-    }
-  }
-  cd.clean_tmp();
-}
-
-void DirectivesParser::test() {
-  DirectivesParser::test("{}", false);
-  DirectivesParser::test("[]", true);
-  DirectivesParser::test("[{}]", false);
-  DirectivesParser::test("[{},{}]", false);
-  DirectivesParser::test("{},{}", false);
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  {" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "    inline : \"+java/util.*\"," "\n"
-    "    PrintAssembly: true," "\n"
-    "    BreakAtExecute: true," "\n"
-    "  }" "\n"
-    "]" "\n", true);
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  [" "\n"
-    "    {" "\n"
-    "      match: \"foo/bar.*\"," "\n"
-    "      inline : \"+java/util.*\"," "\n"
-    "      PrintAssembly: true," "\n"
-    "      BreakAtExecute: true," "\n"
-    "    }" "\n"
-    "  ]" "\n"
-    "]" "\n", false);
-
-  /*DirectivesParser::test(
-    "[" "\n"
-    "  {" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "    c1: {"
-    "      PrintIntrinsics: false," "\n"
-    "    }" "\n"
-    "  }" "\n"
-    "]" "\n", false);*/
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  {" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "    c2: {" "\n"
-    "      PrintInlining: false," "\n"
-    "    }" "\n"
-    "  }" "\n"
-    "]" "\n", true);
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  {" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "    c2: {" "\n"
-    "      VectorizeDebug: 1," "\n"
-    "      VectorizeDebug: -1," "\n"
-    "    }" "\n"
-    "  }" "\n"
-    "]" "\n", COMPILER2_PRESENT(true) NOT_COMPILER2(false));
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  {" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "    PrintInlining: [" "\n"
-    "      true," "\n"
-    "      false" "\n"
-    "    ]," "\n"
-    "  }" "\n"
-    "]" "\n", false);
-
-  DirectivesParser::test(
-    "[" "\n"
-    "  {"
-    "    // pattern to match against class+method+signature" "\n"
-    "    // leading and trailing wildcard (*) allowed" "\n"
-    "    match: \"foo/bar.*\"," "\n"
-    "" "\n"
-    "    // override defaults for specified compiler" "\n"
-    "    // we may differentiate between levels too. TBD." "\n"
-    "    c1:  {" "\n"
-    "      //override c1 presets " "\n"
-    "      DumpReplay: false," "\n"
-    "      BreakAtCompile: true," "\n"
-    "    }," "\n"
-    "" "\n"
-    "    c2: {" "\n"
-    "        // control inlining of method" "\n"
-    "        // + force inline, - dont inline" "\n"
-    "        inline : \"+java/util.*\"," "\n"
-    "        PrintInlining: true," "\n"
-    "    }," "\n"
-    "" "\n"
-    "    // directives outside a specific preset applies to all compilers" "\n"
-    "    inline : [ \"+java/util.*\", \"-com/sun.*\"]," "\n"
-    "    BreakAtExecute: true," "\n"
-    "    Log: true," "\n"
-    "  }," "\n"
-    "  {" "\n"
-    "    // matching several patterns require an array" "\n"
-    "    match: [\"baz.*\",\"frob.*\"]," "\n"
-    "" "\n"
-    "    // applies to all compilers" "\n"
-    "    // + force inline, - dont inline" "\n"
-    "    inline : [ \"+java/util.*\", \"-com/sun.*\" ]," "\n"
-    "    PrintInlining: true," "\n"
-    "" "\n"
-    "    // force matching compiles to be blocking/syncronous" "\n"
-    "    PrintNMethods: true" "\n"
-    "  }," "\n"
-    "]" "\n", true);
-
-  // Test max stack depth
-    DirectivesParser::test(
-      "[" "\n"             // depth 1: type_dir_array
-      "  {" "\n"           // depth 2: type_directives
-      "    match: \"*.*\"," // match required
-      "    c1:" "\n"       // depth 3: type_c1
-      "    {" "\n"
-      "      inline:" "\n" // depth 4: type_inline
-      "      [" "\n"       // depth 5: type_value_array
-      "        \"foo\"," "\n"
-      "        \"bar\"," "\n"
-      "      ]" "\n"       // depth 3: pop type_value_array and type_inline keys
-      "    }" "\n"         // depth 2: pop type_c1 key
-      "  }" "\n"           // depth 1: pop type_directives key
-      "]" "\n", true);     // depth 0: pop type_dir_array key
-
-    // Test max stack depth
-    DirectivesParser::test(
-      "[{c1:{c1:{c1:{c1:{c1:{c1:{c1:{}}}}}}}}]", false);
-
-}
-
-void DirectivesParser_test() {
-  DirectivesParser::test();
-}
-
-#endif
--- a/src/hotspot/share/compiler/directivesParser.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/compiler/directivesParser.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,15 +48,18 @@
     "unknown"
 };
 
+class DirectivesParserTest;
+
 class DirectivesParser : public JSON {
-public:
+ friend class DirectivesParserTest;
+ public:
   static bool has_file();
   static bool parse_from_flag();
   static bool parse_from_file(const char* filename, outputStream* st);
   static int  parse_string(const char* string, outputStream* st);
   int install_directives();
 
-private:
+ private:
   DirectivesParser(const char* text, outputStream* st, bool silent);
   ~DirectivesParser();
 
@@ -134,12 +137,6 @@
   int _tmp_depth;               // Number of directives that has been parsed but not installed.
 
   static uint mask(keytype kt);
-
-#ifndef PRODUCT
-  static void test(const char* json, bool valid);
-public:
-  static void test();
-#endif
 };
 
 #endif // SHARE_VM_COMPILER_DIRECTIVESPARSER_HPP
--- a/src/hotspot/share/gc/cms/parNewGeneration.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/cms/parNewGeneration.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1118,7 +1118,7 @@
 
     // Attempt to install a null forwarding pointer (atomically),
     // to claim the right to install the real forwarding pointer.
-    forward_ptr = old->forward_to_atomic(ClaimedForwardPtr);
+    forward_ptr = old->forward_to_atomic(ClaimedForwardPtr, m);
     if (forward_ptr != NULL) {
       // someone else beat us to it.
         return real_forwardee(old);
@@ -1144,7 +1144,7 @@
     // Is in to-space; do copying ourselves.
     Copy::aligned_disjoint_words((HeapWord*)old, (HeapWord*)new_obj, sz);
     assert(CMSHeap::heap()->is_in_reserved(new_obj), "illegal forwarding pointer value.");
-    forward_ptr = old->forward_to_atomic(new_obj);
+    forward_ptr = old->forward_to_atomic(new_obj, m);
     // Restore the mark word copied above.
     new_obj->set_mark_raw(m);
     // Increment age if obj still in new generation
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1043,7 +1043,7 @@
   assert(num_free_regions() == 0, "we should not have added any free regions");
   rebuild_region_sets(false /* free_list_only */);
   abort_refinement();
-  resize_if_necessary_after_full_collection();
+  resize_heap_if_necessary();
 
   // Rebuild the strong code root lists for each region
   rebuild_strong_code_roots();
@@ -1149,7 +1149,7 @@
                                   clear_all_soft_refs);
 }
 
-void G1CollectedHeap::resize_if_necessary_after_full_collection() {
+void G1CollectedHeap::resize_heap_if_necessary() {
   // Capacity, free and used after the GC counted as full regions to
   // include the waste in the following calculations.
   const size_t capacity_after_gc = capacity();
@@ -1206,7 +1206,7 @@
     // Don't expand unless it's significant
     size_t expand_bytes = minimum_desired_capacity - capacity_after_gc;
 
-    log_debug(gc, ergo, heap)("Attempt heap expansion (capacity lower than min desired capacity after Full GC). "
+    log_debug(gc, ergo, heap)("Attempt heap expansion (capacity lower than min desired capacity). "
                               "Capacity: " SIZE_FORMAT "B occupancy: " SIZE_FORMAT "B live: " SIZE_FORMAT "B "
                               "min_desired_capacity: " SIZE_FORMAT "B (" UINTX_FORMAT " %%)",
                               capacity_after_gc, used_after_gc, used(), minimum_desired_capacity, MinHeapFreeRatio);
@@ -1218,7 +1218,7 @@
     // Capacity too large, compute shrinking size
     size_t shrink_bytes = capacity_after_gc - maximum_desired_capacity;
 
-    log_debug(gc, ergo, heap)("Attempt heap shrinking (capacity higher than max desired capacity after Full GC). "
+    log_debug(gc, ergo, heap)("Attempt heap shrinking (capacity higher than max desired capacity). "
                               "Capacity: " SIZE_FORMAT "B occupancy: " SIZE_FORMAT "B live: " SIZE_FORMAT "B "
                               "maximum_desired_capacity: " SIZE_FORMAT "B (" UINTX_FORMAT " %%)",
                               capacity_after_gc, used_after_gc, used(), maximum_desired_capacity, MaxHeapFreeRatio);
@@ -1394,8 +1394,8 @@
 void G1CollectedHeap::shrink(size_t shrink_bytes) {
   _verifier->verify_region_sets_optional();
 
-  // We should only reach here at the end of a Full GC which means we
-  // should not not be holding to any GC alloc regions. The method
+  // We should only reach here at the end of a Full GC or during Remark which
+  // means we should not not be holding to any GC alloc regions. The method
   // below will make sure of that and do any remaining clean up.
   _allocator->abandon_gc_alloc_regions();
 
@@ -4399,13 +4399,13 @@
   }
 
   bool do_heap_region(HeapRegion* r) {
-    // After full GC, no region should have a remembered set.
-    r->rem_set()->clear(true);
     if (r->is_empty()) {
+      assert(r->rem_set()->is_empty(), "Empty regions should have empty remembered sets.");
       // Add free regions to the free list
       r->set_free();
       _hrm->insert_into_free_list(r);
     } else if (!_free_list_only) {
+      assert(r->rem_set()->is_empty(), "At this point remembered sets must have been cleared.");
 
       if (r->is_archive() || r->is_humongous()) {
         // We ignore archive and humongous regions. We left these sets unchanged.
@@ -4443,10 +4443,9 @@
       _archive_allocator->clear_used();
     }
   }
-  assert(used_unlocked() == recalculate_used(),
-         "inconsistent used_unlocked(), "
-         "value: " SIZE_FORMAT " recalculated: " SIZE_FORMAT,
-         used_unlocked(), recalculate_used());
+  assert(used() == recalculate_used(),
+         "inconsistent used(), value: " SIZE_FORMAT " recalculated: " SIZE_FORMAT,
+         used(), recalculate_used());
 }
 
 bool G1CollectedHeap::is_in_closed_subset(const void* p) const {
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -468,9 +468,6 @@
   // Callback from VM_G1CollectFull operation, or collect_as_vm_thread.
   virtual void do_full_collection(bool clear_all_soft_refs);
 
-  // Resize the heap if necessary after a full collection.
-  void resize_if_necessary_after_full_collection();
-
   // Callback from VM_G1CollectForAllocation operation.
   // This function does everything necessary/possible to satisfy a
   // failed allocation request (including collection, expansion, etc.)
@@ -528,6 +525,8 @@
     return _g1mm;
   }
 
+  void resize_heap_if_necessary();
+
   // Expand the garbage-first heap by at least the given size (in bytes!).
   // Returns true if the heap was expanded by the requested amount;
   // false otherwise.
@@ -1120,6 +1119,7 @@
 
   // Return the region with the given index. It assumes the index is valid.
   inline HeapRegion* region_at(uint index) const;
+  inline HeapRegion* region_at_or_null(uint index) const;
 
   // Return the next region (by index) that is part of the same
   // humongous object that hr is part of.
@@ -1157,6 +1157,11 @@
   template <class T>
   inline HeapRegion* heap_region_containing(const T addr) const;
 
+  // Returns the HeapRegion that contains addr, or NULL if that is an uncommitted
+  // region. addr must not be NULL.
+  template <class T>
+  inline HeapRegion* heap_region_containing_or_null(const T addr) const;
+
   // A CollectedHeap is divided into a dense sequence of "blocks"; that is,
   // each address in the (reserved) heap is a member of exactly
   // one block.  The defining characteristic of a block is that it is
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -60,6 +60,9 @@
 // Return the region with the given index. It assumes the index is valid.
 inline HeapRegion* G1CollectedHeap::region_at(uint index) const { return _hrm.at(index); }
 
+// Return the region with the given index, or NULL if unmapped. It assumes the index is valid.
+inline HeapRegion* G1CollectedHeap::region_at_or_null(uint index) const { return _hrm.at_or_null(index); }
+
 inline HeapRegion* G1CollectedHeap::next_region_in_humongous(HeapRegion* hr) const {
   return _hrm.next_region_in_humongous(hr);
 }
@@ -84,6 +87,16 @@
   return _hrm.addr_to_region((HeapWord*) addr);
 }
 
+template <class T>
+inline HeapRegion* G1CollectedHeap::heap_region_containing_or_null(const T addr) const {
+  assert(addr != NULL, "invariant");
+  assert(is_in_g1_reserved((const void*) addr),
+         "Address " PTR_FORMAT " is outside of the heap ranging from [" PTR_FORMAT " to " PTR_FORMAT ")",
+         p2i((void*)addr), p2i(g1_reserved().start()), p2i(g1_reserved().end()));
+  uint const region_idx = addr_to_region(addr);
+  return region_at_or_null(region_idx);
+}
+
 inline void G1CollectedHeap::old_set_add(HeapRegion* hr) {
   _old_set.add(hr);
 }
--- a/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1ConcurrentMark.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1178,6 +1178,8 @@
       ClassLoaderDataGraph::purge();
     }
 
+    _g1h->resize_heap_if_necessary();
+
     compute_new_sizes();
 
     verify_during_pause(G1HeapVerifier::G1VerifyRemark, VerifyOption_G1UsePrevMarking, "Remark after");
--- a/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -95,7 +95,7 @@
   _update_rs_scanned_cards = new WorkerDataArray<size_t>(max_gc_threads, "Scanned Cards:");
   _gc_par_phases[UpdateRS]->link_thread_work_items(_update_rs_scanned_cards, UpdateRSScannedCards);
   _update_rs_skipped_cards = new WorkerDataArray<size_t>(max_gc_threads, "Skipped Cards:");
-  _gc_par_phases[UpdateRS]->link_thread_work_items(_update_rs_skipped_cards, ScanRSSkippedCards);
+  _gc_par_phases[UpdateRS]->link_thread_work_items(_update_rs_skipped_cards, UpdateRSSkippedCards);
 
   _termination_attempts = new WorkerDataArray<size_t>(max_gc_threads, "Termination Attempts:");
   _gc_par_phases[Termination]->link_thread_work_items(_termination_attempts);
--- a/src/hotspot/share/gc/g1/g1OopClosures.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1OopClosures.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -38,7 +38,7 @@
 { }
 
 G1ScanClosureBase::G1ScanClosureBase(G1CollectedHeap* g1h, G1ParScanThreadState* par_scan_state) :
-  _g1h(g1h), _par_scan_state(par_scan_state), _from(NULL)
+  _g1h(g1h), _par_scan_state(par_scan_state)
 { }
 
 void G1CLDScanClosure::do_cld(ClassLoaderData* cld) {
--- a/src/hotspot/share/gc/g1/g1OopClosures.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1OopClosures.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -36,6 +36,7 @@
 class DirtyCardToOopClosure;
 class G1CMBitMap;
 class G1ParScanThreadState;
+class G1ScanEvacuatedObjClosure;
 class G1CMTask;
 class ReferenceProcessor;
 
@@ -43,7 +44,6 @@
 protected:
   G1CollectedHeap* _g1h;
   G1ParScanThreadState* _par_scan_state;
-  HeapRegion* _from;
 
   G1ScanClosureBase(G1CollectedHeap* g1h, G1ParScanThreadState* par_scan_state);
   ~G1ScanClosureBase() { }
@@ -56,24 +56,19 @@
 public:
   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 
-  void set_region(HeapRegion* from) { _from = from; }
-
   inline void trim_queue_partially();
 };
 
 // Used during the Update RS phase to refine remaining cards in the DCQ during garbage collection.
-class G1ScanObjsDuringUpdateRSClosure: public G1ScanClosureBase {
-  uint _worker_i;
-
+class G1ScanObjsDuringUpdateRSClosure : public G1ScanClosureBase {
 public:
   G1ScanObjsDuringUpdateRSClosure(G1CollectedHeap* g1h,
-                                  G1ParScanThreadState* pss,
-                                  uint worker_i) :
-    G1ScanClosureBase(g1h, pss), _worker_i(worker_i) { }
+                                  G1ParScanThreadState* pss) :
+    G1ScanClosureBase(g1h, pss) { }
 
   template <class T> void do_oop_work(T* p);
   virtual void do_oop(narrowOop* p) { do_oop_work(p); }
-  virtual void do_oop(oop* p) { do_oop_work(p); }
+  virtual void do_oop(oop* p)       { do_oop_work(p); }
 };
 
 // Used during the Scan RS phase to scan cards from the remembered set during garbage collection.
@@ -88,11 +83,22 @@
   virtual void do_oop(narrowOop* p)    { do_oop_work(p); }
 };
 
+
 // This closure is applied to the fields of the objects that have just been copied during evacuation.
 class G1ScanEvacuatedObjClosure : public G1ScanClosureBase {
+  friend class G1ScanInYoungSetter;
+
+  enum ScanningInYoungValues {
+    False = 0,
+    True,
+    Uninitialized
+  };
+
+  ScanningInYoungValues _scanning_in_young;
+
 public:
   G1ScanEvacuatedObjClosure(G1CollectedHeap* g1h, G1ParScanThreadState* par_scan_state) :
-    G1ScanClosureBase(g1h, par_scan_state) { }
+    G1ScanClosureBase(g1h, par_scan_state), _scanning_in_young(Uninitialized) { }
 
   template <class T> void do_oop_work(T* p);
   virtual void do_oop(oop* p)          { do_oop_work(p); }
@@ -106,6 +112,21 @@
   }
 };
 
+// RAII object to properly set the _scanning_in_young field in G1ScanEvacuatedObjClosure.
+class G1ScanInYoungSetter : public StackObj {
+  G1ScanEvacuatedObjClosure* _closure;
+
+public:
+  G1ScanInYoungSetter(G1ScanEvacuatedObjClosure* closure, bool new_value) : _closure(closure) {
+    assert(_closure->_scanning_in_young == G1ScanEvacuatedObjClosure::Uninitialized, "Must not be set");
+    _closure->_scanning_in_young = new_value ? G1ScanEvacuatedObjClosure::True : G1ScanEvacuatedObjClosure::False;
+  }
+
+  ~G1ScanInYoungSetter() {
+    DEBUG_ONLY(_closure->_scanning_in_young = G1ScanEvacuatedObjClosure::Uninitialized;)
+  }
+};
+
 // Add back base class for metadata
 class G1ParCopyHelper : public OopClosure {
 protected:
--- a/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1OopClosures.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -82,12 +82,13 @@
   const InCSetState state = _g1h->in_cset_state(obj);
   if (state.is_in_cset()) {
     prefetch_and_push(p, obj);
-  } else {
-    if (HeapRegion::is_in_same_region(p, obj)) {
+  } else if (!HeapRegion::is_in_same_region(p, obj)) {
+    handle_non_cset_obj_common(state, p, obj);
+    assert(_scanning_in_young != Uninitialized, "Scan location has not been initialized.");
+    if (_scanning_in_young == True) {
       return;
     }
-    handle_non_cset_obj_common(state, p, obj);
-    _par_scan_state->update_rs(_from, p, obj);
+    _par_scan_state->enqueue_card_if_tracked(p, obj);
   }
 }
 
@@ -172,13 +173,9 @@
     // Since the source is always from outside the collection set, here we implicitly know
     // that this is a cross-region reference too.
     prefetch_and_push(p, obj);
-  } else {
-    HeapRegion* to = _g1h->heap_region_containing(obj);
-    if (_from == to) {
-      return;
-    }
+  } else if (!HeapRegion::is_in_same_region(p, obj)) {
     handle_non_cset_obj_common(state, p, obj);
-    to->rem_set()->add_reference(p, _worker_i);
+    _par_scan_state->enqueue_card_if_tracked(p, obj);
   }
 }
 
@@ -193,10 +190,7 @@
   const InCSetState state = _g1h->in_cset_state(obj);
   if (state.is_in_cset()) {
     prefetch_and_push(p, obj);
-  } else {
-    if (HeapRegion::is_in_same_region(p, obj)) {
-      return;
-    }
+  } else if (!HeapRegion::is_in_same_region(p, obj)) {
     handle_non_cset_obj_common(state, p, obj);
   }
 }
--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -203,7 +203,7 @@
   if (alloc_buf->contains(obj_ptr)) {
     _g1h->_gc_tracer_stw->report_promotion_in_new_plab_event(old->klass(), word_sz * HeapWordSize, age,
                                                              dest_state.value() == InCSetState::Old,
-                                                             alloc_buf->word_sz());
+                                                             alloc_buf->word_sz() * HeapWordSize);
   } else {
     _g1h->_gc_tracer_stw->report_promotion_outside_plab_event(old->klass(), word_sz * HeapWordSize, age,
                                                               dest_state.value() == InCSetState::Old);
@@ -265,7 +265,7 @@
   Prefetch::write(obj_ptr, PrefetchCopyIntervalInBytes);
 
   const oop obj = oop(obj_ptr);
-  const oop forward_ptr = old->forward_to_atomic(obj, memory_order_relaxed);
+  const oop forward_ptr = old->forward_to_atomic(obj, old_mark, memory_order_relaxed);
   if (forward_ptr == NULL) {
     Copy::aligned_disjoint_words((HeapWord*) old, obj_ptr, word_sz);
 
@@ -311,8 +311,7 @@
       oop* old_p = set_partial_array_mask(old);
       do_oop_partial_array(old_p);
     } else {
-      HeapRegion* const to_region = _g1h->heap_region_containing(obj_ptr);
-      _scanner.set_region(to_region);
+      G1ScanInYoungSetter x(&_scanner, dest_state.is_young());
       obj->oop_iterate_backwards(&_scanner);
     }
     return obj;
@@ -355,7 +354,7 @@
 oop G1ParScanThreadState::handle_evacuation_failure_par(oop old, markOop m) {
   assert(_g1h->is_in_cset(old), "Object " PTR_FORMAT " should be in the CSet", p2i(old));
 
-  oop forward_ptr = old->forward_to_atomic(old, memory_order_relaxed);
+  oop forward_ptr = old->forward_to_atomic(old, m, memory_order_relaxed);
   if (forward_ptr == NULL) {
     // Forward-to-self succeeded. We are the "owner" of the object.
     HeapRegion* r = _g1h->heap_region_containing(old);
@@ -367,7 +366,7 @@
 
     _g1h->preserve_mark_during_evac_failure(_worker_id, old, m);
 
-    _scanner.set_region(r);
+    G1ScanInYoungSetter x(&_scanner, r->is_young());
     old->oop_iterate_backwards(&_scanner);
 
     return old;
--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -104,17 +104,16 @@
   template <class T> void do_oop_ext(T* ref);
   template <class T> void push_on_queue(T* ref);
 
-  template <class T> void update_rs(HeapRegion* from, T* p, oop o) {
-    assert(!HeapRegion::is_in_same_region(p, o), "Caller should have filtered out cross-region references already.");
-    // If the field originates from the to-space, we don't need to include it
-    // in the remembered set updates. Also, if we are not tracking the remembered
-    // set in the destination region, do not bother either.
-    if (!from->is_young() && _g1h->heap_region_containing((HeapWord*)o)->rem_set()->is_tracked()) {
-      size_t card_index = ct()->index_for(p);
-      // If the card hasn't been added to the buffer, do it.
-      if (ct()->mark_card_deferred(card_index)) {
-        dirty_card_queue().enqueue((jbyte*)ct()->byte_for_index(card_index));
-      }
+  template <class T> void enqueue_card_if_tracked(T* p, oop o) {
+    assert(!HeapRegion::is_in_same_region(p, o), "Should have filtered out cross-region references already.");
+    assert(!_g1h->heap_region_containing(p)->is_young(), "Should have filtered out from-young references already.");
+    if (!_g1h->heap_region_containing((HeapWord*)o)->rem_set()->is_tracked()) {
+      return;
+    }
+    size_t card_index = ct()->index_for(p);
+    // If the card hasn't been added to the buffer, do it.
+    if (ct()->mark_card_deferred(card_index)) {
+      dirty_card_queue().enqueue((jbyte*)ct()->byte_for_index(card_index));
     }
   }
 
--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -61,9 +61,12 @@
   RawAccess<IS_NOT_NULL>::oop_store(p, obj);
 
   assert(obj != NULL, "Must be");
-  if (!HeapRegion::is_in_same_region(p, obj)) {
-    HeapRegion* from = _g1h->heap_region_containing(p);
-    update_rs(from, p, obj);
+  if (HeapRegion::is_in_same_region(p, obj)) {
+    return;
+  }
+  HeapRegion* from = _g1h->heap_region_containing(p);
+  if (!from->is_young()) {
+    enqueue_card_if_tracked(p, obj);
   }
 }
 
@@ -109,7 +112,9 @@
     // so that the heap remains parsable in case of evacuation failure.
     to_obj_array->set_length(end);
   }
-  _scanner.set_region(_g1h->heap_region_containing(to_obj));
+
+  HeapRegion* hr = _g1h->heap_region_containing(to_obj);
+  G1ScanInYoungSetter x(&_scanner, hr->is_young());
   // Process indexes [start,end). It will also process the header
   // along with the first chunk (i.e., the chunk with start == 0).
   // Note that at this point the length field of to_obj_array is not
--- a/src/hotspot/share/gc/g1/g1RemSet.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/g1RemSet.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -133,10 +133,10 @@
 
     virtual bool do_heap_region(HeapRegion* r) {
       uint hrm_index = r->hrm_index();
-      if (!r->in_collection_set() && r->is_old_or_humongous_or_archive()) {
+      if (!r->in_collection_set() && r->is_old_or_humongous_or_archive() && !r->is_empty()) {
         _scan_top[hrm_index] = r->top();
       } else {
-        _scan_top[hrm_index] = r->bottom();
+        _scan_top[hrm_index] = NULL;
       }
       return false;
     }
@@ -191,6 +191,7 @@
   void reset() {
     for (uint i = 0; i < _max_regions; i++) {
       _iter_states[i] = Unclaimed;
+      _scan_top[i] = NULL;
     }
 
     G1ResetScanTopClosure cl(_scan_top);
@@ -333,7 +334,7 @@
 
 void G1ScanRSForRegionClosure::scan_card(MemRegion mr, uint region_idx_for_card) {
   HeapRegion* const card_region = _g1h->region_at(region_idx_for_card);
-  _scan_objs_on_card_cl->set_region(card_region);
+  assert(!card_region->is_young(), "Should not scan card in young region %u", region_idx_for_card);
   card_region->oops_on_card_seq_iterate_careful<true>(mr, _scan_objs_on_card_cl);
   _scan_objs_on_card_cl->trim_queue_partially();
   _cards_scanned++;
@@ -350,6 +351,10 @@
     _scan_state->add_dirty_region(region_idx);
   }
 
+  if (r->rem_set()->cardset_is_empty()) {
+    return;
+  }
+
   // We claim cards in blocks so as to reduce the contention.
   size_t const block_size = G1RSetScanBlockSize;
 
@@ -367,18 +372,21 @@
     }
     _cards_claimed++;
 
-    // If the card is dirty, then G1 will scan it during Update RS.
-    if (_ct->is_card_claimed(card_index) || _ct->is_card_dirty(card_index)) {
+    HeapWord* const card_start = _g1h->bot()->address_for_index_raw(card_index);
+    uint const region_idx_for_card = _g1h->addr_to_region(card_start);
+
+#ifdef ASSERT
+    HeapRegion* hr = _g1h->region_at_or_null(region_idx_for_card);
+    assert(hr == NULL || hr->is_in_reserved(card_start),
+           "Card start " PTR_FORMAT " to scan outside of region %u", p2i(card_start), _g1h->region_at(region_idx_for_card)->hrm_index());
+#endif
+    HeapWord* const top = _scan_state->scan_top(region_idx_for_card);
+    if (card_start >= top) {
       continue;
     }
 
-    HeapWord* const card_start = _g1h->bot()->address_for_index(card_index);
-    uint const region_idx_for_card = _g1h->addr_to_region(card_start);
-
-    assert(_g1h->region_at(region_idx_for_card)->is_in_reserved(card_start),
-           "Card start " PTR_FORMAT " to scan outside of region %u", p2i(card_start), _g1h->region_at(region_idx_for_card)->hrm_index());
-    HeapWord* const top = _scan_state->scan_top(region_idx_for_card);
-    if (card_start >= top) {
+    // If the card is dirty, then G1 will scan it during Update RS.
+    if (_ct->is_card_claimed(card_index) || _ct->is_card_dirty(card_index)) {
       continue;
     }
 
@@ -486,7 +494,7 @@
   if (G1HotCardCache::default_use_cache()) {
     G1EvacPhaseTimesTracker x(p, pss, G1GCPhaseTimes::ScanHCC, worker_i);
 
-    G1ScanObjsDuringUpdateRSClosure scan_hcc_cl(_g1h, pss, worker_i);
+    G1ScanObjsDuringUpdateRSClosure scan_hcc_cl(_g1h, pss);
     G1RefineCardClosure refine_card_cl(_g1h, &scan_hcc_cl);
     _g1h->iterate_hcc_closure(&refine_card_cl, worker_i);
   }
@@ -495,7 +503,7 @@
   {
     G1EvacPhaseTimesTracker x(p, pss, G1GCPhaseTimes::UpdateRS, worker_i);
 
-    G1ScanObjsDuringUpdateRSClosure update_rs_cl(_g1h, pss, worker_i);
+    G1ScanObjsDuringUpdateRSClosure update_rs_cl(_g1h, pss);
     G1RefineCardClosure refine_card_cl(_g1h, &update_rs_cl);
     _g1h->iterate_dirty_card_closure(&refine_card_cl, worker_i);
 
@@ -545,6 +553,16 @@
                                         uint worker_i) {
   assert(!_g1h->is_gc_active(), "Only call concurrently");
 
+  // Construct the region representing the card.
+  HeapWord* start = _ct->addr_for(card_ptr);
+  // And find the region containing it.
+  HeapRegion* r = _g1h->heap_region_containing_or_null(start);
+
+  // If this is a (stale) card into an uncommitted region, exit.
+  if (r == NULL) {
+    return;
+  }
+
   check_card_ptr(card_ptr, _ct);
 
   // If the card is no longer dirty, nothing to do.
@@ -552,11 +570,6 @@
     return;
   }
 
-  // Construct the region representing the card.
-  HeapWord* start = _ct->addr_for(card_ptr);
-  // And find the region containing it.
-  HeapRegion* r = _g1h->heap_region_containing(start);
-
   // This check is needed for some uncommon cases where we should
   // ignore the card.
   //
@@ -679,6 +692,18 @@
                                      G1ScanObjsDuringUpdateRSClosure* update_rs_cl) {
   assert(_g1h->is_gc_active(), "Only call during GC");
 
+  // Construct the region representing the card.
+  HeapWord* card_start = _ct->addr_for(card_ptr);
+  // And find the region containing it.
+  uint const card_region_idx = _g1h->addr_to_region(card_start);
+
+  HeapWord* scan_limit = _scan_state->scan_top(card_region_idx);
+  if (scan_limit == NULL) {
+    // This is a card into an uncommitted region. We need to bail out early as we
+    // should not access the corresponding card table entry.
+    return false;
+  }
+
   check_card_ptr(card_ptr, _ct);
 
   // If the card is no longer dirty, nothing to do. This covers cards that were already
@@ -691,13 +716,7 @@
   // number of potential duplicate scans (multiple threads may enqueue the same card twice).
   *card_ptr = G1CardTable::clean_card_val() | G1CardTable::claimed_card_val();
 
-  // Construct the region representing the card.
-  HeapWord* card_start = _ct->addr_for(card_ptr);
-  // And find the region containing it.
-  uint const card_region_idx = _g1h->addr_to_region(card_start);
-
   _scan_state->add_dirty_region(card_region_idx);
-  HeapWord* scan_limit = _scan_state->scan_top(card_region_idx);
   if (scan_limit <= card_start) {
     // If the card starts above the area in the region containing objects to scan, skip it.
     return false;
@@ -710,7 +729,7 @@
   assert(!dirty_region.is_empty(), "sanity");
 
   HeapRegion* const card_region = _g1h->region_at(card_region_idx);
-  update_rs_cl->set_region(card_region);
+  assert(!card_region->is_young(), "Should not scan card in young region %u", card_region_idx);
   bool card_processed = card_region->oops_on_card_seq_iterate_careful<true>(dirty_region, update_rs_cl);
   assert(card_processed, "must be");
   return true;
--- a/src/hotspot/share/gc/g1/heapRegionManager.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/heapRegionManager.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -123,10 +123,7 @@
 public:
   bool is_free(HeapRegion* hr) const;
 #endif
-  // Returns whether the given region is available for allocation.
-  bool is_available(uint region) const;
-
- public:
+public:
   // Empty constructor, we'll initialize it with the initialize() method.
   HeapRegionManager();
 
@@ -147,6 +144,13 @@
   // is valid.
   inline HeapRegion* at(uint index) const;
 
+  // Return the HeapRegion at the given index, NULL if the index
+  // is for an unavailable region.
+  inline HeapRegion* at_or_null(uint index) const;
+
+  // Returns whether the given region is available for allocation.
+  bool is_available(uint region) const;
+
   // Return the next region (by index) that is part of the same
   // humongous object that hr is part of.
   inline HeapRegion* next_region_in_humongous(HeapRegion* hr) const;
--- a/src/hotspot/share/gc/g1/heapRegionManager.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/heapRegionManager.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,6 +47,16 @@
   return hr;
 }
 
+inline HeapRegion* HeapRegionManager::at_or_null(uint index) const {
+  if (!is_available(index)) {
+    return NULL;
+  }
+  HeapRegion* hr = _regions.get_by_index(index);
+  assert(hr != NULL, "All available regions must have a HeapRegion but index %u has not.", index);
+  assert(hr->hrm_index() == index, "sanity");
+  return hr;
+}
+
 inline HeapRegion* HeapRegionManager::next_region_in_humongous(HeapRegion* hr) const {
   uint index = hr->hrm_index();
   assert(is_available(index), "pre-condition");
--- a/src/hotspot/share/gc/g1/heapRegionRemSet.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/heapRegionRemSet.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -239,10 +239,9 @@
 size_t OtherRegionsTable::_fine_eviction_stride = 0;
 size_t OtherRegionsTable::_fine_eviction_sample_size = 0;
 
-OtherRegionsTable::OtherRegionsTable(HeapRegion* hr, Mutex* m) :
+OtherRegionsTable::OtherRegionsTable(Mutex* m) :
   _g1h(G1CollectedHeap::heap()),
   _m(m),
-  _hr(hr),
   _coarse_map(G1CollectedHeap::heap()->max_regions(), mtGC),
   _n_coarse_entries(0),
   _fine_grain_regions(NULL),
@@ -250,7 +249,7 @@
   _first_all_fine_prts(NULL),
   _last_all_fine_prts(NULL),
   _fine_eviction_start(0),
-  _sparse_table(hr)
+  _sparse_table()
 {
   typedef PerRegionTable* PerRegionTablePtr;
 
@@ -348,15 +347,6 @@
 }
 
 void OtherRegionsTable::add_reference(OopOrNarrowOopStar from, uint tid) {
-  uint cur_hrm_ind = _hr->hrm_index();
-
-  uintptr_t from_card = uintptr_t(from) >> CardTable::card_shift;
-
-  if (G1FromCardCache::contains_or_replace(tid, cur_hrm_ind, from_card)) {
-    assert(contains_reference(from), "We just found " PTR_FORMAT " in the FromCardCache", p2i(from));
-    return;
-  }
-
   // Note that this may be a continued H region.
   HeapRegion* from_hr = _g1h->heap_region_containing(from);
   RegionIdx_t from_hrm_ind = (RegionIdx_t) from_hr->hrm_index();
@@ -569,10 +559,6 @@
   return PerRegionTable::fl_mem_size();
 }
 
-void OtherRegionsTable::clear_fcc() {
-  G1FromCardCache::clear(_hr->hrm_index());
-}
-
 void OtherRegionsTable::clear() {
   // if there are no entries, skip this step
   if (_first_all_fine_prts != NULL) {
@@ -590,8 +576,6 @@
   }
   _n_fine_entries = 0;
   _n_coarse_entries = 0;
-
-  clear_fcc();
 }
 
 bool OtherRegionsTable::contains_reference(OopOrNarrowOopStar from) const {
@@ -627,11 +611,16 @@
   : _bot(bot),
     _code_roots(),
     _m(Mutex::leaf, FormatBuffer<128>("HeapRegionRemSet lock #%u", hr->hrm_index()), true, Monitor::_safepoint_check_never),
-    _other_regions(hr, &_m),
+    _other_regions(&_m),
+    _hr(hr),
     _state(Untracked)
 {
 }
 
+void HeapRegionRemSet::clear_fcc() {
+  G1FromCardCache::clear(_hr->hrm_index());
+}
+
 void HeapRegionRemSet::setup_remset_size() {
   // Setup sparse and fine-grain tables sizes.
   // table_size = base * (log(region_size / 1M) + 1)
@@ -659,6 +648,7 @@
   if (!only_cardset) {
     _code_roots.clear();
   }
+  clear_fcc();
   _other_regions.clear();
   set_state_empty();
   assert(occupied_locked() == 0, "Should be clear.");
@@ -751,7 +741,7 @@
       _coarse_cur_region_cur_card = 0;
       HeapWord* r_bot =
         _g1h->region_at((uint) _coarse_cur_region_index)->bottom();
-      _cur_region_card_offset = _bot->index_for(r_bot);
+      _cur_region_card_offset = _bot->index_for_raw(r_bot);
     } else {
       return false;
     }
@@ -792,7 +782,7 @@
   _fine_cur_prt = prt;
 
   HeapWord* r_bot = _fine_cur_prt->hr()->bottom();
-  _cur_region_card_offset = _bot->index_for(r_bot);
+  _cur_region_card_offset = _bot->index_for_raw(r_bot);
 
   // The bitmap scan for the PRT always scans from _cur_region_cur_card + 1.
   // To avoid special-casing this start case, and not miss the first bitmap
--- a/src/hotspot/share/gc/g1/heapRegionRemSet.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/heapRegionRemSet.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -76,7 +76,6 @@
 
   G1CollectedHeap* _g1h;
   Mutex*           _m;
-  HeapRegion*      _hr;
 
   // These are protected by "_m".
   CHeapBitMap _coarse_map;
@@ -124,11 +123,8 @@
   bool contains_reference_locked(OopOrNarrowOopStar from) const;
 
 public:
-  // Clear the from_card_cache entries for this region.
-  void clear_fcc();
-  // Create a new remembered set for the given heap region. The given mutex should
-  // be used to ensure consistency.
-  OtherRegionsTable(HeapRegion* hr, Mutex* m);
+  // Create a new remembered set. The given mutex is used to ensure consistency.
+  OtherRegionsTable(Mutex* m);
 
   // Returns the card index of the given within_region pointer relative to the bottom
   // of the given heap region.
@@ -182,13 +178,21 @@
 
   OtherRegionsTable _other_regions;
 
+  HeapRegion* _hr;
+
+  void clear_fcc();
+
 public:
   HeapRegionRemSet(G1BlockOffsetTable* bot, HeapRegion* hr);
 
   static void setup_remset_size();
 
+  bool cardset_is_empty() const {
+    return _other_regions.is_empty();
+  }
+
   bool is_empty() const {
-    return (strong_code_roots_list_length() == 0) && _other_regions.is_empty();
+    return (strong_code_roots_list_length() == 0) && cardset_is_empty();
   }
 
   bool occupancy_less_or_equal_than(size_t occ) const {
@@ -239,18 +243,18 @@
     if (_state == Untracked) {
       return;
     }
-    _other_regions.clear_fcc();
+    clear_fcc();
     _state = Untracked;
   }
 
   void set_state_updating() {
     guarantee(SafepointSynchronize::is_at_safepoint() && !is_tracked(), "Should only set to Updating from Untracked during safepoint but is %s", get_state_str());
-    _other_regions.clear_fcc();
+    clear_fcc();
     _state = Updating;
   }
 
   void set_state_complete() {
-    _other_regions.clear_fcc();
+    clear_fcc();
     _state = Complete;
   }
 
@@ -265,6 +269,15 @@
     if (state == Untracked) {
       return;
     }
+
+    uint cur_idx = _hr->hrm_index();
+    uintptr_t from_card = uintptr_t(from) >> CardTable::card_shift;
+
+    if (G1FromCardCache::contains_or_replace(tid, cur_idx, from_card)) {
+      assert(contains_reference(from), "We just found " PTR_FORMAT " in the FromCardCache", p2i(from));
+      return;
+    }
+
     _other_regions.add_reference(from, tid);
   }
 
@@ -353,7 +366,7 @@
 };
 
 class HeapRegionRemSetIterator : public StackObj {
- private:
+private:
   // The region RSet over which we are iterating.
   HeapRegionRemSet* _hrrs;
 
@@ -401,7 +414,7 @@
   // The Sparse remembered set iterator.
   SparsePRTIter _sparse_iter;
 
- public:
+public:
   HeapRegionRemSetIterator(HeapRegionRemSet* hrrs);
 
   // If there remains one or more cards to be yielded, returns true and
--- a/src/hotspot/share/gc/g1/sparsePRT.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/sparsePRT.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -361,8 +361,8 @@
 }
 
 
-SparsePRT::SparsePRT(HeapRegion* hr) :
-  _hr(hr), _expanded(false), _next_expanded(NULL)
+SparsePRT::SparsePRT() :
+  _expanded(false), _next_expanded(NULL)
 {
   _cur = new RSHashTable(InitialCapacity);
   _next = _cur;
--- a/src/hotspot/share/gc/g1/sparsePRT.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/g1/sparsePRT.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -231,8 +231,6 @@
   RSHashTable* _cur;
   RSHashTable* _next;
 
-  HeapRegion* _hr;
-
   enum SomeAdditionalPrivateConstants {
     InitialCapacity = 16
   };
@@ -254,7 +252,7 @@
   static SparsePRT* volatile _head_expanded_list;
 
 public:
-  SparsePRT(HeapRegion* hr);
+  SparsePRT();
 
   ~SparsePRT();
 
--- a/src/hotspot/share/gc/parallel/gcTaskThread.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/parallel/gcTaskThread.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -114,8 +114,6 @@
 // for tasks to be enqueued for execution.
 
 void GCTaskThread::run() {
-  // Set up the thread for stack overflow support
-  this->record_stack_base_and_size();
   this->initialize_named_thread();
   // Bind yourself to your processor.
   if (processor_id() != GCTaskManager::sentinel_worker()) {
--- a/src/hotspot/share/gc/shared/concurrentGCThread.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/shared/concurrentGCThread.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -49,7 +49,6 @@
 }
 
 void ConcurrentGCThread::initialize_in_thread() {
-  this->record_stack_base_and_size();
   this->initialize_named_thread();
   this->set_active_handles(JNIHandleBlock::allocate_block());
   // From this time Thread::current() should be working.
--- a/src/hotspot/share/gc/shared/gcTimer.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/shared/gcTimer.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -182,214 +182,3 @@
   assert(has_next(), "Must have phases left");
   return _time_partitions->phase_at(_next++);
 }
-
-
-/////////////// Unit tests ///////////////
-
-#ifndef PRODUCT
-
-class TimePartitionPhasesIteratorTest {
- public:
-  static void all() {
-    one_pause();
-    two_pauses();
-    one_sub_pause_phase();
-    many_sub_pause_phases();
-    many_sub_pause_phases2();
-    max_nested_pause_phases();
-    one_concurrent();
-  }
-
-  static void validate_gc_phase(GCPhase* phase, int level, const char* name, const Ticks& start, const Ticks& end) {
-    assert(phase->level() == level, "Incorrect level");
-    assert(strcmp(phase->name(), name) == 0, "Incorrect name");
-    assert(phase->start() == start, "Incorrect start");
-    assert(phase->end() == end, "Incorrect end");
-  }
-
-  static void one_pause() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_end(8);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 8);
-    assert(time_partitions.sum_of_pauses() == Ticks(8) - Ticks(2), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(8) - Ticks(2), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void two_pauses() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase1", 2);
-    time_partitions.report_gc_phase_end(3);
-    time_partitions.report_gc_phase_start("PausePhase2", 4);
-    time_partitions.report_gc_phase_end(6);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase1", 2, 3);
-    validate_gc_phase(iter.next(), 0, "PausePhase2", 4, 6);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(3) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(2) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void one_sub_pause_phase() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_start("SubPhase", 3);
-    time_partitions.report_gc_phase_end(4);
-    time_partitions.report_gc_phase_end(5);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 5);
-    validate_gc_phase(iter.next(), 1, "SubPhase", 3, 4);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(3) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(3) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void max_nested_pause_phases() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_start("SubPhase2", 4);
-    time_partitions.report_gc_phase_start("SubPhase3", 5);
-    time_partitions.report_gc_phase_end(6);
-    time_partitions.report_gc_phase_end(7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_end(9);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 9);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8);
-    validate_gc_phase(iter.next(), 2, "SubPhase2", 4, 7);
-    validate_gc_phase(iter.next(), 3, "SubPhase3", 5, 6);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(7) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(7) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void many_sub_pause_phases() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_end(4);
-    time_partitions.report_gc_phase_start("SubPhase2", 5);
-    time_partitions.report_gc_phase_end(6);
-    time_partitions.report_gc_phase_start("SubPhase3", 7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_start("SubPhase4", 9);
-    time_partitions.report_gc_phase_end(10);
-
-    time_partitions.report_gc_phase_end(11);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 11);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 4);
-    validate_gc_phase(iter.next(), 1, "SubPhase2", 5, 6);
-    validate_gc_phase(iter.next(), 1, "SubPhase3", 7, 8);
-    validate_gc_phase(iter.next(), 1, "SubPhase4", 9, 10);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(9) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(9) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void many_sub_pause_phases2() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_start("SubPhase11", 4);
-    time_partitions.report_gc_phase_end(5);
-    time_partitions.report_gc_phase_start("SubPhase12", 6);
-    time_partitions.report_gc_phase_end(7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_start("SubPhase2", 9);
-    time_partitions.report_gc_phase_start("SubPhase21", 10);
-    time_partitions.report_gc_phase_end(11);
-    time_partitions.report_gc_phase_start("SubPhase22", 12);
-    time_partitions.report_gc_phase_end(13);
-    time_partitions.report_gc_phase_end(14);
-    time_partitions.report_gc_phase_start("SubPhase3", 15);
-    time_partitions.report_gc_phase_end(16);
-
-    time_partitions.report_gc_phase_end(17);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 17);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8);
-    validate_gc_phase(iter.next(), 2, "SubPhase11", 4, 5);
-    validate_gc_phase(iter.next(), 2, "SubPhase12", 6, 7);
-    validate_gc_phase(iter.next(), 1, "SubPhase2", 9, 14);
-    validate_gc_phase(iter.next(), 2, "SubPhase21", 10, 11);
-    validate_gc_phase(iter.next(), 2, "SubPhase22", 12, 13);
-    validate_gc_phase(iter.next(), 1, "SubPhase3", 15, 16);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(15) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(15) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void one_concurrent() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("ConcurrentPhase", 2, GCPhase::ConcurrentPhaseType);
-    time_partitions.report_gc_phase_end(8, GCPhase::ConcurrentPhaseType);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "ConcurrentPhase", 2, 8);
-    // ConcurrentPhaseType should not affect to both 'sum_of_pauses()' and 'longest_pause()'.
-    assert(time_partitions.sum_of_pauses() == Tickspan(), "Incorrect");
-    assert(time_partitions.longest_pause() == Tickspan(), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-};
-
-class GCTimerTest {
-public:
-  static void all() {
-    gc_start();
-    gc_end();
-  }
-
-  static void gc_start() {
-    GCTimer gc_timer;
-    gc_timer.register_gc_start(1);
-
-    assert(gc_timer.gc_start() == Ticks(1), "Incorrect");
-  }
-
-  static void gc_end() {
-    GCTimer gc_timer;
-    gc_timer.register_gc_start(1);
-    gc_timer.register_gc_end(2);
-
-    assert(gc_timer.gc_end() == Ticks(2), "Incorrect");
-  }
-};
-
-void GCTimer_test() {
-  GCTimerTest::all();
-  TimePartitionPhasesIteratorTest::all();
-}
-
-#endif
--- a/src/hotspot/share/gc/shared/gcTimer.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/shared/gcTimer.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -129,7 +129,6 @@
 };
 
 class GCTimer : public ResourceObj {
-  NOT_PRODUCT(friend class GCTimerTest;)
  protected:
   Ticks _gc_start;
   Ticks _gc_end;
--- a/src/hotspot/share/gc/shared/workgroup.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/gc/shared/workgroup.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -297,7 +297,6 @@
 }
 
 void AbstractGangWorker::initialize() {
-  this->record_stack_base_and_size();
   this->initialize_named_thread();
   assert(_gang != NULL, "No gang to run in");
   os::set_priority(this, NearMaxPriority);
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -27,6 +27,8 @@
 #include "classfile/classFileParser.hpp"
 #include "classfile/classFileStream.hpp"
 #include "classfile/javaClasses.inline.hpp"
+#include "classfile/moduleEntry.hpp"
+#include "classfile/modules.hpp"
 #include "classfile/stackMapTable.hpp"
 #include "classfile/verificationType.hpp"
 #include "interpreter/bytecodes.hpp"
@@ -61,25 +63,26 @@
   "J",            // 1
   "commit",       // 2
   "eventHandler", // 3
-  "Ljdk/jfr/internal/handlers/EventHandler;", // 4
-  "duration",     // 5
-  "begin",        // 6
-  "()V",          // 7
-  "isEnabled",    // 8
-  "()Z",          // 9
-  "end",          // 10
-  "shouldCommit", // 11
-  "startTime",    // 12
-  "<clinit>",     // 13
-  "jdk/jfr/FlightRecorder", // 14
-  "register", // 15
-  "(Ljava/lang/Class;)V", // 16 // LAST_REQUIRED_UTF8
-  "StackMapTable", // 17
-  "Exceptions", // 18
+  "duration",     // 4
+  "begin",        // 5
+  "()V",          // 6
+  "isEnabled",    // 7
+  "()Z",          // 8
+  "end",          // 9
+  "shouldCommit", // 10
+  "startTime",    // 11 // LAST_REQUIRED_UTF8
+  "Ljdk/jfr/internal/handlers/EventHandler;", // 12
+  "Ljava/lang/Object;", // 13
+  "<clinit>",     // 14
+  "jdk/jfr/FlightRecorder", // 15
+  "register",     // 16
+  "(Ljava/lang/Class;)V", // 17
+  "StackMapTable", // 18
+  "Exceptions", // 19
   "LineNumberTable", // 20
   "LocalVariableTable", // 21
   "LocalVariableTypeTable", // 22
-  "RuntimeVisibleAnnotation" // 23
+  "RuntimeVisibleAnnotation", // 23
 };
 
 enum utf8_req_symbols {
@@ -87,7 +90,6 @@
   UTF8_REQ_J_FIELD_DESC,
   UTF8_REQ_commit,
   UTF8_REQ_eventHandler,
-  UTF8_REQ_eventHandler_FIELD_DESC,
   UTF8_REQ_duration,
   UTF8_REQ_begin,
   UTF8_REQ_EMPTY_VOID_METHOD_DESC,
@@ -96,15 +98,17 @@
   UTF8_REQ_end,
   UTF8_REQ_shouldCommit,
   UTF8_REQ_startTime,
-  UTF8_REQ_clinit,
-  UTF8_REQ_FlightRecorder,
-  UTF8_REQ_register,
-  UTF8_REQ_CLASS_VOID_METHOD_DESC,
   NOF_UTF8_REQ_SYMBOLS
 };
 
 enum utf8_opt_symbols {
-  UTF8_OPT_StackMapTable = NOF_UTF8_REQ_SYMBOLS,
+  UTF8_OPT_eventHandler_FIELD_DESC = NOF_UTF8_REQ_SYMBOLS,
+  UTF8_OPT_LjavaLangObject,
+  UTF8_OPT_clinit,
+  UTF8_OPT_FlightRecorder,
+  UTF8_OPT_register,
+  UTF8_OPT_CLASS_VOID_METHOD_DESC,
+  UTF8_OPT_StackMapTable,
   UTF8_OPT_Exceptions,
   UTF8_OPT_LineNumberTable,
   UTF8_OPT_LocalVariableTable,
@@ -353,7 +357,7 @@
 
 static unsigned int unused_hash = 0;
 static const char value_name[] = "value";
-static bool has_registered_annotation(const InstanceKlass* ik, const Symbol* annotation_type, bool& value) {
+static bool has_annotation(const InstanceKlass* ik, const Symbol* annotation_type, bool& value) {
   assert(annotation_type != NULL, "invariant");
   AnnotationArray* class_annotations = ik->class_annotations();
   if (class_annotations == NULL) {
@@ -383,16 +387,51 @@
   return false;
 }
 
-static bool registered_annotation_value(const InstanceKlass* ik, const Symbol* const registered_symbol) {
-  assert(registered_symbol != NULL, "invariant");
+// Evaluate to the value of the first found Symbol* annotation type.
+// Searching moves upwards in the klass hierarchy in order to support
+// inherited annotations in addition to the ability to override.
+static bool annotation_value(const InstanceKlass* ik, const Symbol* annotation_type, bool& value) {
   assert(ik != NULL, "invariant");
+  assert(annotation_type != NULL, "invariant");
   assert(JdkJfrEvent::is_a(ik), "invariant");
-  bool registered_value = false;
-  if (has_registered_annotation(ik, registered_symbol, registered_value)) {
-    return registered_value;
+  if (has_annotation(ik, annotation_type, value)) {
+    return true;
+  }
+  InstanceKlass* const super = InstanceKlass::cast(ik->super());
+  return super != NULL && JdkJfrEvent::is_a(super) ? annotation_value(super, annotation_type, value) : false;
+}
+
+static const char jdk_jfr_module_name[] = "jdk.jfr";
+
+static bool java_base_can_read_jdk_jfr() {
+  static bool can_read = false;
+  if (can_read) {
+    return true;
   }
-  InstanceKlass* super = InstanceKlass::cast(ik->super());
-  return registered_annotation_value(super, registered_symbol);
+  static Symbol* jdk_jfr_module_symbol = NULL;
+  if (jdk_jfr_module_symbol == NULL) {
+    jdk_jfr_module_symbol = SymbolTable::lookup_only(jdk_jfr_module_name, sizeof jdk_jfr_module_name - 1, unused_hash);
+    if (jdk_jfr_module_symbol == NULL) {
+      return false;
+    }
+  }
+  assert(jdk_jfr_module_symbol != NULL, "invariant");
+  ModuleEntryTable* const table = Modules::get_module_entry_table(Handle());
+  assert(table != NULL, "invariant");
+  const ModuleEntry* const java_base_module = table->javabase_moduleEntry();
+  if (java_base_module == NULL) {
+    return false;
+  }
+  assert(java_base_module != NULL, "invariant");
+  ModuleEntry* const jdk_jfr_module = table->lookup_only(jdk_jfr_module_symbol);
+  if (jdk_jfr_module == NULL) {
+    return false;
+  }
+  assert(jdk_jfr_module != NULL, "invariant");
+  if (java_base_module->can_read(jdk_jfr_module)) {
+    can_read = true;
+  }
+  return can_read;
 }
 
 static const char registered_constant[] = "Ljdk/jfr/Registered;";
@@ -400,13 +439,23 @@
 // Evaluate to the value of the first found "Ljdk/jfr/Registered;" annotation.
 // Searching moves upwards in the klass hierarchy in order to support
 // inherited annotations in addition to the ability to override.
-static bool should_register_klass(const InstanceKlass* ik) {
-  static const Symbol* const registered_symbol = SymbolTable::lookup_only(registered_constant,
-                                                                          sizeof registered_constant - 1,
-                                                                          unused_hash);
+static bool should_register_klass(const InstanceKlass* ik, bool& untypedEventHandler) {
+  assert(ik != NULL, "invariant");
+  assert(JdkJfrEvent::is_a(ik), "invariant");
+  assert(!untypedEventHandler, "invariant");
+  static const Symbol* registered_symbol = NULL;
+  if (registered_symbol == NULL) {
+    registered_symbol = SymbolTable::lookup_only(registered_constant, sizeof registered_constant - 1, unused_hash);
+    if (registered_symbol == NULL) {
+      return false;
+    }
+  }
   assert(registered_symbol != NULL, "invariant");
-  return registered_annotation_value(ik, registered_symbol);
+  bool value = false; // to be set by annotation_value
+  untypedEventHandler = !(annotation_value(ik, registered_symbol, value) || java_base_can_read_jdk_jfr());
+  return value;
 }
+
 /*
  * Map an utf8 constant back to its CONSTANT_UTF8_INFO
  */
@@ -450,6 +499,9 @@
                               u2 orig_cp_len,
                               u2& number_of_new_constants,
                               TRAPS) {
+  assert(cls_name_index != invalid_cp_index, "invariant");
+  assert(method_index != invalid_cp_index, "invariant");
+  assert(desc_index != invalid_cp_index, "invariant");
   assert(is_index_within_range(cls_name_index, orig_cp_len, number_of_new_constants), "invariant");
   assert(is_index_within_range(method_index, orig_cp_len, number_of_new_constants), "invariant");
   assert(is_index_within_range(desc_index, orig_cp_len, number_of_new_constants), "invariant");
@@ -477,9 +529,9 @@
                                             TRAPS) {
   assert(utf8_indexes != NULL, "invariant");
   return add_method_ref_info(writer,
-                             utf8_indexes[UTF8_REQ_FlightRecorder],
-                             utf8_indexes[UTF8_REQ_register],
-                             utf8_indexes[UTF8_REQ_CLASS_VOID_METHOD_DESC],
+                             utf8_indexes[UTF8_OPT_FlightRecorder],
+                             utf8_indexes[UTF8_OPT_register],
+                             utf8_indexes[UTF8_OPT_CLASS_VOID_METHOD_DESC],
                              orig_cp_len,
                              number_of_new_constants,
                              THREAD);
@@ -495,8 +547,8 @@
  * }
  */
 static jlong add_field_info(JfrBigEndianWriter& writer, u2 name_index, u2 desc_index, bool is_static = false) {
-  assert(name_index > 0, "invariant");
-  assert(desc_index > 0, "invariant");
+  assert(name_index != invalid_cp_index, "invariant");
+  assert(desc_index != invalid_cp_index, "invariant");
   DEBUG_ONLY(const jlong start_offset = writer.current_offset();)
   writer.write<u2>(JVM_ACC_SYNTHETIC | JVM_ACC_PRIVATE | (is_static ? JVM_ACC_STATIC : JVM_ACC_TRANSIENT)); // flags
   writer.write(name_index);
@@ -507,11 +559,11 @@
   return writer.current_offset();
 }
 
-static u2 add_field_infos(JfrBigEndianWriter& writer, const u2* utf8_indexes) {
+static u2 add_field_infos(JfrBigEndianWriter& writer, const u2* utf8_indexes, bool untypedEventHandler) {
   assert(utf8_indexes != NULL, "invariant");
   add_field_info(writer,
                  utf8_indexes[UTF8_REQ_eventHandler],
-                 utf8_indexes[UTF8_REQ_eventHandler_FIELD_DESC],
+                 untypedEventHandler ? utf8_indexes[UTF8_OPT_LjavaLangObject] : utf8_indexes[UTF8_OPT_eventHandler_FIELD_DESC],
                  true); // static
 
   add_field_info(writer,
@@ -989,7 +1041,8 @@
   // This is to ensure that padding can be done
   // where needed and to simplify size calculations.
   static const u2 injected_code_length = 8;
-  const u2 name_index = utf8_indexes[UTF8_REQ_clinit];
+  const u2 name_index = utf8_indexes[UTF8_OPT_clinit];
+  assert(name_index != invalid_cp_index, "invariant");
   const u2 desc_index = utf8_indexes[UTF8_REQ_EMPTY_VOID_METHOD_DESC];
   const u2 max_stack = MAX2(clinit_method != NULL ? clinit_method->verifier_max_stack() : 1, 1);
   const u2 max_locals = MAX2(clinit_method != NULL ? clinit_method->max_locals() : 0, 0);
@@ -1138,59 +1191,58 @@
                                u2* const utf8_indexes,
                                u2 orig_cp_len,
                                const Method* clinit_method,
+                               bool register_klass,
+                               bool untypedEventHandler,
                                TRAPS) {
   assert(utf8_indexes != NULL, "invariant");
   u2 added_cp_entries = 0;
   // resolve all required symbols
   for (u2 index = 0; index < NOF_UTF8_REQ_SYMBOLS; ++index) {
-    utf8_indexes[index] = find_or_add_utf8_info(writer,
-                                                ik,
-                                                utf8_constants[index],
-                                                orig_cp_len,
-                                                added_cp_entries,
-                                                THREAD);
+    utf8_indexes[index] = find_or_add_utf8_info(writer, ik, utf8_constants[index], orig_cp_len, added_cp_entries, THREAD);
   }
-  // Now determine optional constants (mainly "Code" attributes)
+
+  // resolve optional constants
+  utf8_indexes[UTF8_OPT_eventHandler_FIELD_DESC] = untypedEventHandler ? invalid_cp_index :
+    find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_eventHandler_FIELD_DESC], orig_cp_len, added_cp_entries, THREAD);
+
+  utf8_indexes[UTF8_OPT_LjavaLangObject] = untypedEventHandler ?
+    find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_LjavaLangObject], orig_cp_len, added_cp_entries, THREAD) : invalid_cp_index;
+
+  if (register_klass) {
+    utf8_indexes[UTF8_OPT_clinit] =
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_clinit], orig_cp_len, added_cp_entries, THREAD);
+    utf8_indexes[UTF8_OPT_FlightRecorder] =
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_FlightRecorder], orig_cp_len, added_cp_entries, THREAD);
+    utf8_indexes[UTF8_OPT_register] =
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_register], orig_cp_len, added_cp_entries, THREAD);
+    utf8_indexes[UTF8_OPT_CLASS_VOID_METHOD_DESC] =
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_CLASS_VOID_METHOD_DESC], orig_cp_len, added_cp_entries, THREAD);
+  } else {
+    utf8_indexes[UTF8_OPT_clinit] = invalid_cp_index;
+    utf8_indexes[UTF8_OPT_FlightRecorder] = invalid_cp_index;
+    utf8_indexes[UTF8_OPT_register] = invalid_cp_index;
+    utf8_indexes[UTF8_OPT_CLASS_VOID_METHOD_DESC] = invalid_cp_index;
+  }
+
   if (clinit_method != NULL && clinit_method->has_stackmap_table()) {
     utf8_indexes[UTF8_OPT_StackMapTable] =
-      find_or_add_utf8_info(writer,
-                            ik,
-                            utf8_constants[UTF8_OPT_StackMapTable],
-                            orig_cp_len,
-                            added_cp_entries,
-                            THREAD);
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_StackMapTable], orig_cp_len, added_cp_entries, THREAD);
   } else {
     utf8_indexes[UTF8_OPT_StackMapTable] = invalid_cp_index;
   }
 
   if (clinit_method != NULL && clinit_method->has_linenumber_table()) {
     utf8_indexes[UTF8_OPT_LineNumberTable] =
-      find_or_add_utf8_info(writer,
-                            ik,
-                            utf8_constants[UTF8_OPT_LineNumberTable],
-                            orig_cp_len,
-                            added_cp_entries,
-                            THREAD);
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_LineNumberTable], orig_cp_len, added_cp_entries, THREAD);
   } else {
     utf8_indexes[UTF8_OPT_LineNumberTable] = invalid_cp_index;
   }
 
   if (clinit_method != NULL && clinit_method->has_localvariable_table()) {
     utf8_indexes[UTF8_OPT_LocalVariableTable] =
-      find_or_add_utf8_info(writer,
-                            ik,
-                            utf8_constants[UTF8_OPT_LocalVariableTable],
-                            orig_cp_len,
-                            added_cp_entries,
-                            THREAD);
-
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_LocalVariableTable], orig_cp_len, added_cp_entries, THREAD);
     utf8_indexes[UTF8_OPT_LocalVariableTypeTable] =
-      find_or_add_utf8_info(writer,
-                            ik,
-                            utf8_constants[UTF8_OPT_LocalVariableTypeTable],
-                            orig_cp_len,
-                            added_cp_entries,
-                            THREAD);
+      find_or_add_utf8_info(writer, ik, utf8_constants[UTF8_OPT_LocalVariableTypeTable], orig_cp_len, added_cp_entries, THREAD);
   } else {
     utf8_indexes[UTF8_OPT_LocalVariableTable] = invalid_cp_index;
     utf8_indexes[UTF8_OPT_LocalVariableTypeTable] = invalid_cp_index;
@@ -1207,7 +1259,8 @@
   // If the class already has a clinit method
   // we need to take that into account
   const Method* clinit_method = ik->class_initializer();
-  const bool register_klass = should_register_klass(ik);
+  bool untypedEventHandler = false;
+  const bool register_klass = should_register_klass(ik, untypedEventHandler);
   const ClassFileStream* const orig_stream = parser.clone_stream();
   const int orig_stream_size = orig_stream->length();
   assert(orig_stream->current_offset() == 0, "invariant");
@@ -1241,7 +1294,8 @@
   // Resolve_utf8_indexes will be conservative in attempting to
   // locate an existing UTF8_INFO; it will only append constants
   // that is absolutely required
-  u2 number_of_new_constants = resolve_utf8_indexes(writer, ik, utf8_indexes, orig_cp_len, clinit_method, THREAD);
+  u2 number_of_new_constants =
+    resolve_utf8_indexes(writer, ik, utf8_indexes, orig_cp_len, clinit_method, register_klass, untypedEventHandler, THREAD);
   // UTF8_INFO entries now added to the constant pool
   // In order to invoke a method we would need additional
   // constants, JVM_CONSTANT_Class, JVM_CONSTANT_NameAndType
@@ -1274,7 +1328,7 @@
   assert(writer.is_valid(), "invariant");
   // We are sitting just after the original number of field_infos
   // so this is a position where we can add (append) new field_infos
-  const u2 number_of_new_fields = add_field_infos(writer, utf8_indexes);
+  const u2 number_of_new_fields = add_field_infos(writer, utf8_indexes, untypedEventHandler);
   assert(writer.is_valid(), "invariant");
   const jlong new_method_len_offset = writer.current_offset();
   // Additional field_infos added, update classfile fields_count
--- a/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/jfr/jni/jfrGetAllEventClasses.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -133,7 +133,7 @@
   DEBUG_ONLY(JfrJavaSupport::check_java_thread_in_vm(THREAD));
   initialize(THREAD);
   assert(empty_java_util_arraylist != NULL, "should have been setup already!");
-  static const char jdk_jfr_event_name[] = "jdk/jfr/Event";
+  static const char jdk_jfr_event_name[] = "jdk/internal/event/Event";
   unsigned int unused_hash = 0;
   Symbol* const event_klass_name = SymbolTable::lookup_only(jdk_jfr_event_name, sizeof jdk_jfr_event_name - 1, unused_hash);
 
--- a/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -455,8 +455,6 @@
 void JfrThreadSampler::run() {
   assert(_sampler_thread == NULL, "invariant");
 
-  record_stack_base_and_size();
-
   _sampler_thread = this;
 
   jlong last_java_ms = get_monotonic_ms();
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -76,22 +76,43 @@
   return atomic_inc(&cld_id_counter) << TRACE_ID_SHIFT;
 }
 
+static bool found_jdk_internal_event_klass = false;
 static bool found_jdk_jfr_event_klass = false;
 
 static void check_klass(const Klass* klass) {
   assert(klass != NULL, "invariant");
-  if (found_jdk_jfr_event_klass) {
+  if (found_jdk_internal_event_klass && found_jdk_jfr_event_klass) {
     return;
   }
+  static const Symbol* jdk_internal_event_sym = NULL;
+  if (jdk_internal_event_sym == NULL) {
+    // setup when loading the first TypeArrayKlass (Universe::genesis) hence single threaded invariant
+    jdk_internal_event_sym = SymbolTable::new_permanent_symbol("jdk/internal/event/Event", Thread::current());
+  }
+  assert(jdk_internal_event_sym != NULL, "invariant");
+
   static const Symbol* jdk_jfr_event_sym = NULL;
   if (jdk_jfr_event_sym == NULL) {
     // setup when loading the first TypeArrayKlass (Universe::genesis) hence single threaded invariant
     jdk_jfr_event_sym = SymbolTable::new_permanent_symbol("jdk/jfr/Event", Thread::current());
   }
   assert(jdk_jfr_event_sym != NULL, "invariant");
-  if (jdk_jfr_event_sym == klass->name() && klass->class_loader() == NULL) {
-    found_jdk_jfr_event_klass = true;
-    JfrTraceId::tag_as_jdk_jfr_event(klass);
+  const Symbol* const klass_name = klass->name();
+
+  if (!found_jdk_internal_event_klass) {
+    if (jdk_internal_event_sym == klass_name && klass->class_loader() == NULL) {
+      found_jdk_internal_event_klass = true;
+      JfrTraceId::tag_as_jdk_jfr_event(klass);
+      return;
+    }
+  }
+
+  if (!found_jdk_jfr_event_klass) {
+    if (jdk_jfr_event_sym == klass_name && klass->class_loader() == NULL) {
+      found_jdk_jfr_event_klass = true;
+      JfrTraceId::tag_as_jdk_jfr_event(klass);
+      return;
+    }
   }
 }
 
--- a/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceId.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -112,10 +112,8 @@
 
 inline void JfrTraceId::tag_as_jdk_jfr_event(const Klass* klass) {
   assert(klass != NULL, "invariant");
-  assert(IS_NOT_AN_EVENT_KLASS(klass), "invariant");
   SET_TAG(klass, JDK_JFR_EVENT_KLASS);
   assert(IS_JDK_JFR_EVENT_KLASS(klass), "invariant");
-  assert(IS_NOT_AN_EVENT_SUB_KLASS(klass), "invariant");
 }
 
 inline bool JfrTraceId::is_jdk_jfr_event_sub(const Klass* k) {
@@ -125,7 +123,7 @@
 
 inline void JfrTraceId::tag_as_jdk_jfr_event_sub(const Klass* k) {
   assert(k != NULL, "invariant");
-  if (IS_NOT_AN_EVENT_KLASS(k)) {
+  if (IS_NOT_AN_EVENT_SUB_KLASS(k)) {
     SET_TAG(k, JDK_JFR_EVENT_SUBKLASS);
   }
   assert(IS_JDK_JFR_EVENT_SUBKLASS(k), "invariant");
--- a/src/hotspot/share/memory/allocation.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/allocation.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -244,7 +244,6 @@
 class MetaspaceClosure;
 
 class MetaspaceObj {
-  friend class MetaspaceShared;
   // When CDS is enabled, all shared metaspace objects are mapped
   // into a single contiguous memory block, so we can use these
   // two pointers to quickly determine if something is in the
@@ -263,6 +262,13 @@
   }
   void print_address_on(outputStream* st) const;  // nonvirtual address printing
 
+  static void set_shared_metaspace_range(void* base, void* top) {
+    _shared_metaspace_base = base;
+    _shared_metaspace_top = top;
+  }
+  static void* shared_metaspace_base() { return _shared_metaspace_base; }
+  static void* shared_metaspace_top()  { return _shared_metaspace_top;  }
+
 #define METASPACE_OBJ_TYPES_DO(f) \
   f(Class) \
   f(Symbol) \
--- a/src/hotspot/share/memory/filemap.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/filemap.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -914,6 +914,19 @@
     return;
   }
 
+  if (JvmtiExport::should_post_class_file_load_hook() && JvmtiExport::has_early_class_hook_env()) {
+    ShouldNotReachHere(); // CDS should have been disabled.
+    // The archived objects are mapped at JVM start-up, but we don't know if
+    // j.l.String or j.l.Class might be replaced by the ClassFileLoadHook,
+    // which would make the archived String or mirror objects invalid. Let's be safe and not
+    // use the archived objects. These 2 classes are loaded during the JVMTI "early" stage.
+    //
+    // If JvmtiExport::has_early_class_hook_env() is false, the classes of some objects
+    // in the archived subgraphs may be replaced by the ClassFileLoadHook. But that's OK
+    // because we won't install an archived object subgraph if the klass of any of the
+    // referenced objects are replaced. See HeapShared::initialize_from_archived_subgraph().
+  }
+
   MemRegion heap_reserved = Universe::heap()->reserved_region();
 
   log_info(cds)("CDS archive was created with max heap size = " SIZE_FORMAT "M, and the following configuration:",
@@ -1224,6 +1237,15 @@
 bool FileMapInfo::initialize() {
   assert(UseSharedSpaces, "UseSharedSpaces expected.");
 
+  if (JvmtiExport::should_post_class_file_load_hook() && JvmtiExport::has_early_class_hook_env()) {
+    // CDS assumes that no classes resolved in SystemDictionary::resolve_well_known_classes
+    // are replaced at runtime by JVMTI ClassFileLoadHook. All of those classes are resolved
+    // during the JVMTI "early" stage, so we can still use CDS if
+    // JvmtiExport::has_early_class_hook_env() is false.
+    FileMapInfo::fail_continue("CDS is disabled because early JVMTI ClassFileLoadHook is in use.");
+    return false;
+  }
+
   if (!open_for_read()) {
     return false;
   }
@@ -1355,6 +1377,8 @@
 
 // Unmap mapped regions of shared space.
 void FileMapInfo::stop_sharing_and_unmap(const char* msg) {
+  MetaspaceObj::set_shared_metaspace_range(NULL, NULL);
+
   FileMapInfo *map_info = FileMapInfo::current_info();
   if (map_info) {
     map_info->fail_continue("%s", msg);
--- a/src/hotspot/share/memory/heapShared.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/heapShared.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -417,6 +417,11 @@
         Klass* resolved_k = SystemDictionary::resolve_or_null(
                                               (obj_k)->name(), THREAD);
         if (resolved_k != obj_k) {
+          assert(!SystemDictionary::is_well_known_klass(resolved_k),
+                 "shared well-known classes must not be replaced by JVMTI ClassFileLoadHook");
+          ResourceMark rm(THREAD);
+          log_info(cds, heap)("Failed to load subgraph because %s was not loaded from archive",
+                              resolved_k->external_name());
           return;
         }
         if ((obj_k)->is_instance_klass()) {
--- a/src/hotspot/share/memory/metaspace.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/metaspace.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1291,10 +1291,9 @@
     if (DumpSharedSpaces) {
       // CDS dumping keeps loading classes, so if we hit an OOM we probably will keep hitting OOM.
       // We should abort to avoid generating a potentially bad archive.
-      tty->print_cr("Failed allocating metaspace object type %s of size " SIZE_FORMAT ". CDS dump aborted.",
-          MetaspaceObj::type_name(type), word_size * BytesPerWord);
-      tty->print_cr("Please increase MaxMetaspaceSize (currently " SIZE_FORMAT " bytes).", MaxMetaspaceSize);
-      vm_exit(1);
+      vm_exit_during_cds_dumping(err_msg("Failed allocating metaspace object type %s of size " SIZE_FORMAT ". CDS dump aborted.",
+          MetaspaceObj::type_name(type), word_size * BytesPerWord),
+        err_msg("Please increase MaxMetaspaceSize (currently " SIZE_FORMAT " bytes).", MaxMetaspaceSize));
     }
     report_metadata_oome(loader_data, word_size, type, mdtype, THREAD);
     assert(HAS_PENDING_EXCEPTION, "sanity");
@@ -1628,165 +1627,6 @@
   TestMetaspaceUtilsTest::test();
 }
 
-class TestVirtualSpaceNodeTest {
-  static void chunk_up(size_t words_left, size_t& num_medium_chunks,
-                                          size_t& num_small_chunks,
-                                          size_t& num_specialized_chunks) {
-    num_medium_chunks = words_left / MediumChunk;
-    words_left = words_left % MediumChunk;
-
-    num_small_chunks = words_left / SmallChunk;
-    words_left = words_left % SmallChunk;
-    // how many specialized chunks can we get?
-    num_specialized_chunks = words_left / SpecializedChunk;
-    assert(words_left % SpecializedChunk == 0, "should be nothing left");
-  }
-
- public:
-  static void test() {
-    MutexLockerEx ml(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
-    const size_t vsn_test_size_words = MediumChunk  * 4;
-    const size_t vsn_test_size_bytes = vsn_test_size_words * BytesPerWord;
-
-    // The chunk sizes must be multiples of eachother, or this will fail
-    STATIC_ASSERT(MediumChunk % SmallChunk == 0);
-    STATIC_ASSERT(SmallChunk % SpecializedChunk == 0);
-
-    { // No committed memory in VSN
-      ChunkManager cm(false);
-      VirtualSpaceNode vsn(false, vsn_test_size_bytes);
-      vsn.initialize();
-      vsn.retire(&cm);
-      assert(cm.sum_free_chunks_count() == 0, "did not commit any memory in the VSN");
-    }
-
-    { // All of VSN is committed, half is used by chunks
-      ChunkManager cm(false);
-      VirtualSpaceNode vsn(false, vsn_test_size_bytes);
-      vsn.initialize();
-      vsn.expand_by(vsn_test_size_words, vsn_test_size_words);
-      vsn.get_chunk_vs(MediumChunk);
-      vsn.get_chunk_vs(MediumChunk);
-      vsn.retire(&cm);
-      assert(cm.sum_free_chunks_count() == 2, "should have been memory left for 2 medium chunks");
-      assert(cm.sum_free_chunks() == 2*MediumChunk, "sizes should add up");
-    }
-
-    const size_t page_chunks = 4 * (size_t)os::vm_page_size() / BytesPerWord;
-    // This doesn't work for systems with vm_page_size >= 16K.
-    if (page_chunks < MediumChunk) {
-      // 4 pages of VSN is committed, some is used by chunks
-      ChunkManager cm(false);
-      VirtualSpaceNode vsn(false, vsn_test_size_bytes);
-
-      vsn.initialize();
-      vsn.expand_by(page_chunks, page_chunks);
-      vsn.get_chunk_vs(SmallChunk);
-      vsn.get_chunk_vs(SpecializedChunk);
-      vsn.retire(&cm);
-
-      // committed - used = words left to retire
-      const size_t words_left = page_chunks - SmallChunk - SpecializedChunk;
-
-      size_t num_medium_chunks, num_small_chunks, num_spec_chunks;
-      chunk_up(words_left, num_medium_chunks, num_small_chunks, num_spec_chunks);
-
-      assert(num_medium_chunks == 0, "should not get any medium chunks");
-      assert(cm.sum_free_chunks_count() == (num_small_chunks + num_spec_chunks), "should be space for 3 chunks");
-      assert(cm.sum_free_chunks() == words_left, "sizes should add up");
-    }
-
-    { // Half of VSN is committed, a humongous chunk is used
-      ChunkManager cm(false);
-      VirtualSpaceNode vsn(false, vsn_test_size_bytes);
-      vsn.initialize();
-      vsn.expand_by(MediumChunk * 2, MediumChunk * 2);
-      vsn.get_chunk_vs(MediumChunk + SpecializedChunk); // Humongous chunks will be aligned up to MediumChunk + SpecializedChunk
-      vsn.retire(&cm);
-
-      const size_t words_left = MediumChunk * 2 - (MediumChunk + SpecializedChunk);
-      size_t num_medium_chunks, num_small_chunks, num_spec_chunks;
-      chunk_up(words_left, num_medium_chunks, num_small_chunks, num_spec_chunks);
-
-      assert(num_medium_chunks == 0, "should not get any medium chunks");
-      assert(cm.sum_free_chunks_count() == (num_small_chunks + num_spec_chunks), "should be space for 3 chunks");
-      assert(cm.sum_free_chunks() == words_left, "sizes should add up");
-    }
-
-  }
-
-#define assert_is_available_positive(word_size) \
-  assert(vsn.is_available(word_size), \
-         #word_size ": " PTR_FORMAT " bytes were not available in " \
-         "VirtualSpaceNode [" PTR_FORMAT ", " PTR_FORMAT ")", \
-         (uintptr_t)(word_size * BytesPerWord), p2i(vsn.bottom()), p2i(vsn.end()));
-
-#define assert_is_available_negative(word_size) \
-  assert(!vsn.is_available(word_size), \
-         #word_size ": " PTR_FORMAT " bytes should not be available in " \
-         "VirtualSpaceNode [" PTR_FORMAT ", " PTR_FORMAT ")", \
-         (uintptr_t)(word_size * BytesPerWord), p2i(vsn.bottom()), p2i(vsn.end()));
-
-  static void test_is_available_positive() {
-    // Reserve some memory.
-    VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
-    assert(vsn.initialize(), "Failed to setup VirtualSpaceNode");
-
-    // Commit some memory.
-    size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
-    bool expanded = vsn.expand_by(commit_word_size, commit_word_size);
-    assert(expanded, "Failed to commit");
-
-    // Check that is_available accepts the committed size.
-    assert_is_available_positive(commit_word_size);
-
-    // Check that is_available accepts half the committed size.
-    size_t expand_word_size = commit_word_size / 2;
-    assert_is_available_positive(expand_word_size);
-  }
-
-  static void test_is_available_negative() {
-    // Reserve some memory.
-    VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
-    assert(vsn.initialize(), "Failed to setup VirtualSpaceNode");
-
-    // Commit some memory.
-    size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
-    bool expanded = vsn.expand_by(commit_word_size, commit_word_size);
-    assert(expanded, "Failed to commit");
-
-    // Check that is_available doesn't accept a too large size.
-    size_t two_times_commit_word_size = commit_word_size * 2;
-    assert_is_available_negative(two_times_commit_word_size);
-  }
-
-  static void test_is_available_overflow() {
-    // Reserve some memory.
-    VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
-    assert(vsn.initialize(), "Failed to setup VirtualSpaceNode");
-
-    // Commit some memory.
-    size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
-    bool expanded = vsn.expand_by(commit_word_size, commit_word_size);
-    assert(expanded, "Failed to commit");
-
-    // Calculate a size that will overflow the virtual space size.
-    void* virtual_space_max = (void*)(uintptr_t)-1;
-    size_t bottom_to_max = pointer_delta(virtual_space_max, vsn.bottom(), 1);
-    size_t overflow_size = bottom_to_max + BytesPerWord;
-    size_t overflow_word_size = overflow_size / BytesPerWord;
-
-    // Check that is_available can handle the overflow.
-    assert_is_available_negative(overflow_word_size);
-  }
-
-  static void test_is_available() {
-    TestVirtualSpaceNodeTest::test_is_available_positive();
-    TestVirtualSpaceNodeTest::test_is_available_negative();
-    TestVirtualSpaceNodeTest::test_is_available_overflow();
-  }
-};
-
 #endif // !PRODUCT
 
 struct chunkmanager_statistics_t {
--- a/src/hotspot/share/memory/metaspace/chunkManager.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/metaspace/chunkManager.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -33,7 +33,7 @@
 #include "memory/metaspaceChunkFreeListSummary.hpp"
 #include "utilities/globalDefinitions.hpp"
 
-class TestVirtualSpaceNodeTest;
+class ChunkManagerTest;
 
 namespace metaspace {
 
@@ -42,7 +42,7 @@
 
 // Manages the global free lists of chunks.
 class ChunkManager : public CHeapObj<mtInternal> {
-  friend class ::TestVirtualSpaceNodeTest;
+  friend class ::ChunkManagerTest;
 
   // Free list of chunks of different sizes.
   //   SpecializedChunk
--- a/src/hotspot/share/memory/metaspaceShared.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/metaspaceShared.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1645,14 +1645,8 @@
       ClassLoaderDataGraph::unlocked_loaded_classes_do(&check_closure);
     } while (check_closure.made_progress());
 
-    if (IgnoreUnverifiableClassesDuringDump) {
-      // This is useful when running JCK or SQE tests. You should not
-      // enable this when running real apps.
-      SystemDictionary::remove_classes_in_error_state();
-    } else {
-      tty->print_cr("Please remove the unverifiable classes from your class list and try again");
-      exit(1);
-    }
+    // Unverifiable classes will not be included in the CDS archive.
+    SystemDictionary::remove_classes_in_error_state();
   }
 }
 
@@ -1958,8 +1952,7 @@
     assert(ro_top == md_base, "must be");
     assert(md_top == od_base, "must be");
 
-    MetaspaceObj::_shared_metaspace_base = (void*)mc_base;
-    MetaspaceObj::_shared_metaspace_top  = (void*)od_top;
+    MetaspaceObj::set_shared_metaspace_range((void*)mc_base, (void*)od_top);
     return true;
   } else {
     // If there was a failure in mapping any of the spaces, unmap the ones
--- a/src/hotspot/share/memory/metaspaceShared.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/memory/metaspaceShared.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -125,7 +125,7 @@
   static bool is_in_shared_metaspace(const void* p) {
     // If no shared metaspace regions are mapped, MetaspceObj::_shared_metaspace_{base,top} will
     // both be NULL and all values of p will be rejected quickly.
-    return (p < MetaspaceObj::_shared_metaspace_top && p >= MetaspaceObj::_shared_metaspace_base);
+    return (p < MetaspaceObj::shared_metaspace_top() && p >= MetaspaceObj::shared_metaspace_base());
   }
 
   // Return true if given address is in the shared region corresponding to the idx
--- a/src/hotspot/share/oops/instanceKlass.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/oops/instanceKlass.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -165,25 +165,35 @@
                                 k->external_name(), this->external_name());
   }
 
-  // Check names first and if they match then check actual klass. This avoids
-  // resolving anything unnecessarily.
+  // Check for a resolved cp entry , else fall back to a name check.
+  // We don't want to resolve any class other than the one being checked.
   for (int i = 0; i < _nest_members->length(); i++) {
     int cp_index = _nest_members->at(i);
-    Symbol* name = _constants->klass_name_at(cp_index);
-    if (name == k->name()) {
-      log_trace(class, nestmates)("- Found it at nest_members[%d] => cp[%d]", i, cp_index);
-
-      // names match so check actual klass - this may trigger class loading if
-      // it doesn't match (but that should be impossible)
+    if (_constants->tag_at(cp_index).is_klass()) {
       Klass* k2 = _constants->klass_at(cp_index, CHECK_false);
       if (k2 == k) {
-        log_trace(class, nestmates)("- class is listed as a nest member");
+        log_trace(class, nestmates)("- class is listed at nest_members[%d] => cp[%d]", i, cp_index);
         return true;
-      } else {
-        // same name but different klass!
-        log_trace(class, nestmates)(" - klass comparison failed!");
-        // can't have different classes for the same name, so we're done
-        return false;
+      }
+    }
+    else {
+      Symbol* name = _constants->klass_name_at(cp_index);
+      if (name == k->name()) {
+        log_trace(class, nestmates)("- Found it at nest_members[%d] => cp[%d]", i, cp_index);
+
+        // names match so check actual klass - this may trigger class loading if
+        // it doesn't match (but that should be impossible)
+        Klass* k2 = _constants->klass_at(cp_index, CHECK_false);
+        if (k2 == k) {
+          log_trace(class, nestmates)("- class is listed as a nest member");
+          return true;
+        }
+        else {
+          // same name but different klass!
+          log_trace(class, nestmates)(" - klass comparison failed!");
+          // can't have two names the same, so we're done
+          return false;
+        }
       }
     }
   }
--- a/src/hotspot/share/oops/klassVtable.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/oops/klassVtable.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -84,6 +84,7 @@
     methodHandle mh(THREAD, methods->at(i));
 
     if (needs_new_vtable_entry(mh, super, classloader, classname, class_flags, major_version, THREAD)) {
+      assert(!methods->at(i)->is_private(), "private methods should not need a vtable entry");
       vtable_length += vtableEntry::size(); // we need a new entry
     }
   }
@@ -283,7 +284,7 @@
 // If none found, return a null superk, else return the superk of the method this does override
 // For public and protected methods: if they override a superclass, they will
 // also be overridden themselves appropriately.
-// Private methods do not override and are not overridden.
+// Private methods do not override, and are not overridden and are not in the vtable.
 // Package Private methods are trickier:
 // e.g. P1.A, pub m
 // P2.B extends A, package private m
@@ -390,8 +391,9 @@
     target_method()->set_vtable_index(Method::nonvirtual_vtable_index);
   }
 
-  // Static and <init> methods are never in
-  if (target_method()->is_static() || target_method()->name() ==  vmSymbols::object_initializer_name()) {
+  // Private, static and <init> methods are never in
+  if (target_method()->is_private() || target_method()->is_static() ||
+      (target_method()->name()->fast_compare(vmSymbols::object_initializer_name()) == 0)) {
     return false;
   }
 
@@ -411,10 +413,7 @@
     // valid itable index, if so, don't change it.
     // Overpass methods in an interface will be assigned an itable index later
     // by an inheriting class.
-    // Private interface methods have no itable index and are always invoked nonvirtually,
-    // so they retain their nonvirtual_vtable_index value, and therefore can_be_statically_bound()
-    // will return true.
-    if ((!is_default || !target_method()->has_itable_index()) && !target_method()->is_private()) {
+    if ((!is_default || !target_method()->has_itable_index())) {
       target_method()->set_vtable_index(Method::pending_itable_index);
     }
   }
@@ -425,14 +424,6 @@
     return allocate_new;
   }
 
-  // private methods in classes always have a new entry in the vtable
-  // specification interpretation since classic has
-  // private methods not overriding
-  // JDK8 adds private methods in interfaces which require invokespecial
-  if (target_method()->is_private()) {
-    return allocate_new;
-  }
-
   // search through the vtable and update overridden entries
   // Since check_signature_loaders acquires SystemDictionary_lock
   // which can block for gc, once we are in this loop, use handles
@@ -555,6 +546,7 @@
 }
 
 void klassVtable::put_method_at(Method* m, int index) {
+  assert(!m->is_private(), "private methods should not be in vtable");
   if (is_preinitialized_vtable()) {
     // At runtime initialize_vtable is rerun as part of link_class_impl()
     // for shared class loaded by the non-boot loader to obtain the loader
@@ -606,9 +598,11 @@
       // a final method never needs a new entry; final methods can be statically
       // resolved and they have to be present in the vtable only if they override
       // a super's method, in which case they re-use its entry
+      (target_method()->is_private()) ||
+      // private methods don't need to be in vtable
       (target_method()->is_static()) ||
       // static methods don't need to be in vtable
-      (target_method()->name() ==  vmSymbols::object_initializer_name())
+      (target_method()->name()->fast_compare(vmSymbols::object_initializer_name()) == 0)
       // <init> is never called dynamically-bound
       ) {
     return false;
@@ -619,7 +613,7 @@
   if (target_method()->method_holder() != NULL &&
       target_method()->method_holder()->is_interface()  &&
       !target_method()->is_abstract()) {
-    assert(target_method()->is_default_method() || target_method()->is_private(),
+    assert(target_method()->is_default_method(),
            "unexpected interface method type");
     return false;
   }
@@ -629,12 +623,6 @@
     return true;
   }
 
-  // private methods in classes always have a new entry in the vtable.
-  // Specification interpretation since classic has private methods not overriding.
-  if (target_method()->is_private()) {
-    return true;
-  }
-
   // Package private methods always need a new entry to root their own
   // overriding. This allows transitive overriding to work.
   if (target_method()->is_package_private()) {
@@ -660,8 +648,8 @@
     // make sure you use that class for is_override
     InstanceKlass* superk = super_method->method_holder();
     // we want only instance method matches
-    // pretend private methods are not in the super vtable
-    // since we do override around them: e.g. a.m pub/b.m private/c.m pub,
+    // ignore private methods found via lookup_method since they do not participate in overriding,
+    // and since we do override around them: e.g. a.m pub/b.m private/c.m pub,
     // ignore private, c.m pub does override a.m pub
     // For classes that were not javac'd together, we also do transitive overriding around
     // methods that have less accessibility
--- a/src/hotspot/share/oops/oop.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/oops/oop.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -273,7 +273,7 @@
   // Exactly one thread succeeds in inserting the forwarding pointer, and
   // this call returns "NULL" for that thread; any other thread has the
   // value of the forwarding pointer returned and does not modify "this".
-  inline oop forward_to_atomic(oop p, atomic_memory_order order = memory_order_conservative);
+  inline oop forward_to_atomic(oop p, markOop compare, atomic_memory_order order = memory_order_conservative);
 
   inline oop forwardee() const;
   inline oop forwardee_acquire() const;
--- a/src/hotspot/share/oops/oop.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/oops/oop.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -370,26 +370,21 @@
   return cas_set_mark_raw(m, compare, order) == compare;
 }
 
-oop oopDesc::forward_to_atomic(oop p, atomic_memory_order order) {
-  markOop oldMark = mark_raw();
-  markOop forwardPtrMark = markOopDesc::encode_pointer_as_mark(p);
-  markOop curMark;
-
-  assert(forwardPtrMark->decode_pointer() == p, "encoding must be reversable");
-  assert(sizeof(markOop) == sizeof(intptr_t), "CAS below requires this.");
-
-  while (!oldMark->is_marked()) {
-    curMark = cas_set_mark_raw(forwardPtrMark, oldMark, order);
-    assert(is_forwarded(), "object should have been forwarded");
-    if (curMark == oldMark) {
-      return NULL;
-    }
-    // If the CAS was unsuccessful then curMark->is_marked()
-    // should return true as another thread has CAS'd in another
-    // forwarding pointer.
-    oldMark = curMark;
+oop oopDesc::forward_to_atomic(oop p, markOop compare, atomic_memory_order order) {
+  // CMS forwards some non-heap value into the mark oop to reserve oops during
+  // promotion, so the next two asserts do not hold.
+  assert(UseConcMarkSweepGC || check_obj_alignment(p),
+         "forwarding to something not aligned");
+  assert(UseConcMarkSweepGC || Universe::heap()->is_in_reserved(p),
+         "forwarding to something not in heap");
+  markOop m = markOopDesc::encode_pointer_as_mark(p);
+  assert(m->decode_pointer() == p, "encoding must be reversable");
+  markOop old_mark = cas_set_mark_raw(m, compare, order);
+  if (old_mark == compare) {
+    return NULL;
+  } else {
+    return (oop)old_mark->decode_pointer();
   }
-  return forwardee();
 }
 
 // Note that the forwardee is not the same thing as the displaced_mark.
--- a/src/hotspot/share/opto/c2compiler.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/opto/c2compiler.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -604,7 +604,9 @@
   return true;
 }
 
-int C2Compiler::initial_code_buffer_size() {
-  assert(SegmentedCodeCache, "Should be only used with a segmented code cache");
-  return Compile::MAX_inst_size + Compile::MAX_locs_size + initial_const_capacity;
+int C2Compiler::initial_code_buffer_size(int const_size) {
+  // See Compile::init_scratch_buffer_blob
+  int locs_size = sizeof(relocInfo) * Compile::MAX_locs_size;
+  int slop = 2 * CodeSection::end_slop(); // space between sections
+  return Compile::MAX_inst_size + Compile::MAX_stubs_size + const_size + slop + locs_size;
 }
--- a/src/hotspot/share/opto/c2compiler.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/opto/c2compiler.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -26,6 +26,7 @@
 #define SHARE_VM_OPTO_C2COMPILER_HPP
 
 #include "compiler/abstractCompiler.hpp"
+#include "opto/output.hpp"
 
 class C2Compiler : public AbstractCompiler {
  private:
@@ -66,7 +67,7 @@
   virtual bool is_intrinsic_supported(const methodHandle& method, bool is_virtual);
 
   // Initial size of the code buffer (may be increased at runtime)
-  static int initial_code_buffer_size();
+  static int initial_code_buffer_size(int const_size = initial_const_capacity);
 };
 
 #endif // SHARE_VM_OPTO_C2COMPILER_HPP
--- a/src/hotspot/share/opto/cfgnode.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/opto/cfgnode.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -24,6 +24,7 @@
 
 #include "precompiled.hpp"
 #include "classfile/systemDictionary.hpp"
+#include "gc/shared/barrierSet.hpp"
 #include "gc/shared/c2/barrierSetC2.hpp"
 #include "memory/allocation.inline.hpp"
 #include "memory/resourceArea.hpp"
--- a/src/hotspot/share/opto/compile.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/opto/compile.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -544,9 +544,7 @@
 
     ResourceMark rm;
     _scratch_const_size = const_size;
-    int locs_size = sizeof(relocInfo) * MAX_locs_size;
-    int slop = 2 * CodeSection::end_slop(); // space between sections
-    int size = (MAX_inst_size + MAX_stubs_size + _scratch_const_size + slop + locs_size);
+    int size = C2Compiler::initial_code_buffer_size(const_size);
     blob = BufferBlob::create("Compile::scratch_buffer", size);
     // Record the buffer blob for next time.
     set_scratch_buffer_blob(blob);
--- a/src/hotspot/share/opto/graphKit.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/opto/graphKit.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -2116,8 +2116,17 @@
 // We use this to determine if an object is so "fresh" that
 // it does not require card marks.
 Node* GraphKit::just_allocated_object(Node* current_control) {
-  if (C->recent_alloc_ctl() == current_control)
-    return C->recent_alloc_obj();
+  Node* ctrl = current_control;
+  // Object::<init> is invoked after allocation, most of invoke nodes
+  // will be reduced, but a region node is kept in parse time, we check
+  // the pattern and skip the region node if it degraded to a copy.
+  if (ctrl != NULL && ctrl->is_Region() && ctrl->req() == 2 &&
+      ctrl->as_Region()->is_copy()) {
+    ctrl = ctrl->as_Region()->is_copy();
+  }
+  if (C->recent_alloc_ctl() == ctrl) {
+   return C->recent_alloc_obj();
+  }
   return NULL;
 }
 
--- a/src/hotspot/share/prims/jni.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/prims/jni.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -4132,6 +4132,7 @@
   // be set in order for the Safepoint code to deal with it correctly.
   thread->set_thread_state(_thread_in_vm);
   thread->record_stack_base_and_size();
+  thread->register_thread_stack_with_NMT();
   thread->initialize_thread_current();
 
   if (!os::create_attached_thread(thread)) {
--- a/src/hotspot/share/prims/jvmtiExport.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiExport.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -994,6 +994,20 @@
   }
 };
 
+bool JvmtiExport::is_early_phase() {
+  return JvmtiEnvBase::get_phase() <= JVMTI_PHASE_PRIMORDIAL;
+}
+
+bool JvmtiExport::has_early_class_hook_env() {
+  JvmtiEnvIterator it;
+  for (JvmtiEnv* env = it.first(); env != NULL; env = it.next(env)) {
+    if (env->early_class_hook_env()) {
+      return true;
+    }
+  }
+  return false;
+}
+
 bool JvmtiExport::_should_post_class_file_load_hook = false;
 
 // this entry is for class file load hook on class load, redefine and retransform
--- a/src/hotspot/share/prims/jvmtiExport.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/prims/jvmtiExport.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -328,6 +328,8 @@
     JVMTI_ONLY(return _should_post_class_file_load_hook);
     NOT_JVMTI(return false;)
   }
+  static bool is_early_phase() NOT_JVMTI_RETURN_(false);
+  static bool has_early_class_hook_env() NOT_JVMTI_RETURN_(false);
   // Return true if the class was modified by the hook.
   static bool post_class_file_load_hook(Symbol* h_name, Handle class_loader,
                                         Handle h_protection_domain,
--- a/src/hotspot/share/runtime/arguments.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/arguments.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -533,10 +533,13 @@
   { "MinRAMFraction",               JDK_Version::jdk(10),  JDK_Version::undefined(), JDK_Version::undefined() },
   { "InitialRAMFraction",           JDK_Version::jdk(10),  JDK_Version::undefined(), JDK_Version::undefined() },
   { "UseMembar",                    JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() },
-  { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10),  JDK_Version::undefined(), JDK_Version::undefined() },
   { "CompilerThreadHintNoPreempt",  JDK_Version::jdk(11), JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "VMThreadHintNoPreempt",        JDK_Version::jdk(11), JDK_Version::jdk(12), JDK_Version::jdk(13) },
-  { "AggressiveOpts",               JDK_Version::jdk(11), JDK_Version::jdk(12), JDK_Version::jdk(13) },
+
+#if defined(_ALLBSD_SOURCE)
+  { "UseSHM",                       JDK_Version::undefined(), JDK_Version::jdk(12), JDK_Version::jdk(13) },
+  { "UseHugeTLBFS",                 JDK_Version::undefined(), JDK_Version::jdk(12), JDK_Version::jdk(13) },
+#endif
 
   // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
   { "DefaultMaxRAMFraction",        JDK_Version::jdk(8),  JDK_Version::undefined(), JDK_Version::undefined() },
@@ -551,6 +554,7 @@
   { "SharedMiscDataSize",            JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
   { "SharedMiscCodeSize",            JDK_Version::undefined(), JDK_Version::jdk(10), JDK_Version::undefined() },
   { "AssumeMP",                      JDK_Version::jdk(10),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
+  { "IgnoreUnverifiableClassesDuringDump", JDK_Version::jdk(10),  JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "UnlinkSymbolsALot",             JDK_Version::jdk(11),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "AllowNonVirtualCalls",          JDK_Version::jdk(11),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "PrintSafepointStatistics",      JDK_Version::jdk(11),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
@@ -563,6 +567,7 @@
   { "SyncFlags",                     JDK_Version::undefined(), JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "SyncKnobs",                     JDK_Version::undefined(), JDK_Version::jdk(12), JDK_Version::jdk(13) },
   { "MonitorInUseLists",             JDK_Version::jdk(10),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
+  { "AggressiveOpts",                JDK_Version::jdk(11),     JDK_Version::jdk(12), JDK_Version::jdk(13) },
 
 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
   { "dep > obs",                    JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
@@ -1940,7 +1945,7 @@
   }
 }
 
-// Aggressive optimization flags  -XX:+AggressiveOpts
+// Aggressive optimization flags
 jint Arguments::set_aggressive_opts_flags() {
 #ifdef COMPILER2
   if (AggressiveUnboxing) {
@@ -1957,14 +1962,10 @@
       AggressiveUnboxing = false;
     }
   }
-  if (AggressiveOpts || !FLAG_IS_DEFAULT(AutoBoxCacheMax)) {
+  if (!FLAG_IS_DEFAULT(AutoBoxCacheMax)) {
     if (FLAG_IS_DEFAULT(EliminateAutoBox)) {
       FLAG_SET_DEFAULT(EliminateAutoBox, true);
     }
-    if (FLAG_IS_DEFAULT(AutoBoxCacheMax)) {
-      FLAG_SET_DEFAULT(AutoBoxCacheMax, 20000);
-    }
-
     // Feed the cache size setting into the JDK
     char buffer[1024];
     jio_snprintf(buffer, 1024, "java.lang.Integer.IntegerCache.high=" INTX_FORMAT, AutoBoxCacheMax);
@@ -1972,18 +1973,8 @@
       return JNI_ENOMEM;
     }
   }
-  if (AggressiveOpts && FLAG_IS_DEFAULT(BiasedLockingStartupDelay)) {
-    FLAG_SET_DEFAULT(BiasedLockingStartupDelay, 500);
-  }
 #endif
 
-  if (AggressiveOpts) {
-// Sample flag setting code
-//    if (FLAG_IS_DEFAULT(EliminateZeroing)) {
-//      FLAG_SET_DEFAULT(EliminateZeroing, true);
-//    }
-  }
-
   return JNI_OK;
 }
 
@@ -3913,7 +3904,7 @@
   // Set bytecode rewriting flags
   set_bytecode_flags();
 
-  // Set flags if Aggressive optimization flags (-XX:+AggressiveOpts) enabled
+  // Set flags if aggressive optimization flags are enabled
   jint code = set_aggressive_opts_flags();
   if (code != JNI_OK) {
     return code;
--- a/src/hotspot/share/runtime/compilationPolicy.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/compilationPolicy.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -46,6 +46,13 @@
 #include "utilities/events.hpp"
 #include "utilities/globalDefinitions.hpp"
 
+#ifdef COMPILER1
+#include "c1/c1_Compiler.hpp"
+#endif
+#ifdef COMPILER2
+#include "opto/c2compiler.hpp"
+#endif
+
 CompilationPolicy* CompilationPolicy::_policy;
 elapsedTimer       CompilationPolicy::_accumulated_time;
 bool               CompilationPolicy::_in_vm_startup;
@@ -222,6 +229,19 @@
     // max(log2(8)-1,1) = 2 compiler threads on an 8-way machine.
     // May help big-app startup time.
     _compiler_count = MAX2(log2_intptr(os::active_processor_count())-1,1);
+    // Make sure there is enough space in the code cache to hold all the compiler buffers
+    size_t buffer_size = 1;
+#ifdef COMPILER1
+    buffer_size = is_client_compilation_mode_vm() ? Compiler::code_buffer_size() : buffer_size;
+#endif
+#ifdef COMPILER2
+    buffer_size = is_server_compilation_mode_vm() ? C2Compiler::initial_code_buffer_size() : buffer_size;
+#endif
+    int max_count = (ReservedCodeCacheSize - (CodeCacheMinimumUseSpace DEBUG_ONLY(* 3))) / (int)buffer_size;
+    if (_compiler_count > max_count) {
+      // Lower the compiler count such that all buffers fit into the code cache
+      _compiler_count = MAX2(max_count, 1);
+    }
     FLAG_SET_ERGO(intx, CICompilerCount, _compiler_count);
   } else {
     _compiler_count = CICompilerCount;
--- a/src/hotspot/share/runtime/globals.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/globals.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -1351,9 +1351,6 @@
           /* Note:  This value is zero mod 1<<13 for a cheap sparc set. */  \
           "Inline allocations larger than this in doublewords must go slow")\
                                                                             \
-  product(bool, AggressiveOpts, false,                                      \
-          "(Deprecated) Enable aggressive optimizations - see arguments.cpp") \
-                                                                            \
   product_pd(bool, CompactStrings,                                          \
           "Enable Strings to use single byte chars in backing store")       \
                                                                             \
@@ -2436,10 +2433,6 @@
           "Average number of symbols per bucket in shared table")           \
           range(2, 246)                                                     \
                                                                             \
-  diagnostic(bool, IgnoreUnverifiableClassesDuringDump, true,              \
-          "Do not quit -Xshare:dump even if we encounter unverifiable "     \
-          "classes. Just exclude them from the shared dictionary.")         \
-                                                                            \
   diagnostic(bool, PrintMethodHandleStubs, false,                           \
           "Print generated stub code for method handles")                   \
                                                                             \
--- a/src/hotspot/share/runtime/handshake.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/handshake.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,7 +41,6 @@
 class HandshakeOperation: public StackObj {
 public:
   virtual void do_handshake(JavaThread* thread) = 0;
-  virtual void cancel_handshake(JavaThread* thread) = 0;
 };
 
 class HandshakeThreadsOperation: public HandshakeOperation {
@@ -51,8 +50,6 @@
 public:
   HandshakeThreadsOperation(ThreadClosure* cl) : _thread_cl(cl) {}
   void do_handshake(JavaThread* thread);
-  void cancel_handshake(JavaThread* thread) { _done.signal(); };
-
   bool thread_has_completed() { return _done.trywait(); }
 
 #ifdef ASSERT
@@ -121,15 +118,11 @@
     DEBUG_ONLY(_op->check_state();)
     TraceTime timer("Performing single-target operation (vmoperation doit)", TRACETIME_LOG(Info, handshake));
 
-    {
-      ThreadsListHandle tlh;
-      if (tlh.includes(_target)) {
-        set_handshake(_target);
-        _thread_alive = true;
-      }
-    }
-
-    if (!_thread_alive) {
+    ThreadsListHandle tlh;
+    if (tlh.includes(_target)) {
+      set_handshake(_target);
+      _thread_alive = true;
+    } else {
       return;
     }
 
@@ -147,20 +140,9 @@
       // We need to re-think this with SMR ThreadsList.
       // There is an assumption in the code that the Threads_lock should be
       // locked during certain phases.
-      MutexLockerEx ml(Threads_lock, Mutex::_no_safepoint_check_flag);
-      ThreadsListHandle tlh;
-      if (tlh.includes(_target)) {
-        // Warning _target's address might be re-used.
-        // handshake_process_by_vmthread will check the semaphore for us again.
-        // Since we can't have more then one handshake in flight a reuse of
-        // _target's address should be okay since the new thread will not have
-        // an operation.
+      {
+        MutexLockerEx ml(Threads_lock, Mutex::_no_safepoint_check_flag);
         _target->handshake_process_by_vmthread();
-      } else {
-        // We can't warn here since the thread does cancel_handshake after
-        // it has been removed from the ThreadsList. So we should just keep
-        // looping here until while below returns false. If we have a bug,
-        // then we hang here, which is good for debugging.
       }
     } while (!poll_for_completed_thread());
     DEBUG_ONLY(_op->check_state();)
@@ -179,8 +161,9 @@
     DEBUG_ONLY(_op->check_state();)
     TraceTime timer("Performing operation (vmoperation doit)", TRACETIME_LOG(Info, handshake));
 
+    JavaThreadIteratorWithHandle jtiwh;
     int number_of_threads_issued = 0;
-    for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thr = jtiwh.next(); ) {
+    for (JavaThread *thr = jtiwh.next(); thr != NULL; thr = jtiwh.next()) {
       set_handshake(thr);
       number_of_threads_issued++;
     }
@@ -210,8 +193,9 @@
           // We need to re-think this with SMR ThreadsList.
           // There is an assumption in the code that the Threads_lock should
           // be locked during certain phases.
+          jtiwh.rewind();
           MutexLockerEx ml(Threads_lock, Mutex::_no_safepoint_check_flag);
-          for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thr = jtiwh.next(); ) {
+          for (JavaThread *thr = jtiwh.next(); thr != NULL; thr = jtiwh.next()) {
             // A new thread on the ThreadsList will not have an operation,
             // hence it is skipped in handshake_process_by_vmthread.
             thr->handshake_process_by_vmthread();
@@ -262,7 +246,11 @@
   FormatBufferResource message("Operation for thread " PTR_FORMAT ", is_vm_thread: %s",
                                p2i(thread), BOOL_TO_STR(Thread::current()->is_VM_thread()));
   TraceTime timer(message, TRACETIME_LOG(Debug, handshake, task));
-  _thread_cl->do_thread(thread);
+
+  // Only actually execute the operation for non terminated threads.
+  if (!thread->is_terminated()) {
+    _thread_cl->do_thread(thread);
+  }
 
   // Use the semaphore to inform the VM thread that we have completed the operation
   _done.signal();
@@ -306,12 +294,7 @@
 
 void HandshakeState::process_self_inner(JavaThread* thread) {
   assert(Thread::current() == thread, "should call from thread");
-
-  if (thread->is_terminated()) {
-    // If thread is not on threads list but armed, cancel.
-    thread->cancel_handshake();
-    return;
-  }
+  assert(!thread->is_terminated(), "should not be a terminated thread");
 
   CautiouslyPreserveExceptionMark pem(thread);
   ThreadInVMForHandshake tivm(thread);
@@ -327,16 +310,6 @@
   _semaphore.signal();
 }
 
-void HandshakeState::cancel_inner(JavaThread* thread) {
-  assert(Thread::current() == thread, "should call from thread");
-  assert(thread->thread_state() == _thread_in_vm, "must be in vm state");
-  HandshakeOperation* op = _operation;
-  clear_handshake(thread);
-  if (op != NULL) {
-    op->cancel_handshake(thread);
-  }
-}
-
 bool HandshakeState::vmthread_can_process_handshake(JavaThread* target) {
   // SafepointSynchronize::safepoint_safe() does not consider an externally
   // suspended thread to be safe. However, this function must be called with
@@ -344,7 +317,7 @@
   // resumed thus it is safe.
   assert(Threads_lock->owned_by_self(), "Not holding Threads_lock.");
   return SafepointSynchronize::safepoint_safe(target, target->thread_state()) ||
-         target->is_ext_suspended();
+         target->is_ext_suspended() || target->is_terminated();
 }
 
 static bool possibly_vmthread_can_process_handshake(JavaThread* target) {
@@ -355,6 +328,9 @@
   if (target->is_ext_suspended()) {
     return true;
   }
+  if (target->is_terminated()) {
+    return true;
+  }
   switch (target->thread_state()) {
   case _thread_in_native:
     // native threads are safe if they have no java stack or have walkable stack
@@ -381,6 +357,8 @@
 
 void HandshakeState::process_by_vmthread(JavaThread* target) {
   assert(Thread::current()->is_VM_thread(), "should call from vm thread");
+  // Threads_lock must be held here, but that is assert()ed in
+  // possibly_vmthread_can_process_handshake().
 
   if (!has_operation()) {
     // JT has already cleared its handshake
@@ -402,7 +380,6 @@
   // getting caught by the semaphore.
   if (vmthread_can_process_handshake(target)) {
     guarantee(!_semaphore.trywait(), "we should already own the semaphore");
-
     _operation->do_handshake(target);
     // Disarm after VM thread have executed the operation.
     clear_handshake(target);
--- a/src/hotspot/share/runtime/handshake.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/handshake.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -60,7 +60,6 @@
   bool vmthread_can_process_handshake(JavaThread* target);
 
   void clear_handshake(JavaThread* thread);
-  void cancel_inner(JavaThread* thread);
 
   void process_self_inner(JavaThread* thread);
 public:
@@ -72,19 +71,13 @@
     return _operation != NULL;
   }
 
-  void cancel(JavaThread* thread) {
-    if (!_thread_in_process_handshake) {
-      FlagSetting fs(_thread_in_process_handshake, true);
-      cancel_inner(thread);
-    }
-  }
-
   void process_by_self(JavaThread* thread) {
     if (!_thread_in_process_handshake) {
       FlagSetting fs(_thread_in_process_handshake, true);
       process_self_inner(thread);
     }
   }
+
   void process_by_vmthread(JavaThread* target);
 };
 
--- a/src/hotspot/share/runtime/java.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/java.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -609,6 +609,26 @@
   ShouldNotReachHere();
 }
 
+void vm_notify_during_cds_dumping(const char* error, const char* message) {
+  if (error != NULL) {
+    tty->print_cr("Error occurred during CDS dumping");
+    tty->print("%s", error);
+    if (message != NULL) {
+      tty->print_cr(": %s", message);
+    }
+    else {
+      tty->cr();
+    }
+  }
+}
+
+void vm_exit_during_cds_dumping(const char* error, const char* message) {
+  vm_notify_during_cds_dumping(error, message);
+
+  // Failure during CDS dumping, we don't want to dump core
+  vm_abort(false);
+}
+
 void vm_notify_during_shutdown(const char* error, const char* message) {
   if (error != NULL) {
     tty->print_cr("Error occurred during initialization of VM");
--- a/src/hotspot/share/runtime/java.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/java.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,6 +51,8 @@
 extern void vm_exit_during_initialization(const char* error, const char* message = NULL);
 extern void vm_shutdown_during_initialization(const char* error, const char* message = NULL);
 
+extern void vm_exit_during_cds_dumping(const char* error, const char* message = NULL);
+
 /**
  * With the integration of the changes to handle the version string
  * as defined by JEP-223, most of the code related to handle the version
--- a/src/hotspot/share/runtime/os.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/os.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -505,7 +505,6 @@
   static void pd_start_thread(Thread* thread);
   static void start_thread(Thread* thread);
 
-  static void initialize_thread(Thread* thr);
   static void free_thread(OSThread* osthread);
 
   // thread id on Linux/64bit is 64bit, on Windows and Solaris, it's 32bit
--- a/src/hotspot/share/runtime/thread.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/thread.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -338,32 +338,61 @@
 }
 
 void Thread::record_stack_base_and_size() {
+  // Note: at this point, Thread object is not yet initialized. Do not rely on
+  // any members being initialized. Do not rely on Thread::current() being set.
+  // If possible, refrain from doing anything which may crash or assert since
+  // quite probably those crash dumps will be useless.
   set_stack_base(os::current_stack_base());
   set_stack_size(os::current_stack_size());
-  // CR 7190089: on Solaris, primordial thread's stack is adjusted
-  // in initialize_thread(). Without the adjustment, stack size is
-  // incorrect if stack is set to unlimited (ulimit -s unlimited).
-  // So far, only Solaris has real implementation of initialize_thread().
-  //
-  // set up any platform-specific state.
-  os::initialize_thread(this);
+
+#ifdef SOLARIS
+  if (os::is_primordial_thread()) {
+    os::Solaris::correct_stack_boundaries_for_primordial_thread(this);
+  }
+#endif
 
   // Set stack limits after thread is initialized.
   if (is_Java_thread()) {
     ((JavaThread*) this)->set_stack_overflow_limit();
     ((JavaThread*) this)->set_reserved_stack_activation(stack_base());
   }
+}
+
 #if INCLUDE_NMT
-  // record thread's native stack, stack grows downward
+void Thread::register_thread_stack_with_NMT() {
   MemTracker::record_thread_stack(stack_end(), stack_size());
+}
 #endif // INCLUDE_NMT
+
+void Thread::call_run() {
+  // At this point, Thread object should be fully initialized and
+  // Thread::current() should be set.
+
+  register_thread_stack_with_NMT();
+
   log_debug(os, thread)("Thread " UINTX_FORMAT " stack dimensions: "
     PTR_FORMAT "-" PTR_FORMAT " (" SIZE_FORMAT "k).",
     os::current_thread_id(), p2i(stack_base() - stack_size()),
     p2i(stack_base()), stack_size()/1024);
+
+  // Invoke <ChildClass>::run()
+  this->run();
+  // Returned from <ChildClass>::run(). Thread finished.
+
+  // Note: at this point the thread object may already have deleted itself.
+  // So from here on do not dereference *this*.
+
+  // If a thread has not deleted itself ("delete this") as part of its
+  // termination sequence, we have to ensure thread-local-storage is
+  // cleared before we actually terminate. No threads should ever be
+  // deleted asynchronously with respect to their termination.
+  if (Thread::current_or_null_safe() != NULL) {
+    assert(Thread::current_or_null_safe() == this, "current thread is wrong");
+    Thread::clear_thread_current();
+  }
+
 }
 
-
 Thread::~Thread() {
   JFR_ONLY(Jfr::on_thread_destruct(this);)
 
@@ -417,17 +446,12 @@
   // clear Thread::current if thread is deleting itself.
   // Needed to ensure JNI correctly detects non-attached threads.
   if (this == Thread::current()) {
-    clear_thread_current();
+    Thread::clear_thread_current();
   }
 
   CHECK_UNHANDLED_OOPS_ONLY(if (CheckUnhandledOops) delete unhandled_oops();)
 }
 
-// NOTE: dummy function for assertion purpose.
-void Thread::run() {
-  ShouldNotReachHere();
-}
-
 #ifdef ASSERT
 // A JavaThread is considered "dangling" if it is not the current
 // thread, has been added the Threads list, the system is not at a
@@ -1374,7 +1398,6 @@
 void WatcherThread::run() {
   assert(this == watcher_thread(), "just checking");
 
-  this->record_stack_base_and_size();
   this->set_native_thread_name(this->name());
   this->set_active_handles(JNIHandleBlock::allocate_block());
   while (true) {
@@ -1740,9 +1763,6 @@
   // used to test validity of stack trace backs
   this->record_base_of_stack_pointer();
 
-  // Record real stack base and size.
-  this->record_stack_base_and_size();
-
   this->create_stack_guard_pages();
 
   this->cache_global_variables();
@@ -1819,6 +1839,9 @@
   thread->clear_pending_exception();
 }
 
+static bool is_daemon(oop threadObj) {
+  return (threadObj != NULL && java_lang_Thread::is_daemon(threadObj));
+}
 
 // For any new cleanup additions, please check to see if they need to be applied to
 // cleanup_failed_attach_current_thread as well.
@@ -1910,7 +1933,7 @@
         MutexLockerEx ml(SR_lock(), Mutex::_no_safepoint_check_flag);
         if (!is_external_suspend()) {
           set_terminated(_thread_exiting);
-          ThreadService::current_thread_exiting(this);
+          ThreadService::current_thread_exiting(this, is_daemon(threadObj()));
           break;
         }
         // Implied else:
@@ -1930,6 +1953,7 @@
     }
     // no more external suspends are allowed at this point
   } else {
+    assert(!is_terminated() && !is_exiting(), "must not be exiting");
     // before_exit() has already posted JVMTI THREAD_END events
   }
 
@@ -3705,6 +3729,7 @@
   main_thread->initialize_thread_current();
   // must do this before set_active_handles
   main_thread->record_stack_base_and_size();
+  main_thread->register_thread_stack_with_NMT();
   main_thread->set_active_handles(JNIHandleBlock::allocate_block());
 
   if (!main_thread->set_as_starting_thread()) {
@@ -4251,9 +4276,6 @@
   before_exit(thread);
 
   thread->exit(true);
-  // thread will never call smr_delete, instead of implicit cancel
-  // in wait_for_vm_thread_exit we do it explicit.
-  thread->cancel_handshake();
 
   // Stop VM thread.
   {
@@ -4332,7 +4354,7 @@
 
 void Threads::add(JavaThread* p, bool force_daemon) {
   // The threads lock must be owned at this point
-  assert_locked_or_safepoint(Threads_lock);
+  assert(Threads_lock->owned_by_self(), "must have threads lock");
 
   BarrierSet::barrier_set()->on_thread_attach(p);
 
@@ -4348,7 +4370,7 @@
   bool daemon = true;
   // Bootstrapping problem: threadObj can be null for initial
   // JavaThread (or for threads attached via JNI)
-  if ((!force_daemon) && (threadObj == NULL || !java_lang_Thread::is_daemon(threadObj))) {
+  if ((!force_daemon) && !is_daemon((threadObj))) {
     _number_of_non_daemon_threads++;
     daemon = false;
   }
@@ -4393,7 +4415,7 @@
     _number_of_threads--;
     oop threadObj = p->threadObj();
     bool daemon = true;
-    if (threadObj == NULL || !java_lang_Thread::is_daemon(threadObj)) {
+    if (!is_daemon(threadObj)) {
       _number_of_non_daemon_threads--;
       daemon = false;
 
--- a/src/hotspot/share/runtime/thread.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/thread.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -397,11 +397,15 @@
 
   // Manage Thread::current()
   void initialize_thread_current();
-  void clear_thread_current(); // TLS cleanup needed before threads terminate
+  static void clear_thread_current(); // TLS cleanup needed before threads terminate
+
+ protected:
+  // To be implemented by children.
+  virtual void run() = 0;
 
  public:
-  // thread entry point
-  virtual void run();
+  // invokes <ChildThreadClass>::run(), with common preparations and cleanups.
+  void call_run();
 
   // Testers
   virtual bool is_VM_thread()       const            { return false; }
@@ -643,6 +647,7 @@
   void    set_stack_size(size_t size)  { _stack_size = size; }
   address stack_end()  const           { return stack_base() - stack_size(); }
   void    record_stack_base_and_size();
+  void    register_thread_stack_with_NMT() NOT_NMT_RETURN;
 
   bool    on_local_stack(address adr) const {
     // QQQ this has knowledge of direction, ought to be a stack method
@@ -1266,10 +1271,6 @@
     return _handshake.has_operation();
   }
 
-  void cancel_handshake() {
-    _handshake.cancel(this);
-  }
-
   void handshake_process_by_self() {
     _handshake.process_by_self(this);
   }
--- a/src/hotspot/share/runtime/threadSMR.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/threadSMR.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -989,11 +989,6 @@
     // Retry the whole scenario.
   }
 
-  if (ThreadLocalHandshakes) {
-    // The thread is about to be deleted so cancel any handshake.
-    thread->cancel_handshake();
-  }
-
   delete thread;
   if (EnableThreadSMRStatistics) {
     timer.stop();
--- a/src/hotspot/share/runtime/tieredThresholdPolicy.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/tieredThresholdPolicy.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -38,6 +38,9 @@
 
 #ifdef TIERED
 
+#include "c1/c1_Compiler.hpp"
+#include "opto/c2compiler.hpp"
+
 template<CompLevel level>
 bool TieredThresholdPolicy::call_predicate_helper(int i, int b, double scale, Method* method) {
   double threshold_scaling;
@@ -215,6 +218,7 @@
 
 void TieredThresholdPolicy::initialize() {
   int count = CICompilerCount;
+  bool c1_only = TieredStopAtLevel < CompLevel_full_optimization;
 #ifdef _LP64
   // Turn on ergonomic compiler count selection
   if (FLAG_IS_DEFAULT(CICompilerCountPerCPU) && FLAG_IS_DEFAULT(CICompilerCount)) {
@@ -225,6 +229,15 @@
     int log_cpu = log2_intptr(os::active_processor_count());
     int loglog_cpu = log2_intptr(MAX2(log_cpu, 1));
     count = MAX2(log_cpu * loglog_cpu * 3 / 2, 2);
+    // Make sure there is enough space in the code cache to hold all the compiler buffers
+    size_t c1_size = Compiler::code_buffer_size();
+    size_t c2_size = C2Compiler::initial_code_buffer_size();
+    size_t buffer_size = c1_only ? c1_size : (c1_size/3 + 2*c2_size/3);
+    int max_count = (ReservedCodeCacheSize - (CodeCacheMinimumUseSpace DEBUG_ONLY(* 3))) / (int)buffer_size;
+    if (count > max_count) {
+      // Lower the compiler count such that all buffers fit into the code cache
+      count = MAX2(max_count, c1_only ? 1 : 2);
+    }
     FLAG_SET_ERGO(intx, CICompilerCount, count);
   }
 #else
@@ -241,7 +254,7 @@
   }
 #endif
 
-  if (TieredStopAtLevel < CompLevel_full_optimization) {
+  if (c1_only) {
     // No C2 compiler thread required
     set_c1_count(count);
   } else {
--- a/src/hotspot/share/runtime/vmThread.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/runtime/vmThread.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -243,7 +243,7 @@
   assert(this == vm_thread(), "check");
 
   this->initialize_named_thread();
-  this->record_stack_base_and_size();
+
   // Notify_lock wait checks on active_handles() to rewait in
   // case of spurious wakeup, it should wait on the last
   // value set prior to the notify
--- a/src/hotspot/share/services/threadService.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/services/threadService.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -57,8 +57,8 @@
 PerfVariable* ThreadService::_live_threads_count = NULL;
 PerfVariable* ThreadService::_peak_threads_count = NULL;
 PerfVariable* ThreadService::_daemon_threads_count = NULL;
-volatile int ThreadService::_exiting_threads_count = 0;
-volatile int ThreadService::_exiting_daemon_threads_count = 0;
+volatile int ThreadService::_atomic_threads_count = 0;
+volatile int ThreadService::_atomic_daemon_threads_count = 0;
 
 ThreadDumpResult* ThreadService::_threaddump_list = NULL;
 
@@ -101,50 +101,104 @@
   _peak_threads_count->set_value(get_live_thread_count());
 }
 
+static bool is_hidden_thread(JavaThread *thread) {
+  // hide VM internal or JVMTI agent threads
+  return thread->is_hidden_from_external_view() || thread->is_jvmti_agent_thread();
+}
+
 void ThreadService::add_thread(JavaThread* thread, bool daemon) {
-  // Do not count VM internal or JVMTI agent threads
-  if (thread->is_hidden_from_external_view() ||
-      thread->is_jvmti_agent_thread()) {
+  assert(Threads_lock->owned_by_self(), "must have threads lock");
+
+  // Do not count hidden threads
+  if (is_hidden_thread(thread)) {
     return;
   }
 
   _total_threads_count->inc();
   _live_threads_count->inc();
+  Atomic::inc(&_atomic_threads_count);
+  int count = _atomic_threads_count;
 
-  if (_live_threads_count->get_value() > _peak_threads_count->get_value()) {
-    _peak_threads_count->set_value(_live_threads_count->get_value());
+  if (count > _peak_threads_count->get_value()) {
+    _peak_threads_count->set_value(count);
   }
 
   if (daemon) {
     _daemon_threads_count->inc();
+    Atomic::inc(&_atomic_daemon_threads_count);
+  }
+}
+
+void ThreadService::decrement_thread_counts(JavaThread* jt, bool daemon) {
+  Atomic::dec(&_atomic_threads_count);
+
+  if (daemon) {
+    Atomic::dec(&_atomic_daemon_threads_count);
   }
 }
 
 void ThreadService::remove_thread(JavaThread* thread, bool daemon) {
-  Atomic::dec(&_exiting_threads_count);
-  if (daemon) {
-    Atomic::dec(&_exiting_daemon_threads_count);
-  }
+  assert(Threads_lock->owned_by_self(), "must have threads lock");
 
-  if (thread->is_hidden_from_external_view() ||
-      thread->is_jvmti_agent_thread()) {
+  // Do not count hidden threads
+  if (is_hidden_thread(thread)) {
     return;
   }
 
-  _live_threads_count->set_value(_live_threads_count->get_value() - 1);
+  assert(!thread->is_terminated(), "must not be terminated");
+  if (!thread->is_exiting()) {
+    // JavaThread::exit() skipped calling current_thread_exiting()
+    decrement_thread_counts(thread, daemon);
+  }
+
+  int daemon_count = _atomic_daemon_threads_count;
+  int count = _atomic_threads_count;
+
+  // Counts are incremented at the same time, but atomic counts are
+  // decremented earlier than perf counts.
+  assert(_live_threads_count->get_value() > count,
+    "thread count mismatch %d : %d",
+    (int)_live_threads_count->get_value(), count);
+
+  _live_threads_count->dec(1);
   if (daemon) {
-    _daemon_threads_count->set_value(_daemon_threads_count->get_value() - 1);
+    assert(_daemon_threads_count->get_value() > daemon_count,
+      "thread count mismatch %d : %d",
+      (int)_daemon_threads_count->get_value(), daemon_count);
+
+    _daemon_threads_count->dec(1);
   }
+
+  // Counts are incremented at the same time, but atomic counts are
+  // decremented earlier than perf counts.
+  assert(_daemon_threads_count->get_value() >= daemon_count,
+    "thread count mismatch %d : %d",
+    (int)_daemon_threads_count->get_value(), daemon_count);
+  assert(_live_threads_count->get_value() >= count,
+    "thread count mismatch %d : %d",
+    (int)_live_threads_count->get_value(), count);
+  assert(_live_threads_count->get_value() > 0 ||
+    (_live_threads_count->get_value() == 0 && count == 0 &&
+    _daemon_threads_count->get_value() == 0 && daemon_count == 0),
+    "thread counts should reach 0 at the same time, live %d,%d daemon %d,%d",
+    (int)_live_threads_count->get_value(), count,
+    (int)_daemon_threads_count->get_value(), daemon_count);
+  assert(_daemon_threads_count->get_value() > 0 ||
+    (_daemon_threads_count->get_value() == 0 && daemon_count == 0),
+    "thread counts should reach 0 at the same time, daemon %d,%d",
+    (int)_daemon_threads_count->get_value(), daemon_count);
 }
 
-void ThreadService::current_thread_exiting(JavaThread* jt) {
-  assert(jt == JavaThread::current(), "Called by current thread");
-  Atomic::inc(&_exiting_threads_count);
+void ThreadService::current_thread_exiting(JavaThread* jt, bool daemon) {
+  // Do not count hidden threads
+  if (is_hidden_thread(jt)) {
+    return;
+  }
 
-  oop threadObj = jt->threadObj();
-  if (threadObj != NULL && java_lang_Thread::is_daemon(threadObj)) {
-    Atomic::inc(&_exiting_daemon_threads_count);
-  }
+  assert(jt == JavaThread::current(), "Called by current thread");
+  assert(!jt->is_terminated() && jt->is_exiting(), "must be exiting");
+
+  decrement_thread_counts(jt, daemon);
 }
 
 // FIXME: JVMTI should call this function
--- a/src/hotspot/share/services/threadService.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/services/threadService.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -58,10 +58,12 @@
   static PerfVariable* _peak_threads_count;
   static PerfVariable* _daemon_threads_count;
 
-  // These 2 counters are atomically incremented once the thread is exiting.
-  // They will be atomically decremented when ThreadService::remove_thread is called.
-  static volatile int  _exiting_threads_count;
-  static volatile int  _exiting_daemon_threads_count;
+  // These 2 counters are like the above thread counts, but are
+  // atomically decremented in ThreadService::current_thread_exiting instead of
+  // ThreadService::remove_thread, so that the thread count is updated before
+  // Thread.join() returns.
+  static volatile int  _atomic_threads_count;
+  static volatile int  _atomic_daemon_threads_count;
 
   static bool          _thread_monitoring_contention_enabled;
   static bool          _thread_cpu_time_enabled;
@@ -72,11 +74,13 @@
   // requested by multiple threads concurrently.
   static ThreadDumpResult* _threaddump_list;
 
+  static void decrement_thread_counts(JavaThread* jt, bool daemon);
+
 public:
   static void init();
   static void add_thread(JavaThread* thread, bool daemon);
   static void remove_thread(JavaThread* thread, bool daemon);
-  static void current_thread_exiting(JavaThread* jt);
+  static void current_thread_exiting(JavaThread* jt, bool daemon);
 
   static bool set_thread_monitoring_contention(bool flag);
   static bool is_thread_monitoring_contention() { return _thread_monitoring_contention_enabled; }
@@ -89,11 +93,8 @@
 
   static jlong get_total_thread_count()       { return _total_threads_count->get_value(); }
   static jlong get_peak_thread_count()        { return _peak_threads_count->get_value(); }
-  static jlong get_live_thread_count()        { return _live_threads_count->get_value() - _exiting_threads_count; }
-  static jlong get_daemon_thread_count()      { return _daemon_threads_count->get_value() - _exiting_daemon_threads_count; }
-
-  static int   exiting_threads_count()        { return _exiting_threads_count; }
-  static int   exiting_daemon_threads_count() { return _exiting_daemon_threads_count; }
+  static jlong get_live_thread_count()        { return _atomic_threads_count; }
+  static jlong get_daemon_thread_count()      { return _atomic_daemon_threads_count; }
 
   // Support for thread dump
   static void   add_thread_dump(ThreadDumpResult* dump);
--- a/src/hotspot/share/utilities/concurrentHashTable.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/concurrentHashTable.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -25,6 +25,10 @@
 #ifndef SHARE_UTILITIES_CONCURRENT_HASH_TABLE_HPP
 #define SHARE_UTILITIES_CONCURRENT_HASH_TABLE_HPP
 
+#include "memory/allocation.hpp"
+#include "utilities/globalCounter.hpp"
+#include "utilities/globalDefinitions.hpp"
+
 // A mostly concurrent-hash-table where the read-side is wait-free, inserts are
 // CAS and deletes mutual exclude each other on per bucket-basis. VALUE is the
 // type kept inside each Node and CONFIG contains hash and allocation methods.
@@ -247,6 +251,7 @@
    protected:
     Thread* _thread;
     ConcurrentHashTable<VALUE, CONFIG, F>* _cht;
+    GlobalCounter::CSContext _cs_context;
    public:
     ScopedCS(Thread* thread, ConcurrentHashTable<VALUE, CONFIG, F>* cht);
     ~ScopedCS();
--- a/src/hotspot/share/utilities/concurrentHashTable.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/concurrentHashTable.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -208,9 +208,10 @@
 template <typename VALUE, typename CONFIG, MEMFLAGS F>
 inline ConcurrentHashTable<VALUE, CONFIG, F>::
   ScopedCS::ScopedCS(Thread* thread, ConcurrentHashTable<VALUE, CONFIG, F>* cht)
-    : _thread(thread), _cht(cht)
+    : _thread(thread),
+      _cht(cht),
+      _cs_context(GlobalCounter::critical_section_begin(_thread))
 {
-  GlobalCounter::critical_section_begin(_thread);
   // This version is published now.
   if (OrderAccess::load_acquire(&_cht->_invisible_epoch) != NULL) {
     OrderAccess::release_store_fence(&_cht->_invisible_epoch, (Thread*)NULL);
@@ -221,7 +222,7 @@
 inline ConcurrentHashTable<VALUE, CONFIG, F>::
   ScopedCS::~ScopedCS()
 {
-  GlobalCounter::critical_section_end(_thread);
+  GlobalCounter::critical_section_end(_thread, _cs_context);
 }
 
 // BaseConfig
@@ -502,7 +503,7 @@
   // concurrent single deletes. The _invisible_epoch can only be used by the
   // owner of _resize_lock, us here. There we should not changed it in our
   // own read-side.
-  GlobalCounter::critical_section_begin(thread);
+  GlobalCounter::CSContext cs_context = GlobalCounter::critical_section_begin(thread);
   for (size_t bucket_it = start_idx; bucket_it < stop_idx; bucket_it++) {
     Bucket* bucket = table->get_bucket(bucket_it);
     Bucket* prefetch_bucket = (bucket_it+1) < stop_idx ?
@@ -514,7 +515,7 @@
         continue;
     }
 
-    GlobalCounter::critical_section_end(thread);
+    GlobalCounter::critical_section_end(thread, cs_context);
     // We left critical section but the bucket cannot be removed while we hold
     // the _resize_lock.
     bucket->lock();
@@ -530,9 +531,9 @@
       Node::destroy_node(ndel[node_it]);
       DEBUG_ONLY(ndel[node_it] = (Node*)POISON_PTR;)
     }
-    GlobalCounter::critical_section_begin(thread);
+    cs_context = GlobalCounter::critical_section_begin(thread);
   }
-  GlobalCounter::critical_section_end(thread);
+  GlobalCounter::critical_section_end(thread, cs_context);
 }
 
 template <typename VALUE, typename CONFIG, MEMFLAGS F>
--- a/src/hotspot/share/utilities/globalCounter.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/globalCounter.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -59,8 +59,8 @@
 void GlobalCounter::write_synchronize() {
   assert((*Thread::current()->get_rcu_counter() & COUNTER_ACTIVE) == 0x0, "must be outside a critcal section");
   // Atomic::add must provide fence since we have storeload dependency.
-  volatile uintx gbl_cnt = Atomic::add((uintx)COUNTER_INCREMENT, &_global_counter._counter,
-                                       memory_order_conservative);
+  uintx gbl_cnt = Atomic::add(COUNTER_INCREMENT, &_global_counter._counter);
+
   // Handle bootstrap
   if (Threads::number_of_threads() == 0) {
     return;
--- a/src/hotspot/share/utilities/globalCounter.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/globalCounter.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -33,8 +33,9 @@
 // The GlobalCounter provides a synchronization mechanism between threads for
 // safe memory reclamation and other ABA problems. All readers must call
 // critical_section_begin before reading the volatile data and
-// critical_section_end afterwards. The write side must call write_synchronize
-// before reclaming the memory. The read-path only does an uncontented store
+// critical_section_end afterwards. Such read-side critical sections may
+// be properly nested. The write side must call write_synchronize
+// before reclaming the memory. The read-path only does an uncontended store
 // to a thread-local-storage and fence to stop any loads from floating up, thus
 // light weight and wait-free. The write-side is more heavy since it must check
 // all readers and wait until they have left the generation. (a system memory
@@ -62,20 +63,26 @@
   class CounterThreadCheck;
 
  public:
-  // Must be called before accessing the data. Only threads accessible lock-free
-  // can used this. Those included now are all Threads on SMR ThreadsList and
-  // the VMThread. Nesting is not yet supported.
-  static void critical_section_begin(Thread *thread);
+  // The type of the critical section context passed from
+  // critical_section_begin() to critical_section_end().
+  typedef uintx CSContext;
 
-  // Must be called after finished accessing the data.
-  // Do not provide fence, allows load/stores moving into the critical section.
-  static void critical_section_end(Thread *thread);
+  // Must be called before accessing the data.  The result must be passed
+  // to the associated call to critical_section_end().  Acts as a full
+  // memory barrier before the code within the critical section.
+  static CSContext critical_section_begin(Thread *thread);
+
+  // Must be called after finished accessing the data.  The context
+  // must be the result of the associated initiating critical_section_begin().
+  // Acts as a release memory barrier after the code within the critical
+  // section.
+  static void critical_section_end(Thread *thread, CSContext context);
 
   // Make the data inaccessible to readers before calling. When this call
-  // returns it's safe to reclaim the data.
+  // returns it's safe to reclaim the data.  Acts as a full memory barrier.
   static void write_synchronize();
 
-  // A scoped object for a reads-side critical-section.
+  // A scoped object for a read-side critical-section.
   class CriticalSection;
 };
 
--- a/src/hotspot/share/utilities/globalCounter.inline.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/globalCounter.inline.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -25,34 +25,46 @@
 #ifndef SHARE_UTILITIES_GLOBAL_COUNTER_INLINE_HPP
 #define SHARE_UTILITIES_GLOBAL_COUNTER_INLINE_HPP
 
+#include "runtime/atomic.hpp"
 #include "runtime/orderAccess.hpp"
 #include "runtime/thread.inline.hpp"
 #include "utilities/globalCounter.hpp"
 
-inline void GlobalCounter::critical_section_begin(Thread *thread) {
+inline GlobalCounter::CSContext
+GlobalCounter::critical_section_begin(Thread *thread) {
   assert(thread == Thread::current(), "must be current thread");
-  assert((*thread->get_rcu_counter() & COUNTER_ACTIVE) == 0x0, "nested critical sections, not supported yet");
-  uintx gbl_cnt = OrderAccess::load_acquire(&_global_counter._counter);
-  OrderAccess::release_store_fence(thread->get_rcu_counter(), gbl_cnt | COUNTER_ACTIVE);
+  uintx old_cnt = Atomic::load(thread->get_rcu_counter());
+  // Retain the old counter value if already active, e.g. nested.
+  // Otherwise, set the counter to the current version + active bit.
+  uintx new_cnt = old_cnt;
+  if ((new_cnt & COUNTER_ACTIVE) == 0) {
+    new_cnt = Atomic::load(&_global_counter._counter) | COUNTER_ACTIVE;
+  }
+  OrderAccess::release_store_fence(thread->get_rcu_counter(), new_cnt);
+  return static_cast<CSContext>(old_cnt);
 }
 
-inline void GlobalCounter::critical_section_end(Thread *thread) {
+inline void
+GlobalCounter::critical_section_end(Thread *thread, CSContext context) {
   assert(thread == Thread::current(), "must be current thread");
   assert((*thread->get_rcu_counter() & COUNTER_ACTIVE) == COUNTER_ACTIVE, "must be in critical section");
-  // Mainly for debugging we set it to 'now'.
-  uintx gbl_cnt = OrderAccess::load_acquire(&_global_counter._counter);
-  OrderAccess::release_store(thread->get_rcu_counter(), gbl_cnt);
+  // Restore the counter value from before the associated begin.
+  OrderAccess::release_store(thread->get_rcu_counter(),
+                             static_cast<uintx>(context));
 }
 
 class GlobalCounter::CriticalSection {
  private:
   Thread* _thread;
+  CSContext _context;
  public:
-  inline CriticalSection(Thread* thread) : _thread(thread) {
-    GlobalCounter::critical_section_begin(_thread);
-  }
+  inline CriticalSection(Thread* thread) :
+    _thread(thread),
+    _context(GlobalCounter::critical_section_begin(_thread))
+  {}
+
   inline  ~CriticalSection() {
-    GlobalCounter::critical_section_end(_thread);
+    GlobalCounter::critical_section_end(_thread, _context);
   }
 };
 
--- a/src/hotspot/share/utilities/internalVMTests.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/internalVMTests.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -43,13 +43,6 @@
 void InternalVMTests::run() {
   tty->print_cr("Running internal VM tests");
   run_unit_test(TestReserveMemorySpecial_test);
-  run_unit_test(TestMetaspaceUtils_test);
-  run_unit_test(GCTimer_test);
-  // These tests require the "C" locale to correctly parse decimal values
-  const char* orig_locale = setlocale(LC_NUMERIC, NULL);
-  setlocale(LC_NUMERIC, "C");
-  run_unit_test(DirectivesParser_test);
-  setlocale(LC_NUMERIC, orig_locale);
   tty->print_cr("All internal VM tests passed");
 }
 
--- a/src/hotspot/share/utilities/macros.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/macros.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -541,10 +541,9 @@
 #define NOT_E500V2(code) code
 #endif
 
-// Note: There are three ARM ports. They set the following in the makefiles:
-// 1. Closed 32-bit port:   -DARM -DARM32           -DTARGET_ARCH_arm
-// 2. Closed 64-bit port:   -DARM -DAARCH64 -D_LP64 -DTARGET_ARCH_arm
-// 3. Open   64-bit port:         -DAARCH64 -D_LP64 -DTARGET_ARCH_aaarch64
+// Note: There are two ARM ports. They set the following in the makefiles:
+// 1. 32-bit port:   -DARM -DARM32 -DTARGET_ARCH_arm
+// 2. 64-bit port:   -DAARCH64 -D_LP64 -DTARGET_ARCH_aaarch64
 #ifdef ARM
 #define ARM_ONLY(code) code
 #define NOT_ARM(code)
--- a/src/hotspot/share/utilities/singleWriterSynchronizer.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/singleWriterSynchronizer.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -36,7 +36,7 @@
 // Any number of threads may enter critical sections associated with a
 // synchronizer object.  One (at a time) other thread may wait for the
 // completion of all critical sections for the synchronizer object
-// that were extent when the wait was initiated.  Usage is that there
+// that were extant when the wait was initiated.  Usage is that there
 // is some state that can be accessed either before or after some
 // change.  An accessing thread performs the access within a critical
 // section.  A writer thread performs the state change, and then waits
@@ -46,9 +46,7 @@
 // Generally, GlobalCounter should be used instead of this class, as
 // GlobalCounter has measurably better performance and doesn't have
 // the single writer at a time restriction.  Use this only in
-// situations where GlobalCounter won't work for some reason, such as
-// nesting.  But note that nesting often indicates other problems, and
-// may risk deadlock.
+// situations where GlobalCounter won't work for some reason.
 class SingleWriterSynchronizer {
   volatile uint _enter;
   volatile uint _exit[2];
--- a/src/hotspot/share/utilities/ticks.hpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/hotspot/share/utilities/ticks.hpp	Thu Nov 01 09:01:15 2018 -0400
@@ -233,7 +233,7 @@
   TimeInstant(jlong ticks) : Rep<TimeSource>(ticks) {}
   friend class GranularTimer;
   friend class ObjectSample;
-  //  GC VM tests
+  // GC unit tests
   friend class TimePartitionPhasesIteratorTest;
   friend class GCTimerTest;
 };
--- a/src/java.base/aix/native/libjli/java_md_aix.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/aix/native/libjli/java_md_aix.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1,10 +1,12 @@
 /*
- * Copyright (c) 2016 SAP SE. All rights reserved.
+ * Copyright (c) 2016, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- a/src/java.base/aix/native/libjli/java_md_aix.h	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/aix/native/libjli/java_md_aix.h	Thu Nov 01 09:01:15 2018 -0400
@@ -1,10 +1,12 @@
 /*
- * Copyright (c) 2016 SAP SE. All rights reserved.
+ * Copyright (c) 2016, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- a/src/java.base/macosx/classes/module-info.java.extra	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-exports jdk.internal.loader to java.desktop;
--- a/src/java.base/macosx/native/libjli/java_md_macosx.m	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/macosx/native/libjli/java_md_macosx.m	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -761,7 +761,7 @@
  * Note there is a callback on this function from the splashscreen logic,
  * this as well SetJavaVMValue() needs to be simplified.
  */
-JavaVM*
+JNIEXPORT JavaVM* JNICALL
 JLI_GetJavaVMInstance()
 {
     return jvmInstance;
--- a/src/java.base/share/classes/java/lang/StrictMath.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/lang/StrictMath.java	Thu Nov 01 09:01:15 2018 -0400
@@ -40,7 +40,7 @@
  * algorithms are available from the well-known network library
  * {@code netlib} as the package "Freely Distributable Math
  * Library," <a
- * href="ftp://ftp.netlib.org/fdlibm.tar">{@code fdlibm}</a>. These
+ * href="https://www.netlib.org/fdlibm/">{@code fdlibm}</a>. These
  * algorithms, which are written in the C programming language, are
  * then to be understood as executed with all floating-point
  * operations following the rules of Java floating-point arithmetic.
--- a/src/java.base/share/classes/java/lang/String.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/lang/String.java	Thu Nov 01 09:01:15 2018 -0400
@@ -2821,7 +2821,6 @@
      * <p>
      * If {@code n == 0} then the line remains unchanged. However, line
      * terminators are still normalized.
-     * <p>
      *
      * @param n  number of leading
      *           {@link Character#isWhitespace(int) white space characters}
@@ -2968,7 +2967,9 @@
                              .mapToInt(String::indexOfNonWhitespace)
                              .min()
                              .orElse(0);
-        return indent(n - outdent, true);
+        // overflow-conscious code
+        int indent = n - outdent;
+        return indent(indent > n ? Integer.MIN_VALUE : indent, true);
     }
 
     /**
--- a/src/java.base/share/classes/java/lang/StringConcatHelper.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/lang/StringConcatHelper.java	Thu Nov 01 09:01:15 2018 -0400
@@ -37,119 +37,104 @@
     }
 
     /**
-     * Check for overflow, throw the exception on overflow.
-     * @param len String length
-     * @return length
+     * Check for overflow, throw exception on overflow.
+     * @param lengthCoder String length and coder
+     * @return lengthCoder
      */
-    private static int checkOverflow(int len) {
-        if (len < 0) {
-            throw new OutOfMemoryError("Overflow: String length out of range");
+    private static long checkOverflow(long lengthCoder) {
+        if ((int)lengthCoder >= 0) {
+            return lengthCoder;
         }
-        return len;
+        throw new OutOfMemoryError("Overflow: String length out of range");
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, boolean value) {
+    static long mix(long current, boolean value) {
         return checkOverflow(current + (value ? 4 : 5));
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, byte value) {
-        return mixLen(current, (int)value);
+    static long mix(long current, byte value) {
+        return mix(current, (int)value);
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, char value) {
-        return checkOverflow(current + 1);
+    static long mix(long current, char value) {
+        return checkOverflow(current + 1) | (StringLatin1.canEncode(value) ? 0 : UTF16);
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, short value) {
-        return mixLen(current, (int)value);
+    static long mix(long current, short value) {
+        return mix(current, (int)value);
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, int value) {
+    static long mix(long current, int value) {
         return checkOverflow(current + Integer.stringSize(value));
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
+     * @return new length and coder
      */
-    static int mixLen(int current, long value) {
+    static long mix(long current, long value) {
         return checkOverflow(current + Long.stringSize(value));
     }
 
     /**
-     * Mix value length into current length
+     * Mix value length and coder into current length and coder.
      * @param current current length
      * @param value   value to mix in
-     * @return new length
-     */
-    static int mixLen(int current, String value) {
-        return checkOverflow(current + value.length());
-    }
-
-    /**
-     * Mix coder into current coder
-     * @param current current coder
-     * @param value   value to mix in
-     * @return new coder
+     * @return new length and coder
      */
-    static byte mixCoder(byte current, char value) {
-        return (byte)(current | (StringLatin1.canEncode(value) ? 0 : 1));
-    }
-
-    /**
-     * Mix coder into current coder
-     * @param current current coder
-     * @param value   value to mix in
-     * @return new coder
-     */
-    static byte mixCoder(byte current, String value) {
-        return (byte)(current | value.coder());
+    static long mix(long current, String value) {
+        current += value.length();
+        if (value.coder() == String.UTF16) {
+            current |= UTF16;
+        }
+        return checkOverflow(current);
     }
 
     /**
      * Prepends the stringly representation of boolean value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value boolean value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      boolean value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, boolean value) {
-        if (coder == String.LATIN1) {
+    static long prepend(long indexCoder, byte[] buf, boolean value) {
+        int index = (int)indexCoder;
+        if (indexCoder < UTF16) {
             if (value) {
                 buf[--index] = 'e';
                 buf[--index] = 'u';
@@ -162,6 +147,7 @@
                 buf[--index] = 'a';
                 buf[--index] = 'f';
             }
+            return index;
         } else {
             if (value) {
                 StringUTF16.putChar(buf, --index, 'e');
@@ -175,72 +161,72 @@
                 StringUTF16.putChar(buf, --index, 'a');
                 StringUTF16.putChar(buf, --index, 'f');
             }
+            return index | UTF16;
         }
-        return index;
     }
 
     /**
      * Prepends the stringly representation of byte value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value byte value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      byte value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, byte value) {
-        return prepend(index, buf, coder, (int)value);
+    static long prepend(long indexCoder, byte[] buf, byte value) {
+        return prepend(indexCoder, buf, (int)value);
     }
 
     /**
      * Prepends the stringly representation of char value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value char value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      char value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, char value) {
-        if (coder == String.LATIN1) {
-            buf[--index] = (byte) (value & 0xFF);
+    static long prepend(long indexCoder, byte[] buf, char value) {
+        if (indexCoder < UTF16) {
+            buf[(int)(--indexCoder)] = (byte) (value & 0xFF);
         } else {
-            StringUTF16.putChar(buf, --index, value);
+            StringUTF16.putChar(buf, (int)(--indexCoder), value);
         }
-        return index;
+        return indexCoder;
     }
 
     /**
      * Prepends the stringly representation of short value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value short value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      short value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, short value) {
-        return prepend(index, buf, coder, (int)value);
+    static long prepend(long indexCoder, byte[] buf, short value) {
+        return prepend(indexCoder, buf, (int)value);
     }
 
     /**
      * Prepends the stringly representation of integer value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value integer value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      integer value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, int value) {
-        if (coder == String.LATIN1) {
-            return Integer.getChars(value, index, buf);
+    static long prepend(long indexCoder, byte[] buf, int value) {
+        if (indexCoder < UTF16) {
+            return Integer.getChars(value, (int)indexCoder, buf);
         } else {
-            return StringUTF16.getChars(value, index, buf);
+            return StringUTF16.getChars(value, (int)indexCoder, buf) | UTF16;
         }
     }
 
@@ -248,17 +234,17 @@
      * Prepends the stringly representation of long value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value long value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      long value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, long value) {
-        if (coder == String.LATIN1) {
-            return Long.getChars(value, index, buf);
+    static long prepend(long indexCoder, byte[] buf, long value) {
+        if (indexCoder < UTF16) {
+            return Long.getChars(value, (int)indexCoder, buf);
         } else {
-            return StringUTF16.getChars(value, index, buf);
+            return StringUTF16.getChars(value, (int)indexCoder, buf) | UTF16;
         }
     }
 
@@ -266,39 +252,49 @@
      * Prepends the stringly representation of String value into buffer,
      * given the coder and final index. Index is measured in chars, not in bytes!
      *
-     * @param index final char index in the buffer
-     * @param buf   buffer to append to
-     * @param coder coder to add with
-     * @param value String value to encode
-     * @return new index
+     * @param indexCoder final char index in the buffer, along with coder packed
+     *                   into higher bits.
+     * @param buf        buffer to append to
+     * @param value      String value to encode
+     * @return           updated index (coder value retained)
      */
-    static int prepend(int index, byte[] buf, byte coder, String value) {
-        index -= value.length();
-        value.getBytes(buf, index, coder);
-        return index;
+    static long prepend(long indexCoder, byte[] buf, String value) {
+        indexCoder -= value.length();
+        if (indexCoder < UTF16) {
+            value.getBytes(buf, (int)indexCoder, String.LATIN1);
+        } else {
+            value.getBytes(buf, (int)indexCoder, String.UTF16);
+        }
+        return indexCoder;
     }
 
     /**
      * Instantiates the String with given buffer and coder
-     * @param buf     buffer to use
-     * @param index   remaining index
-     * @param coder   coder to use
-     * @return String resulting string
+     * @param buf           buffer to use
+     * @param indexCoder    remaining index (should be zero) and coder
+     * @return String       resulting string
      */
-    static String newString(byte[] buf, int index, byte coder) {
+    static String newString(byte[] buf, long indexCoder) {
         // Use the private, non-copying constructor (unsafe!)
-        if (index != 0) {
-            throw new InternalError("Storage is not completely initialized, " + index + " bytes left");
+        if (indexCoder == LATIN1) {
+            return new String(buf, String.LATIN1);
+        } else if (indexCoder == UTF16) {
+            return new String(buf, String.UTF16);
+        } else {
+            throw new InternalError("Storage is not completely initialized, " + (int)indexCoder + " bytes left");
         }
-        return new String(buf, coder);
     }
 
+    private static final long LATIN1 = (long)String.LATIN1 << 32;
+
+    private static final long UTF16 = (long)String.UTF16 << 32;
+
     /**
      * Provides the initial coder for the String.
-     * @return initial coder
+     * @return initial coder, adjusted into the upper half
      */
-    static byte initialCoder() {
-        return String.COMPACT_STRINGS ? String.LATIN1 : String.UTF16;
+    static long initialCoder() {
+        return String.COMPACT_STRINGS ? LATIN1 : UTF16;
     }
 
 }
--- a/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java	Thu Nov 01 09:01:15 2018 -0400
@@ -318,6 +318,13 @@
         }
 
         @Override
+        public String toString() {
+            return "Recipe{" +
+                    "elements=" + elements +
+                    '}';
+        }
+
+        @Override
         public int hashCode() {
             return elements.hashCode();
         }
@@ -368,6 +375,15 @@
         }
 
         @Override
+        public String toString() {
+            return "RecipeElement{" +
+                    "value='" + value + '\'' +
+                    ", argPos=" + argPos +
+                    ", tag=" + tag +
+                    '}';
+        }
+
+        @Override
         public int hashCode() {
             return (int)tag;
         }
@@ -1520,24 +1536,24 @@
             }
 
             // Start building the combinator tree. The tree "starts" with (<parameters>)String, and "finishes"
-            // with the (int, byte[], byte)String in String helper. The combinators are assembled bottom-up,
-            // which makes the code arguably hard to read.
+            // with the (byte[], long)String shape to invoke newString in StringConcatHelper. The combinators are
+            // assembled bottom-up, which makes the code arguably hard to read.
 
             // Drop all remaining parameter types, leave only helper arguments:
             MethodHandle mh;
 
-            mh = MethodHandles.dropArguments(NEW_STRING, 3, ptypes);
+            mh = MethodHandles.dropArguments(NEW_STRING, 2, ptypes);
 
-            // Mix in prependers. This happens when (byte[], int, byte) = (storage, index, coder) is already
-            // known from the combinators below. We are assembling the string backwards, so "index" is the
-            // *ending* index.
+            // Mix in prependers. This happens when (byte[], long) = (storage, indexCoder) is already
+            // known from the combinators below. We are assembling the string backwards, so the index coded
+            // into indexCoder is the *ending* index.
             for (RecipeElement el : recipe.getElements()) {
                 // Do the prepend, and put "new" index at index 1
                 switch (el.getTag()) {
                     case TAG_CONST: {
-                        MethodHandle prepender = MethodHandles.insertArguments(prepender(String.class), 3, el.getValue());
+                        MethodHandle prepender = MethodHandles.insertArguments(prepender(String.class), 2, el.getValue());
                         mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, prepender,
-                                1, 0, 2 // index, storage, coder
+                                1, 0 // indexCoder, storage
                         );
                         break;
                     }
@@ -1545,8 +1561,8 @@
                         int pos = el.getArgPos();
                         MethodHandle prepender = prepender(ptypes[pos]);
                         mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, prepender,
-                                1, 0, 2, // index, storage, coder
-                                3 + pos  // selected argument
+                                1, 0, // indexCoder, storage
+                                2 + pos  // selected argument
                         );
                         break;
                     }
@@ -1557,7 +1573,7 @@
 
             // Fold in byte[] instantiation at argument 0
             mh = MethodHandles.foldArgumentsWithCombiner(mh, 0, NEW_ARRAY,
-                    1, 2 // index, coder
+                    1 // index
             );
 
             // Start combining length and coder mixers.
@@ -1569,47 +1585,28 @@
             // Coders are more interesting. Only Object, String and char arguments (and constants)
             // can have non-Latin1 encoding. It is easier to blindly convert constants to String,
             // and deduce the coder from there. Arguments would be either converted to Strings
-            // during the initial filtering, or handled by primitive specializations in CODER_MIXERS.
+            // during the initial filtering, or handled by specializations in MIXERS.
             //
-            // The method handle shape before and after all length and coder mixers is:
-            //   (int, byte, <args>)String = ("index", "coder", <args>)
-            byte initialCoder = INITIAL_CODER;
-            int initialLen = 0;    // initial length, in characters
+            // The method handle shape before and after all mixers are combined in is:
+            //   (long, <args>)String = ("indexCoder", <args>)
+            long initialLengthCoder = INITIAL_CODER;
             for (RecipeElement el : recipe.getElements()) {
                 switch (el.getTag()) {
                     case TAG_CONST:
                         String constant = el.getValue();
-                        initialCoder = (byte) coderMixer(String.class).invoke(initialCoder, constant);
-                        initialLen += constant.length();
+                        initialLengthCoder = (long)mixer(String.class).invoke(initialLengthCoder, constant);
                         break;
                     case TAG_ARG:
                         int ac = el.getArgPos();
 
                         Class<?> argClass = ptypes[ac];
-                        MethodHandle lm = lengthMixer(argClass);
-
-                        if (argClass.isPrimitive() && argClass != char.class) {
-                            // Compute new "index" in-place using old value plus the appropriate argument.
-                            mh = MethodHandles.filterArgumentsWithCombiner(mh, 0, lm,
-                                    0, // old-index
-                                    2 + ac // selected argument
-                            );
-
-                        } else {
-                            MethodHandle cm = coderMixer(argClass);
+                        MethodHandle mix = mixer(argClass);
 
-                            // Compute new "index" in-place using old value plus the appropriate argument.
-                            mh = MethodHandles.filterArgumentsWithCombiner(mh, 0, lm,
-                                    0, // old-index
-                                    2 + ac // selected argument
-                            );
-
-                            // Compute new "coder" in-place using old value plus the appropriate argument.
-                            mh = MethodHandles.filterArgumentsWithCombiner(mh, 1, cm,
-                                    1, // old-coder
-                                    2 + ac // selected argument
-                            );
-                        }
+                        // Compute new "index" in-place using old value plus the appropriate argument.
+                        mh = MethodHandles.filterArgumentsWithCombiner(mh, 0, mix,
+                                0, // old-index
+                                1 + ac // selected argument
+                        );
 
                         break;
                     default:
@@ -1617,9 +1614,9 @@
                 }
             }
 
-            // Insert initial lengths and coders here.
+            // Insert initial length and coder value here.
             // The method handle shape here is (<args>).
-            mh = MethodHandles.insertArguments(mh, 0, initialLen, initialCoder);
+            mh = MethodHandles.insertArguments(mh, 0, initialLengthCoder);
 
             // Apply filters, converting the arguments:
             if (filters != null) {
@@ -1630,45 +1627,34 @@
         }
 
         @ForceInline
-        private static byte[] newArray(int length, byte coder) {
-            return (byte[]) UNSAFE.allocateUninitializedArray(byte.class, length << coder);
+        private static byte[] newArray(long indexCoder) {
+            byte coder = (byte)(indexCoder >> 32);
+            int index = ((int)indexCoder & 0x7FFFFFFF);
+            return (byte[]) UNSAFE.allocateUninitializedArray(byte.class, index << coder);
         }
 
         private static MethodHandle prepender(Class<?> cl) {
             return PREPENDERS.computeIfAbsent(cl, PREPEND);
         }
 
-        private static MethodHandle coderMixer(Class<?> cl) {
-            return CODER_MIXERS.computeIfAbsent(cl, CODER_MIX);
-        }
-
-        private static MethodHandle lengthMixer(Class<?> cl) {
-            return LENGTH_MIXERS.computeIfAbsent(cl, LENGTH_MIX);
+        private static MethodHandle mixer(Class<?> cl) {
+            return MIXERS.computeIfAbsent(cl, MIX);
         }
 
         // This one is deliberately non-lambdified to optimize startup time:
         private static final Function<Class<?>, MethodHandle> PREPEND = new Function<Class<?>, MethodHandle>() {
             @Override
             public MethodHandle apply(Class<?> c) {
-                return lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "prepend", int.class, int.class, byte[].class, byte.class,
+                return lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "prepend", long.class, long.class, byte[].class,
                         Wrapper.asPrimitiveType(c));
             }
         };
 
         // This one is deliberately non-lambdified to optimize startup time:
-        private static final Function<Class<?>, MethodHandle> CODER_MIX = new Function<Class<?>, MethodHandle>() {
+        private static final Function<Class<?>, MethodHandle> MIX = new Function<Class<?>, MethodHandle>() {
             @Override
             public MethodHandle apply(Class<?> c) {
-                return lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "mixCoder", byte.class, byte.class,
-                        Wrapper.asPrimitiveType(c));
-            }
-        };
-
-        // This one is deliberately non-lambdified to optimize startup time:
-        private static final Function<Class<?>, MethodHandle> LENGTH_MIX = new Function<Class<?>, MethodHandle>() {
-            @Override
-            public MethodHandle apply(Class<?> c) {
-                return lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "mixLen", int.class, int.class,
+                return lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "mix", long.class, long.class,
                         Wrapper.asPrimitiveType(c));
             }
         };
@@ -1676,26 +1662,24 @@
         private static final MethodHandle NEW_STRING;
         private static final MethodHandle NEW_ARRAY;
         private static final ConcurrentMap<Class<?>, MethodHandle> PREPENDERS;
-        private static final ConcurrentMap<Class<?>, MethodHandle> LENGTH_MIXERS;
-        private static final ConcurrentMap<Class<?>, MethodHandle> CODER_MIXERS;
-        private static final byte INITIAL_CODER;
+        private static final ConcurrentMap<Class<?>, MethodHandle> MIXERS;
+        private static final long INITIAL_CODER;
         static final Class<?> STRING_HELPER;
 
         static {
             try {
                 STRING_HELPER = Class.forName("java.lang.StringConcatHelper");
-                MethodHandle initCoder = lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "initialCoder", byte.class);
-                INITIAL_CODER = (byte) initCoder.invoke();
+                MethodHandle initCoder = lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "initialCoder", long.class);
+                INITIAL_CODER = (long) initCoder.invoke();
             } catch (Throwable e) {
                 throw new AssertionError(e);
             }
 
             PREPENDERS = new ConcurrentHashMap<>();
-            LENGTH_MIXERS = new ConcurrentHashMap<>();
-            CODER_MIXERS = new ConcurrentHashMap<>();
+            MIXERS = new ConcurrentHashMap<>();
 
-            NEW_STRING = lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "newString", String.class, byte[].class, int.class, byte.class);
-            NEW_ARRAY  = lookupStatic(Lookup.IMPL_LOOKUP, MethodHandleInlineCopyStrategy.class, "newArray", byte[].class, int.class, byte.class);
+            NEW_STRING = lookupStatic(Lookup.IMPL_LOOKUP, STRING_HELPER, "newString", String.class, byte[].class, long.class);
+            NEW_ARRAY  = lookupStatic(Lookup.IMPL_LOOKUP, MethodHandleInlineCopyStrategy.class, "newArray", byte[].class, long.class);
         }
     }
 
--- a/src/java.base/share/classes/java/lang/module/package-info.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/lang/module/package-info.java	Thu Nov 01 09:01:15 2018 -0400
@@ -34,7 +34,7 @@
  * will cause a {@code NullPointerException}, unless otherwise specified. </p>
  *
  *
- * <h1><a id="resolution">{@index "Module Resolution"}</a></h1>
+ * <h1><a id="resolution"></a>{@index "Module Resolution"}</h1>
  *
  * <p> Resolution is the process of computing how modules depend on each other.
  * The process occurs at compile time and run time. </p>
--- a/src/java.base/share/classes/java/security/DrbgParameters.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/security/DrbgParameters.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -225,10 +225,6 @@
  * <p>
  * Calling {@link SecureRandom#generateSeed(int)} will directly read
  * from this system default entropy source.
- * <p>
- * This implementation has passed all tests included in the 20151104 version of
- * <a href="http://csrc.nist.gov/groups/STM/cavp/documents/drbg/drbgtestvectors.zip">
- * The DRBG Test Vectors</a>.
  *
  * @since 9
  */
--- a/src/java.base/share/classes/java/time/chrono/JapaneseEra.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/time/chrono/JapaneseEra.java	Thu Nov 01 09:01:15 2018 -0400
@@ -92,6 +92,11 @@
  * Japan introduced the Gregorian calendar starting with Meiji 6.
  * Only Meiji and later eras are supported;
  * dates before Meiji 6, January 1 are not supported.
+ * The number of the valid eras may increase, as new eras may be
+ * defined by the Japanese government. Once an era is defined,
+ * subsequent versions of this class will add a singleton instance
+ * for it. The defined era is expected to have a consecutive integer
+ * associated with it.
  *
  * @implSpec
  * This class is immutable and thread-safe.
@@ -195,9 +200,13 @@
     /**
      * Obtains an instance of {@code JapaneseEra} from an {@code int} value.
      * <p>
-     * The {@link #SHOWA} era that contains 1970-01-01 (ISO calendar system) has the value 1
+     * The {@link #SHOWA} era that contains 1970-01-01 (ISO calendar system) has the value 1.
      * Later era is numbered 2 ({@link #HEISEI}). Earlier eras are numbered 0 ({@link #TAISHO}),
      * -1 ({@link #MEIJI}), only Meiji and later eras are supported.
+     * <p>
+     * In addition to the known era singletons, values for additional
+     * eras may be defined. Those values are the {@link Era#getValue()}
+     * of corresponding eras from the {@link #values()} method.
      *
      * @param japaneseEra  the era to represent
      * @return the {@code JapaneseEra} singleton, not null
@@ -216,6 +225,8 @@
      * <p>
      * The string must match exactly the name of the era.
      * (Extraneous whitespace characters are not permitted.)
+     * <p>
+     * Valid era names are the names of eras returned from {@link #values()}.
      *
      * @param japaneseEra  the japaneseEra name; non-null
      * @return the {@code JapaneseEra} singleton, never null
@@ -232,7 +243,9 @@
     }
 
     /**
-     * Returns an array of JapaneseEras.
+     * Returns an array of JapaneseEras. The array may contain eras defined
+     * by the Japanese government beyond the known era singletons.
+     *
      * <p>
      * This method may be used to iterate over the JapaneseEras as follows:
      * <pre>
--- a/src/java.base/share/classes/java/util/zip/Deflater.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/util/zip/Deflater.java	Thu Nov 01 09:01:15 2018 -0400
@@ -89,13 +89,6 @@
  * to perform cleanup should be modified to use alternative cleanup mechanisms such
  * as {@link java.lang.ref.Cleaner} and remove the overriding {@code finalize} method.
  *
- * @implSpec
- * If this {@code Deflater} has been subclassed and the {@code end} method has been
- * overridden, the {@code end} method will be called by the finalization when the
- * deflater is unreachable. But the subclasses should not depend on this specific
- * implementation; the finalization is not reliable and the {@code finalize} method
- * is deprecated to be removed.
- *
  * @see         Inflater
  * @author      David Connelly
  * @since 1.1
@@ -204,8 +197,8 @@
     public Deflater(int level, boolean nowrap) {
         this.level = level;
         this.strategy = DEFAULT_STRATEGY;
-        this.zsRef = DeflaterZStreamRef.get(this,
-                                    init(level, DEFAULT_STRATEGY, nowrap));
+        this.zsRef = new DeflaterZStreamRef(this,
+                init(level, DEFAULT_STRATEGY, nowrap));
     }
 
     /**
@@ -901,21 +894,6 @@
         }
     }
 
-    /**
-     * Closes the compressor when garbage is collected.
-     *
-     * @deprecated The {@code finalize} method has been deprecated and will be
-     *     removed. It is implemented as a no-op. Subclasses that override
-     *     {@code finalize} in order to perform cleanup should be modified to use
-     *     alternative cleanup mechanisms and to remove the overriding {@code finalize}
-     *     method. The recommended cleanup for compressor is to explicitly call
-     *     {@code end} method when it is no longer in use. If the {@code end} is
-     *     not invoked explicitly the resource of the compressor will be released
-     *     when the instance becomes unreachable.
-     */
-    @Deprecated(since="9", forRemoval=true)
-    protected void finalize() {}
-
     private void ensureOpen() {
         assert Thread.holdsLock(zsRef);
         if (zsRef.address() == 0)
@@ -977,43 +955,5 @@
             }
         }
 
-        /*
-         * If {@code Deflater} has been subclassed and the {@code end} method is
-         * overridden, uses {@code finalizer} mechanism for resource cleanup. So
-         * {@code end} method can be called when the {@code Deflater} is unreachable.
-         * This mechanism will be removed when the {@code finalize} method is
-         * removed from {@code Deflater}.
-         */
-        static DeflaterZStreamRef get(Deflater owner, long addr) {
-            Class<?> clz = owner.getClass();
-            while (clz != Deflater.class) {
-                try {
-                    clz.getDeclaredMethod("end");
-                    return new FinalizableZStreamRef(owner, addr);
-                } catch (NoSuchMethodException nsme) {}
-                clz = clz.getSuperclass();
-            }
-            return new DeflaterZStreamRef(owner, addr);
-        }
-
-        private static class FinalizableZStreamRef extends DeflaterZStreamRef {
-            final Deflater owner;
-
-            FinalizableZStreamRef (Deflater owner, long addr) {
-                super(null, addr);
-                this.owner = owner;
-            }
-
-            @Override
-            void clean() {
-                run();
-            }
-
-            @Override
-            @SuppressWarnings("deprecation")
-            protected void finalize() {
-                owner.end();
-            }
-        }
     }
 }
--- a/src/java.base/share/classes/java/util/zip/Inflater.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/util/zip/Inflater.java	Thu Nov 01 09:01:15 2018 -0400
@@ -87,13 +87,6 @@
  * to perform cleanup should be modified to use alternative cleanup mechanisms such
  * as {@link java.lang.ref.Cleaner} and remove the overriding {@code finalize} method.
  *
- * @implSpec
- * If this {@code Inflater} has been subclassed and the {@code end} method has been
- * overridden, the {@code end} method will be called by the finalization when the
- * inflater is unreachable. But the subclasses should not depend on this specific
- * implementation; the finalization is not reliable and the {@code finalize} method
- * is deprecated to be removed.
- *
  * @see         Deflater
  * @author      David Connelly
  * @since 1.1
@@ -135,7 +128,7 @@
      * @param nowrap if true then support GZIP compatible compression
      */
     public Inflater(boolean nowrap) {
-        this.zsRef = InflaterZStreamRef.get(this, init(nowrap));
+        this.zsRef = new InflaterZStreamRef(this, init(nowrap));
     }
 
     /**
@@ -714,25 +707,6 @@
         }
     }
 
-    /**
-     * Closes the decompressor when garbage is collected.
-     *
-     * @implSpec
-     * If this {@code Inflater} has been subclassed and the {@code end} method
-     * has been overridden, the {@code end} method will be called when the
-     * inflater is unreachable.
-     *
-     * @deprecated The {@code finalize} method has been deprecated and will be
-     *     removed. It is implemented as a no-op. Subclasses that override
-     *     {@code finalize} in order to perform cleanup should be modified to use
-     *     alternative cleanup mechanisms and remove the overriding {@code finalize}
-     *     method. The recommended cleanup for compressor is to explicitly call
-     *     {@code end} method when it is no longer in use. If the {@code end} is
-     *     not invoked explicitly the resource of the compressor will be released
-     *     when the instance becomes unreachable,
-     */
-    @Deprecated(since="9", forRemoval=true)
-    protected void finalize() {}
 
     private void ensureOpen () {
         assert Thread.holdsLock(zsRef);
@@ -792,43 +766,5 @@
             }
         }
 
-        /*
-         * If {@code Inflater} has been subclassed and the {@code end} method is
-         * overridden, uses {@code finalizer} mechanism for resource cleanup. So
-         * {@code end} method can be called when the {@code Inflater} is unreachable.
-         * This mechanism will be removed when the {@code finalize} method is
-         * removed from {@code Inflater}.
-         */
-        static InflaterZStreamRef get(Inflater owner, long addr) {
-            Class<?> clz = owner.getClass();
-            while (clz != Inflater.class) {
-                try {
-                    clz.getDeclaredMethod("end");
-                    return new FinalizableZStreamRef(owner, addr);
-                } catch (NoSuchMethodException nsme) {}
-                clz = clz.getSuperclass();
-            }
-            return new InflaterZStreamRef(owner, addr);
-        }
-
-        private static class FinalizableZStreamRef extends InflaterZStreamRef {
-            final Inflater owner;
-
-            FinalizableZStreamRef(Inflater owner, long addr) {
-                super(null, addr);
-                this.owner = owner;
-            }
-
-            @Override
-            void clean() {
-                run();
-            }
-
-            @Override
-            @SuppressWarnings("deprecation")
-            protected void finalize() {
-                owner.end();
-            }
-        }
     }
 }
--- a/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Nov 01 09:01:15 2018 -0400
@@ -56,7 +56,6 @@
 import java.util.function.Function;
 import java.util.function.IntFunction;
 import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 import jdk.internal.misc.JavaLangAccess;
@@ -85,13 +84,6 @@
  * cleanup mechanisms such as {@link java.lang.ref.Cleaner} and remove the overriding
  * {@code finalize} method.
  *
- * @implSpec
- * If this {@code ZipFile} has been subclassed and the {@code close} method has
- * been overridden, the {@code close} method will be called by the finalization
- * when {@code ZipFile} is unreachable. But the subclasses should not depend on
- * this specific implementation; the finalization is not reliable and the
- * {@code finalize} method is deprecated to be removed.
- *
  * @author      David Connelly
  * @since 1.1
  */
@@ -244,7 +236,7 @@
         this.name = name;
         long t0 = System.nanoTime();
 
-        this.res = CleanableResource.get(this, file, mode);
+        this.res = new CleanableResource(this, file, mode);
 
         PerfCounter.getZipFileOpenTime().addElapsedTimeFrom(t0);
         PerfCounter.getZipFileCount().increment();
@@ -825,44 +817,6 @@
             this.zsrc = Source.get(file, (mode & OPEN_DELETE) != 0);
         }
 
-        /*
-         * If {@code ZipFile} has been subclassed and the {@code close} method is
-         * overridden, uses the {@code finalizer} mechanism for resource cleanup.
-         * So {@code close} method can be called when the the {@code ZipFile} is
-         * unreachable. This mechanism will be removed when {@code finalize} method
-         * is removed from {@code ZipFile}.
-         */
-        static CleanableResource get(ZipFile zf, File file, int mode)
-            throws IOException {
-            Class<?> clz = zf.getClass();
-            while (clz != ZipFile.class && clz != JarFile.class) {
-                if (JLA.getDeclaredPublicMethods(clz, "close").size() != 0) {
-                    return new FinalizableResource(zf, file, mode);
-                }
-                clz = clz.getSuperclass();
-            }
-            return new CleanableResource(zf, file, mode);
-        }
-
-        static class FinalizableResource extends CleanableResource {
-            ZipFile zf;
-            FinalizableResource(ZipFile zf, File file, int mode)
-                throws IOException {
-                super(file, mode);
-                this.zf = zf;
-            }
-
-            @Override
-            void clean() {
-                run();
-            }
-
-            @Override
-            @SuppressWarnings("deprecation")
-            protected void finalize() throws IOException {
-                zf.close();
-            }
-        }
     }
 
     /**
@@ -891,25 +845,6 @@
         }
     }
 
-    /**
-     * Ensures that the system resources held by this ZipFile object are
-     * released when there are no more references to it.
-     *
-     * @deprecated The {@code finalize} method has been deprecated and will be
-     *     removed. It is implemented as a no-op. Subclasses that override
-     *     {@code finalize} in order to perform cleanup should be modified to
-     *     use alternative cleanup mechanisms and to remove the overriding
-     *     {@code finalize} method. The recommended cleanup for ZipFile object
-     *     is to explicitly invoke {@code close} method when it is no longer in
-     *     use, or use try-with-resources. If the {@code close} is not invoked
-     *     explicitly the resources held by this object will be released when
-     *     the instance becomes unreachable.
-     *
-     * @throws IOException if an I/O error has occurred
-     */
-    @Deprecated(since="9", forRemoval=true)
-    protected void finalize() throws IOException {}
-
     private void ensureOpen() {
         if (closeRequested) {
             throw new IllegalStateException("zip file closed");
--- a/src/java.base/share/classes/javax/crypto/KeyAgreement.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/javax/crypto/KeyAgreement.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -582,16 +582,22 @@
     /**
      * Generates the shared secret and returns it in a new buffer.
      *
-     * <p>This method resets this {@code KeyAgreement} object, so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the {@code init} methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreement} object to the state that
+     * it was in after the most recent call to one of the {@code init} methods.
+     * After a call to {@code generateSecret}, the object can be reused for
+     * further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @return the new buffer with the shared secret
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      */
     public final byte[] generateSecret() throws IllegalStateException {
         chooseFirstProvider();
@@ -606,11 +612,16 @@
      * result, a {@code ShortBufferException} is thrown.
      * In this case, this call should be repeated with a larger output buffer.
      *
-     * <p>This method resets this {@code KeyAgreement} object, so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the {@code init} methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreement} object to the state that
+     * it was in after the most recent call to one of the {@code init} methods.
+     * After a call to {@code generateSecret}, the object can be reused for
+     * further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @param sharedSecret the buffer for the shared secret
      * @param offset the offset in {@code sharedSecret} where the
@@ -619,7 +630,8 @@
      * @return the number of bytes placed into {@code sharedSecret}
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      * @exception ShortBufferException if the given output buffer is too small
      * to hold the secret
      */
@@ -634,18 +646,24 @@
      * Creates the shared secret and returns it as a {@code SecretKey}
      * object of the specified algorithm.
      *
-     * <p>This method resets this {@code KeyAgreement} object, so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the {@code init} methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreement} object to the state that
+     * it was in after the most recent call to one of the {@code init} methods.
+     * After a call to {@code generateSecret}, the object can be reused for
+     * further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @param algorithm the requested secret-key algorithm
      *
      * @return the shared secret key
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      * @exception NoSuchAlgorithmException if the specified secret-key
      * algorithm is not available
      * @exception InvalidKeyException if the shared secret-key material cannot
--- a/src/java.base/share/classes/javax/crypto/KeyAgreementSpi.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/javax/crypto/KeyAgreementSpi.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -130,17 +130,22 @@
     /**
      * Generates the shared secret and returns it in a new buffer.
      *
-     * <p>This method resets this <code>KeyAgreementSpi</code> object,
-     * so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the <code>engineInit</code> methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreementSpi} object to the state
+     * that it was in after the most recent call to one of the {@code init}
+     * methods. After a call to {@code generateSecret}, the object can be reused
+     * for further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @return the new buffer with the shared secret
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      */
     protected abstract byte[] engineGenerateSecret()
         throws IllegalStateException;
@@ -153,12 +158,16 @@
      * result, a <code>ShortBufferException</code> is thrown.
      * In this case, this call should be repeated with a larger output buffer.
      *
-     * <p>This method resets this <code>KeyAgreementSpi</code> object,
-     * so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the <code>engineInit</code> methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreementSpi} object to the state
+     * that it was in after the most recent call to one of the {@code init}
+     * methods. After a call to {@code generateSecret}, the object can be reused
+     * for further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @param sharedSecret the buffer for the shared secret
      * @param offset the offset in <code>sharedSecret</code> where the
@@ -167,7 +176,8 @@
      * @return the number of bytes placed into <code>sharedSecret</code>
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      * @exception ShortBufferException if the given output buffer is too small
      * to hold the secret
      */
@@ -179,19 +189,24 @@
      * Creates the shared secret and returns it as a secret key object
      * of the requested algorithm type.
      *
-     * <p>This method resets this <code>KeyAgreementSpi</code> object,
-     * so that it
-     * can be reused for further key agreements. Unless this key agreement is
-     * reinitialized with one of the <code>engineInit</code> methods, the same
-     * private information and algorithm parameters will be used for
-     * subsequent key agreements.
+     * <p>This method resets this {@code KeyAgreementSpi} object to the state
+     * that it was in after the most recent call to one of the {@code init}
+     * methods. After a call to {@code generateSecret}, the object can be reused
+     * for further key agreement operations by calling {@code doPhase} to supply
+     * new keys, and then calling {@code generateSecret} to produce a new
+     * secret. In this case, the private information and algorithm parameters
+     * supplied to {@code init} will be used for multiple key agreement
+     * operations. The {@code init} method can be called after
+     * {@code generateSecret} to change the private information used in
+     * subsequent operations.
      *
      * @param algorithm the requested secret key algorithm
      *
      * @return the shared secret key
      *
      * @exception IllegalStateException if this key agreement has not been
-     * completed yet
+     * initialized or if {@code doPhase} has not been called to supply the
+     * keys for all parties in the agreement
      * @exception NoSuchAlgorithmException if the requested secret key
      * algorithm is not available
      * @exception InvalidKeyException if the shared secret key material cannot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java.base/share/classes/jdk/internal/event/Event.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.internal.event;
+
+/**
+ * Base class for events, to be subclassed in order to define events and their
+ * fields.
+ */
+public abstract class Event {
+    /**
+     * Sole constructor, for invocation by subclass constructors, typically
+     * implicit.
+     */
+    protected Event() {
+    }
+
+    /**
+     * Starts the timing of this event.
+     */
+    public void begin() {
+    }
+
+    /**
+     * Ends the timing of this event.
+     *
+     * The {@code end} method must be invoked after the {@code begin} method.
+     */
+    public void end() {
+    }
+
+    /**
+     * Writes the field values, time stamp, and event duration.
+     * <p>
+     * If the event starts with an invocation of the {@code begin} method, but does
+     * not end with an explicit invocation of the {@code end} method, then the event
+     * ends when the {@code commit} method is invoked.
+     */
+    public void commit() {
+    }
+
+    /**
+     * Returns {@code true} if the event is enabled, {@code false} otherwise
+     *
+     * @return {@code true} if event is enabled, {@code false} otherwise
+     */
+    public boolean isEnabled() {
+        return false;
+    }
+
+    /**
+     * Returns {@code true} if the event is enabled and if the duration is within
+     * the threshold for the event, {@code false} otherwise.
+     *
+     * @return {@code true} if the event can be written, {@code false} otherwise
+     */
+    public boolean shouldCommit() {
+        return false;
+    }
+
+    /**
+     * Sets a field value.
+     *
+     * @param index the index of the field to set
+     * @param value value to set, can be {@code null}
+     * @throws UnsupportedOperationException if functionality is not supported
+     * @throws IndexOutOfBoundsException if {@code index} is less than {@code 0} or
+     *         greater than or equal to the number of fields specified for the event
+     */
+    public void set(int index, Object value) {
+    }
+}
--- a/src/java.base/share/classes/jdk/internal/misc/Unsafe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/jdk/internal/misc/Unsafe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -3716,4 +3716,92 @@
     private native int getLoadAverage0(double[] loadavg, int nelems);
     private native boolean unalignedAccess0();
     private native boolean isBigEndian0();
+
+
+    // The following deprecated methods are used by JSR 166.
+
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getObject(Object o, long offset) {
+        return getReference(o, offset);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getObjectVolatile(Object o, long offset) {
+        return getReferenceVolatile(o, offset);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getObjectAcquire(Object o, long offset) {
+        return getReferenceAcquire(o, offset);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getObjectOpaque(Object o, long offset) {
+        return getReferenceOpaque(o, offset);
+    }
+
+
+    @Deprecated(since="12", forRemoval=true)
+    public final void putObject(Object o, long offset, Object x) {
+        putReference(o, offset, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final void putObjectVolatile(Object o, long offset, Object x) {
+        putReferenceVolatile(o, offset, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final void putObjectOpaque(Object o, long offset, Object x) {
+        putReferenceOpaque(o, offset, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final void putObjectRelease(Object o, long offset, Object x) {
+        putReferenceRelease(o, offset, x);
+    }
+
+
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getAndSetObject(Object o, long offset, Object newValue) {
+        return getAndSetReference(o, offset, newValue);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getAndSetObjectAcquire(Object o, long offset, Object newValue) {
+        return getAndSetReferenceAcquire(o, offset, newValue);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object getAndSetObjectRelease(Object o, long offset, Object newValue) {
+        return getAndSetReferenceRelease(o, offset, newValue);
+    }
+
+
+    @Deprecated(since="12", forRemoval=true)
+    public final boolean compareAndSetObject(Object o, long offset, Object expected, Object x) {
+        return compareAndSetReference(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object compareAndExchangeObject(Object o, long offset, Object expected, Object x) {
+        return compareAndExchangeReference(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object compareAndExchangeObjectAcquire(Object o, long offset, Object expected, Object x) {
+        return compareAndExchangeReferenceAcquire(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final Object compareAndExchangeObjectRelease(Object o, long offset, Object expected, Object x) {
+        return compareAndExchangeReferenceRelease(o, offset, expected, x);
+    }
+
+
+    @Deprecated(since="12", forRemoval=true)
+    public final boolean weakCompareAndSetObject(Object o, long offset, Object expected, Object x) {
+        return weakCompareAndSetReference(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final boolean weakCompareAndSetObjectAcquire(Object o, long offset, Object expected, Object x) {
+        return weakCompareAndSetReferenceAcquire(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final boolean weakCompareAndSetObjectPlain(Object o, long offset, Object expected, Object x) {
+        return weakCompareAndSetReferencePlain(o, offset, expected, x);
+    }
+    @Deprecated(since="12", forRemoval=true)
+    public final boolean weakCompareAndSetObjectRelease(Object o, long offset, Object expected, Object x) {
+        return weakCompareAndSetReferenceRelease(o, offset, expected, x);
+    }
 }
--- a/src/java.base/share/classes/jdk/internal/misc/VMNotification.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 1996, 2004, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package jdk.internal.misc;
-
-/** @deprecated */
-@Deprecated
-public interface VMNotification {
-
-    // when the vm switches allocation states, we get notified
-    // (possible semantics: if the state changes while in this
-    // notification, don't recursively notify).
-    // oldState and newState may be the same if we are just releasing
-    // suspended threads.
-    void newAllocState(int oldState, int newState,
-                       boolean threadsSuspended);
-}
--- a/src/java.base/share/classes/module-info.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/module-info.java	Thu Nov 01 09:01:15 2018 -0400
@@ -136,6 +136,8 @@
         java.security.sasl;
     exports jdk.internal to
         jdk.jfr;
+    exports jdk.internal.event to
+        jdk.jfr;
     exports jdk.internal.jimage to
         jdk.jlink;
     exports jdk.internal.jimage.decompressor to
--- a/src/java.base/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java	Thu Nov 01 09:01:15 2018 -0400
@@ -33,6 +33,8 @@
 import java.util.Map;
 import java.util.Objects;
 import java.util.StringJoiner;
+import java.util.stream.Stream;
+import java.util.stream.Collectors;
 
 import static sun.reflect.annotation.TypeAnnotation.*;
 
@@ -125,6 +127,12 @@
             EMPTY_TYPE_ANNOTATION_ARRAY, EMPTY_TYPE_ANNOTATION_ARRAY, null);
     static final AnnotatedType[] EMPTY_ANNOTATED_TYPE_ARRAY = new AnnotatedType[0];
 
+    /*
+     * Note that if additional subclasses of AnnotatedTypeBaseImpl are
+     * added, the equals methods of AnnotatedTypeBaseImpl will need to
+     * be updated to properly implement the equals contract.
+     */
+
     private static class AnnotatedTypeBaseImpl implements AnnotatedType {
         private final Type type;
         private final AnnotatedElement decl;
@@ -207,25 +215,26 @@
         @Override // java.lang.Object
         public String toString() {
             // Reusable toString implementation, but needs to be
-            // specialized for quirks of arrays.
-            return annotationsToString(getAnnotations(), false) + type.toString();
+            // specialized for quirks of arrays and interior types of
+            // wildcards, etc.
+            return annotationsToString(getAnnotations(), false) +
+                ((type instanceof Class) ? type.getTypeName(): type.toString());
         }
 
         protected String annotationsToString(Annotation[] annotations, boolean leadingSpace) {
             if (annotations != null && annotations.length > 0) {
-                StringJoiner sj = new StringJoiner(" ");
-                if (leadingSpace) {
-                    sj.add(""); // Add a space
-                }
+                StringBuffer sb = new StringBuffer();
+
+                sb.append(Stream.of(annotations).
+                          map(Annotation::toString).
+                          collect(Collectors.joining(" ")));
 
-                for (Annotation annotation : annotations) {
-                    sj.add(annotation.toString());
-                }
+                if (leadingSpace)
+                    sb.insert(0, " ");
+                else
+                    sb.append(" ");
 
-                if (!leadingSpace) {
-                    sj.add("");
-                }
-                return sj.toString();
+                return sb.toString();
             } else {
                 return "";
             }
@@ -377,6 +386,13 @@
             return (TypeVariable)getType();
         }
 
+        // For toString, the declaration of a type variable should
+        // including information about its bounds, etc. However, the
+        // use of a type variable should not. For that reason, it is
+        // acceptable for the toString implementation of
+        // AnnotatedTypeVariableImpl to use the inherited
+        // implementation from AnnotatedTypeBaseImpl.
+
         @Override
         public boolean equals(Object o) {
             if (o instanceof AnnotatedTypeVariable) {
@@ -445,6 +461,23 @@
         }
 
         @Override
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            sb.append(annotationsToString(getAnnotations(), false));
+
+            Type t = getParameterizedType().getRawType();
+            sb.append(t.getTypeName());
+
+            AnnotatedType[] typeArgs = getAnnotatedActualTypeArguments();
+            if (typeArgs.length > 0) {
+                sb.append(Stream.of(typeArgs).map(AnnotatedType::toString).
+                          collect(Collectors.joining(", ", "<", ">")));
+            }
+
+            return sb.toString();
+        }
+
+        @Override
         public boolean equals(Object o) {
             if (o instanceof AnnotatedParameterizedType) {
                 AnnotatedParameterizedType that = (AnnotatedParameterizedType) o;
@@ -524,6 +557,42 @@
         }
 
         @Override
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            sb.append(annotationsToString(getAnnotations(), false));
+            sb.append("?");
+
+            // Note that the wildcard API is written to accommodate
+            // multiple bounds for wildcards, but at the time of
+            // writing only a single bound is allowed in the
+            // language.
+            AnnotatedType[] bounds = getAnnotatedLowerBounds();
+            if (bounds.length > 0) {
+                sb.append(" super ");
+            } else {
+                bounds = getAnnotatedUpperBounds();
+                if (bounds.length > 0) {
+                    if (bounds.length == 1) {
+                        // Check for and elide " extends java.lang.Object" if a lone
+                        // Object bound is not annotated.
+                        AnnotatedType bound = bounds[0];
+                        if (bound.getType().equals(Object.class) &&
+                            bound.getAnnotations().length == 0) {
+                            return sb.toString();
+                        }
+                    }
+                    sb.append(" extends ");
+                }
+            }
+
+            sb.append(Stream.of(bounds).map(AnnotatedType::toString).
+                      collect(Collectors.joining(" & ")));
+
+            return sb.toString();
+        }
+
+
+        @Override
         public boolean equals(Object o) {
             if (o instanceof AnnotatedWildcardType) {
                 AnnotatedWildcardType that = (AnnotatedWildcardType) o;
--- a/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/classes/sun/security/ssl/SignatureScheme.java	Thu Nov 01 09:01:15 2018 -0400
@@ -63,7 +63,7 @@
                                     "EC",
                                     NamedGroup.SECP384_R1,
                                     ProtocolVersion.PROTOCOLS_TO_13),
-    ECDSA_SECP512R1_SHA512  (0x0603, "ecdsa_secp512r1_sha512",
+    ECDSA_SECP521R1_SHA512  (0x0603, "ecdsa_secp521r1_sha512",
                                     "SHA512withECDSA",
                                     "EC",
                                     NamedGroup.SECP521_R1,
--- a/src/java.base/share/conf/security/java.security	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/share/conf/security/java.security	Thu Nov 01 09:01:15 2018 -0400
@@ -676,7 +676,7 @@
 # Example:
 #   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
 jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \
-    EC keySize < 224, 3DES_EDE_CBC
+    EC keySize < 224, 3DES_EDE_CBC, anon, NULL
 
 #
 # Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS)
--- a/src/java.base/unix/classes/java/lang/ProcessImpl.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/unix/classes/java/lang/ProcessImpl.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -89,7 +89,7 @@
 
     private static enum Platform {
 
-        LINUX(LaunchMechanism.VFORK, LaunchMechanism.FORK),
+        LINUX(LaunchMechanism.VFORK, LaunchMechanism.POSIX_SPAWN, LaunchMechanism.FORK),
 
         BSD(LaunchMechanism.POSIX_SPAWN, LaunchMechanism.FORK),
 
--- a/src/java.base/unix/native/jspawnhelper/jspawnhelper.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/unix/native/jspawnhelper/jspawnhelper.c	Thu Nov 01 09:01:15 2018 -0400
@@ -49,7 +49,10 @@
 #define ERR_ARGS 3
 
 void error (int fd, int err) {
-    write (fd, &err, sizeof(err));
+    if (write (fd, &err, sizeof(err)) != sizeof(err)) {
+        /* Not sure what to do here. I have no one to speak to. */
+        exit(0x80 + err);
+    }
     exit (1);
 }
 
--- a/src/java.base/unix/native/libjava/ProcessImpl_md.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.base/unix/native/libjava/ProcessImpl_md.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,9 +44,7 @@
 #include <signal.h>
 #include <string.h>
 
-#if defined(__solaris__) || defined(_ALLBSD_SOURCE) || defined(_AIX)
 #include <spawn.h>
-#endif
 
 #include "childproc.h"
 
@@ -390,7 +388,6 @@
     return resultPid;
 }
 
-#if defined(__solaris__) || defined(_ALLBSD_SOURCE) || defined(_AIX)
 static pid_t
 spawnChild(JNIEnv *env, jobject process, ChildStuff *c, const char *helperpath) {
     pid_t resultPid;
@@ -473,7 +470,6 @@
      * via the statement below */
     return resultPid;
 }
-#endif
 
 /*
  * Start a child process running function childProcess.
@@ -489,10 +485,8 @@
 #endif
       case MODE_FORK:
         return forkChild(c);
-#if defined(__solaris__) || defined(_ALLBSD_SOURCE) || defined(_AIX)
       case MODE_POSIX_SPAWN:
         return spawnChild(env, process, c, helperpath);
-#endif
       default:
         return -1;
     }
--- a/src/java.desktop/aix/classes/sun/awt/X11InputMethod.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/aix/classes/sun/awt/X11InputMethod.java	Thu Nov 01 09:01:15 2018 -0400
@@ -188,7 +188,7 @@
     //       to insure that it cannot be overridden by client subclasses.
     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
     void dispatchComposedText(String chgText,
-                                           int chgStyles[],
+                                           int[] chgStyles,
                                            int chgOffset,
                                            int chgLength,
                                            int caretPosition,
--- a/src/java.desktop/aix/native/libawt/porting_aix.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/aix/native/libawt/porting_aix.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1,10 +1,12 @@
 /*
- * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
+ * Copyright (c) 2012, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- a/src/java.desktop/aix/native/libawt/porting_aix.h	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/aix/native/libawt/porting_aix.h	Thu Nov 01 09:01:15 2018 -0400
@@ -1,10 +1,12 @@
 /*
- * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
+ * Copyright (c) 2012, 2018 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
  *
  * This code is distributed in the hope that it will be useful, but WITHOUT
  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- a/src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1148,6 +1148,7 @@
                         tmpstyle[cnt] = text->feedback[cnt];
                 (*env)->SetIntArrayRegion(env, style, 0,
                                           text->length, (jint *)tmpstyle);
+                free(tmpstyle);
             }
         }
     }
--- a/src/java.desktop/macosx/classes/com/apple/eio/FileManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/eio/FileManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -110,7 +110,7 @@
         public static int OSTypeToInt(String type) {
         int result = 0;
 
-                byte b[] = { (byte) 0, (byte) 0, (byte) 0, (byte) 0 };
+                byte[] b = { (byte) 0, (byte) 0, (byte) 0, (byte) 0 };
                 int len = type.length();
                 if (len > 0) {
                         if (len > 4) len = 4;
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1420,7 +1420,7 @@
         }
 
         // One sort state for each column.  Both are ascending by default
-        final boolean fSortAscending[] = {true, true};
+        final boolean[] fSortAscending = {true, true};
 
         // Instead of dragging, it selects which one to sort by
         public void setDraggedColumn(final TableColumn aColumn) {
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,7 +53,7 @@
     Vector<File> directories = null;
     int fetchID = 0;
 
-    private final boolean fSortAscending[] = {true, true};
+    private final boolean[] fSortAscending = {true, true};
     // private boolean fSortAscending = true;
     private boolean fSortNames = true;
     private final String[] fColumnNames;
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -274,7 +274,7 @@
         // <rdar://problem/5189013> Entire Java application window refreshes when moving off Shortcut menu item
         final Boolean useOpaqueComponents = Boolean.TRUE;
 
-        final Boolean buttonShouldBeOpaque = AquaUtils.shouldUseOpaqueButtons() ? Boolean.TRUE : Boolean.FALSE;
+        final Boolean buttonShouldBeOpaque = Boolean.FALSE;
 
         // *** List value objects
         final Object listCellRendererActiveValue = new UIDefaults.ActiveValue(){
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuItemUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuItemUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@
 // TODO: no screen menu bar for now
 public class AquaMenuItemUI extends BasicMenuItemUI implements AquaMenuPainter.Client/*, ScreenMenuItemUI*/ {
     static final int kPlain = 0, kCheckBox = 1, kRadioButton = 2;
-    static final String sPropertyPrefixes[] = { "MenuItem", "CheckBoxMenuItem", "RadioButtonMenuItem" };
+    static final String[] sPropertyPrefixes = { "MenuItem", "CheckBoxMenuItem", "RadioButtonMenuItem" };
 
     boolean fIsScreenMenuItem = false;
     boolean fIsIndeterminate = false;
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaMenuUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -96,14 +96,14 @@
             if (menuItem.isEnabled() == false) return;
 
             final MenuSelectionManager manager = e.getMenuSelectionManager();
-            final MenuElement path[] = e.getPath();
+            final MenuElement[] path = e.getPath();
 
             // In Aqua, we always respect the menu's delay, if one is set.
             // Doesn't matter how the menu is clicked on or otherwise moused over.
             final Point p = e.getPoint();
             if (p.x >= 0 && p.x < menuItem.getWidth() && p.y >= 0 && p.y < menuItem.getHeight()) {
                 final JMenu menu = (JMenu)menuItem;
-                final MenuElement selectedPath[] = manager.getSelectedPath();
+                final MenuElement[] selectedPath = manager.getSelectedPath();
                 if (!(selectedPath.length > 0 && selectedPath[selectedPath.length - 1] == menu.getPopupMenu())) {
                     if (menu.getDelay() == 0) {
                         appendPath(path, menu.getPopupMenu());
@@ -124,7 +124,7 @@
     }
 
     static void appendPath(final MenuElement[] path, final MenuElement elem) {
-        final MenuElement newPath[] = new MenuElement[path.length + 1];
+        final MenuElement[] newPath = new MenuElement[path.length + 1];
         System.arraycopy(path, 0, newPath, 0, path.length);
         newPath[path.length] = elem;
         MenuSelectionManager.defaultManager().setSelectedPath(newPath);
@@ -144,7 +144,7 @@
             if (!menu.isEnabled()) return;
 
             final MenuSelectionManager manager = MenuSelectionManager.defaultManager();
-            final MenuElement selectedPath[] = manager.getSelectedPath();
+            final MenuElement[] selectedPath = manager.getSelectedPath();
 
             // In Aqua, we always have a menu delay, regardless of where the menu is.
             if (!(selectedPath.length > 0 && selectedPath[selectedPath.length - 1] == menu.getPopupMenu())) {
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaSpinnerUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaSpinnerUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -261,12 +261,14 @@
         editor.setInheritsPopupMenu(true);
 
         if (editor.getFont() instanceof UIResource) {
-            editor.setFont(new FontUIResource(spinner.getFont()));
+            Font font = spinner.getFont();
+            editor.setFont(font == null ? null : new FontUIResource(font));
         }
 
         final JFormattedTextField editorTextField = ((DefaultEditor) editor).getTextField();
         if (editorTextField.getFont() instanceof UIResource) {
-            editorTextField.setFont(new FontUIResource(spinner.getFont()));
+            Font font = spinner.getFont();
+            editorTextField.setFont(font == null ? null : new FontUIResource(font));
         }
         final InputMap spinnerInputMap = getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
         final InputMap editorInputMap = editorTextField.getInputMap();
@@ -739,7 +741,8 @@
                                 = ((JSpinner.DefaultEditor) editor).getTextField();
                         if (tf != null) {
                             if (tf.getFont() instanceof UIResource) {
-                                tf.setFont(new FontUIResource(spinner.getFont()));
+                                Font font = spinner.getFont();
+                                tf.setFont(font == null ? null : new FontUIResource(font));
                             }
                         }
                     }
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -113,10 +113,10 @@
 
 // Transient variables (recalculated each time TabbedPane is layed out)
 
-    protected int tabRuns[] = new int[10];
+    protected int[] tabRuns = new int[10];
     protected int runCount = 0;
     protected int selectedRun = -1;
-    protected Rectangle rects[] = new Rectangle[0];
+    protected Rectangle[] rects = new Rectangle[0];
     protected int maxTabHeight;
     protected int maxTabWidth;
 
@@ -864,8 +864,8 @@
      * subtracting xCropLen[i] from (tab.y + tab.height) and adding yCropLen[i]
      * to (tab.x).
      */
-    private static int xCropLen[] = { 1, 1, 0, 0, 1, 1, 2, 2 };
-    private static int yCropLen[] = { 0, 3, 3, 6, 6, 9, 9, 12 };
+    private static int[] xCropLen = { 1, 1, 0, 0, 1, 1, 2, 2 };
+    private static int[] yCropLen = { 0, 3, 3, 6, 6, 9, 9, 12 };
     private static final int CROP_SEGMENT = 12;
 
     private static Polygon createCroppedTabShape(final int tabPlacement, final Rectangle tabRect, final int cropline) {
@@ -895,8 +895,8 @@
             rcnt++;
         }
         final int npts = 2 + (rcnt * 8);
-        final int xp[] = new int[npts];
-        final int yp[] = new int[npts];
+        final int[] xp = new int[npts];
+        final int[] yp = new int[npts];
         int pcnt = 0;
 
         xp[pcnt] = ostart;
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,7 @@
     protected final Rectangle rightScrollTabRect = new Rectangle();
 
     protected int numberOfVisibleTabs = 0;
-    protected int visibleTabList[] = new int[10];
+    protected int[] visibleTabList = new int[10];
     protected int lastLeftmostTab;
     protected int lastReturnAt;
 
--- a/src/java.desktop/macosx/classes/com/apple/laf/AquaUtils.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/AquaUtils.java	Thu Nov 01 09:01:15 2018 -0400
@@ -37,8 +37,6 @@
 import javax.swing.border.Border;
 import javax.swing.plaf.UIResource;
 
-import jdk.internal.loader.ClassLoaders;
-
 import sun.awt.AppContext;
 
 import sun.lwawt.macosx.CPlatformWindow;
@@ -284,7 +282,6 @@
         public void paintBorder(final Component c, final Graphics g, final int x, final int y, final int width, final int height) {
             final BufferedImage img = new BufferedImage(width + blur * 2, height + blur * 2, BufferedImage.TYPE_INT_ARGB_PRE);
             paintToImage(img, x, y, width, height);
-//            debugFrame("border", img);
             g.drawImage(img, -blur, -blur, null);
         }
 
@@ -325,7 +322,6 @@
 
             final BufferedImage i = new BufferedImage(templateWidth, templateHeight, BufferedImage.TYPE_INT_ARGB_PRE);
             super.paintBorder(null, i.getGraphics(), 0, 0, templateWidth, templateHeight);
-//            debugFrame("slices", i);
             slices = new SlicedImageControl(i, leftCut, topCut, rightCut, bottomCut, false);
         }
 
@@ -335,29 +331,6 @@
         }
     }
 
-//    static void debugFrame(String name, Image image) {
-//        JFrame f = new JFrame(name);
-//        f.setContentPane(new JLabel(new ImageIcon(image)));
-//        f.pack();
-//        f.setVisible(true);
-//    }
-
-    // special casing naughty applications, like InstallAnywhere
-    // <rdar://problem/4851533> REGR: JButton: Myst IV: the buttons of 1.0.3 updater have redraw issue
-    static boolean shouldUseOpaqueButtons() {
-        // can we use ClassLoader.getSystemClassLoader here?
-        final ClassLoader launcherClassLoader = ClassLoaders.appClassLoader();
-        if (classExists(launcherClassLoader, "com.installshield.wizard.platform.macosx.MacOSXUtils")) return true;
-        return false;
-    }
-
-    private static boolean classExists(final ClassLoader classLoader, final String clazzName) {
-        try {
-            return Class.forName(clazzName, false, classLoader) != null;
-        } catch (final Throwable ignored) { }
-        return false;
-    }
-
     private static final RecyclableSingleton<Method> getJComponentGetFlagMethod = new RecyclableSingleton<Method>() {
         @Override
         protected Method getInstance() {
--- a/src/java.desktop/macosx/classes/com/apple/laf/ScreenMenu.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/com/apple/laf/ScreenMenu.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@
     private ScreenMenuPropertyListener fPropertyListener;
 
     // Array of child hashes used to see if we need to recreate the Menu.
-    private int childHashArray[];
+    private int[] childHashArray;
 
     ScreenMenu(final JMenu invoker) {
         super(invoker.getText());
@@ -85,7 +85,7 @@
      * we do not get notified of it, because EDT is busy in our code. We only need to update if the menu contents have changed in some
      * way, such as the number of menu items, the text of the menuitems, icon, shortcut etc.
      */
-    private static boolean needsUpdate(final Component items[], final int childHashArray[]) {
+    private static boolean needsUpdate(final Component[] items, final int[] childHashArray) {
       if (items == null || childHashArray == null) {
         return true;
       }
--- a/src/java.desktop/macosx/classes/sun/font/CCompositeGlyphMapper.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/font/CCompositeGlyphMapper.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,7 +28,7 @@
 public final class CCompositeGlyphMapper extends CompositeGlyphMapper {
 
     private CompositeFont font;
-    private CharToGlyphMapper slotMappers[];
+    private CharToGlyphMapper[] slotMappers;
 
     public CCompositeGlyphMapper(CompositeFont compFont) {
         super(compFont);
--- a/src/java.desktop/macosx/classes/sun/font/CFont.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/font/CFont.java	Thu Nov 01 09:01:15 2018 -0400
@@ -28,7 +28,7 @@
 import java.awt.Font;
 import java.awt.font.FontRenderContext;
 import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;;
+import java.awt.geom.GeneralPath;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.util.ArrayList;
--- a/src/java.desktop/macosx/classes/sun/java2d/CRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/CRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -230,7 +230,7 @@
 
     native void doPoly(SurfaceData sData, int[] xpoints, int[] ypoints, int npoints, boolean ispolygon, boolean isfill);
 
-    public void drawPolyline(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public void drawPolyline(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         OSXSurfaceData surfaceData = (OSXSurfaceData) sg2d.getSurfaceData();
         if ((sg2d.strokeState != SunGraphics2D.STROKE_CUSTOM) && (OSXSurfaceData.IsSimpleColor(sg2d.paint))) {
             surfaceData.doPolygon(this, sg2d, xpoints, ypoints, npoints, false, false);
@@ -244,7 +244,7 @@
         }
     }
 
-    public void drawPolygon(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public void drawPolygon(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         OSXSurfaceData surfaceData = (OSXSurfaceData) sg2d.getSurfaceData();
         if ((sg2d.strokeState != SunGraphics2D.STROKE_CUSTOM) && (OSXSurfaceData.IsSimpleColor(sg2d.paint))) {
             surfaceData.doPolygon(this, sg2d, xpoints, ypoints, npoints, true, false);
@@ -259,7 +259,7 @@
         }
     }
 
-    public void fillPolygon(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public void fillPolygon(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         OSXSurfaceData surfaceData = (OSXSurfaceData) sg2d.getSurfaceData();
         surfaceData.doPolygon(this, sg2d, xpoints, ypoints, npoints, true, true);
     }
--- a/src/java.desktop/macosx/classes/sun/java2d/CompositeCRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/CompositeCRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,11 +84,11 @@
         draw(sg2d, arc);
     }
 
-    public synchronized void drawPolyline(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public synchronized void drawPolyline(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         doPolygon(sg2d, xpoints, ypoints, npoints, false, false);
     }
 
-    public synchronized void drawPolygon(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public synchronized void drawPolygon(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         doPolygon(sg2d, xpoints, ypoints, npoints, true, false);
     }
 
@@ -120,11 +120,11 @@
         fill(sg2d, arc);
     }
 
-    public synchronized void fillPolygon(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints) {
+    public synchronized void fillPolygon(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints) {
         doPolygon(sg2d, xpoints, ypoints, npoints, true, true);
     }
 
-    public synchronized void doPolygon(SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints, boolean ispolygon, boolean isfill) {
+    public synchronized void doPolygon(SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints, boolean ispolygon, boolean isfill) {
         GeneralPath gp = new GeneralPath(Path2D.WIND_NON_ZERO, npoints);
         gp.moveTo(xpoints[0], ypoints[0]);
         for (int i = 1; i < npoints; i++) {
@@ -196,7 +196,7 @@
         drawGlyphVector(sg2d, sg2d.getFont().createGlyphVector(sg2d.getFontRenderContext(), str), x, y);
     }
 
-    public synchronized void drawChars(SunGraphics2D sg2d, char data[], int offset, int length, int x, int y) {
+    public synchronized void drawChars(SunGraphics2D sg2d, char[] data, int offset, int length, int x, int y) {
         drawString(sg2d, new String(data, offset, length), x, y);
     }
 
--- a/src/java.desktop/macosx/classes/sun/java2d/DataBufferNIOInt.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/DataBufferNIOInt.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
     IntBuffer data;
 
     /** All data banks */
-    IntBuffer bankdata[];
+    IntBuffer[] bankdata;
 
     /**
      * Constructs an integer-based {@code DataBuffer} with a single bank
--- a/src/java.desktop/macosx/classes/sun/java2d/IntegerNIORaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/IntegerNIORaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
 
     protected IntBuffer data;
 
-    public static WritableRaster createNIORaster(int w, int h, int bandMasks[], Point location) {
+    public static WritableRaster createNIORaster(int w, int h, int[] bandMasks, Point location) {
         if ((w <= 0) || (h <= 0)) {
             throw new IllegalArgumentException("Width (" + w + ") and height (" + h +
                                                ") cannot be <= 0");
--- a/src/java.desktop/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -171,7 +171,7 @@
                 int pixelSize = cm.getPixelSize();
                 int numOfComponents = cm.getNumColorComponents();
                 if ((numOfComponents == 3) && (cm instanceof ComponentColorModel) && (sm instanceof PixelInterleavedSampleModel)) {
-                    int sizes[] = cm.getComponentSize();
+                    int[] sizes = cm.getComponentSize();
                     boolean validsizes = (sizes[0] == 8) && (sizes[1] == 8) && (sizes[2] == 8);
                     int[] offs = ((ComponentSampleModel) sm).getBandOffsets();
                     int numBands = raster.getNumBands();
--- a/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -605,14 +605,14 @@
 
                     this.fGraphicsStatesInt.put(kColorStateIndex, kColorLinearGradient);
                     int numColor = color.getColors().length;
-                    int colorArray[] = new int[numColor];
+                    int[] colorArray = new int[numColor];
                     for (int i = 0; i < numColor; i++) {
                         colorArray[i] = color.getColors()[i].getRGB();
                     }
                     this.fGraphicsStatesObject[kColorArrayIndex] = colorArray;
 
                     int numFractions = color.getFractions().length;
-                    float fractionArray[] = new float[numFractions];
+                    float[] fractionArray = new float[numFractions];
                     for (int i = 0; i < numFractions; i++) {
                         fractionArray[i] = color.getFractions()[i];
                     }
@@ -639,14 +639,14 @@
 
                     this.fGraphicsStatesInt.put(kColorStateIndex, kColorRadialGradient);
                     int numColor = color.getColors().length;
-                    int colorArray[] = new int[numColor];
+                    int[] colorArray = new int[numColor];
                     for (int i = 0; i < numColor; i++) {
                         colorArray[i] = color.getColors()[i].getRGB();
                     }
                     this.fGraphicsStatesObject[kColorArrayIndex] = colorArray;
 
                     int numStops = color.getFractions().length;
-                    float stopsArray[] = new float[numStops];
+                    float[] stopsArray = new float[numStops];
                     for (int i = 0; i < numStops; i++) {
                         stopsArray[i] = color.getFractions()[i];
                     }
@@ -1031,7 +1031,7 @@
         renderer.doArc(this, x, y, width, height, startAngle, arcAngle, type, isfill);
     }
 
-    public void doPolygon(CRenderer renderer, SunGraphics2D sg2d, int xpoints[], int ypoints[], int npoints, boolean ispolygon, boolean isfill) {
+    public void doPolygon(CRenderer renderer, SunGraphics2D sg2d, int[] xpoints, int[] ypoints, int npoints, boolean ispolygon, boolean isfill) {
         // System.err.println("--- doPolygon");
 
         if ((isfill) && (isCustomPaint(sg2d))) {
@@ -1127,7 +1127,7 @@
         renderer.doDrawGlyphs(this, nativeStrikePtr, gv, x, y);
     }
 
-    public void drawUnicodes(CTextPipe renderer, SunGraphics2D sg2d, long nativeStrikePtr, char unicodes[], int offset, int length, float x, float y) {
+    public void drawUnicodes(CTextPipe renderer, SunGraphics2D sg2d, long nativeStrikePtr, char[] unicodes, int offset, int length, float x, float y) {
         // System.err.println("--- drawUnicodes "+(new String(unicodes, offset, length)));
         setupGraphicsState(sg2d, kUnicodes, sg2d.font, 0, 0, fBounds.width, fBounds.height);
         if (length == 1) {
--- a/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -133,7 +133,7 @@
 
         long cfginfo = 0;
         int textureSize = 0;
-        final String ids[] = new String[1];
+        final String[] ids = new String[1];
         OGLRenderQueue rq = OGLRenderQueue.getInstance();
         rq.lock();
         try {
--- a/src/java.desktop/macosx/classes/sun/lwawt/LWChoicePeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/LWChoicePeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,16 +23,19 @@
  * questions.
  */
 
-
 package sun.lwawt;
 
-import java.awt.*;
+import java.awt.Point;
+import java.awt.Choice;
+
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
 import java.awt.peer.ChoicePeer;
 
 import javax.accessibility.Accessible;
-import javax.swing.*;
+import javax.swing.JComboBox;
+import javax.swing.SwingUtilities;
+import javax.swing.JPopupMenu;
 
 /**
  * Lightweight implementation of {@link ChoicePeer}. Delegates most of the work
@@ -146,19 +149,6 @@
             return LWChoicePeer.this.getLocationOnScreen();
         }
 
-        /**
-         * We should post ITEM_STATE_CHANGED event when the same element is
-         * reselected.
-         */
-        @Override
-        public void setSelectedItem(final Object anObject) {
-            final Object oldSelection = selectedItemReminder;
-            if (oldSelection != null && oldSelection.equals(anObject)) {
-                selectedItemChanged();
-            }
-            super.setSelectedItem(anObject);
-        }
-
         @Override
         public void firePopupMenuWillBecomeVisible() {
             super.firePopupMenuWillBecomeVisible();
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,17 +25,39 @@
 
 package sun.lwawt.macosx;
 
-import sun.lwawt.LWWindowPeer;
-
-import java.awt.*;
-import java.beans.*;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.KeyboardFocusManager;
+import java.awt.Point;
+import java.awt.Window;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.lang.reflect.InvocationTargetException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.concurrent.Callable;
 
-import javax.accessibility.*;
-import javax.swing.*;
+import javax.accessibility.Accessible;
+import javax.accessibility.AccessibleAction;
+import javax.accessibility.AccessibleComponent;
+import javax.accessibility.AccessibleContext;
+import javax.accessibility.AccessibleRole;
+import javax.accessibility.AccessibleSelection;
+import javax.accessibility.AccessibleState;
+import javax.accessibility.AccessibleStateSet;
+import javax.accessibility.AccessibleTable;
+import javax.accessibility.AccessibleText;
+import javax.accessibility.AccessibleValue;
+import javax.swing.Icon;
+import javax.swing.JComponent;
+import javax.swing.JEditorPane;
+import javax.swing.JLabel;
+import javax.swing.JTextArea;
+
 import sun.awt.AWTAccessor;
+import sun.lwawt.LWWindowPeer;
 
 class CAccessibility implements PropertyChangeListener {
     private static Set<String> ignoredRoles;
@@ -626,7 +648,7 @@
                                 currentAC = currentAccessible.getAccessibleContext();
                                 currentName = currentAC.getAccessibleName();
                                 currentRole = (AccessibleRole)childrenAndRoles.get(i+1);
-                                if ( currentName.equals(activeDescendantName) &&
+                                if (currentName != null && currentName.equals(activeDescendantName) &&
                                      currentRole.equals(activeDescendantRole) ) {
                                     newArray.add(0, currentAccessible);
                                     newArray.add(1, currentRole);
@@ -649,6 +671,26 @@
         }, c);
     }
 
+    private static final int JAVA_AX_ROWS = 1;
+    private static final int JAVA_AX_COLS = 2;
+
+    public static int getTableInfo(final Accessible a, final Component c,
+                                   final int info) {
+        if (a == null) return 0;
+        return invokeAndWait(() -> {
+            AccessibleContext ac = a.getAccessibleContext();
+            AccessibleTable table = ac.getAccessibleTable();
+            if (table != null) {
+                if (info == JAVA_AX_COLS) {
+                    return table.getAccessibleColumnCount();
+                } else if (info == JAVA_AX_ROWS) {
+                    return table.getAccessibleRowCount();
+                }
+            }
+            return 0;
+        }, c);
+    }
+
     private static AccessibleRole getAccessibleRoleForLabel(JLabel l, AccessibleRole fallback) {
         String text = l.getText();
         if (text != null && text.length() > 0) {
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,7 @@
 import javax.accessibility.AccessibleContext;
 import javax.swing.JProgressBar;
 import javax.swing.JSlider;
+import javax.swing.JCheckBox;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
@@ -110,7 +111,6 @@
         }
     }
 
-
     private class AXChangeNotifier implements PropertyChangeListener {
 
         @Override
@@ -157,6 +157,11 @@
                             }
                         }
                     }
+
+                    // Do send check box state changes to native side
+                    if (thisRole == AccessibleRole.CHECK_BOX) {
+                        valueChanged(ptr);
+                    }
                 }
             }
         }
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CImage.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
 public class CImage extends CFRetainedResource {
     private static native long nativeCreateNSImageFromArray(int[] buffer, int w, int h);
     private static native long nativeCreateNSImageFromBytes(byte[] buffer);
-    private static native long nativeCreateNSImageFromArrays(int[][] buffers, int w[], int h[]);
+    private static native long nativeCreateNSImageFromArrays(int[][] buffers, int[] w, int[] h);
     private static native long nativeCreateNSImageFromFileContents(String file);
     private static native long nativeCreateNSImageOfFileFromLaunchServices(String file);
     private static native long nativeCreateNSImageFromImageName(String name);
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethod.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethod.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@
     // Intitalize highlight mapping table and its mapper.
     static {
         @SuppressWarnings({"rawtypes", "unchecked"})
-        Map<TextAttribute, Integer> styles[] = new Map[4];
+        Map<TextAttribute, Integer>[] styles = new Map[4];
         HashMap<TextAttribute, Integer> map;
 
         // UNSELECTED_RAW_TEXT_HIGHLIGHT
@@ -613,7 +613,7 @@
                     }
 
                     // Get the characters from the iterator
-                    char selectedText[] = new char[theIterator.getEndIndex() - theIterator.getBeginIndex()];
+                    char[] selectedText = new char[theIterator.getEndIndex() - theIterator.getBeginIndex()];
                     char current = theIterator.first();
                     int index = 0;
                     while (current != CharacterIterator.DONE) {
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -106,7 +106,7 @@
     }
 
     public String toString() {
-        Locale loc[] = getAvailableLocales();
+        Locale[] loc = getAvailableLocales();
         String locnames = null;
 
         for (int i = 0; i < loc.length; i++) {
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CPrinterJob.java	Thu Nov 01 09:01:15 2018 -0400
@@ -246,18 +246,22 @@
         }
     }
 
+    boolean isPrintToFile = false;
+    private void setPrintToFile(boolean printToFile) {
+        isPrintToFile = printToFile;
+    }
+
     @Override
     public void print(PrintRequestAttributeSet attributes) throws PrinterException {
         // NOTE: Some of this code is copied from RasterPrinterJob.
 
-
         // this code uses javax.print APIs
         // this will make it print directly to the printer
         // this will not work if the user clicks on the "Preview" button
         // However if the printer is a StreamPrintService, its the right path.
         PrintService psvc = getPrintService();
 
-        if (psvc == null) {
+        if (psvc == null && !isPrintToFile) {
             throw new PrinterException("No print service found.");
         }
 
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -173,7 +173,7 @@
      */
     @Override
     public int getRGBPixel(int x, int y) {
-        int c[] = new int[1];
+        int[] c = new int[1];
         double scale = fDevice.getScaleFactor();
         getScreenPixels(new Rectangle(x, y, (int) scale, (int) scale), c);
         return c[0];
@@ -186,7 +186,7 @@
      */
     @Override
     public int [] getRGBPixels(final Rectangle bounds) {
-        int c[] = new int[bounds.width * bounds.height];
+        int[] c = new int[bounds.width * bounds.height];
         getScreenPixels(bounds, c);
 
         return c;
--- a/src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/classes/sun/lwawt/macosx/CTextPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@
 public class CTextPipe implements TextPipe {
     public native void doDrawString(SurfaceData sData, long nativeStrikePtr, String s, double x, double y);
     public native void doDrawGlyphs(SurfaceData sData, long nativeStrikePtr, GlyphVector gV, float x, float y);
-    public native void doUnicodes(SurfaceData sData, long nativeStrikePtr, char unicodes[], int offset, int length, float x, float y);
+    public native void doUnicodes(SurfaceData sData, long nativeStrikePtr, char[] unicodes, int offset, int length, float x, float y);
     public native void doOneUnicode(SurfaceData sData, long nativeStrikePtr, char aUnicode, float x, float y);
 
     long getNativeStrikePtr(final SunGraphics2D sg2d) {
@@ -95,7 +95,7 @@
         sg2d.setFont(prevFont);
     }
 
-    public void drawChars(final SunGraphics2D sg2d, final char data[], final int offset, final int length, final int x, final int y) {
+    public void drawChars(final SunGraphics2D sg2d, final char[] data, final int offset, final int length, final int x, final int y) {
         final long nativeStrikePtr = getNativeStrikePtr(sg2d);
         if (OSXSurfaceData.IsSimpleColor(sg2d.paint) && nativeStrikePtr != 0) {
             final OSXSurfaceData surfaceData = (OSXSurfaceData)sg2d.getSurfaceData();
@@ -120,7 +120,7 @@
             super.doDrawGlyphs(sData, nativeStrikePtr, gV, x, y);
         }
 
-        public void doUnicodes(final SurfaceData sData, final long nativeStrikePtr, final char unicodes[], final int offset, final int length, final float x, final float y) {
+        public void doUnicodes(final SurfaceData sData, final long nativeStrikePtr, final char[] unicodes, final int offset, final int length, final float x, final float y) {
             GraphicsPrimitive.tracePrimitive("QuartzDrawUnicodes");
             super.doUnicodes(sData, nativeStrikePtr, unicodes, offset, length, x, y);
         }
--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m	Thu Nov 01 09:01:15 2018 -0400
@@ -315,6 +315,13 @@
     static JNF_MEMBER_CACHE(jm_setCopiesAttribute, sjc_CPrinterJob, "setCopiesAttribute", "(I)V");
     static JNF_MEMBER_CACHE(jm_setCollated, sjc_CPrinterJob, "setCollated", "(Z)V");
     static JNF_MEMBER_CACHE(jm_setPageRangeAttribute, sjc_CPrinterJob, "setPageRangeAttribute", "(IIZ)V");
+    static JNF_MEMBER_CACHE(jm_setPrintToFile, sjc_CPrinterJob, "setPrintToFile", "(Z)V");
+
+    if (src.jobDisposition == NSPrintSaveJob) {
+        JNFCallVoidMethod(env, dstPrinterJob, jm_setPrintToFile, true);
+    } else {
+        JNFCallVoidMethod(env, dstPrinterJob, jm_setPrintToFile, false);
+    }
 
     // get the selected printer's name, and set the appropriate PrintService on the Java side
     NSString *name = [[src printer] name];
--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaAccessibilityUtilities.m	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -368,7 +368,7 @@
     [sRoles setObject:NSAccessibilitySplitGroupRole forKey:@"splitpane"];
     [sRoles setObject:NSAccessibilityValueIndicatorRole forKey:@"statusbar"];
     [sRoles setObject:NSAccessibilityGroupRole forKey:@"swingcomponent"];
-    [sRoles setObject:NSAccessibilityTableRole forKey:@"table"];
+    [sRoles setObject:NSAccessibilityGridRole forKey:@"table"];
     [sRoles setObject:NSAccessibilityTextFieldRole forKey:@"text"];
     [sRoles setObject:NSAccessibilityTextAreaRole forKey:@"textarea"]; // supports top/bottom of document notifications: CAccessability.getAccessibleRole()
     [sRoles setObject:NSAccessibilityCheckBoxRole forKey:@"togglebutton"];
--- a/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m	Thu Nov 01 09:01:15 2018 -0400
@@ -54,6 +54,7 @@
 // If the value is >=0, it's an index
 
 static JNF_STATIC_MEMBER_CACHE(jm_getChildrenAndRoles, sjc_CAccessibility, "getChildrenAndRoles", "(Ljavax/accessibility/Accessible;Ljava/awt/Component;IZ)[Ljava/lang/Object;");
+static JNF_STATIC_MEMBER_CACHE(jm_getTableInfo, sjc_CAccessibility, "getTableInfo", "(Ljavax/accessibility/Accessible;Ljava/awt/Component;I)I");
 static JNF_STATIC_MEMBER_CACHE(sjm_getAccessibleComponent, sjc_CAccessibility, "getAccessibleComponent", "(Ljavax/accessibility/Accessible;Ljava/awt/Component;)Ljavax/accessibility/AccessibleComponent;");
 static JNF_STATIC_MEMBER_CACHE(sjm_getAccessibleValue, sjc_CAccessibility, "getAccessibleValue", "(Ljavax/accessibility/Accessible;Ljava/awt/Component;)Ljavax/accessibility/AccessibleValue;");
 static JNF_STATIC_MEMBER_CACHE(sjm_getAccessibleName, sjc_CAccessibility, "getAccessibleName", "(Ljavax/accessibility/Accessible;Ljava/awt/Component;)Ljava/lang/String;");
@@ -117,6 +118,14 @@
 - (BOOL)accessibilityIsHorizontalScrollBarAttributeSettable;
 @end
 
+@interface TableAccessibility : JavaComponentAccessibility {
+
+}
+- (NSArray *)initializeAttributeNamesWithEnv:(JNIEnv *)env;
+- (NSArray *)accessibilityRowsAttribute;
+- (NSArray *)accessibilityColumnsAttribute;
+@end
+
 
 @implementation JavaComponentAccessibility
 
@@ -370,6 +379,8 @@
     JavaComponentAccessibility *newChild = nil;
     if ([javaRole isEqualToString:@"pagetablist"]) {
         newChild = [TabGroupAccessibility alloc];
+    } else if ([javaRole isEqualToString:@"table"]) {
+        newChild = [TableAccessibility alloc];
     } else if ([javaRole isEqualToString:@"scrollpane"]) {
         newChild = [ScrollAreaAccessibility alloc];
     } else {
@@ -484,7 +495,8 @@
     // children
     if (attributeStatesArray[6]) {
         [attributeNames addObject:NSAccessibilityChildrenAttribute];
-        if ([javaRole isEqualToString:@"list"]) {
+        if ([javaRole isEqualToString:@"list"]
+                || [javaRole isEqualToString:@"table"]) {
             [attributeNames addObject:NSAccessibilitySelectedChildrenAttribute];
             [attributeNames addObject:NSAccessibilityVisibleChildrenAttribute];
         }
@@ -652,7 +664,9 @@
         id myParent = [self accessibilityParentAttribute];
         if ([myParent isKindOfClass:[JavaComponentAccessibility class]]) {
             NSString *parentRole = [(JavaComponentAccessibility *)myParent javaRole];
-            if ([parentRole isEqualToString:@"list"]) {
+
+            if ([parentRole isEqualToString:@"list"]
+                    || [parentRole isEqualToString:@"table"]) {
                 NSMutableArray *moreNames =
                     [[NSMutableArray alloc] initWithCapacity: [names count] + 2];
                 [moreNames addObjectsFromArray: names];
@@ -1847,6 +1861,41 @@
 
 @end
 
+// these constants are duplicated in CAccessibility.java
+#define JAVA_AX_ROWS (1)
+#define JAVA_AX_COLS (2)
+
+@implementation TableAccessibility
+
+- (NSArray *)initializeAttributeNamesWithEnv:(JNIEnv *)env
+{
+    NSMutableArray *names = (NSMutableArray *)[super initializeAttributeNamesWithEnv:env];
+
+    [names addObject:NSAccessibilityRowCountAttribute];
+    [names addObject:NSAccessibilityColumnCountAttribute];
+    return names;
+}
+
+- (id)getTableInfo:(jint)info {
+    if (fAccessible == NULL) return 0;
+
+    JNIEnv* env = [ThreadUtilities getJNIEnv];
+    jint count = JNFCallStaticIntMethod(env, jm_getTableInfo, fAccessible,
+                                        fComponent, info);
+    NSNumber *index = [NSNumber numberWithInt:count];
+    return index;
+}
+
+
+- (id)accessibilityRowCountAttribute {
+    return [self getTableInfo:JAVA_AX_ROWS];
+}
+
+- (id)accessibilityColumnCountAttribute {
+    return [self getTableInfo:JAVA_AX_COLS];
+}
+@end
+
 /*
  * Returns Object.equals for the two items
  * This may use LWCToolkit.invokeAndWait(); don't call while holding fLock
--- a/src/java.desktop/share/classes/com/sun/beans/editors/ColorEditor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/beans/editors/ColorEditor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -195,11 +195,11 @@
     }
 
 
-    private String colorNames[] = { " ", "white", "lightGray", "gray", "darkGray",
+    private String[] colorNames = { " ", "white", "lightGray", "gray", "darkGray",
                         "black", "red", "pink", "orange",
                         "yellow", "green", "magenta", "cyan",
                         "blue"};
-    private Color colors[] = { null, Color.white, Color.lightGray, Color.gray, Color.darkGray,
+    private Color[] colors = { null, Color.white, Color.lightGray, Color.gray, Color.darkGray,
                         Color.black, Color.red, Color.pink, Color.orange,
                         Color.yellow, Color.green, Color.magenta, Color.cyan,
                         Color.blue};
--- a/src/java.desktop/share/classes/com/sun/beans/editors/FontEditor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/beans/editors/FontEditor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -213,7 +213,7 @@
     private Choice styleChoser;
     private Choice sizeChoser;
 
-    private String fonts[];
+    private String[] fonts;
     private String[] styleNames = { "plain", "bold", "italic" };
     private int[] styles = { Font.PLAIN, Font.BOLD, Font.ITALIC };
     private int[] pointSizes = { 3, 5, 8, 10, 12, 14, 18, 24, 36, 48 };
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java	Thu Nov 01 09:01:15 2018 -0400
@@ -122,7 +122,7 @@
     private long bitmapStart;
     private long compression;
     private long imageSize;
-    private byte palette[];
+    private byte[] palette;
     private int imageType;
     private int numBands;
     private boolean isBottomUp;
@@ -655,7 +655,7 @@
             }
 
             // Create IndexColorModel from the palette.
-            byte r[], g[], b[];
+            byte[] r, g, b;
             if (imageType == VERSION_2_1_BIT ||
                 imageType == VERSION_2_4_BIT ||
                 imageType == VERSION_2_8_BIT) {
@@ -885,9 +885,9 @@
             noTransform &=  destinationRegion.equals(raster.getBounds());
         }
 
-        byte bdata[] = null; // buffer for byte data
-        short sdata[] = null; // buffer for short data
-        int idata[] = null; // buffer for int data
+        byte[] bdata = null; // buffer for byte data
+        short[] sdata = null; // buffer for short data
+        int[] idata = null; // buffer for int data
 
         // the sampleModel can be null in case of embedded image
         if (sampleModel != null) {
@@ -1368,7 +1368,7 @@
         }
     }
 
-    private void read16Bit(short sdata[]) throws IOException {
+    private void read16Bit(short[] sdata) throws IOException {
         // Padding bytes at the end of each scanline
         // width * bitsPerPixel should be divisible by 32
         int padding = width * 2 % 4;
@@ -1434,7 +1434,7 @@
         }
     }
 
-    private void read32Bit(int idata[]) throws IOException {
+    private void read32Bit(int[] idata) throws IOException {
         if (noTransform) {
             int j = isBottomUp ? (height -1) * width : 0;
 
@@ -1490,7 +1490,7 @@
         }
     }
 
-    private void readRLE8(byte bdata[]) throws IOException {
+    private void readRLE8(byte[] bdata) throws IOException {
         // If imageSize field is not provided, calculate it.
         int imSize = (int)imageSize;
         if (imSize == 0) {
@@ -1506,7 +1506,7 @@
         }
 
         // Read till we have the whole image
-        byte values[] = new byte[imSize];
+        byte[] values = new byte[imSize];
         int bytesRead = 0;
         iis.readFully(values, 0, imSize);
 
@@ -1562,7 +1562,7 @@
                             byte[] values,
                             byte[] bdata) throws IOException {
 
-        byte val[] = new byte[width];
+        byte[] val = new byte[width];
         int count = 0, l = 0;
         int value;
         boolean flag = false;
@@ -1864,7 +1864,7 @@
                 // Ensure to check if the source index-count, does not
                 // exceed the source image size
                 if (count < imSize) {
-                    int alternate[] = { (values[count] & 0xf0) >> 4,
+                    int[] alternate = { (values[count] & 0xf0) >> 4,
                                         values[count] & 0x0f };
                     for (int i=0; (i < value) && (l < width); i++) {
                         val[l++] = (byte)alternate[i & 1];
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -295,7 +295,7 @@
 
         noTransform &= bgrOrder;
 
-        int sampleSize[] = sampleModel.getSampleSize();
+        int[] sampleSize = sampleModel.getSampleSize();
 
         //XXX: check more
 
@@ -322,7 +322,7 @@
                                   + BMPCompressionTypes.getName(compressionType));
         }
 
-        byte r[] = null, g[] = null, b[] = null, a[] = null;
+        byte[] r = null, g = null, b = null, a = null;
 
         if (compressionType == BI_BITFIELDS) {
             bitsPerPixel =
@@ -752,7 +752,7 @@
     }
 
     private void writePixels(int l, int scanlineBytes, int bitsPerPixel,
-                             int pixels[],
+                             int[] pixels,
                              int padding, int numBands,
                              IndexColorModel icm) throws IOException {
         int pixel = 0;
@@ -867,9 +867,9 @@
                 // Case where IndexColorModel had > 256 colors.
                 int entries = icm.getMapSize();
 
-                byte r[] = new byte[entries];
-                byte g[] = new byte[entries];
-                byte b[] = new byte[entries];
+                byte[] r = new byte[entries];
+                byte[] g = new byte[entries];
+                byte[] b = new byte[entries];
 
                 icm.getReds(r);
                 icm.getGreens(g);
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/common/BitFile.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/common/BitFile.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@
  */
 public class BitFile {
     ImageOutputStream output;
-    byte buffer[];
+    byte[] buffer;
     int index;
     int bitsLeft; // bits left at current index that are avail.
 
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/common/InputStreamAdapter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/common/InputStreamAdapter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
         return stream.read();
     }
 
-    public int read(byte b[], int off, int len) throws IOException {
+    public int read(byte[] b, int off, int len) throws IOException {
         return stream.read(b, off, len);
     }
 }
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/common/SimpleRenderedImage.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/common/SimpleRenderedImage.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -263,7 +263,7 @@
      * property names.
      */
     public String[] getPropertyNames(String prefix) {
-        String propertyNames[] = getPropertyNames();
+        String[] propertyNames = getPropertyNames();
         if (propertyNames == null) {
             return null;
         }
@@ -282,7 +282,7 @@
         }
 
         // Copy the strings from the Vector over to a String array.
-        String prefixNames[] = new String[names.size()];
+        String[] prefixNames = new String[names.size()];
         int count = 0;
         for (Iterator<String> it = names.iterator(); it.hasNext(); ) {
             prefixNames[count++] = it.next();
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFaxDecompressor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFFaxDecompressor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -71,13 +71,13 @@
     // Data structures needed to store changing elements for the previous
     // and the current scanline
     private int changingElemSize = 0;
-    private int prevChangingElems[];
-    private int currChangingElems[];
+    private int[] prevChangingElems;
+    private int[] currChangingElems;
 
     // Element at which to start search in getNextChangingElement
     private int lastChangingElement = 0;
 
-    private static int table1[] = {
+    private static int[] table1 = {
         0x00, // 0 bits are left in first byte - SHOULD NOT HAPPEN
         0x01, // 1 bits are left in first byte
         0x03, // 2 bits are left in first byte
@@ -89,7 +89,7 @@
         0xff  // 8 bits are left in first byte
     };
 
-    private static int table2[] = {
+    private static int[] table2 = {
         0x00, // 0
         0x80, // 1
         0xc0, // 2
@@ -103,7 +103,7 @@
 
     // Table to be used for flipping bytes when fillOrder is
     // BaselineTIFFTagSet.FILL_ORDER_RIGHT_TO_LEFT (2).
-    static byte flipTable[] = {
+    static byte[] flipTable = {
          0,  -128,    64,   -64,    32,   -96,    96,   -32,
         16,  -112,    80,   -48,    48,   -80,   112,   -16,
          8,  -120,    72,   -56,    40,   -88,   104,   -24,
@@ -139,7 +139,7 @@
     };
 
     // The main 10 bit white runs lookup table
-    private static short white[] = {
+    private static short[] white = {
         // 0 - 7
         6430,   6400,   6400,   6400,   3225,   3225,   3225,   3225,
         // 8 - 15
@@ -399,7 +399,7 @@
     };
 
     // Additional make up codes for both White and Black runs
-    private static short additionalMakeup[] = {
+    private static short[] additionalMakeup = {
         28679,  28679,  31752,  (short)32777,
         (short)33801,  (short)34825,  (short)35849,  (short)36873,
         (short)29703,  (short)29703,  (short)30727,  (short)30727,
@@ -407,7 +407,7 @@
     };
 
     // Initial black run look up table, uses the first 4 bits of a code
-    private static short initBlack[] = {
+    private static short[] initBlack = {
         // 0 - 7
         3226,  6412,    200,    168,    38,     38,    134,    134,
         // 8 - 15
@@ -415,10 +415,10 @@
     };
 
     //
-    private static short twoBitBlack[] = {292, 260, 226, 226};   // 0 - 3
+    private static short[] twoBitBlack = {292, 260, 226, 226};   // 0 - 3
 
     // Main black run table, using the last 9 bits of possible 13 bit code
-    private static short black[] = {
+    private static short[] black = {
         // 0 - 7
         62,     62,     30,     30,     0,      0,      0,      0,
         // 8 - 15
@@ -549,7 +549,7 @@
         390,    390,    390,    390,    390,    390,    390,    390,
     };
 
-    private static byte twoDCodes[] = {
+    private static byte[] twoDCodes = {
         // 0 - 7
         80,     88,     23,     71,     30,     30,     62,     62,
         // 8 - 15
@@ -853,7 +853,7 @@
         int entry, code, bits, color;
         boolean isWhite;
         int currIndex = 0;
-        int temp[];
+        int[] temp;
 
         if(data.length < 2) {
             throw new IIOException("Insufficient data to read initial EOL.");
@@ -1029,7 +1029,7 @@
         byte color;
         boolean isWhite;
         int currIndex;
-        int temp[];
+        int[] temp;
 
         // Return values from getNextChangingElement
         int[] b = new int[2];
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFLZWDecompressor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFLZWDecompressor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
     private static final int EOI_CODE   = 257;
     private static final int FIRST_CODE = 258;
 
-    private static final int andTable[] = {
+    private static final int[] andTable = {
         511,
         1023,
         2047,
@@ -53,7 +53,7 @@
     private int srcIndex;
     private int dstIndex;
 
-    private byte stringTable[][];
+    private byte[][] stringTable;
     private int tableIndex, bitsToGet = 9;
 
     private int nextData = 0;
@@ -215,7 +215,7 @@
     /**
      * Write out the string just uncompressed.
      */
-    public void writeString(byte string[]) {
+    public void writeString(byte[] string) {
         if(dstIndex < dstData.length) {
             int maxIndex = Math.min(string.length,
                                     dstData.length - dstIndex);
@@ -229,9 +229,9 @@
     /**
      * Add a new string to the string table.
      */
-    public void addStringToTable(byte oldString[], byte newString) {
+    public void addStringToTable(byte[] oldString, byte newString) {
         int length = oldString.length;
-        byte string[] = new byte[length + 1];
+        byte[] string = new byte[length + 1];
         System.arraycopy(oldString, 0, string, 0, length);
         string[length] = newString;
 
@@ -250,7 +250,7 @@
     /**
      * Add a new string to the string table.
      */
-    public void addStringToTable(byte string[]) {
+    public void addStringToTable(byte[] string) {
         // Add this new String to the table
         stringTable[tableIndex++] = string;
 
@@ -266,9 +266,9 @@
     /**
      * Append {@code newString} to the end of {@code oldString}.
      */
-    public byte[] composeString(byte oldString[], byte newString) {
+    public byte[] composeString(byte[] oldString, byte newString) {
         int length = oldString.length;
-        byte string[] = new byte[length + 1];
+        byte[] string = new byte[length + 1];
         System.arraycopy(oldString, 0, string, 0, length);
         string[length] = newString;
 
--- a/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFLZWUtil.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFLZWUtil.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,13 +37,13 @@
     byte[] dstData;
     int dstIndex = 0;
 
-    byte stringTable[][];
+    byte[][] stringTable;
     int tableIndex, bitsToGet = 9;
 
     int nextData = 0;
     int nextBits = 0;
 
-    private static final int andTable[] = {
+    private static final int[] andTable = {
         511,
         1023,
         2047,
@@ -143,7 +143,7 @@
     /**
      * Write out the string just uncompressed.
      */
-    public void writeString(byte string[]) {
+    public void writeString(byte[] string) {
         ensureCapacity(string.length);
         for (int i = 0; i < string.length; i++) {
             dstData[dstIndex++] = string[i];
@@ -153,9 +153,9 @@
     /**
      * Add a new string to the string table.
      */
-    public void addStringToTable(byte oldString[], byte newString) {
+    public void addStringToTable(byte[] oldString, byte newString) {
         int length = oldString.length;
-        byte string[] = new byte[length + 1];
+        byte[] string = new byte[length + 1];
         System.arraycopy(oldString, 0, string, 0, length);
         string[length] = newString;
 
@@ -174,7 +174,7 @@
     /**
      * Add a new string to the string table.
      */
-    public void addStringToTable(byte string[]) {
+    public void addStringToTable(byte[] string) {
         // Add this new String to the table
         stringTable[tableIndex++] = string;
 
@@ -190,9 +190,9 @@
     /**
      * Append {@code newString} to the end of {@code oldString}.
      */
-    public byte[] composeString(byte oldString[], byte newString) {
+    public byte[] composeString(byte[] oldString, byte newString) {
         int length = oldString.length;
-        byte string[] = new byte[length + 1];
+        byte[] string = new byte[length + 1];
         System.arraycopy(oldString, 0, string, 0, length);
         string[length] = newString;
 
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1497,7 +1497,7 @@
                             GTKIconFactory.resetIcons();
                         }
                         lnf.loadStyles();
-                        Window appWindows[] = Window.getWindows();
+                        Window[] appWindows = Window.getWindows();
                         for (int i = 0; i < appWindows.length; i++) {
                             SynthLookAndFeel.updateStyles(appWindows[i]);
                         }
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
         PositionType.TOP, PositionType.LEFT
     };
 
-    private static final ShadowType SHADOWS[] = {
+    private static final ShadowType[] SHADOWS = {
         ShadowType.NONE, ShadowType.IN, ShadowType.OUT,
         ShadowType.ETCHED_IN, ShadowType.OUT
     };
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2028,8 +2028,8 @@
             AffineTransform affine;
             int index;
 
-            double ctrlpts[][];
-            int types[];
+            double[][] ctrlpts;
+            int[] types;
 
             private static final double angle = Math.PI / 4.0;
             private static final double a = 1.0 - Math.cos(angle);
@@ -2042,7 +2042,7 @@
             //     4 values for each point {v0, v1, v2, v3}:
             //         point = (x + v0 * w + v1 * arcWidth,
             //                  y + v2 * h + v3 * arcHeight);
-            private static final double CtrlPtTemplate[][] = {
+            private static final double[][] CtrlPtTemplate = {
                 {  0.0,  0.0,  1.0,  0.0 },     /* BOTTOM LEFT corner */
                 {  0.0,  0.0,  1.0, -0.5 },     /* BOTTOM LEFT arc start */
                 {  0.0,  0.0,  1.0, -acv,       /* BOTTOM LEFT arc curve */
@@ -2065,7 +2065,7 @@
                    0.0,  0.0,  0.0,  0.5 },
                 {},                             /* Closing path element */
             };
-            private static final int CornerFlags[] = {
+            private static final int[] CornerFlags = {
                 RoundRectClipShape.BOTTOM_LEFT,
                 RoundRectClipShape.BOTTOM_RIGHT,
                 RoundRectClipShape.TOP_RIGHT,
@@ -2126,7 +2126,7 @@
                 if (isDone()) {
                     throw new NoSuchElementException("roundrect iterator out of bounds");
                 }
-                double ctrls[] = ctrlpts[index];
+                double[] ctrls = ctrlpts[index];
                 int nc = 0;
                 for (int i = 0; i < ctrls.length; i += 4) {
                     coords[nc++] = (float) (x + ctrls[i + 0] * w + ctrls[i + 1] * aw);
@@ -2142,7 +2142,7 @@
                 if (isDone()) {
                     throw new NoSuchElementException("roundrect iterator out of bounds");
                 }
-                double ctrls[] = ctrlpts[index];
+                double[] ctrls = ctrlpts[index];
                 int nc = 0;
                 for (int i = 0; i < ctrls.length; i += 4) {
                     coords[nc++] = x + ctrls[i + 0] * w + ctrls[i + 1] * aw;
--- a/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifMenuUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifMenuUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,7 +65,7 @@
         return new MotifChangeHandler((JMenu)c, this);
     }
 
-    private boolean popupIsOpen(JMenu m,MenuElement me[]) {
+    private boolean popupIsOpen(JMenu m,MenuElement[] me) {
         int i;
         JPopupMenu pm = m.getPopupMenu();
 
@@ -111,7 +111,7 @@
                     } else {
                         Container cnt = menu.getParent();
                         if(cnt != null && cnt instanceof JMenuBar) {
-                            MenuElement me[] = new MenuElement[2];
+                            MenuElement[] me = new MenuElement[2];
                             me[0]=(MenuElement)cnt;
                             me[1]=menu;
                             manager.setSelectedPath(me);
@@ -119,9 +119,9 @@
                     }
                 }
 
-                MenuElement path[] = getPath();
+                MenuElement[] path = getPath();
                 if (path.length > 0) {
-                    MenuElement newPath[] = new MenuElement[path.length+1];
+                    MenuElement[] newPath = new MenuElement[path.length+1];
                     System.arraycopy(path,0,newPath,0,path.length);
                     newPath[path.length] = menu.getPopupMenu();
                     manager.setSelectedPath(newPath);
--- a/src/java.desktop/share/classes/com/sun/media/sound/AiffFileWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/AiffFileWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -234,7 +234,7 @@
         int bytesRead = 0;
         int bytesWritten = 0;
         InputStream fileStream = getFileStream(aiffFileFormat, in);
-        byte buffer[] = new byte[bisBufferSize];
+        byte[] buffer = new byte[bisBufferSize];
         int maxLength = aiffFileFormat.getByteLength();
 
         while( (bytesRead = fileStream.read( buffer )) >= 0 ) {
@@ -288,7 +288,7 @@
         float sampleFramesPerSecond = format.getSampleRate();
         int compCode = AiffFileFormat.AIFC_PCM;
 
-        byte header[] = null;
+        byte[] header = null;
         InputStream codedAudioStream = audioStream;
 
         // if we need to do any format conversion, do it here....
--- a/src/java.desktop/share/classes/com/sun/media/sound/AlawCodec.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/AlawCodec.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
     private static final byte[] ALAW_TABH = new byte[256];
     private static final byte[] ALAW_TABL = new byte[256];
 
-    private static final short seg_end[] = {
+    private static final short[] seg_end = {
             0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF
     };
 
@@ -91,7 +91,7 @@
 
             if( sourceFormat.getSampleSizeInBits() == 16 ) {
 
-                AudioFormat.Encoding enc[] = new AudioFormat.Encoding[1];
+                AudioFormat.Encoding[] enc = new AudioFormat.Encoding[1];
                 enc[0] = AudioFormat.Encoding.ALAW;
                 return enc;
 
@@ -102,7 +102,7 @@
 
             if( sourceFormat.getSampleSizeInBits() == 8 ) {
 
-                AudioFormat.Encoding enc[] = new AudioFormat.Encoding[1];
+                AudioFormat.Encoding[] enc = new AudioFormat.Encoding[1];
                 enc[0] = AudioFormat.Encoding.PCM_SIGNED;
                 return enc;
 
@@ -246,7 +246,7 @@
 
         // tempBuffer required only for encoding (when encode is true)
         private static final int tempBufferSize = 64;
-        private byte tempBuffer [] = null;
+        private byte[] tempBuffer  = null;
 
         /**
          * True to encode to a-law, false to decode to linear
@@ -256,8 +256,8 @@
         AudioFormat encodeFormat;
         AudioFormat decodeFormat;
 
-        byte tabByte1[] = null;
-        byte tabByte2[] = null;
+        byte[] tabByte1 = null;
+        byte[] tabByte2 = null;
         int highByte = 0;
         int lowByte  = 1;
 
@@ -320,7 +320,7 @@
          * $$jb 2/23/99
          * Used to determine segment number in aLaw encoding
          */
-        private short search(short val, short table[], short size) {
+        private short search(short val, short[] table, short size) {
             for(short i = 0; i < size; i++) {
                 if (val <= table[i]) { return i; }
             }
--- a/src/java.desktop/share/classes/com/sun/media/sound/AuFileWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/AuFileWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -219,7 +219,7 @@
         int bytesRead = 0;
         int bytesWritten = 0;
         InputStream fileStream = getFileStream(auFileFormat, in);
-        byte buffer[] = new byte[bisBufferSize];
+        byte[] buffer = new byte[bisBufferSize];
         int maxLength = auFileFormat.getByteLength();
 
         while( (bytesRead = fileStream.read( buffer )) >= 0 ) {
--- a/src/java.desktop/share/classes/com/sun/media/sound/DirectAudioDevice.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/DirectAudioDevice.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1148,7 +1148,7 @@
                     // to be allocated)
                     int MAX_READ_LIMIT = 16384;
                     DirectBAOS dbaos  = new DirectBAOS();
-                    byte tmp[] = new byte[MAX_READ_LIMIT];
+                    byte[] tmp = new byte[MAX_READ_LIMIT];
                     int thisRead = 0;
                     while (thisRead >= 0) {
                         thisRead = stream.read(tmp, 0, tmp.length);
--- a/src/java.desktop/share/classes/com/sun/media/sound/EmergencySoundbank.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/EmergencySoundbank.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -635,7 +635,7 @@
 
     public static SF2Layer new_guitar_pick(SF2Soundbank sf2) {
 
-        double datab[];
+        double[] datab;
 
         // Make treble part
         {
@@ -814,7 +814,7 @@
 
     public static SF2Layer new_piano_hammer(SF2Soundbank sf2) {
 
-        double datab[];
+        double[] datab;
 
         // Make treble part
         {
@@ -1803,8 +1803,8 @@
 
     public static SF2Layer new_timpani(SF2Soundbank sf2) {
 
-        double datab[];
-        double datah[];
+        double[] datab;
+        double[] datah;
 
         // Make Bass Part
         {
@@ -1891,8 +1891,8 @@
 
     public static SF2Layer new_melodic_toms(SF2Soundbank sf2) {
 
-        double datab[];
-        double datah[];
+        double[] datab;
+        double[] datah;
 
         // Make Bass Part
         {
@@ -1969,7 +1969,7 @@
     }
 
     public static SF2Layer new_reverse_cymbal(SF2Soundbank sf2) {
-        double datah[];
+        double[] datah;
         {
             int fftlen = 4096 * 4;
             double[] data = new double[2 * fftlen];
@@ -2012,8 +2012,8 @@
 
     public static SF2Layer new_snare_drum(SF2Soundbank sf2) {
 
-        double datab[];
-        double datah[];
+        double[] datab;
+        double[] datah;
 
         // Make Bass Part
         {
@@ -2088,8 +2088,8 @@
 
     public static SF2Layer new_bass_drum(SF2Soundbank sf2) {
 
-        double datab[];
-        double datah[];
+        double[] datab;
+        double[] datah;
 
         // Make Bass Part
         {
@@ -2162,8 +2162,8 @@
 
     public static SF2Layer new_tom(SF2Soundbank sf2) {
 
-        double datab[];
-        double datah[];
+        double[] datab;
+        double[] datah;
 
         // Make Bass Part
         {
@@ -2240,7 +2240,7 @@
     }
 
     public static SF2Layer new_closed_hihat(SF2Soundbank sf2) {
-        double datah[];
+        double[] datah;
 
         // Make treble part
         {
@@ -2291,7 +2291,7 @@
     }
 
     public static SF2Layer new_open_hihat(SF2Soundbank sf2) {
-        double datah[];
+        double[] datah;
         {
             int fftlen = 4096 * 4;
             double[] data = new double[2 * fftlen];
@@ -2332,7 +2332,7 @@
     }
 
     public static SF2Layer new_crash_cymbal(SF2Soundbank sf2) {
-        double datah[];
+        double[] datah;
         {
             int fftlen = 4096 * 4;
             double[] data = new double[2 * fftlen];
@@ -2372,7 +2372,7 @@
     }
 
     public static SF2Layer new_side_stick(SF2Soundbank sf2) {
-        double datab[];
+        double[] datab;
 
         // Make treble part
         {
--- a/src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java	Thu Nov 01 09:01:15 2018 -0400
@@ -66,7 +66,7 @@
     private long lastPlayCall = 0;
     private static final int MINIMUM_PLAY_DELAY = 30;
 
-    private byte loadedAudio[] = null;
+    private byte[] loadedAudio = null;
     private int loadedAudioByteLength = 0;
     private AudioFormat loadedAudioFormat = null;
 
@@ -383,7 +383,7 @@
     private void readStream(AudioInputStream as) throws IOException {
 
         DirectBAOS baos = new DirectBAOS();
-        byte buffer[] = new byte[16384];
+        byte[] buffer = new byte[16384];
         int bytesRead = 0;
         int totalBytesRead = 0;
 
--- a/src/java.desktop/share/classes/com/sun/media/sound/ModelByteBuffer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/ModelByteBuffer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -102,7 +102,7 @@
         }
 
         @Override
-        public int read(byte b[], int off, int len) throws IOException {
+        public int read(byte[] b, int off, int len) throws IOException {
             if (len > left)
                 len = (int)left;
             if (left == 0)
--- a/src/java.desktop/share/classes/com/sun/media/sound/RIFFReader.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/RIFFReader.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -156,11 +156,11 @@
         }
     }
 
-    public void readFully(byte b[]) throws IOException {
+    public void readFully(byte[] b) throws IOException {
         readFully(b, 0, b.length);
     }
 
-    public void readFully(byte b[], int off, int len) throws IOException {
+    public void readFully(byte[] b, int off, int len) throws IOException {
         if (len < 0)
             throw new IndexOutOfBoundsException();
         while (len > 0) {
--- a/src/java.desktop/share/classes/com/sun/media/sound/RIFFWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/RIFFWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -279,7 +279,7 @@
     }
 
     @Override
-    public void write(byte b[], int off, int len) throws IOException {
+    public void write(byte[] b, int off, int len) throws IOException {
         if (!writeoverride) {
             if (chunktype != 2) {
                 throw new IllegalArgumentException(
--- a/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1126,7 +1126,7 @@
                 }
                 return;
             }
-            int temp[] = new int[ controllers.length + c.length ];
+            int[] temp = new int[ controllers.length + c.length ];
             int elements;
 
             // first add what we have
@@ -1149,7 +1149,7 @@
                 }
             }
             // now keep only the elements we need
-            int newc[] = new int[ elements ];
+            int[] newc = new int[ elements ];
             for(int i=0; i<elements; i++){
                 newc[i] = temp[i];
             }
@@ -1161,7 +1161,7 @@
             if (c==null) {
                 controllers = new int[0];
             } else {
-                int temp[] = new int[ controllers.length ];
+                int[] temp = new int[ controllers.length ];
                 int elements = 0;
 
 
@@ -1178,7 +1178,7 @@
                     }
                 }
                 // now keep only the elements remaining
-                int newc[] = new int[ elements ];
+                int[] newc = new int[ elements ];
                 for(int i=0; i<elements; i++) {
                     newc[i] = temp[i];
                 }
@@ -1195,7 +1195,7 @@
                 return null;
             }
 
-            int c[] = new int[controllers.length];
+            int[] c = new int[controllers.length];
 
             for(int i=0; i<controllers.length; i++){
                 c[i] = controllers[i];
--- a/src/java.desktop/share/classes/com/sun/media/sound/SoftReverb.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/SoftReverb.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,7 +87,7 @@
             this.feedback = feedback;
         }
 
-        public void processReplace(float inout[]) {
+        public void processReplace(float[] inout) {
             int len = inout.length;
             int delaybuffersize = this.delaybuffersize;
             int rovepos = this.rovepos;
@@ -102,7 +102,7 @@
             this.rovepos = rovepos;
         }
 
-        public void processReplace(float in[], float out[]) {
+        public void processReplace(float[] in, float[] out) {
             int len = in.length;
             int delaybuffersize = this.delaybuffersize;
             int rovepos = this.rovepos;
@@ -138,7 +138,7 @@
             filtercoeff2 = (1 - filtercoeff1)* feedback;
         }
 
-        public void processMix(float in[], float out[]) {
+        public void processMix(float[] in, float[] out) {
             int len = in.length;
             int delaybuffersize = this.delaybuffersize;
             int rovepos = this.rovepos;
@@ -159,7 +159,7 @@
             this.rovepos = rovepos;
         }
 
-        public void processReplace(float in[], float out[]) {
+        public void processReplace(float[] in, float[] out) {
             int len = in.length;
             int delaybuffersize = this.delaybuffersize;
             int rovepos = this.rovepos;
--- a/src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -74,7 +74,7 @@
     /**
      * MIDI parser types.
      */
-    private static final int types[] = {
+    private static final int[] types = {
         MIDI_TYPE_0,
         MIDI_TYPE_1
     };
@@ -96,8 +96,8 @@
      */
     @Override
     public int[] getMidiFileTypes(Sequence sequence){
-        int typesArray[];
-        Track tracks[] = sequence.getTracks();
+        int[] typesArray;
+        Track[] tracks = sequence.getTracks();
 
         if( tracks.length==1 ) {
             typesArray = new int[2];
@@ -149,7 +149,7 @@
     //=================================================================================
 
     private InputStream getFileStream(int type, Sequence sequence) throws IOException {
-        Track tracks[] = sequence.getTracks();
+        Track[] tracks = sequence.getTracks();
         int bytesBuilt = 0;
         int headerLength = 14;
         int length = 0;
@@ -160,7 +160,7 @@
         DataOutputStream    hdos = null;
         PipedInputStream    headerStream = null;
 
-        InputStream         trackStreams [] = null;
+        InputStream[]         trackStreams  = null;
         InputStream         trackStream = null;
         InputStream fStream = null;
 
@@ -344,7 +344,7 @@
             int metatype;
             int data1, data2;
             int length;
-            byte data[] = null;
+            byte[] data = null;
             ShortMessage shortMessage = null;
             MetaMessage  metaMessage  = null;
             SysexMessage sysexMessage = null;
--- a/src/java.desktop/share/classes/com/sun/media/sound/SunFileWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/SunFileWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,12 +45,12 @@
     // buffer size for temporary input streams
     protected static final int bisBufferSize = 4096;
 
-    final AudioFileFormat.Type types[];
+    final AudioFileFormat.Type[] types;
 
     /**
      * Constructs a new SunParser object.
      */
-    SunFileWriter(AudioFileFormat.Type types[]) {
+    SunFileWriter(AudioFileFormat.Type[] types) {
         this.types = types;
     }
 
@@ -164,12 +164,12 @@
         }
 
         @Override
-        public int read(byte b[]) throws IOException {
+        public int read(byte[] b) throws IOException {
             return in.read(b);
         }
 
         @Override
-        public int read(byte b[], int off, int len) throws IOException {
+        public int read(byte[] b, int off, int len) throws IOException {
             return in.read(b, off, len);
         }
 
--- a/src/java.desktop/share/classes/com/sun/media/sound/UlawCodec.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/UlawCodec.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
     private static final byte[] ULAW_TABH = new byte[256];
     private static final byte[] ULAW_TABL = new byte[256];
 
-    private static final short seg_end[] = {
+    private static final short[] seg_end = {
             0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF
     };
 
@@ -83,7 +83,7 @@
     public AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat){
         if( AudioFormat.Encoding.PCM_SIGNED.equals(sourceFormat.getEncoding()) ) {
             if( sourceFormat.getSampleSizeInBits() == 16 ) {
-                AudioFormat.Encoding enc[] = new AudioFormat.Encoding[1];
+                AudioFormat.Encoding[] enc = new AudioFormat.Encoding[1];
                 enc[0] = AudioFormat.Encoding.ULAW;
                 return enc;
             } else {
@@ -91,7 +91,7 @@
             }
         } else if (AudioFormat.Encoding.ULAW.equals(sourceFormat.getEncoding())) {
             if (sourceFormat.getSampleSizeInBits() == 8) {
-                AudioFormat.Encoding enc[] = new AudioFormat.Encoding[1];
+                AudioFormat.Encoding[] enc = new AudioFormat.Encoding[1];
                 enc[0] = AudioFormat.Encoding.PCM_SIGNED;
                 return enc;
             } else {
@@ -234,7 +234,7 @@
     private final class UlawCodecStream extends AudioInputStream {
 
         private static final int tempBufferSize = 64;
-        private byte tempBuffer [] = null;
+        private byte[] tempBuffer  = null;
 
         /**
          * True to encode to u-law, false to decode to linear.
@@ -244,8 +244,8 @@
         AudioFormat encodeFormat;
         AudioFormat decodeFormat;
 
-        byte tabByte1[] = null;
-        byte tabByte2[] = null;
+        byte[] tabByte1 = null;
+        byte[] tabByte2 = null;
         int highByte = 0;
         int lowByte  = 1;
 
@@ -305,7 +305,7 @@
          * $$jb 2/23/99
          * Used to determine segment number in uLaw encoding
          */
-        private short search(short val, short table[], short size) {
+        private short search(short val, short[] table, short size) {
             for(short i = 0; i < size; i++) {
                 if (val <= table[i]) { return i; }
             }
--- a/src/java.desktop/share/classes/com/sun/media/sound/WaveFileWriter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/com/sun/media/sound/WaveFileWriter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -215,7 +215,7 @@
         int bytesRead = 0;
         int bytesWritten = 0;
         InputStream fileStream = getFileStream(waveFileFormat, in);
-        byte buffer[] = new byte[bisBufferSize];
+        byte[] buffer = new byte[bisBufferSize];
         int maxLength = waveFileFormat.getByteLength();
 
         while( (bytesRead = fileStream.read( buffer )) >= 0 ) {
--- a/src/java.desktop/share/classes/java/awt/AWTEvent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/AWTEvent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,7 +87,7 @@
  */
 public abstract class AWTEvent extends EventObject {
 
-    private byte bdata[];
+    private byte[] bdata;
 
     /**
      * The event's id.
--- a/src/java.desktop/share/classes/java/awt/BasicStroke.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/BasicStroke.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -157,7 +157,7 @@
     int cap;
     float miterlimit;
 
-    float dash[];
+    float[] dash;
     float dash_phase;
 
     /**
@@ -189,7 +189,7 @@
      */
     @ConstructorProperties({ "lineWidth", "endCap", "lineJoin", "miterLimit", "dashArray", "dashPhase" })
     public BasicStroke(float width, int cap, int join, float miterlimit,
-                       float dash[], float dash_phase) {
+                       float[] dash, float dash_phase) {
         if (width < 0.0f) {
             throw new IllegalArgumentException("negative width");
         }
--- a/src/java.desktop/share/classes/java/awt/BufferCapabilities.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/BufferCapabilities.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -154,7 +154,7 @@
         private static int I_PRIOR = 2;
         private static int I_COPIED = 3;
 
-        private static final String NAMES[] =
+        private static final String[] NAMES =
             { "undefined", "background", "prior", "copied" };
 
         /**
--- a/src/java.desktop/share/classes/java/awt/Color.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Color.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -219,7 +219,7 @@
      * @see #getRGBColorComponents
      * @see #getRGBComponents
      */
-    private float frgbvalue[] = null;
+    private float[] frgbvalue = null;
 
     /**
      * The color value in the native {@code ColorSpace} as
@@ -231,7 +231,7 @@
      * @see #getRGBColorComponents
      * @see #getRGBComponents
      */
-    private float fvalue[] = null;
+    private float[] fvalue = null;
 
     /**
      * The alpha value as a {@code float} component.
@@ -514,7 +514,7 @@
      * @see #getComponents
      * @see #getColorComponents
      */
-    public Color(ColorSpace cspace, float components[], float alpha) {
+    public Color(ColorSpace cspace, float[] components, float alpha) {
         boolean rangeError = false;
         String badComponentString = "";
         int n = cspace.getNumComponents();
@@ -1110,7 +1110,7 @@
         if (cs == null) {
             cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
         }
-        float f[];
+        float[] f;
         if (fvalue == null) {
             f = new float[3];
             f[0] = ((float)getRed())/255f;
@@ -1119,8 +1119,8 @@
         } else {
             f = fvalue;
         }
-        float tmp[] = cs.toCIEXYZ(f);
-        float tmpout[] = cspace.fromCIEXYZ(tmp);
+        float[] tmp = cs.toCIEXYZ(f);
+        float[] tmpout = cspace.fromCIEXYZ(tmp);
         if (compArray == null) {
             compArray = new float[tmpout.length + 1];
         }
@@ -1154,7 +1154,7 @@
         if (cs == null) {
             cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
         }
-        float f[];
+        float[] f;
         if (fvalue == null) {
             f = new float[3];
             f[0] = ((float)getRed())/255f;
@@ -1163,8 +1163,8 @@
         } else {
             f = fvalue;
         }
-        float tmp[] = cs.toCIEXYZ(f);
-        float tmpout[] = cspace.fromCIEXYZ(tmp);
+        float[] tmp = cs.toCIEXYZ(f);
+        float[] tmpout = cspace.fromCIEXYZ(tmp);
         if (compArray == null) {
             return tmpout;
         }
--- a/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -119,7 +119,7 @@
       * method should be used instead.
       */
     @Deprecated
-    protected static Cursor predefined[] = new Cursor[14];
+    protected static Cursor[] predefined = new Cursor[14];
 
     /**
      * This field is a private replacement for 'predefined' array.
--- a/src/java.desktop/share/classes/java/awt/Event.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Event.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -550,7 +550,7 @@
     public Event evt;
 
     /* table for mapping old Event action keys to KeyEvent virtual keys. */
-    private static final int actionKeyCodes[][] = {
+    private static final int[][] actionKeyCodes = {
     /*    virtual key              action key   */
         { KeyEvent.VK_HOME,        Event.HOME         },
         { KeyEvent.VK_END,         Event.END          },
--- a/src/java.desktop/share/classes/java/awt/FileDialog.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/FileDialog.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -147,7 +147,7 @@
     static {
         AWTAccessor.setFileDialogAccessor(
             new AWTAccessor.FileDialogAccessor() {
-                public void setFiles(FileDialog fileDialog, File files[]) {
+                public void setFiles(FileDialog fileDialog, File[] files) {
                     fileDialog.setFiles(files);
                 }
                 public void setFile(FileDialog fileDialog, String file) {
@@ -497,7 +497,7 @@
      * @see #getFiles
      * @since 1.7
      */
-    private void setFiles(File files[]) {
+    private void setFiles(File[] files) {
         synchronized (getObjectLock()) {
             this.files = files;
         }
--- a/src/java.desktop/share/classes/java/awt/Font.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Font.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2011,7 +2011,7 @@
     public Attribute[] getAvailableAttributes() {
         // FONT is not supported by Font
 
-        Attribute attributes[] = {
+        Attribute[] attributes = {
             TextAttribute.FAMILY,
             TextAttribute.WEIGHT,
             TextAttribute.WIDTH,
--- a/src/java.desktop/share/classes/java/awt/FontMetrics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/FontMetrics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -332,7 +332,7 @@
         if (ch < 256) {
             return getWidths()[ch];
         }
-        char data[] = {ch};
+        char[] data = {ch};
         return charsWidth(data, 0, 1);
     }
 
@@ -355,7 +355,7 @@
      */
     public int stringWidth(String str) {
         int len = str.length();
-        char data[] = new char[len];
+        char[] data = new char[len];
         str.getChars(0, len, data, 0);
         return charsWidth(data, 0, len);
     }
@@ -383,7 +383,7 @@
      * @see       #bytesWidth(byte[], int, int)
      * @see       #stringWidth(String)
      */
-    public int charsWidth(char data[], int off, int len) {
+    public int charsWidth(char[] data, int off, int len) {
         return stringWidth(new String(data, off, len));
     }
 
@@ -410,7 +410,7 @@
      * @see       #stringWidth(String)
      */
     @SuppressWarnings("deprecation")
-    public int bytesWidth(byte data[], int off, int len) {
+    public int bytesWidth(byte[] data, int off, int len) {
         return stringWidth(new String(data, 0, off, len));
     }
 
@@ -426,7 +426,7 @@
      *                 described by this {@code FontMetrics} object.
      */
     public int[] getWidths() {
-        int widths[] = new int[256];
+        int[] widths = new int[256];
         for (char ch = 0 ; ch < 256 ; ch++) {
             widths[ch] = charWidth(ch);
         }
--- a/src/java.desktop/share/classes/java/awt/GradientPaintContext.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/GradientPaintContext.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,7 +84,7 @@
     double dx;
     double dy;
     boolean cyclic;
-    int interp[];
+    int[] interp;
     Raster saved;
     ColorModel model;
 
--- a/src/java.desktop/share/classes/java/awt/Graphics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Graphics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -696,7 +696,7 @@
      * @see         java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since       1.1
      */
-    public abstract void drawPolyline(int xPoints[], int yPoints[],
+    public abstract void drawPolyline(int[] xPoints, int[] yPoints,
                                       int nPoints);
 
     /**
@@ -718,7 +718,7 @@
      * @see          java.awt.Graphics#fillPolygon
      * @see          java.awt.Graphics#drawPolyline
      */
-    public abstract void drawPolygon(int xPoints[], int yPoints[],
+    public abstract void drawPolygon(int[] xPoints, int[] yPoints,
                                      int nPoints);
 
     /**
@@ -752,7 +752,7 @@
      * @param        nPoints   a the total number of points.
      * @see          java.awt.Graphics#drawPolygon(int[], int[], int)
      */
-    public abstract void fillPolygon(int xPoints[], int yPoints[],
+    public abstract void fillPolygon(int[] xPoints, int[] yPoints,
                                      int nPoints);
 
     /**
@@ -818,7 +818,7 @@
      * @see         java.awt.Graphics#drawBytes
      * @see         java.awt.Graphics#drawString
      */
-    public void drawChars(char data[], int offset, int length, int x, int y) {
+    public void drawChars(char[] data, int offset, int length, int x, int y) {
         drawString(new String(data, offset, length), x, y);
     }
 
@@ -844,7 +844,7 @@
      * @see         java.awt.Graphics#drawString
      */
     @SuppressWarnings("deprecation")
-    public void drawBytes(byte data[], int offset, int length, int x, int y) {
+    public void drawBytes(byte[] data, int offset, int length, int x, int y) {
         drawString(new String(data, 0, offset, length), x, y);
     }
 
--- a/src/java.desktop/share/classes/java/awt/GridBagLayout.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/GridBagLayout.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,7 +84,7 @@
  *
  * Use {@code GridBagConstraints.RELATIVE} to specify
  * that the component's display area will be from {@code gridx}
- * to the next to the last cell in its row (for {@code gridwidth}
+ * to the next to the last cell in its row (for {@code gridwidth})
  * or from {@code gridy} to the next to the last cell in its
  * column (for {@code gridheight}).
  *
@@ -442,7 +442,7 @@
      * @serial
      * @see #getLayoutDimensions()
      */
-    public int columnWidths[];
+    public int[] columnWidths;
 
     /**
      * This field holds the overrides to the row minimum
@@ -456,7 +456,7 @@
      * @serial
      * @see #getLayoutDimensions()
      */
-    public int rowHeights[];
+    public int[] rowHeights;
 
     /**
      * This field holds the overrides to the column weights.
@@ -471,7 +471,7 @@
      *
      * @serial
      */
-    public double columnWeights[];
+    public double[] columnWeights;
 
     /**
      * This field holds the overrides to the row weights.
@@ -486,7 +486,7 @@
      *
      * @serial
      */
-    public double rowWeights[];
+    public double[] rowWeights;
 
     /**
      * The component being positioned.  This is set before calling into
@@ -592,7 +592,7 @@
         if (layoutInfo == null)
             return new int[2][0];
 
-        int dim[][] = new int [2][];
+        int[][] dim = new int [2][];
         dim[0] = new int[layoutInfo.width];
         dim[1] = new int[layoutInfo.height];
 
@@ -618,7 +618,7 @@
         if (layoutInfo == null)
             return new double[2][0];
 
-        double weights[][] = new double [2][];
+        double[][] weights = new double [2][];
         weights[0] = new double[layoutInfo.width];
         weights[1] = new double[layoutInfo.height];
 
@@ -929,7 +929,7 @@
      */
 
     private long[]  preInitMaximumArraySizes(Container parent){
-        Component components[] = parent.getComponents();
+        Component[] components = parent.getComponents();
         Component comp;
         GridBagConstraints constraints;
         int curX, curY;
@@ -1003,7 +1003,7 @@
             Component comp;
             GridBagConstraints constraints;
             Dimension d;
-            Component components[] = parent.getComponents();
+            Component[] components = parent.getComponents();
             // Code below will address index curX+curWidth in the case of yMaxArray, weightY
             // ( respectively curY+curHeight for xMaxArray, weightX ) where
             //  curX in 0 to preInitMaximumArraySizes.y
@@ -2063,7 +2063,7 @@
         int compindex;
         GridBagConstraints constraints;
         Insets insets = parent.getInsets();
-        Component components[] = parent.getComponents();
+        Component[] components = parent.getComponents();
         Dimension d;
         Rectangle r = new Rectangle();
         int i, diffw, diffh;
--- a/src/java.desktop/share/classes/java/awt/GridBagLayoutInfo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/GridBagLayoutInfo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,20 +42,20 @@
 
     int width, height;          /* number of  cells: horizontal and vertical */
     int startx, starty;         /* starting point for layout */
-    int minWidth[];             /* largest minWidth in each column */
-    int minHeight[];            /* largest minHeight in each row */
-    double weightX[];           /* largest weight in each column */
-    double weightY[];           /* largest weight in each row */
+    int[] minWidth;             /* largest minWidth in each column */
+    int[] minHeight;            /* largest minHeight in each row */
+    double[] weightX;           /* largest weight in each column */
+    double[] weightY;           /* largest weight in each row */
     boolean hasBaseline;        /* Whether or not baseline layout has been
                                  * requested and one of the components
                                  * has a valid baseline. */
     // These are only valid if hasBaseline is true and are indexed by
     // row.
-    short baselineType[];       /* The type of baseline for a particular
+    short[] baselineType;       /* The type of baseline for a particular
                                  * row.  A mix of the BaselineResizeBehavior
                                  * constants (1 << ordinal()) */
-    int maxAscent[];            /* Max ascent (baseline). */
-    int maxDescent[];           /* Max descent (height - baseline) */
+    int[] maxAscent;            /* Max ascent (baseline). */
+    int[] maxDescent;           /* Max descent (height - baseline) */
 
     /**
      * Creates an instance of GridBagLayoutInfo representing {@code GridBagLayout}
--- a/src/java.desktop/share/classes/java/awt/JobAttributes.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/JobAttributes.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@
         private static final int I_RANGE = 1;
         private static final int I_SELECTION = 2;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "all", "range", "selection"
         };
 
@@ -103,7 +103,7 @@
         private static final int I_FILE = 0;
         private static final int I_PRINTER = 1;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "file", "printer"
         };
 
@@ -134,7 +134,7 @@
         private static final int I_NATIVE = 1;
         private static final int I_NONE = 2;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "common", "native", "none"
         };
 
@@ -170,7 +170,7 @@
         private static final int I_SEPARATE_DOCUMENTS_COLLATED_COPIES = 0;
         private static final int I_SEPARATE_DOCUMENTS_UNCOLLATED_COPIES = 1;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "separate-documents-collated-copies",
             "separate-documents-uncollated-copies"
         };
@@ -207,7 +207,7 @@
         private static final int I_TWO_SIDED_LONG_EDGE = 1;
         private static final int I_TWO_SIDED_SHORT_EDGE = 2;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "one-sided", "two-sided-long-edge", "two-sided-short-edge"
         };
 
--- a/src/java.desktop/share/classes/java/awt/List.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/List.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -152,7 +152,7 @@
      * @see #getSelectedIndexes()
      * @see #getSelectedIndex()
      */
-    int         selected[] = new int[0];
+    int[]         selected = new int[0];
 
     /**
      * This variable contains the value that will be used
@@ -321,7 +321,7 @@
      * @since        1.1
      */
     public synchronized String[] getItems() {
-        String itemCopies[] = new String[items.size()];
+        String[] itemCopies = new String[items.size()];
         items.copyInto(itemCopies);
         return itemCopies;
     }
@@ -488,7 +488,7 @@
      * @see           #isIndexSelected
      */
     public synchronized int getSelectedIndex() {
-        int sel[] = getSelectedIndexes();
+        int[] sel = getSelectedIndexes();
         return (sel.length == 1) ? sel[0] : -1;
     }
 
@@ -534,8 +534,8 @@
      * @see           #isIndexSelected
      */
     public synchronized String[] getSelectedItems() {
-        int sel[] = getSelectedIndexes();
-        String str[] = new String[sel.length];
+        int[] sel = getSelectedIndexes();
+        String[] str = new String[sel.length];
         for (int i = 0 ; i < sel.length ; i++) {
             str[i] = getItem(sel[i]);
         }
@@ -602,7 +602,7 @@
                         selected = new int[1];
                         selected[0] = index;
                     } else {
-                        int newsel[] = new int[selected.length + 1];
+                        int[] newsel = new int[selected.length + 1];
                         System.arraycopy(selected, 0, newsel, 0,
                                          selected.length);
                         newsel[selected.length] = index;
@@ -636,7 +636,7 @@
 
         for (int i = 0 ; i < selected.length ; i++) {
             if (selected[i] == index) {
-                int newsel[] = new int[selected.length - 1];
+                int[] newsel = new int[selected.length - 1];
                 System.arraycopy(selected, 0, newsel, 0, i);
                 System.arraycopy(selected, i+1, newsel, i, selected.length - (i+1));
                 selected = newsel;
@@ -669,7 +669,7 @@
      */
     @Deprecated
     public boolean isSelected(int index) {
-        int sel[] = getSelectedIndexes();
+        int[] sel = getSelectedIndexes();
         for (int i = 0 ; i < sel.length ; i++) {
             if (sel[i] == index) {
                 return true;
@@ -1493,7 +1493,7 @@
          */
          public void clearAccessibleSelection() {
              synchronized(List.this)  {
-                 int selectedIndexes[] = List.this.getSelectedIndexes();
+                 int[] selectedIndexes = List.this.getSelectedIndexes();
                  if (selectedIndexes == null)
                      return;
                  for (int i = selectedIndexes.length - 1; i >= 0; i--) {
--- a/src/java.desktop/share/classes/java/awt/MediaTracker.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/MediaTracker.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -369,7 +369,7 @@
         if (numerrors == 0) {
             return null;
         }
-        Object errors[] = new Object[numerrors];
+        Object[] errors = new Object[numerrors];
         cur = head;
         numerrors = 0;
         while (cur != null) {
@@ -598,7 +598,7 @@
         if (numerrors == 0) {
             return null;
         }
-        Object errors[] = new Object[numerrors];
+        Object[] errors = new Object[numerrors];
         cur = head;
         numerrors = 0;
         while (cur != null) {
--- a/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -118,8 +118,8 @@
     private int transparencyTest;
 
     /** Color space conversion lookup tables. */
-    private static final int SRGBtoLinearRGB[] = new int[256];
-    private static final int LinearRGBtoSRGB[] = new int[256];
+    private static final int[] SRGBtoLinearRGB = new int[256];
+    private static final int[] LinearRGBtoSRGB = new int[256];
 
     static {
         // build the tables
@@ -187,7 +187,7 @@
             // (incorrect) results than to throw an exception and/or no-op
             tInv = new AffineTransform();
         }
-        double m[] = new double[6];
+        double[] m = new double[6];
         tInv.getMatrix(m);
         a00 = (float)m[0];
         a10 = (float)m[1];
@@ -651,7 +651,7 @@
         return raster;
     }
 
-    protected abstract void fillRaster(int pixels[], int off, int adjust,
+    protected abstract void fillRaster(int[] pixels, int off, int adjust,
                                        int x, int y, int w, int h);
 
 
--- a/src/java.desktop/share/classes/java/awt/PageAttributes.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/PageAttributes.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@
         private static final int I_COLOR = 0;
         private static final int I_MONOCHROME = 1;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "color", "monochrome"
         };
 
@@ -167,7 +167,7 @@
         private static final int I_MONARCH_ENVELOPE = 73;
         private static final int I_PERSONAL_ENVELOPE = 74;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "iso-4a0", "iso-2a0", "iso-a0", "iso-a1", "iso-a2", "iso-a3",
             "iso-a4", "iso-a5", "iso-a6", "iso-a7", "iso-a8", "iso-a9",
             "iso-a10", "iso-b0", "iso-b1", "iso-b2", "iso-b3", "iso-b4",
@@ -812,7 +812,7 @@
         private static final int I_PORTRAIT = 0;
         private static final int I_LANDSCAPE = 1;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "portrait", "landscape"
         };
 
@@ -842,7 +842,7 @@
         private static final int I_PHYSICAL = 0;
         private static final int I_PRINTABLE = 1;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "physical", "printable"
         };
 
@@ -870,7 +870,7 @@
         private static final int I_NORMAL = 1;
         private static final int I_DRAFT = 2;
 
-        private static final String NAMES[] = {
+        private static final String[] NAMES = {
             "high", "normal", "draft"
         };
 
--- a/src/java.desktop/share/classes/java/awt/Polygon.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Polygon.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -82,7 +82,7 @@
      * @see #addPoint(int, int)
      * @since 1.0
      */
-    public int xpoints[];
+    public int[] xpoints;
 
     /**
      * The array of Y coordinates.  The number of elements in
@@ -96,7 +96,7 @@
      * @see #addPoint(int, int)
      * @since 1.0
      */
-    public int ypoints[];
+    public int[] ypoints;
 
     /**
      * The bounds of this {@code Polygon}.
@@ -144,7 +144,7 @@
      *             {@code ypoints} is {@code null}.
      * @since 1.0
      */
-    public Polygon(int xpoints[], int ypoints[], int npoints) {
+    public Polygon(int[] xpoints, int[] ypoints, int npoints) {
         // Fix 4489009: should throw IndexOutOfBoundsException instead
         // of OutOfMemoryError if npoints is huge and > {x,y}points.length
         if (npoints > xpoints.length || npoints > ypoints.length) {
@@ -226,7 +226,7 @@
      * @param ypoints[] array of <i>y</i> coordinates
      * @param npoints the total number of points
      */
-    void calculateBounds(int xpoints[], int ypoints[], int npoints) {
+    void calculateBounds(int[] xpoints, int[] ypoints, int npoints) {
         int boundsMinX = Integer.MAX_VALUE;
         int boundsMinY = Integer.MAX_VALUE;
         int boundsMaxX = Integer.MIN_VALUE;
--- a/src/java.desktop/share/classes/java/awt/RadialGradientPaintContext.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/RadialGradientPaintContext.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -170,7 +170,7 @@
      * @param x,y,w,h the area in device space for which colors are
      * generated.
      */
-    protected void fillRaster(int pixels[], int off, int adjust,
+    protected void fillRaster(int[] pixels, int off, int adjust,
                               int x, int y, int w, int h)
     {
         if (isSimpleFocus && isNonCyclic && isSimpleLookup) {
@@ -185,7 +185,7 @@
      * point, the gradient is noncyclic, and the gradient lookup method is
      * fast (single array index, no conversion necessary).
      */
-    private void simpleNonCyclicFillRaster(int pixels[], int off, int adjust,
+    private void simpleNonCyclicFillRaster(int[] pixels, int off, int adjust,
                                            int x, int y, int w, int h)
     {
         /* We calculate sqrt(X^2 + Y^2) relative to the radius
@@ -301,7 +301,7 @@
 
     // SQRT_LUT_SIZE must be a power of 2 for the test above to work.
     private static final int SQRT_LUT_SIZE = (1 << 11);
-    private static float sqrtLut[] = new float[SQRT_LUT_SIZE+1];
+    private static float[] sqrtLut = new float[SQRT_LUT_SIZE+1];
     static {
         for (int i = 0; i < sqrtLut.length; i++) {
             sqrtLut[i] = (float) Math.sqrt(i / ((float) SQRT_LUT_SIZE));
@@ -327,7 +327,7 @@
      * formula produces the following set of equations.  Constant factors have
      * been extracted out of the inner loop.
      */
-    private void cyclicCircularGradientFillRaster(int pixels[], int off,
+    private void cyclicCircularGradientFillRaster(int[] pixels, int off,
                                                   int adjust,
                                                   int x, int y,
                                                   int w, int h)
--- a/src/java.desktop/share/classes/java/awt/Robot.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Robot.java	Thu Nov 01 09:01:15 2018 -0400
@@ -511,7 +511,7 @@
         AffineTransform tx = gc.getDefaultTransform();
         double uiScaleX = tx.getScaleX();
         double uiScaleY = tx.getScaleY();
-        int pixels[];
+        int[] pixels;
 
         if (uiScaleX == 1 && uiScaleY == 1) {
 
@@ -537,7 +537,7 @@
             int sY = (int) Math.floor(screenRect.y * uiScaleY);
             int sWidth = (int) Math.ceil(screenRect.width * uiScaleX);
             int sHeight = (int) Math.ceil(screenRect.height * uiScaleY);
-            int temppixels[];
+            int[] temppixels;
             Rectangle scaledRect = new Rectangle(sX, sY, sWidth, sHeight);
             temppixels = peer.getRGBPixels(scaledRect);
 
--- a/src/java.desktop/share/classes/java/awt/SystemColor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/SystemColor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -431,7 +431,7 @@
      */
     private transient int index;
 
-    private static SystemColor systemColorObjects [] = {
+    private static SystemColor[] systemColorObjects  = {
         SystemColor.desktop,
         SystemColor.activeCaption,
         SystemColor.activeCaptionText,
--- a/src/java.desktop/share/classes/java/awt/TexturePaintContext.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/TexturePaintContext.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -335,7 +335,7 @@
      * pixels to blend, when the error values reach 1.0 we move to the
      * next pixel and reset them to 0.0.
      */
-    public static int blend(int rgbs[], int xmul, int ymul) {
+    public static int blend(int[] rgbs, int xmul, int ymul) {
         // xmul/ymul are 31 bits wide, (0 => 2^31-1)
         // shift them to 12 bits wide, (0 => 2^12-1)
         xmul = (xmul >>> 19);
@@ -372,10 +372,10 @@
 
     static class Int extends TexturePaintContext {
         IntegerInterleavedRaster srcRas;
-        int inData[];
+        int[] inData;
         int inOff;
         int inSpan;
-        int outData[];
+        int[] outData;
         int outOff;
         int outSpan;
         boolean filter;
@@ -422,7 +422,7 @@
             if (normalx) {
                 outSpan -= w;
             }
-            int rgbs[] = filter ? new int[4] : null;
+            int[] rgbs = filter ? new int[4] : null;
             for (int j = 0; j < h; j++) {
                 if (normalx) {
                     int in = inOff + rowy * inSpan + bWidth;
@@ -508,10 +508,10 @@
 
     static class Byte extends TexturePaintContext {
         ByteInterleavedRaster srcRas;
-        byte inData[];
+        byte[] inData;
         int inOff;
         int inSpan;
-        byte outData[];
+        byte[] outData;
         int outOff;
         int outSpan;
 
@@ -628,11 +628,11 @@
 
     static class ByteFilter extends TexturePaintContext {
         ByteInterleavedRaster srcRas;
-        int inPalette[];
-        byte inData[];
+        int[] inPalette;
+        byte[] inData;
         int inOff;
         int inSpan;
-        int outData[];
+        int[] outData;
         int outOff;
         int outSpan;
 
@@ -677,7 +677,7 @@
             int rowy = y;
             int rowxerr = xerr;
             int rowyerr = yerr;
-            int rgbs[] = new int[4];
+            int[] rgbs = new int[4];
             for (int j = 0; j < h; j++) {
                 x = rowx;
                 y = rowy;
@@ -764,7 +764,7 @@
             int rowyerr = yerr;
             WritableRaster srcRas = this.srcRas;
             WritableRaster outRas = this.outRas;
-            int rgbs[] = filter ? new int[4] : null;
+            int[] rgbs = filter ? new int[4] : null;
             for (int j = 0; j < h; j++) {
                 x = rowx;
                 y = rowy;
--- a/src/java.desktop/share/classes/java/awt/Window.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/Window.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1477,7 +1477,7 @@
         return getOwnedWindows_NoClientCode();
     }
     final Window[] getOwnedWindows_NoClientCode() {
-        Window realCopy[];
+        Window[] realCopy;
 
         synchronized(ownedWindowList) {
             // Recall that ownedWindowList is actually a Vector of
@@ -1487,7 +1487,7 @@
             // all non-null get()s (realCopy with size realSize).
             int fullSize = ownedWindowList.size();
             int realSize = 0;
-            Window fullCopy[] = new Window[fullSize];
+            Window[] fullCopy = new Window[fullSize];
 
             for (int i = 0; i < fullSize; i++) {
                 fullCopy[realSize] = ownedWindowList.elementAt(i).get();
@@ -1555,14 +1555,14 @@
 
     private static Window[] getWindows(AppContext appContext) {
         synchronized (Window.class) {
-            Window realCopy[];
+            Window[] realCopy;
             @SuppressWarnings("unchecked")
             Vector<WeakReference<Window>> windowList =
                 (Vector<WeakReference<Window>>)appContext.get(Window.class);
             if (windowList != null) {
                 int fullSize = windowList.size();
                 int realSize = 0;
-                Window fullCopy[] = new Window[fullSize];
+                Window[] fullCopy = new Window[fullSize];
                 for (int i = 0; i < fullSize; i++) {
                     Window w = windowList.get(i).get();
                     if (w != null) {
--- a/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -186,7 +186,7 @@
         }
 
         int nc = this.getNumComponents();
-        short tmp[] = new short[nc];
+        short[] tmp = new short[nc];
         for (int i = 0; i < nc; i++) {
             tmp[i] = (short)
                 ((colorvalue[i] - minVal[i]) * invDiffMinMax[i] + 0.5f);
@@ -237,7 +237,7 @@
             }
         }
 
-        short tmp[] = new short[3];
+        short[] tmp = new short[3];
         for (int i = 0; i < 3; i++) {
             tmp[i] = (short) ((rgbvalue[i] * 65535.0f) + 0.5f);
         }
@@ -379,7 +379,7 @@
         }
 
         int nc = this.getNumComponents();
-        short tmp[] = new short[nc];
+        short[] tmp = new short[nc];
         for (int i = 0; i < nc; i++) {
             tmp[i] = (short)
                 ((colorvalue[i] - minVal[i]) * invDiffMinMax[i] + 0.5f);
@@ -522,7 +522,7 @@
             }
         }
 
-        short tmp[] = new short[3];
+        short[] tmp = new short[3];
         float ALMOST_TWO = 1.0f + (32767.0f / 32768.0f);
         float factor = 65535.0f / ALMOST_TWO;
         // For CIEXYZ, min = 0.0, max = ALMOST_TWO for all components
--- a/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/color/ICC_Profile.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1016,7 +1016,7 @@
      * contain valid ICC Profile data.
      */
     public static ICC_Profile getInstance(InputStream s) throws IOException {
-    byte profileData[];
+    byte[] profileData;
 
         if (s instanceof ProfileDeferralInfo) {
             /* hack to detect profiles whose loading can be deferred */
@@ -1032,10 +1032,10 @@
 
 
     static byte[] getProfileDataFromStream(InputStream s) throws IOException {
-    byte profileData[];
+    byte[] profileData;
     int profileSize;
 
-        byte header[] = new byte[128];
+        byte[] header = new byte[128];
         int bytestoread = 128;
         int bytesread = 0;
         int n;
@@ -1098,7 +1098,7 @@
 
 
     void activateDeferredProfile() throws ProfileDataException {
-        byte profileData[];
+        byte[] profileData;
         final String fileName = deferralInfo.filename;
 
         profileActivator = null;
@@ -1286,7 +1286,7 @@
      */
     public void write(String fileName) throws IOException {
     FileOutputStream outputFile;
-    byte profileData[];
+    byte[] profileData;
 
         profileData = getData(); /* this will activate deferred
                                     profiles if necessary */
@@ -1305,7 +1305,7 @@
      * stream.
      */
     public void write(OutputStream s) throws IOException {
-    byte profileData[];
+    byte[] profileData;
 
         profileData = getData(); /* this will activate deferred
                                     profiles if necessary */
--- a/src/java.desktop/share/classes/java/awt/font/TextLine.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/font/TextLine.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1293,7 +1293,7 @@
   /*
    * The new version requires that chunks be at the same level.
    */
-    private static int firstVisualChunk(int order[], byte direction[],
+    private static int firstVisualChunk(int[] order, byte[] direction,
                                         int start, int limit)
     {
         if (order != null && direction != null) {
--- a/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/AffineTransform.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1344,7 +1344,7 @@
     // Utility methods to optimize rotate methods.
     // These tables translate the flags during predictable quadrant
     // rotations where the shear and scale values are swapped and negated.
-    private static final int rot90conversion[] = {
+    private static final int[] rot90conversion = {
         /* IDENTITY => */        APPLY_SHEAR,
         /* TRANSLATE (TR) => */  APPLY_SHEAR | APPLY_TRANSLATE,
         /* SCALE (SC) => */      APPLY_SHEAR,
--- a/src/java.desktop/share/classes/java/awt/geom/Area.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/Area.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -144,7 +144,7 @@
         //             0-2 horizontal splitting parameters
         //             OR
         //             3 parametric equation derivative coefficients
-        double coords[] = new double[23];
+        double[] coords = new double[23];
         double movx = 0, movy = 0;
         double curx = 0, cury = 0;
         double newx, newy;
@@ -702,8 +702,8 @@
         }
     }
 
-    public int currentSegment(float coords[]) {
-        double dcoords[] = new double[6];
+    public int currentSegment(float[] coords) {
+        double[] dcoords = new double[6];
         int segtype = currentSegment(dcoords);
         int numpoints = (segtype == SEG_CLOSE ? 0
                          : (segtype == SEG_QUADTO ? 2
@@ -715,7 +715,7 @@
         return segtype;
     }
 
-    public int currentSegment(double coords[]) {
+    public int currentSegment(double[] coords) {
         int segtype;
         int numpoints;
         if (prevcurve != null) {
--- a/src/java.desktop/share/classes/java/awt/geom/CubicCurve2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/CubicCurve2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -860,7 +860,7 @@
      *          the specified offset.
      * @since 1.2
      */
-    public static double getFlatnessSq(double coords[], int offset) {
+    public static double getFlatnessSq(double[] coords, int offset) {
         return getFlatnessSq(coords[offset + 0], coords[offset + 1],
                              coords[offset + 2], coords[offset + 3],
                              coords[offset + 4], coords[offset + 5],
@@ -880,7 +880,7 @@
      *          the specified offset.
      * @since 1.2
      */
-    public static double getFlatness(double coords[], int offset) {
+    public static double getFlatness(double[] coords, int offset) {
         return getFlatness(coords[offset + 0], coords[offset + 1],
                            coords[offset + 2], coords[offset + 3],
                            coords[offset + 4], coords[offset + 5],
@@ -1000,9 +1000,9 @@
      * the 6 right coordinates
      * @since 1.2
      */
-    public static void subdivide(double src[], int srcoff,
-                                 double left[], int leftoff,
-                                 double right[], int rightoff) {
+    public static void subdivide(double[] src, int srcoff,
+                                 double[] left, int leftoff,
+                                 double[] right, int rightoff) {
         double x1 = src[srcoff + 0];
         double y1 = src[srcoff + 1];
         double ctrlx1 = src[srcoff + 2];
@@ -1065,7 +1065,7 @@
      * @return the number of roots, or -1 if the equation is a constant.
      * @since 1.2
      */
-    public static int solveCubic(double eqn[]) {
+    public static int solveCubic(double[] eqn) {
         return solveCubic(eqn, eqn);
     }
 
@@ -1086,7 +1086,7 @@
      * @return the number of roots, or -1 if the equation is a constant
      * @since 1.3
      */
-    public static int solveCubic(double eqn[], double res[]) {
+    public static int solveCubic(double[] eqn, double[] res) {
         // From Graphics Gems:
         // http://tog.acm.org/resources/GraphicsGems/gems/Roots3And4.c
         final double d = eqn[3];
@@ -1369,7 +1369,7 @@
         return (x1 < 0 && x2 > 0) || (x1 > 0 && x2 < 0);
     }
 
-    private static double solveEqn(double eqn[], int order, double t) {
+    private static double solveEqn(double[] eqn, int order, double t) {
         double v = eqn[order];
         while (--order >= 0) {
             v = v * t + eqn[order];
--- a/src/java.desktop/share/classes/java/awt/geom/EllipseIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/EllipseIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -86,7 +86,7 @@
      */
     private static final double pcv = 0.5 + CtrlVal * 0.5;
     private static final double ncv = 0.5 - CtrlVal * 0.5;
-    private static double ctrlpts[][] = {
+    private static double[][] ctrlpts = {
         {  1.0,  pcv,  pcv,  1.0,  0.5,  1.0 },
         {  ncv,  1.0,  0.0,  pcv,  0.0,  0.5 },
         {  0.0,  ncv,  ncv,  0.0,  0.5,  0.0 },
@@ -119,7 +119,7 @@
             return SEG_CLOSE;
         }
         if (index == 0) {
-            double ctrls[] = ctrlpts[3];
+            double[] ctrls = ctrlpts[3];
             coords[0] = (float) (x + ctrls[4] * w);
             coords[1] = (float) (y + ctrls[5] * h);
             if (affine != null) {
@@ -127,7 +127,7 @@
             }
             return SEG_MOVETO;
         }
-        double ctrls[] = ctrlpts[index - 1];
+        double[] ctrls = ctrlpts[index - 1];
         coords[0] = (float) (x + ctrls[0] * w);
         coords[1] = (float) (y + ctrls[1] * h);
         coords[2] = (float) (x + ctrls[2] * w);
@@ -166,7 +166,7 @@
             return SEG_CLOSE;
         }
         if (index == 0) {
-            double ctrls[] = ctrlpts[3];
+            double[] ctrls = ctrlpts[3];
             coords[0] = x + ctrls[4] * w;
             coords[1] = y + ctrls[5] * h;
             if (affine != null) {
@@ -174,7 +174,7 @@
             }
             return SEG_MOVETO;
         }
-        double ctrls[] = ctrlpts[index - 1];
+        double[] ctrls = ctrlpts[index - 1];
         coords[0] = x + ctrls[0] * w;
         coords[1] = y + ctrls[1] * h;
         coords[2] = x + ctrls[2] * w;
--- a/src/java.desktop/share/classes/java/awt/geom/FlatteningPathIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/FlatteningPathIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@
 
     int limit;                          // Maximum number of recursion levels
 
-    double hold[] = new double[14];     // The cache of interpolated coords
+    double[] hold = new double[14];     // The cache of interpolated coords
                                         // Note that this must be long enough
                                         // to store a full cubic segment and
                                         // a relative cubic segment to avoid
@@ -71,7 +71,7 @@
                                         // returned in the next call to
                                         // currentSegment().
 
-    int levels[];                       // The recursion level at which
+    int[] levels;                       // The recursion level at which
                                         // each curve being held in storage
                                         // was generated.
 
@@ -175,7 +175,7 @@
         if (holdIndex - want < 0) {
             int have = hold.length - holdIndex;
             int newsize = hold.length + GROW_SIZE;
-            double newhold[] = new double[newsize];
+            double[] newhold = new double[newsize];
             System.arraycopy(hold, holdIndex,
                              newhold, holdIndex + GROW_SIZE,
                              have);
--- a/src/java.desktop/share/classes/java/awt/geom/Path2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/Path2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -187,7 +187,7 @@
      * @since 1.6
      */
     public static class Float extends Path2D implements Serializable {
-        transient float floatCoords[];
+        transient float[] floatCoords;
 
         /**
          * Constructs a new empty single precision {@code Path2D} object
@@ -290,7 +290,7 @@
         @Override
         float[] cloneCoordsFloat(AffineTransform at) {
             // trim arrays:
-            float ret[];
+            float[] ret;
             if (at == null) {
                 ret = Arrays.copyOf(floatCoords, numCoords);
             } else {
@@ -303,7 +303,7 @@
         @Override
         double[] cloneCoordsDouble(AffineTransform at) {
             // trim arrays:
-            double ret[] = new double[numCoords];
+            double[] ret = new double[numCoords];
             if (at == null) {
                 for (int i = 0; i < numCoords; i++) {
                     ret[i] = floatCoords[i];
@@ -555,7 +555,7 @@
                 return 0;
             }
             double movx, movy, curx, cury, endx, endy;
-            float coords[] = floatCoords;
+            float[] coords = floatCoords;
             curx = movx = coords[0];
             cury = movy = coords[1];
             int crossings = 0;
@@ -634,7 +634,7 @@
             if (numTypes == 0) {
                 return 0;
             }
-            float coords[] = floatCoords;
+            float[] coords = floatCoords;
             double curx, cury, movx, movy, endx, endy;
             curx = movx = coords[0];
             cury = movy = coords[1];
@@ -736,7 +736,7 @@
          * @since 1.6
          */
         public final void append(PathIterator pi, boolean connect) {
-            float coords[] = new float[6];
+            float[] coords = new float[6];
             while (!pi.isDone()) {
                 switch (pi.currentSegment(coords)) {
                 case SEG_MOVETO:
@@ -1004,7 +1004,7 @@
         }
 
         static class CopyIterator extends Path2D.Iterator {
-            float floatCoords[];
+            float[] floatCoords;
 
             CopyIterator(Path2D.Float p2df) {
                 super(p2df);
@@ -1034,7 +1034,7 @@
         }
 
         static class TxIterator extends Path2D.Iterator {
-            float floatCoords[];
+            float[] floatCoords;
             AffineTransform affine;
 
             TxIterator(Path2D.Float p2df, AffineTransform at) {
@@ -1073,7 +1073,7 @@
      * @since 1.6
      */
     public static class Double extends Path2D implements Serializable {
-        transient double doubleCoords[];
+        transient double[] doubleCoords;
 
         /**
          * Constructs a new empty double precision {@code Path2D} object
@@ -1176,7 +1176,7 @@
         @Override
         float[] cloneCoordsFloat(AffineTransform at) {
             // trim arrays:
-            float ret[] = new float[numCoords];
+            float[] ret = new float[numCoords];
             if (at == null) {
                 for (int i = 0; i < numCoords; i++) {
                     ret[i] = (float) doubleCoords[i];
@@ -1190,7 +1190,7 @@
         @Override
         double[] cloneCoordsDouble(AffineTransform at) {
             // trim arrays:
-            double ret[];
+            double[] ret;
             if (at == null) {
                 ret = Arrays.copyOf(doubleCoords, numCoords);
             } else {
@@ -1330,7 +1330,7 @@
                 return 0;
             }
             double movx, movy, curx, cury, endx, endy;
-            double coords[] = doubleCoords;
+            double[] coords = doubleCoords;
             curx = movx = coords[0];
             cury = movy = coords[1];
             int crossings = 0;
@@ -1409,7 +1409,7 @@
             if (numTypes == 0) {
                 return 0;
             }
-            double coords[] = doubleCoords;
+            double[] coords = doubleCoords;
             double curx, cury, movx, movy, endx, endy;
             curx = movx = coords[0];
             cury = movy = coords[1];
@@ -1512,7 +1512,7 @@
          * @since 1.6
          */
         public final void append(PathIterator pi, boolean connect) {
-            double coords[] = new double[6];
+            double[] coords = new double[6];
             while (!pi.isDone()) {
                 switch (pi.currentSegment(coords)) {
                 case SEG_MOVETO:
@@ -1779,7 +1779,7 @@
         }
 
         static class CopyIterator extends Path2D.Iterator {
-            double doubleCoords[];
+            double[] doubleCoords;
 
             CopyIterator(Path2D.Double p2dd) {
                 super(p2dd);
@@ -1809,7 +1809,7 @@
         }
 
         static class TxIterator extends Path2D.Iterator {
-            double doubleCoords[];
+            double[] doubleCoords;
             AffineTransform affine;
 
             TxIterator(Path2D.Double p2dd, AffineTransform at) {
@@ -2537,8 +2537,8 @@
     {
         s.defaultWriteObject();
 
-        float fCoords[];
-        double dCoords[];
+        float[] fCoords;
+        double[] dCoords;
 
         if (isdbl) {
             dCoords = ((Path2D.Double) this).doubleCoords;
@@ -2726,7 +2726,7 @@
         int pointIdx;
         Path2D path;
 
-        static final int curvecoords[] = {2, 2, 4, 6, 0};
+        static final int[] curvecoords = {2, 2, 4, 6, 0};
 
         Iterator(Path2D path) {
             this.path = path;
--- a/src/java.desktop/share/classes/java/awt/geom/QuadCurve2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/QuadCurve2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -664,7 +664,7 @@
      *          values in the specified array at the specified index.
      * @since 1.2
      */
-    public static double getFlatnessSq(double coords[], int offset) {
+    public static double getFlatnessSq(double[] coords, int offset) {
         return Line2D.ptSegDistSq(coords[offset + 0], coords[offset + 1],
                                   coords[offset + 4], coords[offset + 5],
                                   coords[offset + 2], coords[offset + 3]);
@@ -682,7 +682,7 @@
      *          specified array at the specified offset.
      * @since 1.2
      */
-    public static double getFlatness(double coords[], int offset) {
+    public static double getFlatness(double[] coords, int offset) {
         return Line2D.ptSegDist(coords[offset + 0], coords[offset + 1],
                                 coords[offset + 4], coords[offset + 5],
                                 coords[offset + 2], coords[offset + 3]);
@@ -797,9 +797,9 @@
      * the 6 right coordinates
      * @since 1.2
      */
-    public static void subdivide(double src[], int srcoff,
-                                 double left[], int leftoff,
-                                 double right[], int rightoff) {
+    public static void subdivide(double[] src, int srcoff,
+                                 double[] left, int leftoff,
+                                 double[] right, int rightoff) {
         double x1 = src[srcoff + 0];
         double y1 = src[srcoff + 1];
         double ctrlx = src[srcoff + 2];
@@ -851,7 +851,7 @@
      *          a constant
      * @since 1.2
      */
-    public static int solveQuadratic(double eqn[]) {
+    public static int solveQuadratic(double[] eqn) {
         return solveQuadratic(eqn, eqn);
     }
 
@@ -875,7 +875,7 @@
      *  a constant.
      * @since 1.3
      */
-    public static int solveQuadratic(double eqn[], double res[]) {
+    public static int solveQuadratic(double[] eqn, double[] res) {
         double a = eqn[2];
         double b = eqn[1];
         double c = eqn[0];
@@ -1036,7 +1036,7 @@
      *     B = 2*CP - 2*C1
      *     A = C1 - 2*CP + C2
      */
-    private static void fillEqn(double eqn[], double val,
+    private static void fillEqn(double[] eqn, double val,
                                 double c1, double cp, double c2) {
         eqn[0] = c1 - val;
         eqn[1] = cp + cp - c1 - c1;
@@ -1053,10 +1053,10 @@
      * then any points which represent a point of inflection for that
      * quadratic equation are also ignored.
      */
-    private static int evalQuadratic(double vals[], int num,
+    private static int evalQuadratic(double[] vals, int num,
                                      boolean include0,
                                      boolean include1,
-                                     double inflect[],
+                                     double[] inflect,
                                      double c1, double ctrl, double c2) {
         int j = 0;
         for (int i = 0; i < num; i++) {
--- a/src/java.desktop/share/classes/java/awt/geom/RoundRectIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/geom/RoundRectIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -90,7 +90,7 @@
     //     4 values for each point {v0, v1, v2, v3}:
     //         point = (x + v0 * w + v1 * arcWidth,
     //                  y + v2 * h + v3 * arcHeight);
-    private static double ctrlpts[][] = {
+    private static double[][] ctrlpts = {
         {  0.0,  0.0,  0.0,  0.5 },
         {  0.0,  0.0,  1.0, -0.5 },
         {  0.0,  0.0,  1.0, -acv,
@@ -110,7 +110,7 @@
            0.0,  0.0,  0.0,  0.5 },
         {},
     };
-    private static int types[] = {
+    private static int[] types = {
         SEG_MOVETO,
         SEG_LINETO, SEG_CUBICTO,
         SEG_LINETO, SEG_CUBICTO,
@@ -141,7 +141,7 @@
         if (isDone()) {
             throw new NoSuchElementException("roundrect iterator out of bounds");
         }
-        double ctrls[] = ctrlpts[index];
+        double[] ctrls = ctrlpts[index];
         int nc = 0;
         for (int i = 0; i < ctrls.length; i += 4) {
             coords[nc++] = (float) (x + ctrls[i + 0] * w + ctrls[i + 1] * aw);
@@ -175,7 +175,7 @@
         if (isDone()) {
             throw new NoSuchElementException("roundrect iterator out of bounds");
         }
-        double ctrls[] = ctrlpts[index];
+        double[] ctrls = ctrlpts[index];
         int nc = 0;
         for (int i = 0; i < ctrls.length; i += 4) {
             coords[nc++] = (x + ctrls[i + 0] * w + ctrls[i + 1] * aw);
--- a/src/java.desktop/share/classes/java/awt/image/AreaAveragingScaleFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/AreaAveragingScaleFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@
                                             | COMPLETESCANLINES);
 
     private boolean passthrough;
-    private float reds[], greens[], blues[], alphas[];
+    private float[] reds, greens, blues, alphas;
     private int savedy;
     private int savedyrem;
 
@@ -208,7 +208,7 @@
                 }
             }
             if ((dyrem -= amty) == 0) {
-                int outpix[] = calcRow();
+                int[] outpix = calcRow();
                 do {
                     consumer.setPixels(0, dy, destWidth, 1,
                                        rgbmodel, outpix, 0, destWidth);
@@ -244,7 +244,7 @@
      * @see ReplicateScaleFilter
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         if (passthrough) {
             super.setPixels(x, y, w, h, model, pixels, off, scansize);
@@ -270,7 +270,7 @@
      * @see ReplicateScaleFilter
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         if (passthrough) {
             super.setPixels(x, y, w, h, model, pixels, off, scansize);
--- a/src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/BandedSampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -106,8 +106,8 @@
     public BandedSampleModel(int dataType,
                              int w, int h,
                              int scanlineStride,
-                             int bankIndices[],
-                             int bandOffsets[]) {
+                             int[] bankIndices,
+                             int[] bandOffsets) {
 
         super(dataType, w, h, 1,scanlineStride, bankIndices, bandOffsets);
     }
@@ -157,13 +157,13 @@
      * @throws IllegalArgumentException if {@code dataType} is not
      *         one of the supported data types
      */
-    public SampleModel createSubsetSampleModel(int bands[]) {
+    public SampleModel createSubsetSampleModel(int[] bands) {
         if (bands.length > bankIndices.length)
             throw new RasterFormatException("There are only " +
                                             bankIndices.length +
                                             " bands");
-        int newBankIndices[] = new int[bands.length];
-        int newBandOffsets[] = new int[bands.length];
+        int[] newBankIndices = new int[bands.length];
+        int[] newBandOffsets = new int[bands.length];
 
         for (int i=0; i<bands.length; i++) {
             newBankIndices[i] = bankIndices[bands[i]];
@@ -396,7 +396,7 @@
      * @return the samples for the specified pixel.
      * @see #setPixel(int, int, int[], DataBuffer)
      */
-    public int[] getPixel(int x, int y, int iArray[], DataBuffer data) {
+    public int[] getPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
@@ -433,7 +433,7 @@
      * @see #setPixels(int, int, int, int, int[], DataBuffer)
      */
     public int[] getPixels(int x, int y, int w, int h,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -557,13 +557,13 @@
      * @see #setSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public int[] getSamples(int x, int y, int w, int h, int b,
-                            int iArray[], DataBuffer data) {
+                            int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int samples[];
+        int[] samples;
         if (iArray != null) {
            samples = iArray;
         } else {
@@ -694,7 +694,7 @@
      * @param data      The DataBuffer containing the image data
      * @see #getPixel(int, int, int[], DataBuffer)
      */
-    public void setPixel(int x, int y, int iArray[], DataBuffer data) {
+    public void setPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
@@ -720,7 +720,7 @@
      * @see #getPixels(int, int, int, int, int[], DataBuffer)
      */
     public void setPixels(int x, int y, int w, int h,
-                          int iArray[], DataBuffer data) {
+                          int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -833,7 +833,7 @@
      * @see #getSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
--- a/src/java.desktop/share/classes/java/awt/image/BufferedImageFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/BufferedImageFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -127,7 +127,7 @@
 
     private void convertToRGB() {
         int size = width * height;
-        int newpixels[] = new int[size];
+        int[] newpixels = new int[size];
         if (bytePixels != null) {
             for (int i = 0; i < size; i++) {
                 newpixels[i] = this.model.getRGB(bytePixels[i] & 0xff);
@@ -159,7 +159,7 @@
                                     int, int)
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         // Fix 4184230
         if (w < 0 || h < 0) {
@@ -246,7 +246,7 @@
                                     int, int)
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         // Fix 4184230
         if (w < 0 || h < 0) {
--- a/src/java.desktop/share/classes/java/awt/image/ByteLookupTable.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ByteLookupTable.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,7 +46,7 @@
      * Constants
      */
 
-    byte data[][];
+    byte[][] data;
 
     /**
      * Constructs a ByteLookupTable object from an array of byte
@@ -63,7 +63,7 @@
      *         is less than 0 or if the length of {@code data}
      *         is less than 1
      */
-    public ByteLookupTable(int offset, byte data[][]) {
+    public ByteLookupTable(int offset, byte[][] data) {
         super(offset,data.length);
         numComponents = data.length;
         numEntries    = data[0].length;
@@ -87,7 +87,7 @@
      *         is less than 0 or if the length of {@code data}
      *         is less than 1
      */
-    public ByteLookupTable(int offset, byte data[]) {
+    public ByteLookupTable(int offset, byte[] data) {
         super(offset,data.length);
         numComponents = 1;
         numEntries    = data.length;
--- a/src/java.desktop/share/classes/java/awt/image/ColorModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ColorModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -160,7 +160,7 @@
      * The total number of bits in the pixel.
      */
     protected int pixel_bits;
-    int nBits[];
+    int[] nBits;
     int transparency = Transparency.TRANSLUCENT;
     boolean supportsAlpha = true;
     boolean isAlphaPremultiplied = false;
@@ -645,17 +645,17 @@
         int pixel=0,length=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
                length = bdata.length;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
                length = sdata.length;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
                length = idata.length;
             break;
@@ -712,17 +712,17 @@
         int pixel=0,length=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
                length = bdata.length;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
                length = sdata.length;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
                length = idata.length;
             break;
@@ -779,17 +779,17 @@
         int pixel=0,length=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
                length = bdata.length;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
                length = sdata.length;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
                length = idata.length;
             break;
@@ -842,17 +842,17 @@
         int pixel=0,length=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
                length = bdata.length;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
                length = sdata.length;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
                length = idata.length;
             break;
@@ -1333,7 +1333,7 @@
      * @since 1.4
      */
     public int getDataElement(float[] normComponents, int normOffset) {
-        int components[] = getUnnormalizedComponents(normComponents,
+        int[] components = getUnnormalizedComponents(normComponents,
                                                      normOffset, null, 0);
         return getDataElement(components, 0);
     }
@@ -1381,7 +1381,7 @@
      */
     public Object getDataElements(float[] normComponents, int normOffset,
                                   Object obj) {
-        int components[] = getUnnormalizedComponents(normComponents,
+        int[] components = getUnnormalizedComponents(normComponents,
                                                      normOffset, null, 0);
         return getDataElements(components, 0, obj);
     }
@@ -1442,7 +1442,7 @@
     public float[] getNormalizedComponents(Object pixel,
                                            float[] normComponents,
                                            int normOffset) {
-        int components[] = getComponents(pixel, null, 0);
+        int[] components = getComponents(pixel, null, 0);
         return getNormalizedComponents(components, 0,
                                        normComponents, normOffset);
     }
--- a/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -802,7 +802,7 @@
             // Note: we do no clamping of the pixel data here - we
             // assume that the data is scaled properly
             case DataBuffer.TYPE_SHORT: {
-                short sdata[] = (short[]) inData;
+                short[] sdata = (short[]) inData;
                 float scalefactor = (float) ((1 << precision) - 1);
                 if (needAlpha) {
                     short s = sdata[numColorComponents];
@@ -817,7 +817,7 @@
                 }
             }
             case DataBuffer.TYPE_FLOAT: {
-                float fdata[] = (float[]) inData;
+                float[] fdata = (float[]) inData;
                 float scalefactor = (float) ((1 << precision) - 1);
                 if (needAlpha) {
                     float f = fdata[numColorComponents];
@@ -831,7 +831,7 @@
                 }
             }
             case DataBuffer.TYPE_DOUBLE: {
-                double ddata[] = (double[]) inData;
+                double[] ddata = (double[]) inData;
                 double scalefactor = (double) ((1 << precision) - 1);
                 if (needAlpha) {
                     double d = ddata[numColorComponents];
@@ -845,7 +845,7 @@
                 }
             }
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                comp = bdata[idx] & mask;
                precision = 8;
                if (needAlpha) {
@@ -853,14 +853,14 @@
                }
             break;
             case DataBuffer.TYPE_USHORT:
-               short usdata[] = (short[])inData;
+               short[] usdata = (short[])inData;
                comp = usdata[idx] & mask;
                if (needAlpha) {
                    alp = usdata[numColorComponents] & mask;
                }
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                comp = idata[idx];
                if (needAlpha) {
                    alp = idata[numColorComponents];
@@ -1054,27 +1054,27 @@
 
         switch (transferType) {
             case DataBuffer.TYPE_SHORT:
-                short sdata[] = (short[])inData;
+                short[] sdata = (short[])inData;
                 alpha = (int) ((sdata[aIdx] / 32767.0f) * 255.0f + 0.5f);
                 return alpha;
             case DataBuffer.TYPE_FLOAT:
-                float fdata[] = (float[])inData;
+                float[] fdata = (float[])inData;
                 alpha = (int) (fdata[aIdx] * 255.0f + 0.5f);
                 return alpha;
             case DataBuffer.TYPE_DOUBLE:
-                double ddata[] = (double[])inData;
+                double[] ddata = (double[])inData;
                 alpha = (int) (ddata[aIdx] * 255.0 + 0.5);
                 return alpha;
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                alpha = bdata[aIdx] & mask;
             break;
             case DataBuffer.TYPE_USHORT:
-               short usdata[] = (short[])inData;
+               short[] usdata = (short[])inData;
                alpha = usdata[aIdx] & mask;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                alpha = idata[aIdx];
             break;
             default:
@@ -1201,7 +1201,7 @@
             switch(transferType) {
             case DataBuffer.TYPE_SHORT:
                 {
-                    short sdata[];
+                    short[] sdata;
                     if (pixel == null) {
                         sdata = new short[numComponents];
                     } else {
@@ -1264,7 +1264,7 @@
                         sdata[0] = (short) (gray * factor + 0.5f);
                     } else {
                         factor = 1.0f / 255.0f;
-                        float norm[] = new float[3];
+                        float[] norm = new float[3];
                         norm[0] = red * factor;
                         norm[1] = grn * factor;
                         norm[2] = blu * factor;
@@ -1300,7 +1300,7 @@
                 }
             case DataBuffer.TYPE_FLOAT:
                 {
-                    float fdata[];
+                    float[] fdata;
                     if (pixel == null) {
                         fdata = new float[numComponents];
                     } else {
@@ -1357,7 +1357,7 @@
                             }
                         }
                     } else {
-                        float norm[] = new float[3];
+                        float[] norm = new float[3];
                         factor = 1.0f / 255.0f;
                         norm[0] = red * factor;
                         norm[1] = grn * factor;
@@ -1381,7 +1381,7 @@
                 }
             case DataBuffer.TYPE_DOUBLE:
                 {
-                    double ddata[];
+                    double[] ddata;
                     if (pixel == null) {
                         ddata = new double[numComponents];
                     } else {
@@ -1439,7 +1439,7 @@
                         }
                     } else {
                         float factor = 1.0f / 255.0f;
-                        float norm[] = new float[3];
+                        float[] norm = new float[3];
                         norm[0] = red * factor;
                         norm[1] = grn * factor;
                         norm[2] = blu * factor;
@@ -1466,7 +1466,7 @@
         // Handle BYTE, USHORT, & INT here
         //REMIND: maybe more efficient not to use int array for
         //DataBuffer.TYPE_USHORT and DataBuffer.TYPE_INT
-        int intpixel[];
+        int[] intpixel;
         if (transferType == DataBuffer.TYPE_INT &&
             pixel != null) {
            intpixel = (int[])pixel;
@@ -1615,7 +1615,7 @@
 
         switch (transferType) {
             case DataBuffer.TYPE_BYTE: {
-               byte bdata[];
+               byte[] bdata;
                if (pixel == null) {
                    bdata = new byte[numComponents];
                } else {
@@ -1627,7 +1627,7 @@
                return bdata;
             }
             case DataBuffer.TYPE_USHORT:{
-               short sdata[];
+               short[] sdata;
                if (pixel == null) {
                    sdata = new short[numComponents];
                } else {
@@ -1741,7 +1741,7 @@
      * enough to hold a pixel value for this ColorModel.
      */
     public int[] getComponents(Object pixel, int[] components, int offset) {
-        int intpixel[];
+        int[] intpixel;
         if (needScaleInit) {
             initScale();
         }
@@ -2057,7 +2057,7 @@
         switch (transferType) {
         case DataBuffer.TYPE_BYTE:
             {
-                byte bpixel[] = (byte[]) pixel;
+                byte[] bpixel = (byte[]) pixel;
                 return bpixel[0] & 0xff;
             }
         case DataBuffer.TYPE_USHORT:
@@ -2468,8 +2468,8 @@
         if (isAlphaPremultiplied) {
             switch (transferType) {
                 case DataBuffer.TYPE_BYTE: {
-                    byte pixel[] = null;
-                    byte zpixel[] = null;
+                    byte[] pixel = null;
+                    byte[] zpixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2495,8 +2495,8 @@
                 }
                 break;
                 case DataBuffer.TYPE_USHORT: {
-                    short pixel[] = null;
-                    short zpixel[] = null;
+                    short[] pixel = null;
+                    short[] zpixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2523,8 +2523,8 @@
                 }
                 break;
                 case DataBuffer.TYPE_INT: {
-                    int pixel[] = null;
-                    int zpixel[] = null;
+                    int[] pixel = null;
+                    int[] zpixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2550,8 +2550,8 @@
                 }
                 break;
                 case DataBuffer.TYPE_SHORT: {
-                    short pixel[] = null;
-                    short zpixel[] = null;
+                    short[] pixel = null;
+                    short[] zpixel = null;
                     float alphaScale = 1.0f / 32767.0f;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2577,8 +2577,8 @@
                 }
                 break;
                 case DataBuffer.TYPE_FLOAT: {
-                    float pixel[] = null;
-                    float zpixel[] = null;
+                    float[] pixel = null;
+                    float[] zpixel = null;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
                         for (int x = 0; x < w; x++, rX++) {
@@ -2602,8 +2602,8 @@
                 }
                 break;
                 case DataBuffer.TYPE_DOUBLE: {
-                    double pixel[] = null;
-                    double zpixel[] = null;
+                    double[] pixel = null;
+                    double[] zpixel = null;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
                         for (int x = 0; x < w; x++, rX++) {
@@ -2635,7 +2635,7 @@
             // We are premultiplied and want to divide it out
             switch (transferType) {
                 case DataBuffer.TYPE_BYTE: {
-                    byte pixel[] = null;
+                    byte[] pixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2656,7 +2656,7 @@
                 }
                 break;
                 case DataBuffer.TYPE_USHORT: {
-                    short pixel[] = null;
+                    short[] pixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2677,7 +2677,7 @@
                 }
                 break;
                 case DataBuffer.TYPE_INT: {
-                    int pixel[] = null;
+                    int[] pixel = null;
                     float alphaScale = 1.0f / ((float) ((1<<nBits[aIdx]) - 1));
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2698,7 +2698,7 @@
                 }
                 break;
                 case DataBuffer.TYPE_SHORT: {
-                    short pixel[] = null;
+                    short[] pixel = null;
                     float alphaScale = 1.0f / 32767.0f;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
@@ -2719,7 +2719,7 @@
                 }
                 break;
                 case DataBuffer.TYPE_FLOAT: {
-                    float pixel[] = null;
+                    float[] pixel = null;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
                         for (int x = 0; x < w; x++, rX++) {
@@ -2738,7 +2738,7 @@
                 }
                 break;
                 case DataBuffer.TYPE_DOUBLE: {
-                    double pixel[] = null;
+                    double[] pixel = null;
                     for (int y = 0; y < h; y++, rY++) {
                         rX = rminX;
                         for (int x = 0; x < w; x++, rX++) {
--- a/src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ComponentSampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -76,7 +76,7 @@
 public class ComponentSampleModel extends SampleModel
 {
     /** Offsets for all bands in data array elements. */
-    protected int bandOffsets[];
+    protected int[] bandOffsets;
 
     /** Index for each bank storing a band of image data. */
     protected int[] bankIndices;
@@ -136,7 +136,7 @@
                                 int w, int h,
                                 int pixelStride,
                                 int scanlineStride,
-                                int bandOffsets[]) {
+                                int[] bandOffsets) {
         super(dataType, w, h, bandOffsets.length);
         this.dataType = dataType;
         this.pixelStride = pixelStride;
@@ -199,8 +199,8 @@
                                 int w, int h,
                                 int pixelStride,
                                 int scanlineStride,
-                                int bankIndices[],
-                                int bandOffsets[]) {
+                                int[] bankIndices,
+                                int[] bandOffsets) {
         super(dataType, w, h, bandOffsets.length);
         this.dataType = dataType;
         this.pixelStride = pixelStride;
@@ -292,9 +292,9 @@
      /**
       * Preserves band ordering with new step factor...
       */
-    int []orderBands(int orig[], int step) {
-        int map[] = new int[orig.length];
-        int ret[] = new int[orig.length];
+    int []orderBands(int[] orig, int step) {
+        int[] map = new int[orig.length];
+        int[] ret = new int[orig.length];
 
         for (int i=0; i<map.length; i++) map[i] = i;
 
@@ -334,7 +334,7 @@
         maxBandOff -= minBandOff;
 
         int bands   = bandOffsets.length;
-        int bandOff[];
+        int[] bandOff;
         int pStride = Math.abs(pixelStride);
         int lStride = Math.abs(scanlineStride);
         int bStride = Math.abs(maxBandOff);
@@ -402,13 +402,13 @@
      * @return a {@code ComponentSampleModel} created with a subset
      *          of bands from this {@code ComponentSampleModel}.
      */
-    public SampleModel createSubsetSampleModel(int bands[]) {
+    public SampleModel createSubsetSampleModel(int[] bands) {
        if (bands.length > bankIndices.length)
             throw new RasterFormatException("There are only " +
                                             bankIndices.length +
                                             " bands");
-        int newBankIndices[] = new int[bands.length];
-        int newBandOffsets[] = new int[bands.length];
+        int[] newBankIndices = new int[bands.length];
+        int[] newBandOffsets = new int[bands.length];
 
         for (int i=0; i<bands.length; i++) {
             newBankIndices[i] = bankIndices[bands[i]];
@@ -499,7 +499,7 @@
      *          represents a band.
      */
     public final int[] getSampleSize() {
-        int sampleSize[] = new int [numBands];
+        int[] sampleSize = new int [numBands];
         int sizeInBits = getSampleSize(0);
 
         for (int i=0; i<numBands; i++)
@@ -728,12 +728,12 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if iArray is too small to hold the output.
      */
-    public int[] getPixel(int x, int y, int iArray[], DataBuffer data) {
+    public int[] getPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray != null) {
            pixels = iArray;
         } else {
@@ -762,7 +762,7 @@
      * @see #setPixels(int, int, int, int, int[], DataBuffer)
      */
     public int[] getPixels(int x, int y, int w, int h,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -772,7 +772,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray != null) {
            pixels = iArray;
         } else {
@@ -886,13 +886,13 @@
      * @see #setSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public int[] getSamples(int x, int y, int w, int h, int b,
-                            int iArray[], DataBuffer data) {
+                            int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int samples[];
+        int[] samples;
         if (iArray != null) {
            samples = iArray;
         } else {
@@ -1027,7 +1027,7 @@
      * @param data      The DataBuffer containing the image data
      * @see #getPixel(int, int, int[], DataBuffer)
      */
-    public void setPixel(int x, int y, int iArray[], DataBuffer data) {
+    public void setPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
@@ -1053,7 +1053,7 @@
      * @see #getPixels(int, int, int, int, int[], DataBuffer)
      */
     public void setPixels(int x, int y, int w, int h,
-                          int iArray[], DataBuffer data) {
+                          int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -1168,7 +1168,7 @@
      * @see #getSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
--- a/src/java.desktop/share/classes/java/awt/image/CropImageFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/CropImageFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -114,7 +114,7 @@
      * with the filtering operation.
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         int x1 = x;
         if (x1 < cropX) {
@@ -154,7 +154,7 @@
      * with the filtering operation.
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         int x1 = x;
         if (x1 < cropX) {
--- a/src/java.desktop/share/classes/java/awt/image/DataBuffer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBuffer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -103,13 +103,13 @@
     protected int size;
 
     /** Offsets into all banks. */
-    protected int offsets[];
+    protected int[] offsets;
 
     /* The current StateTrackable state. */
     StateTrackableDelegate theTrackable;
 
     /** Size of the data types indexed by DataType tags defined above. */
-    private static final int dataTypeSize[] = {8,16,16,32,32,64};
+    private static final int[] dataTypeSize = {8,16,16,32,32,64};
 
     /** Returns the size (in bits) of the data type, given a datatype tag.
       * @param type the value of one of the defined datatype tags
@@ -246,7 +246,7 @@
      *  @throws ArrayIndexOutOfBoundsException if {@code numBanks}
      *          does not equal the length of {@code offsets}
      */
-    protected DataBuffer(int dataType, int size, int numBanks, int offsets[]) {
+    protected DataBuffer(int dataType, int size, int numBanks, int[] offsets) {
         this(UNTRACKABLE, dataType, size, numBanks, offsets);
     }
 
@@ -268,7 +268,7 @@
      *  @since 1.7
      */
     DataBuffer(State initialState,
-               int dataType, int size, int numBanks, int offsets[])
+               int dataType, int size, int numBanks, int[] offsets)
     {
         if (numBanks != offsets.length) {
             throw new ArrayIndexOutOfBoundsException("Number of banks" +
@@ -498,15 +498,15 @@
         } else if (obj == null) {
             return null;
         } else if (obj instanceof short[]) {
-            short sdata[] = (short[])obj;
-            int idata[] = new int[sdata.length];
+            short[] sdata = (short[])obj;
+            int[] idata = new int[sdata.length];
             for (int i = 0; i < sdata.length; i++) {
                 idata[i] = (int)sdata[i] & 0xffff;
             }
             return idata;
         } else if (obj instanceof byte[]) {
-            byte bdata[] = (byte[])obj;
-            int idata[] = new int[bdata.length];
+            byte[] bdata = (byte[])obj;
+            int[] idata = new int[bdata.length];
             for (int i = 0; i < bdata.length; i++) {
                 idata[i] = 0xff & (int)bdata[i];
             }
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferByte.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferByte.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,10 +60,10 @@
 public final class DataBufferByte extends DataBuffer
 {
     /** The default data bank. */
-    byte data[];
+    byte[] data;
 
     /** All data banks */
-    byte bankdata[][];
+    byte[][] bankdata;
 
     /**
      * Constructs a byte-based {@code DataBuffer} with a single bank and the
@@ -109,7 +109,7 @@
      * @param dataArray The byte array for the {@code DataBuffer}.
      * @param size The size of the {@code DataBuffer} bank.
      */
-    public DataBufferByte(byte dataArray[], int size) {
+    public DataBufferByte(byte[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_BYTE, size);
         data = dataArray;
         bankdata = new byte[1][];
@@ -133,7 +133,7 @@
      * @param offset The offset into the {@code dataArray}. {@code dataArray}
      * must have at least {@code offset} + {@code size} elements.
      */
-    public DataBufferByte(byte dataArray[], int size, int offset){
+    public DataBufferByte(byte[] dataArray, int size, int offset){
         super(UNTRACKABLE, TYPE_BYTE, size, 1, offset);
         data = dataArray;
         bankdata = new byte[1][];
@@ -154,7 +154,7 @@
      * @param dataArray The byte arrays for the {@code DataBuffer}.
      * @param size The size of the banks in the {@code DataBuffer}.
      */
-    public DataBufferByte(byte dataArray[][], int size) {
+    public DataBufferByte(byte[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length);
         bankdata = dataArray.clone();
         data = bankdata[0];
@@ -179,7 +179,7 @@
      * @param size The size of the banks in the {@code DataBuffer}.
      * @param offsets The offsets into each array.
      */
-    public DataBufferByte(byte dataArray[][], int size, int offsets[]) {
+    public DataBufferByte(byte[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length, offsets);
         bankdata = dataArray.clone();
         data = bankdata[0];
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferDouble.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferDouble.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,10 +52,10 @@
 public final class DataBufferDouble extends DataBuffer {
 
     /** The array of data banks. */
-    double bankdata[][];
+    double[][] bankdata;
 
     /** A reference to the default data bank. */
-    double data[];
+    double[] data;
 
     /**
      * Constructs a {@code double}-based {@code DataBuffer}
@@ -104,7 +104,7 @@
      *                  first and only bank of this {@code DataBuffer}.
      * @param size The number of elements of the array to be used.
      */
-    public DataBufferDouble(double dataArray[], int size) {
+    public DataBufferDouble(double[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_DOUBLE, size);
         data = dataArray;
         bankdata = new double[1][];
@@ -129,7 +129,7 @@
      * @param offset The offset of the first element of the array
      *               that will be used.
      */
-    public DataBufferDouble(double dataArray[], int size, int offset) {
+    public DataBufferDouble(double[] dataArray, int size, int offset) {
         super(UNTRACKABLE, TYPE_DOUBLE, size, 1, offset);
         data = dataArray;
         bankdata = new double[1][];
@@ -152,7 +152,7 @@
      *        used as the banks of this {@code DataBuffer}.
      * @param size The number of elements of each array to be used.
      */
-    public DataBufferDouble(double dataArray[][], int size) {
+    public DataBufferDouble(double[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_DOUBLE, size, dataArray.length);
         bankdata = dataArray.clone();
         data = bankdata[0];
@@ -176,7 +176,7 @@
      * @param size The number of elements of each array to be used.
      * @param offsets An array of integer offsets, one for each bank.
      */
-    public DataBufferDouble(double dataArray[][], int size, int offsets[]) {
+    public DataBufferDouble(double[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_DOUBLE, size, dataArray.length, offsets);
         bankdata = dataArray.clone();
         data = bankdata[0];
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferFloat.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferFloat.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,10 +52,10 @@
 public final class DataBufferFloat extends DataBuffer {
 
     /** The array of data banks. */
-    float bankdata[][];
+    float[][] bankdata;
 
     /** A reference to the default data bank. */
-    float data[];
+    float[] data;
 
     /**
      * Constructs a {@code float}-based {@code DataBuffer}
@@ -105,7 +105,7 @@
      *                  first and only bank of this {@code DataBuffer}.
      * @param size The number of elements of the array to be used.
      */
-    public DataBufferFloat(float dataArray[], int size) {
+    public DataBufferFloat(float[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_FLOAT, size);
         data = dataArray;
         bankdata = new float[1][];
@@ -131,7 +131,7 @@
      * @param offset The offset of the first element of the array
      *               that will be used.
      */
-    public DataBufferFloat(float dataArray[], int size, int offset) {
+    public DataBufferFloat(float[] dataArray, int size, int offset) {
         super(UNTRACKABLE, TYPE_FLOAT, size, 1, offset);
         data = dataArray;
         bankdata = new float[1][];
@@ -154,7 +154,7 @@
      *                  used as the banks of this {@code DataBuffer}.
      * @param size The number of elements of each array to be used.
      */
-    public DataBufferFloat(float dataArray[][], int size) {
+    public DataBufferFloat(float[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_FLOAT, size, dataArray.length);
         bankdata = dataArray.clone();
         data = bankdata[0];
@@ -178,7 +178,7 @@
      * @param size The number of elements of each array to be used.
      * @param offsets An array of integer offsets, one for each bank.
      */
-    public DataBufferFloat(float dataArray[][], int size, int offsets[]) {
+    public DataBufferFloat(float[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_FLOAT, size,dataArray.length, offsets);
         bankdata = dataArray.clone();
         data = bankdata[0];
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferInt.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferInt.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,10 +59,10 @@
 public final class DataBufferInt extends DataBuffer
 {
     /** The default data bank. */
-    int data[];
+    int[] data;
 
     /** All data banks */
-    int bankdata[][];
+    int[][] bankdata;
 
     /**
      * Constructs an integer-based {@code DataBuffer} with a single bank
@@ -108,7 +108,7 @@
      * @param dataArray The integer array for the {@code DataBuffer}.
      * @param size The size of the {@code DataBuffer} bank.
      */
-    public DataBufferInt(int dataArray[], int size) {
+    public DataBufferInt(int[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_INT, size);
         data = dataArray;
         bankdata = new int[1][];
@@ -131,7 +131,7 @@
      * @param size The size of the {@code DataBuffer} bank.
      * @param offset The offset into the {@code dataArray}.
      */
-    public DataBufferInt(int dataArray[], int size, int offset) {
+    public DataBufferInt(int[] dataArray, int size, int offset) {
         super(UNTRACKABLE, TYPE_INT, size, 1, offset);
         data = dataArray;
         bankdata = new int[1][];
@@ -152,7 +152,7 @@
      * @param dataArray The integer arrays for the {@code DataBuffer}.
      * @param size The size of the banks in the {@code DataBuffer}.
      */
-    public DataBufferInt(int dataArray[][], int size) {
+    public DataBufferInt(int[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_INT, size, dataArray.length);
         bankdata = dataArray.clone();
         data = bankdata[0];
@@ -177,7 +177,7 @@
      * @param size The size of the banks in the {@code DataBuffer}.
      * @param offsets The offsets into each array.
      */
-    public DataBufferInt(int dataArray[][], int size, int offsets[]) {
+    public DataBufferInt(int[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_INT, size, dataArray.length, offsets);
         bankdata = dataArray.clone();
         data = bankdata[0];
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferShort.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferShort.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,10 +58,10 @@
 public final class DataBufferShort extends DataBuffer
 {
     /** The default data bank. */
-    short data[];
+    short[] data;
 
     /** All data banks */
-    short bankdata[][];
+    short[][] bankdata;
 
     /**
      * Constructs a short-based {@code DataBuffer} with a single bank and the
@@ -107,7 +107,7 @@
      * @param dataArray The short array for the {@code DataBuffer}.
      * @param size The size of the {@code DataBuffer} bank.
      */
-    public DataBufferShort(short dataArray[], int size) {
+    public DataBufferShort(short[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_SHORT, size);
         data = dataArray;
         bankdata = new short[1][];
@@ -130,7 +130,7 @@
      * @param size The size of the {@code DataBuffer} bank.
      * @param offset The offset into the {@code dataArray}.
      */
-    public DataBufferShort(short dataArray[], int size, int offset) {
+    public DataBufferShort(short[] dataArray, int size, int offset) {
         super(UNTRACKABLE, TYPE_SHORT, size, 1, offset);
         data = dataArray;
         bankdata = new short[1][];
@@ -151,7 +151,7 @@
      * @param dataArray The short arrays for the {@code DataBuffer}.
      * @param size The size of the banks in the {@code DataBuffer}.
      */
-    public DataBufferShort(short dataArray[][], int size) {
+    public DataBufferShort(short[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_SHORT, size, dataArray.length);
         bankdata = dataArray.clone();
         data = bankdata[0];
@@ -176,7 +176,7 @@
      * @param size The size of the banks in the {@code DataBuffer}.
      * @param offsets The offsets into each array.
      */
-    public DataBufferShort(short dataArray[][], int size, int offsets[]) {
+    public DataBufferShort(short[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_SHORT, size, dataArray.length, offsets);
         bankdata = dataArray.clone();
         data = bankdata[0];
--- a/src/java.desktop/share/classes/java/awt/image/DataBufferUShort.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DataBufferUShort.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -60,10 +60,10 @@
 public final class DataBufferUShort extends DataBuffer
 {
     /** The default data bank. */
-    short data[];
+    short[] data;
 
     /** All data banks */
-    short bankdata[][];
+    short[][] bankdata;
 
     /**
      * Constructs an unsigned-short based {@code DataBuffer} with a single bank and the
@@ -109,7 +109,7 @@
      * @param dataArray The unsigned-short array for the {@code DataBuffer}.
      * @param size The size of the {@code DataBuffer} bank.
      */
-    public DataBufferUShort(short dataArray[], int size) {
+    public DataBufferUShort(short[] dataArray, int size) {
         super(UNTRACKABLE, TYPE_USHORT, size);
         if (dataArray == null) {
             throw new NullPointerException("dataArray is null");
@@ -135,7 +135,7 @@
      * @param size The size of the {@code DataBuffer} bank.
      * @param offset The offset into the {@code dataArray}.
      */
-    public DataBufferUShort(short dataArray[], int size, int offset) {
+    public DataBufferUShort(short[] dataArray, int size, int offset) {
         super(UNTRACKABLE, TYPE_USHORT, size, 1, offset);
         if (dataArray == null) {
             throw new NullPointerException("dataArray is null");
@@ -163,7 +163,7 @@
      * @param dataArray The unsigned-short arrays for the {@code DataBuffer}.
      * @param size The size of the banks in the {@code DataBuffer}.
      */
-    public DataBufferUShort(short dataArray[][], int size) {
+    public DataBufferUShort(short[][] dataArray, int size) {
         super(UNTRACKABLE, TYPE_USHORT, size, dataArray.length);
         if (dataArray == null) {
             throw new NullPointerException("dataArray is null");
@@ -197,7 +197,7 @@
      * @param size The size of the banks in the {@code DataBuffer}.
      * @param offsets The offsets into each array.
      */
-    public DataBufferUShort(short dataArray[][], int size, int offsets[]) {
+    public DataBufferUShort(short[][] dataArray, int size, int[] offsets) {
         super(UNTRACKABLE, TYPE_USHORT, size, dataArray.length, offsets);
         if (dataArray == null) {
             throw new NullPointerException("dataArray is null");
--- a/src/java.desktop/share/classes/java/awt/image/DirectColorModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/DirectColorModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -311,8 +311,8 @@
      * components as float values between 0.0 and 1.0.
      */
     private float[] getDefaultRGBComponents(int pixel) {
-        int components[] = getComponents(pixel, null, 0);
-        float norm[] = getNormalizedComponents(components, 0, null, 0);
+        int[] components = getComponents(pixel, null, 0);
+        float[] norm = getNormalizedComponents(components, 0, null, 0);
         // Note that getNormalizedComponents returns non-premultiplied values
         return colorSpace.toRGB(norm);
     }
@@ -371,7 +371,7 @@
         } else if (is_LinearRGB) {
             return getsRGBComponentFromLinearRGB(pixel, 0);
         }
-        float rgb[] = getDefaultRGBComponents(pixel);
+        float[] rgb = getDefaultRGBComponents(pixel);
         return (int) (rgb[0] * 255.0f + 0.5f);
     }
 
@@ -394,7 +394,7 @@
         } else if (is_LinearRGB) {
             return getsRGBComponentFromLinearRGB(pixel, 1);
         }
-        float rgb[] = getDefaultRGBComponents(pixel);
+        float[] rgb = getDefaultRGBComponents(pixel);
         return (int) (rgb[1] * 255.0f + 0.5f);
     }
 
@@ -417,7 +417,7 @@
         } else if (is_LinearRGB) {
             return getsRGBComponentFromLinearRGB(pixel, 2);
         }
-        float rgb[] = getDefaultRGBComponents(pixel);
+        float[] rgb = getDefaultRGBComponents(pixel);
         return (int) (rgb[2] * 255.0f + 0.5f);
     }
 
@@ -457,7 +457,7 @@
                 | (getGreen(pixel) << 8)
                 | (getBlue(pixel) << 0);
         }
-        float rgb[] = getDefaultRGBComponents(pixel);
+        float[] rgb = getDefaultRGBComponents(pixel);
         return (getAlpha(pixel) << 24)
             | (((int) (rgb[0] * 255.0f + 0.5f)) << 16)
             | (((int) (rgb[1] * 255.0f + 0.5f)) << 8)
@@ -499,15 +499,15 @@
         int pixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
@@ -552,15 +552,15 @@
         int pixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
@@ -605,15 +605,15 @@
         int pixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
@@ -655,15 +655,15 @@
         int pixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
@@ -703,15 +703,15 @@
         int pixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
@@ -758,7 +758,7 @@
     public Object getDataElements(int rgb, Object pixel) {
         //REMIND: maybe more efficient not to use int array for
         //DataBuffer.TYPE_USHORT and DataBuffer.TYPE_INT
-        int intpixel[] = null;
+        int[] intpixel = null;
         if (transferType == DataBuffer.TYPE_INT &&
             pixel != null) {
             intpixel = (int[])pixel;
@@ -876,7 +876,7 @@
 
         switch (transferType) {
             case DataBuffer.TYPE_BYTE: {
-               byte bdata[];
+               byte[] bdata;
                if (pixel == null) {
                    bdata = new byte[1];
                } else {
@@ -886,7 +886,7 @@
                return bdata;
             }
             case DataBuffer.TYPE_USHORT:{
-               short sdata[];
+               short[] sdata;
                if (pixel == null) {
                    sdata = new short[1];
                } else {
@@ -979,15 +979,15 @@
         int intpixel=0;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])pixel;
+               byte[] bdata = (byte[])pixel;
                intpixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])pixel;
+               short[] sdata = (short[])pixel;
                intpixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])pixel;
+               int[] idata = (int[])pixel;
                intpixel = idata[0];
             break;
             default:
@@ -1118,29 +1118,29 @@
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
                if (obj instanceof byte[]) {
-                   byte bdata[] = (byte[])obj;
+                   byte[] bdata = (byte[])obj;
                    bdata[0] = (byte)(pixel&0xff);
                    return bdata;
                } else {
-                   byte bdata[] = {(byte)(pixel&0xff)};
+                   byte[] bdata = {(byte)(pixel&0xff)};
                    return bdata;
                }
             case DataBuffer.TYPE_USHORT:
                if (obj instanceof short[]) {
-                   short sdata[] = (short[])obj;
+                   short[] sdata = (short[])obj;
                    sdata[0] = (short)(pixel&0xffff);
                    return sdata;
                } else {
-                   short sdata[] = {(short)(pixel&0xffff)};
+                   short[] sdata = {(short)(pixel&0xffff)};
                    return sdata;
                }
             case DataBuffer.TYPE_INT:
                if (obj instanceof int[]) {
-                   int idata[] = (int[])obj;
+                   int[] idata = (int[])obj;
                    idata[0] = pixel;
                    return idata;
                } else {
-                   int idata[] = {pixel};
+                   int[] idata = {pixel};
                    return idata;
                }
             default:
@@ -1190,8 +1190,8 @@
         int rminX = raster.getMinX();
         int rY = raster.getMinY();
         int rX;
-        int pixel[] = null;
-        int zpixel[] = null;
+        int[] pixel = null;
+        int[] zpixel = null;
 
         if (isAlphaPremultiplied) {
             // Must mean that we are currently not premultiplied so
--- a/src/java.desktop/share/classes/java/awt/image/ImageConsumer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ImageConsumer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -158,7 +158,7 @@
      * @see ColorModel
      */
     void setPixels(int x, int y, int w, int h,
-                   ColorModel model, byte pixels[], int off, int scansize);
+                   ColorModel model, byte[] pixels, int off, int scansize);
 
     /**
      * The pixels of the image are delivered using one or more calls
@@ -184,7 +184,7 @@
      * @see ColorModel
      */
     void setPixels(int x, int y, int w, int h,
-                   ColorModel model, int pixels[], int off, int scansize);
+                   ColorModel model, int[] pixels, int off, int scansize);
 
     /**
      * The imageComplete method is called when the ImageProducer is
--- a/src/java.desktop/share/classes/java/awt/image/ImageFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ImageFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -157,7 +157,7 @@
      * @see ImageConsumer#setPixels
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         consumer.setPixels(x, y, w, h, model, pixels, off, scansize);
     }
@@ -174,7 +174,7 @@
      * @see ImageConsumer#setPixels
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         consumer.setPixels(x, y, w, h, model, pixels, off, scansize);
     }
--- a/src/java.desktop/share/classes/java/awt/image/IndexColorModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/IndexColorModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -124,7 +124,7 @@
  *
  */
 public class IndexColorModel extends ColorModel {
-    private int rgb[];
+    private int[] rgb;
     private int map_size;
     private int pixel_mask;
     private int transparent_index = -1;
@@ -166,7 +166,7 @@
      *         than 1
      */
     public IndexColorModel(int bits, int size,
-                           byte r[], byte g[], byte b[]) {
+                           byte[] r, byte[] g, byte[] b) {
         super(bits, opaqueBits,
               ColorSpace.getInstance(ColorSpace.CS_sRGB),
               false, false, OPAQUE,
@@ -206,7 +206,7 @@
      *          1
      */
     public IndexColorModel(int bits, int size,
-                           byte r[], byte g[], byte b[], int trans) {
+                           byte[] r, byte[] g, byte[] b, int trans) {
         super(bits, opaqueBits,
               ColorSpace.getInstance(ColorSpace.CS_sRGB),
               false, false, OPAQUE,
@@ -245,7 +245,7 @@
      *           than 1
      */
     public IndexColorModel(int bits, int size,
-                           byte r[], byte g[], byte b[], byte a[]) {
+                           byte[] r, byte[] g, byte[] b, byte[] a) {
         super (bits, alphaBits,
                ColorSpace.getInstance(ColorSpace.CS_sRGB),
                true, false, TRANSLUCENT,
@@ -284,7 +284,7 @@
      * @throws IllegalArgumentException if {@code size} is less
      *           than 1
      */
-    public IndexColorModel(int bits, int size, byte cmap[], int start,
+    public IndexColorModel(int bits, int size, byte[] cmap, int start,
                            boolean hasalpha) {
         this(bits, size, cmap, start, hasalpha, -1);
         if (bits < 1 || bits > 16) {
@@ -321,7 +321,7 @@
      * @throws IllegalArgumentException if {@code size} is less than
      *               1
      */
-    public IndexColorModel(int bits, int size, byte cmap[], int start,
+    public IndexColorModel(int bits, int size, byte[] cmap, int start,
                            boolean hasalpha, int trans) {
         // REMIND: This assumes the ordering: RGB[A]
         super(bits, opaqueBits,
@@ -406,7 +406,7 @@
      *           {@code DataBuffer.TYPE_USHORT}
      */
     public IndexColorModel(int bits, int size,
-                           int cmap[], int start,
+                           int[] cmap, int start,
                            boolean hasalpha, int trans, int transferType) {
         // REMIND: This assumes the ordering: RGB[A]
         super(bits, opaqueBits,
@@ -472,7 +472,7 @@
      *
      * @since 1.3
      */
-    public IndexColorModel(int bits, int size, int cmap[], int start,
+    public IndexColorModel(int bits, int size, int[] cmap, int start,
                            int transferType, BigInteger validBits) {
         super (bits, alphaBits,
                ColorSpace.getInstance(ColorSpace.CS_sRGB),
@@ -507,7 +507,7 @@
         calculatePixelMask();
     }
 
-    private void setRGBs(int size, byte r[], byte g[], byte b[], byte a[]) {
+    private void setRGBs(int size, byte[] r, byte[] g, byte[] b, byte[] a) {
         if (size < 1) {
             throw new IllegalArgumentException("Map size ("+size+
                                                ") must be >= 1");
@@ -544,7 +544,7 @@
         setTransparency(transparency);
     }
 
-    private void setRGBs(int size, int cmap[], int start, boolean hasalpha) {
+    private void setRGBs(int size, int[] cmap, int start, boolean hasalpha) {
         map_size = size;
         rgb = new int[calcRealMapSize(pixel_bits, size)];
         int j = start;
@@ -663,7 +663,7 @@
      * @param r the specified array into which the elements of the
      *      array of red color components are copied
      */
-    public final void getReds(byte r[]) {
+    public final void getReds(byte[] r) {
         for (int i = 0; i < map_size; i++) {
             r[i] = (byte) (rgb[i] >> 16);
         }
@@ -676,7 +676,7 @@
      * @param g the specified array into which the elements of the
      *      array of green color components are copied
      */
-    public final void getGreens(byte g[]) {
+    public final void getGreens(byte[] g) {
         for (int i = 0; i < map_size; i++) {
             g[i] = (byte) (rgb[i] >> 8);
         }
@@ -689,7 +689,7 @@
      * @param b the specified array into which the elements of the
      *      array of blue color components are copied
      */
-    public final void getBlues(byte b[]) {
+    public final void getBlues(byte[] b) {
         for (int i = 0; i < map_size; i++) {
             b[i] = (byte) rgb[i];
         }
@@ -702,7 +702,7 @@
      * @param a the specified array into which the elements of the
      *      array of alpha components are copied
      */
-    public final void getAlphas(byte a[]) {
+    public final void getAlphas(byte[] a) {
         for (int i = 0; i < map_size; i++) {
             a[i] = (byte) (rgb[i] >> 24);
         }
@@ -719,7 +719,7 @@
      *        values from this array of color and alpha components
      *        are copied.
      */
-    public final void getRGBs(int rgb[]) {
+    public final void getRGBs(int[] rgb) {
         System.arraycopy(this.rgb, 0, rgb, 0, map_size);
     }
 
@@ -841,7 +841,7 @@
     }
 
     private static final int CACHESIZE = 40;
-    private int lookupcache[] = new int[CACHESIZE];
+    private int[] lookupcache = new int[CACHESIZE];
 
     /**
      * Returns a data element array representation of a pixel in this
@@ -945,7 +945,7 @@
             // exact match.
 
             int smallestError = Integer.MAX_VALUE;
-            int lut[] = this.rgb;
+            int[] lut = this.rgb;
             int lutrgb;
             for (int i=0; i < map_size; i++) {
                 lutrgb = lut[i];
@@ -992,7 +992,7 @@
             // Euclidean distance formula.
 
             int smallestError = Integer.MAX_VALUE;
-            int lut[] = this.rgb;
+            int[] lut = this.rgb;
             for (int i=0; i < map_size; i++) {
                 int lutrgb = lut[i];
                 if (lutrgb == rgb) {
@@ -1162,15 +1162,15 @@
         int intpixel;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])pixel;
+               byte[] bdata = (byte[])pixel;
                intpixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])pixel;
+               short[] sdata = (short[])pixel;
                intpixel = sdata[0] & 0xffff;
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])pixel;
+               int[] idata = (int[])pixel;
                intpixel = idata[0];
             break;
             default:
@@ -1217,15 +1217,15 @@
         int pixel;
         switch (transferType) {
             case DataBuffer.TYPE_BYTE:
-               byte bdata[] = (byte[])inData;
+               byte[] bdata = (byte[])inData;
                pixel = bdata[0] & 0xff;
             break;
             case DataBuffer.TYPE_USHORT:
-               short sdata[] = (short[])inData;
+               short[] sdata = (short[])inData;
                pixel = sdata[0];
             break;
             case DataBuffer.TYPE_INT:
-               int idata[] = (int[])inData;
+               int[] idata = (int[])inData;
                pixel = idata[0];
             break;
             default:
--- a/src/java.desktop/share/classes/java/awt/image/Kernel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/Kernel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
     private int  height;
     private int  xOrigin;
     private int  yOrigin;
-    private float data[];
+    private float[] data;
 
     private static native void initIDs();
     static {
@@ -63,7 +63,7 @@
      *         is less than the product of {@code width} and
      *         {@code height}
      */
-    public Kernel(int width, int height, float data[]) {
+    public Kernel(int width, int height, float[] data) {
         this.width  = width;
         this.height = height;
         this.xOrigin  = (width-1)>>1;
--- a/src/java.desktop/share/classes/java/awt/image/LookupOp.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/LookupOp.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,6 +1,6 @@
 
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -255,7 +255,7 @@
         int numBands  = src.getNumBands();
         int height    = src.getHeight();
         int width     = src.getWidth();
-        int srcPix[]  = new int[numBands];
+        int[] srcPix  = new int[numBands];
 
         // Create a new destination Raster, if needed
 
--- a/src/java.desktop/share/classes/java/awt/image/MemoryImageSource.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/MemoryImageSource.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -223,7 +223,7 @@
      * @see java.awt.Component#createImage
      * @see ColorModel#getRGBdefault
      */
-    public MemoryImageSource(int w, int h, int pix[], int off, int scan) {
+    public MemoryImageSource(int w, int h, int[] pix, int off, int scan) {
         initialize(w, h, ColorModel.getRGBdefault(),
                    (Object) pix, off, scan, null);
     }
@@ -243,7 +243,7 @@
      * @see java.awt.Component#createImage
      * @see ColorModel#getRGBdefault
      */
-    public MemoryImageSource(int w, int h, int pix[], int off, int scan,
+    public MemoryImageSource(int w, int h, int[] pix, int off, int scan,
                              Hashtable<?,?> props)
     {
         initialize(w, h, ColorModel.getRGBdefault(),
--- a/src/java.desktop/share/classes/java/awt/image/MultiPixelPackedSampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/MultiPixelPackedSampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -229,7 +229,7 @@
      * @return the number of bits per sample.
      */
     public int[] getSampleSize() {
-        int sampleSize[] = {pixelBitStride};
+        int[] sampleSize = {pixelBitStride};
         return sampleSize;
     }
 
@@ -326,7 +326,7 @@
      * @throws IllegalArgumentException if {@code w} or
      *         {@code h} is not greater than 0
      */
-    public SampleModel createSubsetSampleModel(int bands[]) {
+    public SampleModel createSubsetSampleModel(int[] bands) {
         if (bands != null) {
            if (bands.length != 1)
             throw new RasterFormatException("MultiPixelPackedSampleModel has "
@@ -530,12 +530,12 @@
      *  are not in bounds
      * @see #setPixel(int, int, int[], DataBuffer)
      */
-    public int[] getPixel(int x, int y, int iArray[], DataBuffer data) {
+    public int[] getPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray != null) {
            pixels = iArray;
         } else {
--- a/src/java.desktop/share/classes/java/awt/image/PixelGrabber.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/PixelGrabber.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -429,7 +429,7 @@
 
     private void convertToRGB() {
         int size = dstW * dstH;
-        int newpixels[] = new int[size];
+        int[] newpixels = new int[size];
         if (bytePixels != null) {
             for (int i = 0; i < size; i++) {
                 newpixels[i] = imageModel.getRGB(bytePixels[i] & 0xff);
@@ -470,7 +470,7 @@
      */
     public void setPixels(int srcX, int srcY, int srcW, int srcH,
                           ColorModel model,
-                          byte pixels[], int srcOff, int srcScan) {
+                          byte[] pixels, int srcOff, int srcScan) {
         if (srcY < dstY) {
             int diff = dstY - srcY;
             if (diff >= srcH) {
@@ -557,7 +557,7 @@
      */
     public void setPixels(int srcX, int srcY, int srcW, int srcH,
                           ColorModel model,
-                          int pixels[], int srcOff, int srcScan) {
+                          int[] pixels, int srcOff, int srcScan) {
         if (srcY < dstY) {
             int diff = dstY - srcY;
             if (diff >= srcH) {
--- a/src/java.desktop/share/classes/java/awt/image/PixelInterleavedSampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/PixelInterleavedSampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -83,7 +83,7 @@
                                        int w, int h,
                                        int pixelStride,
                                        int scanlineStride,
-                                       int bandOffsets[]) {
+                                       int[] bandOffsets) {
         super(dataType, w, h, pixelStride, scanlineStride, bandOffsets);
         int minBandOff=this.bandOffsets[0];
         int maxBandOff=this.bandOffsets[0];
@@ -154,8 +154,8 @@
      * an image with a subset of the bands of the original
      * PixelInterleavedSampleModel/DataBuffer combination.
      */
-    public SampleModel createSubsetSampleModel(int bands[]) {
-        int newBandOffsets[] = new int[bands.length];
+    public SampleModel createSubsetSampleModel(int[] bands) {
+        int[] newBandOffsets = new int[bands.length];
         for (int i=0; i<bands.length; i++) {
             newBandOffsets[i] = bandOffsets[bands[i]];
         }
--- a/src/java.desktop/share/classes/java/awt/image/RGBImageFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/RGBImageFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -146,10 +146,10 @@
      */
     public IndexColorModel filterIndexColorModel(IndexColorModel icm) {
         int mapsize = icm.getMapSize();
-        byte r[] = new byte[mapsize];
-        byte g[] = new byte[mapsize];
-        byte b[] = new byte[mapsize];
-        byte a[] = new byte[mapsize];
+        byte[] r = new byte[mapsize];
+        byte[] g = new byte[mapsize];
+        byte[] b = new byte[mapsize];
+        byte[] a = new byte[mapsize];
         icm.getReds(r);
         icm.getGreens(g);
         icm.getBlues(b);
@@ -192,7 +192,7 @@
      * @see #filterRGB
      */
     public void filterRGBPixels(int x, int y, int w, int h,
-                                int pixels[], int off, int scansize) {
+                                int[] pixels, int off, int scansize) {
         int index = off;
         for (int cy = 0; cy < h; cy++) {
             for (int cx = 0; cx < w; cx++) {
@@ -222,12 +222,12 @@
      * @see #filterRGBPixels
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         if (model == origmodel) {
             consumer.setPixels(x, y, w, h, newmodel, pixels, off, scansize);
         } else {
-            int filteredpixels[] = new int[w];
+            int[] filteredpixels = new int[w];
             int index = off;
             for (int cy = 0; cy < h; cy++) {
                 for (int cx = 0; cx < w; cx++) {
@@ -259,12 +259,12 @@
      * @see #filterRGBPixels
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         if (model == origmodel) {
             consumer.setPixels(x, y, w, h, newmodel, pixels, off, scansize);
         } else {
-            int filteredpixels[] = new int[w];
+            int[] filteredpixels = new int[w];
             int index = off;
             for (int cy = 0; cy < h; cy++) {
                 for (int cx = 0; cx < w; cx++) {
--- a/src/java.desktop/share/classes/java/awt/image/Raster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/Raster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -254,7 +254,7 @@
                                                          int w, int h,
                                                          int scanlineStride,
                                                          int pixelStride,
-                                                         int bandOffsets[],
+                                                         int[] bandOffsets,
                                                          Point location) {
         DataBuffer d;
 
@@ -365,8 +365,8 @@
     public static WritableRaster createBandedRaster(int dataType,
                                                     int w, int h,
                                                     int scanlineStride,
-                                                    int bankIndices[],
-                                                    int bandOffsets[],
+                                                    int[] bankIndices,
+                                                    int[] bandOffsets,
                                                     Point location) {
         DataBuffer d;
         int bands = bandOffsets.length;
@@ -450,7 +450,7 @@
      */
     public static WritableRaster createPackedRaster(int dataType,
                                                     int w, int h,
-                                                    int bandMasks[],
+                                                    int[] bandMasks,
                                                     Point location) {
         DataBuffer d;
 
@@ -628,7 +628,7 @@
                                                          int w, int h,
                                                          int scanlineStride,
                                                          int pixelStride,
-                                                         int bandOffsets[],
+                                                         int[] bandOffsets,
                                                          Point location)
     {
         if (dataBuffer == null) {
@@ -701,8 +701,8 @@
     public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
                                                     int w, int h,
                                                     int scanlineStride,
-                                                    int bankIndices[],
-                                                    int bandOffsets[],
+                                                    int[] bankIndices,
+                                                    int[] bandOffsets,
                                                     Point location)
     {
         if (dataBuffer == null) {
@@ -784,7 +784,7 @@
     public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
                                                     int w, int h,
                                                     int scanlineStride,
-                                                    int bandMasks[],
+                                                    int[] bandMasks,
                                                     Point location)
     {
         if (dataBuffer == null) {
@@ -1397,7 +1397,7 @@
     public Raster createChild(int parentX, int parentY,
                               int width, int height,
                               int childMinX, int childMinY,
-                              int bandList[]) {
+                              int[] bandList) {
         if (parentX < this.minX) {
             throw new RasterFormatException("parentX lies outside raster");
         }
@@ -1601,7 +1601,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if iArray is too small to hold the output.
      */
-    public int[] getPixel(int x, int y, int iArray[]) {
+    public int[] getPixel(int x, int y, int[] iArray) {
         return sampleModel.getPixel(x - sampleModelTranslateX,
                                     y - sampleModelTranslateY,
                                     iArray, dataBuffer);
@@ -1621,7 +1621,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if fArray is too small to hold the output.
      */
-    public float[] getPixel(int x, int y, float fArray[]) {
+    public float[] getPixel(int x, int y, float[] fArray) {
         return sampleModel.getPixel(x - sampleModelTranslateX,
                                     y - sampleModelTranslateY,
                                     fArray, dataBuffer);
@@ -1640,7 +1640,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if dArray is too small to hold the output.
      */
-    public double[] getPixel(int x, int y, double dArray[]) {
+    public double[] getPixel(int x, int y, double[] dArray) {
         return sampleModel.getPixel(x - sampleModelTranslateX,
                                     y - sampleModelTranslateY,
                                     dArray, dataBuffer);
@@ -1662,7 +1662,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if iArray is too small to hold the output.
      */
-    public int[] getPixels(int x, int y, int w, int h, int iArray[]) {
+    public int[] getPixels(int x, int y, int w, int h, int[] iArray) {
         return sampleModel.getPixels(x - sampleModelTranslateX,
                                      y - sampleModelTranslateY, w, h,
                                      iArray, dataBuffer);
@@ -1685,7 +1685,7 @@
      * in bounds, or if fArray is too small to hold the output.
      */
     public float[] getPixels(int x, int y, int w, int h,
-                             float fArray[]) {
+                             float[] fArray) {
         return sampleModel.getPixels(x - sampleModelTranslateX,
                                      y - sampleModelTranslateY, w, h,
                                      fArray, dataBuffer);
@@ -1708,7 +1708,7 @@
      * in bounds, or if dArray is too small to hold the output.
      */
     public double[] getPixels(int x, int y, int w, int h,
-                              double dArray[]) {
+                              double[] dArray) {
         return sampleModel.getPixels(x - sampleModelTranslateX,
                                      y - sampleModelTranslateY,
                                      w, h, dArray, dataBuffer);
@@ -1798,7 +1798,7 @@
      * hold the output.
      */
     public int[] getSamples(int x, int y, int w, int h, int b,
-                            int iArray[]) {
+                            int[] iArray) {
         return sampleModel.getSamples(x - sampleModelTranslateX,
                                       y - sampleModelTranslateY,
                                       w, h, b, iArray,
@@ -1825,7 +1825,7 @@
      * hold the output.
      */
     public float[] getSamples(int x, int y, int w, int h, int b,
-                              float fArray[]) {
+                              float[] fArray) {
         return sampleModel.getSamples(x - sampleModelTranslateX,
                                       y - sampleModelTranslateY,
                                       w, h, b, fArray, dataBuffer);
@@ -1851,7 +1851,7 @@
      * hold the output.
      */
     public double[] getSamples(int x, int y, int w, int h, int b,
-                               double dArray[]) {
+                               double[] dArray) {
          return sampleModel.getSamples(x - sampleModelTranslateX,
                                        y - sampleModelTranslateY,
                                        w, h, b, dArray, dataBuffer);
--- a/src/java.desktop/share/classes/java/awt/image/ReplicateScaleFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ReplicateScaleFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -74,13 +74,13 @@
      * An {@code int} array containing information about a
      * row of pixels.
      */
-    protected int srcrows[];
+    protected int[] srcrows;
 
     /**
      * An {@code int} array containing information about a
      * column of pixels.
      */
-    protected int srccols[];
+    protected int[] srccols;
 
     /**
      * A {@code byte} array initialized with a size of
@@ -185,7 +185,7 @@
      * with the filtering operation.
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, byte pixels[], int off,
+                          ColorModel model, byte[] pixels, int off,
                           int scansize) {
         if (srcrows == null || srccols == null) {
             calculateMaps();
@@ -193,7 +193,7 @@
         int sx, sy;
         int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * srcWidth);
         int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight);
-        byte outpix[];
+        byte[] outpix;
         if (outpixbuf != null && outpixbuf instanceof byte[]) {
             outpix = (byte[]) outpixbuf;
         } else {
@@ -226,7 +226,7 @@
      * with the filtering operation.
      */
     public void setPixels(int x, int y, int w, int h,
-                          ColorModel model, int pixels[], int off,
+                          ColorModel model, int[] pixels, int off,
                           int scansize) {
         if (srcrows == null || srccols == null) {
             calculateMaps();
@@ -234,7 +234,7 @@
         int sx, sy;
         int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * srcWidth);
         int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight);
-        int outpix[];
+        int[] outpix;
         if (outpixbuf != null && outpixbuf instanceof int[]) {
             outpix = (int[]) outpixbuf;
         } else {
--- a/src/java.desktop/share/classes/java/awt/image/RescaleOp.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/RescaleOp.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -144,7 +144,7 @@
      *        this {@code RescaleOp}
      * @return the scale factors of this {@code RescaleOp}.
      */
-    public final float[] getScaleFactors (float scaleFactors[]) {
+    public final float[] getScaleFactors (float[] scaleFactors) {
         if (scaleFactors == null) {
             return this.scaleFactors.clone();
         }
@@ -162,7 +162,7 @@
      *        this {@code RescaleOp}
      * @return the offsets of this {@code RescaleOp}.
      */
-    public final float[] getOffsets(float offsets[]) {
+    public final float[] getOffsets(float[] offsets) {
         if (offsets == null) {
             return this.offsets.clone();
         }
@@ -190,8 +190,8 @@
      *                  This will generally be 256 for byte and
      *                  65536 for short.
      */
-    private ByteLookupTable createByteLut(float scale[],
-                                          float off[],
+    private ByteLookupTable createByteLut(float[] scale,
+                                          float[] off,
                                           int   nBands,
                                           int   nElems) {
 
@@ -237,8 +237,8 @@
      *                  This will generally be 256 for byte and
      *                  65536 for short.
      */
-    private ShortLookupTable createShortLut(float scale[],
-                                            float off[],
+    private ShortLookupTable createShortLut(float[] scale,
+                                            float[] off,
                                             int   nBands,
                                             int   nElems) {
 
@@ -562,8 +562,8 @@
             //  REMIND: This must change if we ever support signed data types.
             //
             int nbits;
-            int dstMax[] = new int[numBands];
-            int dstMask[] = new int[numBands];
+            int[] dstMax = new int[numBands];
+            int[] dstMask = new int[numBands];
             SampleModel dstSM = dst.getSampleModel();
             for (int z=0; z<numBands; z++) {
                 nbits = dstSM.getSampleSize(z);
--- a/src/java.desktop/share/classes/java/awt/image/SampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/SampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -234,9 +234,9 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if iArray is too small to hold the output.
      */
-    public int[] getPixel(int x, int y, int iArray[], DataBuffer data) {
+    public int[] getPixel(int x, int y, int[] iArray, DataBuffer data) {
 
-        int pixels[];
+        int[] pixels;
 
         if (iArray != null)
             pixels = iArray;
@@ -698,10 +698,10 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if fArray is too small to hold the output.
      */
-    public float[] getPixel(int x, int y, float fArray[],
+    public float[] getPixel(int x, int y, float[] fArray,
                             DataBuffer data) {
 
-        float pixels[];
+        float[] pixels;
 
         if (fArray != null)
             pixels = fArray;
@@ -729,10 +729,10 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if dArray is too small to hold the output.
      */
-    public double[] getPixel(int x, int y, double dArray[],
+    public double[] getPixel(int x, int y, double[] dArray,
                              DataBuffer data) {
 
-        double pixels[];
+        double[] pixels;
 
         if(dArray != null)
             pixels = dArray;
@@ -764,9 +764,9 @@
      * not in bounds, or if iArray is too small to hold the output.
      */
     public int[] getPixels(int x, int y, int w, int h,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
 
-        int pixels[];
+        int[] pixels;
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -812,9 +812,9 @@
      * not in bounds, or if fArray is too small to hold the output.
      */
     public float[] getPixels(int x, int y, int w, int h,
-                             float fArray[], DataBuffer data) {
+                             float[] fArray, DataBuffer data) {
 
-        float pixels[];
+        float[] pixels;
         int Offset = 0;
         int x1 = x + w;
         int y1 = y + h;
@@ -860,8 +860,8 @@
      * not in bounds, or if dArray is too small to hold the output.
      */
     public double[] getPixels(int x, int y, int w, int h,
-                              double dArray[], DataBuffer data) {
-        double pixels[];
+                              double[] dArray, DataBuffer data) {
+        double[] pixels;
         int    Offset = 0;
         int x1 = x + w;
         int y1 = y + h;
@@ -976,8 +976,8 @@
      * hold the output.
      */
     public int[] getSamples(int x, int y, int w, int h, int b,
-                            int iArray[], DataBuffer data) {
-        int pixels[];
+                            int[] iArray, DataBuffer data) {
+        int[] pixels;
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1024,9 +1024,9 @@
      * hold the output.
      */
     public float[] getSamples(int x, int y, int w, int h,
-                              int b, float fArray[],
+                              int b, float[] fArray,
                               DataBuffer data) {
-        float pixels[];
+        float[] pixels;
         int   Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1073,9 +1073,9 @@
      * hold the output.
      */
     public double[] getSamples(int x, int y, int w, int h,
-                               int b, double dArray[],
+                               int b, double[] dArray,
                                DataBuffer data) {
-        double pixels[];
+        double[] pixels;
         int    Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1114,7 +1114,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if iArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, int iArray[], DataBuffer data) {
+    public void setPixel(int x, int y, int[] iArray, DataBuffer data) {
 
         for (int i=0; i<numBands; i++)
             setSample(x, y, i, iArray[i], data);
@@ -1134,7 +1134,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if fArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, float fArray[], DataBuffer data) {
+    public void setPixel(int x, int y, float[] fArray, DataBuffer data) {
 
         for (int i=0; i<numBands; i++)
             setSample(x, y, i, fArray[i], data);
@@ -1153,7 +1153,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are
      * not in bounds, or if fArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, double dArray[], DataBuffer data) {
+    public void setPixel(int x, int y, double[] dArray, DataBuffer data) {
 
         for (int i=0; i<numBands; i++)
             setSample(x, y, i, dArray[i], data);
@@ -1177,7 +1177,7 @@
      * not in bounds, or if iArray is too small to hold the input.
      */
     public void setPixels(int x, int y, int w, int h,
-                          int iArray[], DataBuffer data) {
+                          int[] iArray, DataBuffer data) {
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1215,7 +1215,7 @@
      * not in bounds, or if fArray is too small to hold the input.
      */
     public void setPixels(int x, int y, int w, int h,
-                          float fArray[], DataBuffer data) {
+                          float[] fArray, DataBuffer data) {
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1253,7 +1253,7 @@
      * not in bounds, or if dArray is too small to hold the input.
      */
     public void setPixels(int x, int y, int w, int h,
-                          double dArray[], DataBuffer data) {
+                          double[] dArray, DataBuffer data) {
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1369,7 +1369,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
 
         int Offset=0;
         int x1 = x + w;
@@ -1407,7 +1407,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           float fArray[], DataBuffer data) {
+                           float[] fArray, DataBuffer data) {
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1445,7 +1445,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           double dArray[], DataBuffer data) {
+                           double[] dArray, DataBuffer data) {
         int Offset=0;
         int x1 = x + w;
         int y1 = y + h;
@@ -1483,7 +1483,7 @@
      * @return a {@code SampleModel} with a subset of bands of this
      *         {@code SampleModel}.
      */
-    public abstract SampleModel createSubsetSampleModel(int bands[]);
+    public abstract SampleModel createSubsetSampleModel(int[] bands);
 
     /**
      * Creates a DataBuffer that corresponds to this SampleModel.
--- a/src/java.desktop/share/classes/java/awt/image/ShortLookupTable.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/ShortLookupTable.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,7 +46,7 @@
      * Constants
      */
 
-    short data[][];
+    short[][] data;
 
     /**
      * Constructs a ShortLookupTable object from an array of short
@@ -60,7 +60,7 @@
      * @param data an array of short arrays representing a lookup
      *        table for each band
      */
-    public ShortLookupTable(int offset, short data[][]) {
+    public ShortLookupTable(int offset, short[][] data) {
         super(offset,data.length);
         numComponents = data.length;
         numEntries    = data[0].length;
@@ -81,7 +81,7 @@
      *        before indexing into the arrays
      * @param data an array of shorts
      */
-    public ShortLookupTable(int offset, short data[]) {
+    public ShortLookupTable(int offset, short[] data) {
         super(offset,data.length);
         numComponents = 1;
         numEntries    = data.length;
--- a/src/java.desktop/share/classes/java/awt/image/SinglePixelPackedSampleModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/SinglePixelPackedSampleModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,13 +66,13 @@
 public class SinglePixelPackedSampleModel extends SampleModel
 {
     /** Bit masks for all bands of the image data. */
-    private int bitMasks[];
+    private int[] bitMasks;
 
     /** Bit Offsets for all bands of the image data. */
-    private int bitOffsets[];
+    private int[] bitOffsets;
 
     /** Bit sizes for all the bands of the image data. */
-    private int bitSizes[];
+    private int[] bitSizes;
 
     /** Maximum bit size. */
     private int maxBitSize;
@@ -106,7 +106,7 @@
      *         {@code DataBuffer.TYPE_INT}
      */
     public SinglePixelPackedSampleModel(int dataType, int w, int h,
-                                   int bitMasks[]) {
+                                   int[] bitMasks) {
         this(dataType, w, h, w, bitMasks);
         if (dataType != DataBuffer.TYPE_BYTE &&
             dataType != DataBuffer.TYPE_USHORT &&
@@ -140,7 +140,7 @@
      *         {@code DataBuffer.TYPE_INT}
      */
     public SinglePixelPackedSampleModel(int dataType, int w, int h,
-                                   int scanlineStride, int bitMasks[]) {
+                                   int scanlineStride, int[] bitMasks) {
         super(dataType, w, h, bitMasks.length);
         if (dataType != DataBuffer.TYPE_BYTE &&
             dataType != DataBuffer.TYPE_USHORT &&
@@ -306,12 +306,12 @@
      *                                  greater than the number of bands in
      *                                  the sample model.
      */
-    public SampleModel createSubsetSampleModel(int bands[]) {
+    public SampleModel createSubsetSampleModel(int[] bands) {
         if (bands.length > numBands)
             throw new RasterFormatException("There are only " +
                                             numBands +
                                             " bands");
-        int newBitMasks[] = new int[bands.length];
+        int[] newBitMasks = new int[bands.length];
         for (int i=0; i<bands.length; i++)
             newBitMasks[i] = bitMasks[bands[i]];
 
@@ -426,12 +426,12 @@
      * @return all samples for the specified pixel.
      * @see #setPixel(int, int, int[], DataBuffer)
      */
-    public int [] getPixel(int x, int y, int iArray[], DataBuffer data) {
+    public int [] getPixel(int x, int y, int[] iArray, DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray == null) {
             pixels = new int [numBands];
         } else {
@@ -460,7 +460,7 @@
      * @see #setPixels(int, int, int, int, int[], DataBuffer)
      */
     public int[] getPixels(int x, int y, int w, int h,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -470,7 +470,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray != null) {
            pixels = iArray;
         } else {
@@ -532,13 +532,13 @@
      * @see #setSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public int[] getSamples(int x, int y, int w, int h, int b,
-                           int iArray[], DataBuffer data) {
+                           int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int samples[];
+        int[] samples;
         if (iArray != null) {
            samples = iArray;
         } else {
@@ -634,7 +634,7 @@
      * @see #getPixel(int, int, int[], DataBuffer)
      */
     public void setPixel(int x, int y,
-                         int iArray[],
+                         int[] iArray,
                          DataBuffer data) {
         if ((x < 0) || (y < 0) || (x >= width) || (y >= height)) {
             throw new ArrayIndexOutOfBoundsException
@@ -663,7 +663,7 @@
      * @see #getPixels(int, int, int, int, int[], DataBuffer)
      */
     public void setPixels(int x, int y, int w, int h,
-                          int iArray[], DataBuffer data) {
+                          int[] iArray, DataBuffer data) {
         int x1 = x + w;
         int y1 = y + h;
 
@@ -732,7 +732,7 @@
      * @see #getSamples(int, int, int, int, int, int[], DataBuffer)
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                          int iArray[], DataBuffer data) {
+                          int[] iArray, DataBuffer data) {
         // Bounds check for 'b' will be performed automatically
         if ((x < 0) || (y < 0) || (x + w > width) || (y + h > height)) {
             throw new ArrayIndexOutOfBoundsException
--- a/src/java.desktop/share/classes/java/awt/image/WritableRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/WritableRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -217,7 +217,7 @@
     public WritableRaster createWritableChild(int parentX, int parentY,
                                               int w, int h,
                                               int childMinX, int childMinY,
-                                              int bandList[]) {
+                                              int[] bandList) {
         if (parentX < this.minX) {
             throw new RasterFormatException("parentX lies outside raster");
         }
@@ -504,7 +504,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if iArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, int iArray[]) {
+    public void setPixel(int x, int y, int[] iArray) {
         sampleModel.setPixel(x-sampleModelTranslateX,y-sampleModelTranslateY,
                              iArray,dataBuffer);
     }
@@ -522,7 +522,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if fArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, float fArray[]) {
+    public void setPixel(int x, int y, float[] fArray) {
         sampleModel.setPixel(x-sampleModelTranslateX,y-sampleModelTranslateY,
                              fArray,dataBuffer);
     }
@@ -540,7 +540,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if dArray is too small to hold the input.
      */
-    public void setPixel(int x, int y, double dArray[]) {
+    public void setPixel(int x, int y, double[] dArray) {
         sampleModel.setPixel(x-sampleModelTranslateX,y-sampleModelTranslateY,
                              dArray,dataBuffer);
     }
@@ -561,7 +561,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if iArray is too small to hold the input.
      */
-    public void setPixels(int x, int y, int w, int h, int iArray[]) {
+    public void setPixels(int x, int y, int w, int h, int[] iArray) {
         sampleModel.setPixels(x-sampleModelTranslateX,y-sampleModelTranslateY,
                               w,h,iArray,dataBuffer);
     }
@@ -582,7 +582,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if fArray is too small to hold the input.
      */
-    public void setPixels(int x, int y, int w, int h, float fArray[]) {
+    public void setPixels(int x, int y, int w, int h, float[] fArray) {
         sampleModel.setPixels(x-sampleModelTranslateX,y-sampleModelTranslateY,
                               w,h,fArray,dataBuffer);
     }
@@ -603,7 +603,7 @@
      * @throws ArrayIndexOutOfBoundsException if the coordinates are not
      * in bounds, or if dArray is too small to hold the input.
      */
-    public void setPixels(int x, int y, int w, int h, double dArray[]) {
+    public void setPixels(int x, int y, int w, int h, double[] dArray) {
         sampleModel.setPixels(x-sampleModelTranslateX,y-sampleModelTranslateY,
                               w,h,dArray,dataBuffer);
     }
@@ -685,7 +685,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           int iArray[]) {
+                           int[] iArray) {
         sampleModel.setSamples(x-sampleModelTranslateX,y-sampleModelTranslateY,
                                w,h,b,iArray,dataBuffer);
     }
@@ -709,7 +709,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           float fArray[]) {
+                           float[] fArray) {
         sampleModel.setSamples(x-sampleModelTranslateX,y-sampleModelTranslateY,
                                w,h,b,fArray,dataBuffer);
     }
@@ -733,7 +733,7 @@
      * hold the input.
      */
     public void setSamples(int x, int y, int w, int h, int b,
-                           double dArray[]) {
+                           double[] dArray) {
         sampleModel.setSamples(x-sampleModelTranslateX,y-sampleModelTranslateY,
                               w,h,b,dArray,dataBuffer);
     }
--- a/src/java.desktop/share/classes/java/awt/image/renderable/RenderableImageProducer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/awt/image/renderable/RenderableImageProducer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -192,10 +192,10 @@
 
         // Get RGB pixels from the raster scanline by scanline and
         // send to consumers.
-        int pix[] = new int[width];
+        int[] pix = new int[width];
         int i,j;
         int numBands = sampleModel.getNumBands();
-        int tmpPixel[] = new int[numBands];
+        int[] tmpPixel = new int[numBands];
         for (j = 0; j < height; j++) {
             for(i = 0; i < width; i++) {
                 sampleModel.getPixel(i, j, tmpPixel, dataBuffer);
--- a/src/java.desktop/share/classes/java/beans/EventSetDescriptor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/beans/EventSetDescriptor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -120,7 +120,7 @@
     public EventSetDescriptor(Class<?> sourceClass,
                 String eventSetName,
                 Class<?> listenerType,
-                String listenerMethodNames[],
+                String[] listenerMethodNames,
                 String addListenerMethodName,
                 String removeListenerMethodName)
                 throws IntrospectionException {
@@ -153,7 +153,7 @@
     public EventSetDescriptor(Class<?> sourceClass,
                 String eventSetName,
                 Class<?> listenerType,
-                String listenerMethodNames[],
+                String[] listenerMethodNames,
                 String addListenerMethodName,
                 String removeListenerMethodName,
                 String getListenerMethodName)
@@ -215,7 +215,7 @@
      */
     public EventSetDescriptor(String eventSetName,
                 Class<?> listenerType,
-                Method listenerMethods[],
+                Method[] listenerMethods,
                 Method addListenerMethod,
                 Method removeListenerMethod)
                 throws IntrospectionException {
@@ -243,7 +243,7 @@
      */
     public EventSetDescriptor(String eventSetName,
                 Class<?> listenerType,
-                Method listenerMethods[],
+                Method[] listenerMethods,
                 Method addListenerMethod,
                 Method removeListenerMethod,
                 Method getListenerMethod)
@@ -285,7 +285,7 @@
      */
     public EventSetDescriptor(String eventSetName,
                 Class<?> listenerType,
-                MethodDescriptor listenerMethodDescriptors[],
+                MethodDescriptor[] listenerMethodDescriptors,
                 Method addListenerMethod,
                 Method removeListenerMethod)
                 throws IntrospectionException {
--- a/src/java.desktop/share/classes/java/beans/Introspector.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/beans/Introspector.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -121,7 +121,7 @@
     private Class<?> beanClass;
     private BeanInfo explicitBeanInfo;
     private BeanInfo superBeanInfo;
-    private BeanInfo additionalBeanInfo[];
+    private BeanInfo[] additionalBeanInfo;
 
     private boolean propertyChangeSource = false;
 
@@ -322,7 +322,7 @@
                         Character.isUpperCase(name.charAt(0))){
             return name;
         }
-        char chars[] = name.toCharArray();
+        char[] chars = name.toCharArray();
         chars[0] = Character.toLowerCase(chars[0]);
         return new String(chars);
     }
@@ -459,9 +459,9 @@
         // event sets and locate PropertyChangeListeners before we
         // look for properties.
         BeanDescriptor bd = getTargetBeanDescriptor();
-        MethodDescriptor mds[] = getTargetMethodInfo();
-        EventSetDescriptor esds[] = getTargetEventInfo();
-        PropertyDescriptor pds[] = getTargetPropertyInfo();
+        MethodDescriptor[] mds = getTargetMethodInfo();
+        EventSetDescriptor[] esds = getTargetEventInfo();
+        PropertyDescriptor[] pds = getTargetPropertyInfo();
 
         int defaultEvent = getTargetDefaultEventIndex();
         int defaultProperty = getTargetDefaultPropertyIndex();
@@ -526,7 +526,7 @@
         processPropertyDescriptors();
 
         // Allocate and populate the result array.
-        PropertyDescriptor result[] =
+        PropertyDescriptor[] result =
                 properties.values().toArray(new PropertyDescriptor[properties.size()]);
 
         // Set the default index.
@@ -924,7 +924,7 @@
 
         if (explicitEvents == null && superBeanInfo != null) {
             // We have no explicit BeanInfo events.  Check with our parent.
-            EventSetDescriptor supers[] = superBeanInfo.getEventSetDescriptors();
+            EventSetDescriptor[] supers = superBeanInfo.getEventSetDescriptors();
             for (int i = 0 ; i < supers.length; i++) {
                 addEvent(supers[i]);
             }
@@ -935,7 +935,7 @@
         }
 
         for (int i = 0; i < additionalBeanInfo.length; i++) {
-            EventSetDescriptor additional[] = additionalBeanInfo[i].getEventSetDescriptors();
+            EventSetDescriptor[] additional = additionalBeanInfo[i].getEventSetDescriptors();
             if (additional != null) {
                 for (int j = 0 ; j < additional.length; j++) {
                     addEvent(additional[j]);
@@ -1020,14 +1020,14 @@
 
         if (explicitMethods == null && superBeanInfo != null) {
             // We have no explicit BeanInfo methods.  Check with our parent.
-            MethodDescriptor supers[] = superBeanInfo.getMethodDescriptors();
+            MethodDescriptor[] supers = superBeanInfo.getMethodDescriptors();
             for (int i = 0 ; i < supers.length; i++) {
                 addMethod(supers[i]);
             }
         }
 
         for (int i = 0; i < additionalBeanInfo.length; i++) {
-            MethodDescriptor additional[] = additionalBeanInfo[i].getMethodDescriptors();
+            MethodDescriptor[] additional = additionalBeanInfo[i].getMethodDescriptors();
             if (additional != null) {
                 for (int j = 0 ; j < additional.length; j++) {
                     addMethod(additional[j]);
@@ -1049,7 +1049,7 @@
         }
 
         // Allocate and populate the result array.
-        MethodDescriptor result[] = new MethodDescriptor[methods.size()];
+        MethodDescriptor[] result = new MethodDescriptor[methods.size()];
         result = methods.values().toArray(result);
 
         return result;
@@ -1155,7 +1155,7 @@
     private boolean isEventHandler(Method m) {
         // We assume that a method is an event handler if it has a single
         // argument, whose type inherit from java.util.Event.
-        Type argTypes[] = m.getGenericParameterTypes();
+        Type[] argTypes = m.getGenericParameterTypes();
         if (argTypes.length != 1) {
             return false;
         }
@@ -1171,7 +1171,7 @@
      * parameter list on a given class.
      */
     private static Method internalFindMethod(Class<?> start, String methodName,
-                                                 int argCount, Class<?> args[]) {
+                                                 int argCount, Class<?>[] args) {
         // For overriden methods we need to find the most derived version.
         // So we start with the given class and walk up the superclass chain.
         for (Class<?> cl = start; cl != null; cl = cl.getSuperclass()) {
--- a/src/java.desktop/share/classes/java/beans/MetaData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/beans/MetaData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -756,7 +756,7 @@
 static class StaticFieldsPersistenceDelegate extends PersistenceDelegate {
     protected void installFields(Encoder out, Class<?> cls) {
         if (Modifier.isPublic(cls.getModifiers()) && isPackageAccessible(cls)) {
-            Field fields[] = cls.getFields();
+            Field[] fields = cls.getFields();
             for(int i = 0; i < fields.length; i++) {
                 Field field = fields[i];
                 // Don't install primitives, their identity will not be preserved
--- a/src/java.desktop/share/classes/java/beans/MethodDescriptor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/java/beans/MethodDescriptor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,7 +46,7 @@
 
     private List<WeakReference<Class<?>>> params;
 
-    private ParameterDescriptor parameterDescriptors[];
+    private ParameterDescriptor[] parameterDescriptors;
 
     /**
      * Constructs a {@code MethodDescriptor} from a
@@ -69,7 +69,7 @@
      *                          method's parameters.
      */
     public MethodDescriptor(Method method,
-                ParameterDescriptor parameterDescriptors[]) {
+                ParameterDescriptor[] parameterDescriptors) {
         setName(method.getName());
         setMethod(method);
         this.parameterDescriptors = (parameterDescriptors != null)
--- a/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStream.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,7 +87,7 @@
      * {@code null}.
      * @exception IOException if an I/O error occurs.
      */
-    void write(byte b[]) throws IOException;
+    void write(byte[] b) throws IOException;
 
     /**
      * Writes a sequence of bytes to the stream at the current
@@ -114,7 +114,7 @@
      * {@code null}.
      * @exception IOException if an I/O error occurs.
      */
-    void write(byte b[], int off, int len) throws IOException;
+    void write(byte[] b, int off, int len) throws IOException;
 
     /**
      * Writes a {@code boolean} value to the stream.  If
--- a/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/imageio/stream/ImageOutputStreamImpl.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,11 +47,11 @@
 
     public abstract void write(int b) throws IOException;
 
-    public void write(byte b[]) throws IOException {
+    public void write(byte[] b) throws IOException {
         write(b, 0, b.length);
     }
 
-    public abstract void write(byte b[], int off, int len) throws IOException;
+    public abstract void write(byte[] b, int off, int len) throws IOException;
 
     public void writeBoolean(boolean v) throws IOException {
         write(v ? 1 : 0);
--- a/src/java.desktop/share/classes/javax/sound/midi/MidiSystem.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/sound/midi/MidiSystem.java	Thu Nov 01 09:01:15 2018 -0400
@@ -853,7 +853,7 @@
                 allTypes.add(types[j]);
             }
         }
-        int resultTypes[] = new int[allTypes.size()];
+        int[] resultTypes = new int[allTypes.size()];
         int index = 0;
         Iterator<Integer> iterator = allTypes.iterator();
         while (iterator.hasNext()) {
@@ -908,7 +908,7 @@
                 allTypes.add(types[j]);
             }
         }
-        int resultTypes[] = new int[allTypes.size()];
+        int[] resultTypes = new int[allTypes.size()];
         int index = 0;
         Iterator<Integer> iterator = allTypes.iterator();
         while (iterator.hasNext()) {
--- a/src/java.desktop/share/classes/javax/sound/sampled/AudioSystem.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/sound/sampled/AudioSystem.java	Thu Nov 01 09:01:15 2018 -0400
@@ -676,7 +676,7 @@
         List<FormatConversionProvider> codecs = getFormatConversionProviders();
         Vector<AudioFormat.Encoding> encodings = new Vector<>();
 
-        AudioFormat.Encoding encs[] = null;
+        AudioFormat.Encoding[] encs = null;
 
         // gather from all the codecs
         for(int i=0; i<codecs.size(); i++ ) {
@@ -1084,7 +1084,7 @@
                 returnTypesSet.add(fileTypes[j]);
             }
         }
-        AudioFileFormat.Type returnTypes[] =
+        AudioFileFormat.Type[] returnTypes =
             returnTypesSet.toArray(new AudioFileFormat.Type[0]);
         return returnTypes;
     }
@@ -1133,7 +1133,7 @@
                 returnTypesSet.add(fileTypes[j]);
             }
         }
-        AudioFileFormat.Type returnTypes[] =
+        AudioFileFormat.Type[] returnTypes =
             returnTypesSet.toArray(new AudioFileFormat.Type[0]);
         return returnTypes;
     }
--- a/src/java.desktop/share/classes/javax/swing/AbstractButton.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/AbstractButton.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2605,7 +2605,7 @@
                 }
                 Rectangle2D.Float shape =
                     new Rectangle2D.Float(r.x, r.y, r.width, r.height);
-                Position.Bias bias[] = new Position.Bias[1];
+                Position.Bias[] bias = new Position.Bias[1];
                 return view.viewToModel(p.x, p.y, shape, bias);
             } else {
                 return -1;
--- a/src/java.desktop/share/classes/javax/swing/ArrayTable.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/ArrayTable.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,7 +58,7 @@
      * AbstractAction use to avoid having the same code in each class.
      */
     static void writeArrayTable(ObjectOutputStream s, ArrayTable table) throws IOException {
-        Object keys[];
+        Object[] keys;
 
         if (table == null || (keys = table.getKeys(null)) == null) {
             s.writeInt(0);
--- a/src/java.desktop/share/classes/javax/swing/DebugGraphics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/DebugGraphics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -770,7 +770,7 @@
     /**
      * Overrides <code>Graphics.drawPolyline</code>.
      */
-    public void drawPolyline(int xPoints[], int yPoints[], int nPoints) {
+    public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) {
         DebugGraphicsInfo info = info();
 
         if (debugLog()) {
@@ -805,7 +805,7 @@
     /**
      * Overrides <code>Graphics.drawPolygon</code>.
      */
-    public void drawPolygon(int xPoints[], int yPoints[], int nPoints) {
+    public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) {
         DebugGraphicsInfo info = info();
 
         if (debugLog()) {
@@ -840,7 +840,7 @@
     /**
      * Overrides <code>Graphics.fillPolygon</code>.
      */
-    public void fillPolygon(int xPoints[], int yPoints[], int nPoints) {
+    public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) {
         DebugGraphicsInfo info = info();
 
         if (debugLog()) {
@@ -945,7 +945,7 @@
     /**
      * Overrides <code>Graphics.drawBytes</code>.
      */
-    public void drawBytes(byte data[], int offset, int length, int x, int y) {
+    public void drawBytes(byte[] data, int offset, int length, int x, int y) {
         DebugGraphicsInfo info = info();
 
         Font font = graphics.getFont();
@@ -981,7 +981,7 @@
     /**
      * Overrides <code>Graphics.drawChars</code>.
      */
-    public void drawChars(char data[], int offset, int length, int x, int y) {
+    public void drawChars(char[] data, int offset, int length, int x, int y) {
         DebugGraphicsInfo info = info();
 
         Font font = graphics.getFont();
--- a/src/java.desktop/share/classes/javax/swing/DefaultComboBoxModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/DefaultComboBoxModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -55,7 +55,7 @@
      *
      * @param items  an array of Object objects
      */
-    public DefaultComboBoxModel(final E items[]) {
+    public DefaultComboBoxModel(final E[] items) {
         objects = new Vector<E>(items.length);
 
         int i,c;
--- a/src/java.desktop/share/classes/javax/swing/DefaultListModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/DefaultListModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -98,7 +98,7 @@
      * @param   anArray   the array into which the components get copied
      * @see Vector#copyInto(Object[])
      */
-    public void copyInto(Object anArray[]) {
+    public void copyInto(Object[] anArray) {
         delegate.copyInto(anArray);
     }
 
--- a/src/java.desktop/share/classes/javax/swing/GroupLayout.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/GroupLayout.java	Thu Nov 01 09:01:15 2018 -0400
@@ -430,7 +430,7 @@
      * indicates that if {@code component} is not visible it should
      * not be treated as part of the layout. A value of {@code false}
      * indicates that {@code component} is positioned and sized
-     * regardless of it's visibility.  A value of {@code null}
+     * regardless of its visibility.  A value of {@code null}
      * indicates the value specified by the single argument method {@code
      * setHonorsVisibility} should be used.
      * <p>
@@ -667,7 +667,7 @@
     }
 
     /**
-     * Creates and returns a {@code ParallelGroup} that aligns it's
+     * Creates and returns a {@code ParallelGroup} that aligns its
      * elements along the baseline.
      *
      * @param resizable whether the group is resizable
@@ -2373,12 +2373,12 @@
 
 
     /**
-     * A {@code Group} that aligns and sizes it's children.
-     * {@code ParallelGroup} aligns it's children in
+     * A {@code Group} that aligns and sizes its children.
+     * {@code ParallelGroup} aligns its children in
      * four possible ways: along the baseline, centered, anchored to the
      * leading edge, or anchored to the trailing edge.
      * <h3>Baseline</h3>
-     * A {@code ParallelGroup} that aligns it's children along the
+     * A {@code ParallelGroup} that aligns its children along the
      * baseline must first decide where the baseline is
      * anchored. The baseline can either be anchored to the top, or
      * anchored to the bottom of the group. That is, the distance between the
@@ -2415,7 +2415,7 @@
      * {@code maxDescent} is the maximum descent (preferred height - baseline)
      * of all elements that have a baseline and are aligned along the baseline.
      * <p>
-     * A {@code ParallelGroup} that aligns it's elements along the baseline
+     * A {@code ParallelGroup} that aligns its elements along the baseline
      * is only useful along the vertical axis. If you create a
      * baseline group and use it along the horizontal axis an
      * {@code IllegalStateException} is thrown when you ask
--- a/src/java.desktop/share/classes/javax/swing/JComboBox.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JComboBox.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1305,7 +1305,7 @@
         if ( selectedObject == null )
             return new Object[0];
         else {
-            Object result[] = new Object[1];
+            Object[] result = new Object[1];
             result[0] = selectedObject;
             return result;
         }
--- a/src/java.desktop/share/classes/javax/swing/JComponent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JComponent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -3461,7 +3461,7 @@
     // This class is used by the KeyboardState class to provide a single
     // instance that can be stored in the AppContext.
     static final class IntVector {
-        int array[] = null;
+        int[] array = null;
         int count = 0;
         int capacity = 0;
 
--- a/src/java.desktop/share/classes/javax/swing/JDesktopPane.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JDesktopPane.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -133,7 +133,7 @@
 
         setFocusTraversalPolicy(new LayoutFocusTraversalPolicy() {
             public Component getDefaultComponent(Container c) {
-                JInternalFrame jifArray[] = getAllFrames();
+                JInternalFrame[] jifArray = getAllFrames();
                 Component comp = null;
                 for (JInternalFrame jif : jifArray) {
                     comp = jif.getFocusTraversalPolicy().getDefaultComponent(jif);
--- a/src/java.desktop/share/classes/javax/swing/JLabel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JLabel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1149,7 +1149,7 @@
                 }
                 Rectangle2D.Float shape =
                     new Rectangle2D.Float(r.x, r.y, r.width, r.height);
-                Position.Bias bias[] = new Position.Bias[1];
+                Position.Bias[] bias = new Position.Bias[1];
                 return view.viewToModel(p.x, p.y, shape, bias);
             } else {
                 return -1;
--- a/src/java.desktop/share/classes/javax/swing/JMenu.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JMenu.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1202,7 +1202,7 @@
         if(popupMenu == null)
             return new MenuElement[0];
         else {
-            MenuElement result[] = new MenuElement[1];
+            MenuElement[] result = new MenuElement[1];
             result[0] = popupMenu;
             return result;
         }
@@ -1285,7 +1285,7 @@
      *          button was pressed for
      */
     public void doClick(int pressTime) {
-        MenuElement me[] = buildMenuElementArray(this);
+        MenuElement[] me = buildMenuElementArray(this);
         MenuSelectionManager.defaultManager().setSelectedPath(me);
     }
 
@@ -1319,7 +1319,7 @@
                 break;
             }
         }
-        MenuElement me[] = new MenuElement[elements.size()];
+        MenuElement[] me = new MenuElement[elements.size()];
         elements.copyInto(me);
         return me;
     }
@@ -1471,7 +1471,7 @@
          * @return 1 if a menu is currently selected, else 0
          */
         public int getAccessibleSelectionCount() {
-            MenuElement me[] =
+            MenuElement[] me =
                 MenuSelectionManager.defaultManager().getSelectedPath();
             if (me != null) {
                 for (int i = 0; i < me.length; i++) {
@@ -1496,7 +1496,7 @@
             if (i < 0 || i >= getItemCount()) {
                 return null;
             }
-            MenuElement me[] =
+            MenuElement[] me =
                 MenuSelectionManager.defaultManager().getSelectedPath();
             if (me != null) {
                 for (int j = 0; j < me.length; j++) {
@@ -1524,7 +1524,7 @@
          */
         public boolean isAccessibleChildSelected(int i) {
             // if i is a sub-menu and is pop-ed up, return true, else false
-            MenuElement me[] =
+            MenuElement[] me =
                 MenuSelectionManager.defaultManager().getSelectedPath();
             if (me != null) {
                 JMenuItem mi = JMenu.this.getItem(i);
@@ -1556,7 +1556,7 @@
             JMenuItem mi = getItem(i);
             if (mi != null) {
                 if (mi instanceof JMenu) {
-                    MenuElement me[] = buildMenuElementArray((JMenu) mi);
+                    MenuElement[] me = buildMenuElementArray((JMenu) mi);
                     MenuSelectionManager.defaultManager().setSelectedPath(me);
                 } else {
                     MenuSelectionManager.defaultManager().setSelectedPath(null);
@@ -1578,9 +1578,9 @@
             JMenuItem mi = getItem(i);
             if (mi != null && mi instanceof JMenu) {
                 if (mi.isSelected()) {
-                    MenuElement old[] =
+                    MenuElement[] old =
                         MenuSelectionManager.defaultManager().getSelectedPath();
-                    MenuElement me[] = new MenuElement[old.length-2];
+                    MenuElement[] me = new MenuElement[old.length-2];
                     for (int j = 0; j < old.length -2; j++) {
                         me[j] = old[j];
                     }
@@ -1596,12 +1596,12 @@
         public void clearAccessibleSelection() {
             // if this menu is selected, reset selection to only go
             // to this menu; else do nothing
-            MenuElement old[] =
+            MenuElement[] old =
                 MenuSelectionManager.defaultManager().getSelectedPath();
             if (old != null) {
                 for (int j = 0; j < old.length; j++) {
                     if (old[j] == JMenu.this) {  // menu is in the selection!
-                        MenuElement me[] = new MenuElement[j+1];
+                        MenuElement[] me = new MenuElement[j+1];
                         System.arraycopy(old, 0, me, 0, j);
                         me[j] = JMenu.this.getPopupMenu();
                         MenuSelectionManager.defaultManager().setSelectedPath(me);
--- a/src/java.desktop/share/classes/javax/swing/JMenuBar.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JMenuBar.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -391,7 +391,7 @@
      *
      * @see #getSubElements
      */
-    public void processMouseEvent(MouseEvent event,MenuElement path[],MenuSelectionManager manager) {
+    public void processMouseEvent(MouseEvent event,MenuElement[] path,MenuSelectionManager manager) {
     }
 
     /**
@@ -399,7 +399,7 @@
      *
      * @see #getSubElements
      */
-    public void processKeyEvent(KeyEvent e,MenuElement path[],MenuSelectionManager manager) {
+    public void processKeyEvent(KeyEvent e,MenuElement[] path,MenuSelectionManager manager) {
     }
 
     /**
@@ -420,7 +420,7 @@
      */
     @BeanProperty(bound = false)
     public MenuElement[] getSubElements() {
-        MenuElement result[];
+        MenuElement[] result;
         Vector<MenuElement> tmp = new Vector<MenuElement>();
         int c = getComponentCount();
         int i;
@@ -610,7 +610,7 @@
             getSelectionModel().setSelectedIndex(i);
             JMenu menu = getMenu(i);
             if (menu != null) {
-                MenuElement me[] = new MenuElement[3];
+                MenuElement[] me = new MenuElement[3];
                 me[0] = JMenuBar.this;
                 me[1] = menu;
                 me[2] = menu.getPopupMenu();
--- a/src/java.desktop/share/classes/javax/swing/JMenuItem.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JMenuItem.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -413,7 +413,7 @@
      * @param manager   the <code>MenuSelectionManager</code>
      */
     @SuppressWarnings("deprecation")
-    public void processMouseEvent(MouseEvent e,MenuElement path[],MenuSelectionManager manager) {
+    public void processMouseEvent(MouseEvent e,MenuElement[] path,MenuSelectionManager manager) {
         processMenuDragMouseEvent(
                  new MenuDragMouseEvent(e.getComponent(), e.getID(),
                                         e.getWhen(),
@@ -437,7 +437,7 @@
      * @param manager   the <code>MenuSelectionManager</code>
      */
     @SuppressWarnings("deprecation")
-    public void processKeyEvent(KeyEvent e,MenuElement path[],MenuSelectionManager manager) {
+    public void processKeyEvent(KeyEvent e,MenuElement[] path,MenuSelectionManager manager) {
         if (DEBUG) {
             System.out.println("in JMenuItem.processKeyEvent/3 for " + getText() +
                                    "  " + KeyStroke.getKeyStrokeForEvent(e));
--- a/src/java.desktop/share/classes/javax/swing/JPasswordField.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JPasswordField.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -471,7 +471,7 @@
             } else {
                 // Treat the text displayed in the JPasswordField
                 // as one word and sentence.
-                char password[] = getPassword();
+                char[] password = getPassword();
                 if (password == null ||
                     index < 0 || index >= password.length) {
                     return null;
@@ -582,7 +582,7 @@
             } else {
                 // Treat the text displayed in the JPasswordField
                 // as one word, sentence, line and attribute run
-                char password[] = getPassword();
+                char[] password = getPassword();
                 if (password == null ||
                     index < 0 || index >= password.length) {
                     return null;
--- a/src/java.desktop/share/classes/javax/swing/JPopupMenu.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JPopupMenu.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -774,7 +774,7 @@
             // This is a popup menu with MenuElement children,
             // set selection path before popping up!
             if (isPopupMenu()) {
-                MenuElement me[] = new MenuElement[1];
+                MenuElement[] me = new MenuElement[1];
                 me[0] = this;
                 MenuSelectionManager.defaultManager().setSelectedPath(me);
             }
@@ -1371,7 +1371,7 @@
      * <code>MenuElement</code> interface, but it not implemented.
      * @see MenuElement#processMouseEvent(MouseEvent, MenuElement[], MenuSelectionManager)
      */
-    public void processMouseEvent(MouseEvent event,MenuElement path[],MenuSelectionManager manager) {}
+    public void processMouseEvent(MouseEvent event,MenuElement[] path,MenuSelectionManager manager) {}
 
     /**
      * Processes a key event forwarded from the
@@ -1386,7 +1386,7 @@
      * @param manager   the <code>MenuSelectionManager</code>
      */
     @SuppressWarnings("deprecation")
-    public void processKeyEvent(KeyEvent e, MenuElement path[],
+    public void processKeyEvent(KeyEvent e, MenuElement[] path,
                                 MenuSelectionManager manager) {
         MenuKeyEvent mke = new MenuKeyEvent(e.getComponent(), e.getID(),
                                              e.getWhen(), e.getModifiers(),
@@ -1504,7 +1504,7 @@
      */
     @BeanProperty(bound = false)
     public MenuElement[] getSubElements() {
-        MenuElement result[];
+        MenuElement[] result;
         Vector<MenuElement> tmp = new Vector<MenuElement>();
         int c = getComponentCount();
         int i;
--- a/src/java.desktop/share/classes/javax/swing/JSpinner.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JSpinner.java	Thu Nov 01 09:01:15 2018 -0400
@@ -769,7 +769,7 @@
                         // the text field font was not set by the user
                         Font font = spinner.getFont();
                         if (!newfont.equals(font)) {
-                            getTextField().setFont(new FontUIResource(font));
+                            getTextField().setFont(font == null ? null : new FontUIResource(font));
                         }
                     }
                 }
--- a/src/java.desktop/share/classes/javax/swing/JTabbedPane.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JTabbedPane.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1000,7 +1000,7 @@
         // container's children array indices, so make sure we
         // remove the correct child!
         if (component != null) {
-            Component components[] = getComponents();
+            Component[] components = getComponents();
             for (int i = components.length; --i >= 0; ) {
                 if (components[i] == component) {
                     super.remove(i);
@@ -1034,7 +1034,7 @@
         } else {
             // Container#remove(comp) invokes Container#remove(int)
             // so make sure JTabbedPane#remove(int) isn't called here
-            Component children[] = getComponents();
+            Component[] children = getComponents();
             for (int i=0; i < children.length; i++) {
                 if (component == children[i]) {
                     super.remove(i);
@@ -1548,7 +1548,7 @@
                 // why not if (page.component.getParent() == this) remove(component)
                 synchronized(getTreeLock()) {
                     int count = getComponentCount();
-                    Component children[] = getComponents();
+                    Component[] children = getComponents();
                     for (int i = 0; i < count; i++) {
                         if (children[i] == page.component) {
                             super.remove(i);
--- a/src/java.desktop/share/classes/javax/swing/JTable.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JTable.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -7217,8 +7217,8 @@
 
             int rowsSel = JTable.this.getSelectedRowCount();
             int colsSel = JTable.this.getSelectedColumnCount();
-            int rowIndicies[] = getSelectedRows();
-            int colIndicies[] = getSelectedColumns();
+            int[] rowIndicies = getSelectedRows();
+            int[] colIndicies = getSelectedColumns();
             int ttlCols = JTable.this.getColumnCount();
             int ttlRows = JTable.this.getRowCount();
             int r;
--- a/src/java.desktop/share/classes/javax/swing/JViewport.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/JViewport.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1809,7 +1809,7 @@
 
             if(lastParent != null && parent instanceof JComponent &&
                !((JComponent)parent).isOptimizedDrawingEnabled()) {
-                Component comps[] = parent.getComponents();
+                Component[] comps = parent.getComponents();
                 int index = 0;
 
                 for(int i = comps.length - 1 ;i >= 0; i--) {
--- a/src/java.desktop/share/classes/javax/swing/MenuElement.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/MenuElement.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,7 +53,7 @@
      * @param path the path of the receiving element in the menu hierarchy
      * @param manager the {@code MenuSelectionManager} for the menu hierarchy
      */
-    public void processMouseEvent(MouseEvent event, MenuElement path[], MenuSelectionManager manager);
+    public void processMouseEvent(MouseEvent event, MenuElement[] path, MenuSelectionManager manager);
 
 
     /**
@@ -63,7 +63,7 @@
      * @param path the path of the receiving element in the menu hierarchy
      * @param manager the {@code MenuSelectionManager} for the menu hierarchy
      */
-    public void processKeyEvent(KeyEvent event, MenuElement path[], MenuSelectionManager manager);
+    public void processKeyEvent(KeyEvent event, MenuElement[] path, MenuSelectionManager manager);
 
     /**
      * Call by the {@code MenuSelectionManager} when the {@code MenuElement} is
--- a/src/java.desktop/share/classes/javax/swing/MenuSelectionManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/MenuSelectionManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -139,7 +139,7 @@
      * @return an array of MenuElement objects representing the selected path
      */
     public MenuElement[] getSelectedPath() {
-        MenuElement res[] = new MenuElement[selection.size()];
+        MenuElement[] res = new MenuElement[selection.size()];
         int i,c;
         for(i=0,c=selection.size();i<c;i++)
             res[i] = selection.elementAt(i);
@@ -223,8 +223,8 @@
         Rectangle r2;
         int cWidth,cHeight;
         MenuElement menuElement;
-        MenuElement subElements[];
-        MenuElement path[];
+        MenuElement[] subElements;
+        MenuElement[] path;
         int selectionSize;
         p = event.getPoint();
 
@@ -292,7 +292,7 @@
                             path[k] = tmp.elementAt(k);
                     }
                     path[i+1] = subElements[j];
-                    MenuElement currentSelection[] = getSelectedPath();
+                    MenuElement[] currentSelection = getSelectedPath();
 
                     // Enter/exit detection -- needs tuning...
                     if (currentSelection[currentSelection.length-1] !=
@@ -347,11 +347,11 @@
         }
     }
 
-    private void printMenuElementArray(MenuElement path[]) {
+    private void printMenuElementArray(MenuElement[] path) {
         printMenuElementArray(path, false);
     }
 
-    private void printMenuElementArray(MenuElement path[], boolean dumpStack) {
+    private void printMenuElementArray(MenuElement[] path, boolean dumpStack) {
         System.out.println("Path is(");
         int i, j;
         for(i=0,j=path.length; i<j ;i++){
@@ -396,7 +396,7 @@
         Rectangle r2;
         int cWidth,cHeight;
         MenuElement menuElement;
-        MenuElement subElements[];
+        MenuElement[] subElements;
         int selectionSize;
 
         SwingUtilities.convertPointToScreen(p,source);
@@ -504,7 +504,7 @@
     }
 
     private boolean isComponentPartOfCurrentMenu(MenuElement root,Component c) {
-        MenuElement children[];
+        MenuElement[] children;
         int i,d;
 
         if (root == null)
--- a/src/java.desktop/share/classes/javax/swing/PopupFactory.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/PopupFactory.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -367,7 +367,7 @@
             if(contents != null && contents.isFocusable()) {
                 if(contents instanceof JPopupMenu) {
                     JPopupMenu jpm = (JPopupMenu) contents;
-                    Component popComps[] = jpm.getComponents();
+                    Component[] popComps = jpm.getComponents();
                     for (Component popComp : popComps) {
                         if (!(popComp instanceof MenuElement) &&
                                 !(popComp instanceof JSeparator)) {
--- a/src/java.desktop/share/classes/javax/swing/ProgressMonitorInputStream.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/ProgressMonitorInputStream.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -124,7 +124,7 @@
      * Overrides <code>FilterInputStream.read</code>
      * to update the progress monitor after the read.
      */
-    public int read(byte b[]) throws IOException {
+    public int read(byte[] b) throws IOException {
         int nr = in.read(b);
         if (nr > 0) monitor.setProgress(nread += nr);
         if (monitor.isCanceled()) {
@@ -141,7 +141,7 @@
      * Overrides <code>FilterInputStream.read</code>
      * to update the progress monitor after the read.
      */
-    public int read(byte b[],
+    public int read(byte[] b,
                     int off,
                     int len) throws IOException {
         int nr = in.read(b, off, len);
--- a/src/java.desktop/share/classes/javax/swing/SizeSequence.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/SizeSequence.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -122,7 +122,7 @@
 public class SizeSequence {
 
     private static int[] emptyArray = new int[0];
-    private int a[];
+    private int[] a;
 
     /**
      * Creates a new <code>SizeSequence</code> object
@@ -360,7 +360,7 @@
      *   (<code>0 &lt;= start &lt; (getSizes().length)) AND (length &gt;= 0)</code>
      */
     public void insertEntries(int start, int length, int value) {
-        int sizes[] = getSizes();
+        int[] sizes = getSizes();
         int end = start + length;
         int n = a.length + length;
         a = new int[n];
@@ -390,7 +390,7 @@
      * @param length  the number of entries to be removed
      */
     public void removeEntries(int start, int length) {
-        int sizes[] = getSizes();
+        int[] sizes = getSizes();
         int end = start + length;
         int n = a.length - length;
         a = new int[n];
--- a/src/java.desktop/share/classes/javax/swing/SwingUtilities.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/SwingUtilities.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -310,7 +310,7 @@
             return null;
         }
         if (parent instanceof Container) {
-            Component components[] = ((Container)parent).getComponents();
+            Component[] components = ((Container)parent).getComponents();
             for (Component comp : components) {
                 if (comp != null && comp.isVisible()) {
                     Point loc = comp.getLocation();
@@ -606,7 +606,7 @@
 
         Rectangle t = new Rectangle();
         Rectangle a=null,b=null,c=null,d=null;
-        Rectangle result[];
+        Rectangle[] result;
         int rectCount = 0;
 
         /* rectA contains rectB */
--- a/src/java.desktop/share/classes/javax/swing/ToolTipManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/ToolTipManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -230,7 +230,7 @@
     // Point(20000, 20000))
     private GraphicsConfiguration getDrawingGC(Point toFind) {
         GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
-        GraphicsDevice devices[] = env.getScreenDevices();
+        GraphicsDevice[] devices = env.getScreenDevices();
         for (GraphicsDevice device : devices) {
             GraphicsConfiguration config = device.getDefaultConfiguration();
             Rectangle rect = config.getBounds();
--- a/src/java.desktop/share/classes/javax/swing/TransferHandler.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/TransferHandler.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1067,7 +1067,7 @@
         } catch (IntrospectionException ex) {
             return null;
         }
-        PropertyDescriptor props[] = bi.getPropertyDescriptors();
+        PropertyDescriptor[] props = bi.getPropertyDescriptors();
         for (int i=0; i < props.length; i++) {
             if (propertyName.equals(props[i].getName())) {
                 Method reader = props[i].getReadMethod();
--- a/src/java.desktop/share/classes/javax/swing/UIDefaults.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/UIDefaults.java	Thu Nov 01 09:01:15 2018 -0400
@@ -32,6 +32,8 @@
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.io.UncheckedIOException;
 import java.lang.reflect.*;
 import java.util.HashMap;
@@ -808,7 +810,11 @@
                 getUIError("static createUI() method not found in " + uiClass);
             }
             catch (Exception e) {
-                getUIError("createUI() failed for " + target + " " + e);
+                StringWriter w = new StringWriter();
+                PrintWriter pw = new PrintWriter(w);
+                e.printStackTrace(pw);
+                pw.flush();
+                getUIError("createUI() failed for " + target + "\n" + w);
             }
         }
 
--- a/src/java.desktop/share/classes/javax/swing/event/MenuDragMouseEvent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/event/MenuDragMouseEvent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@
  */
 @SuppressWarnings("serial")
 public class MenuDragMouseEvent extends MouseEvent {
-    private MenuElement path[];
+    private MenuElement[] path;
     private MenuSelectionManager manager;
 
     /**
@@ -78,7 +78,7 @@
      */
     public MenuDragMouseEvent(Component source, int id, long when,
                               int modifiers, int x, int y, int clickCount,
-                              boolean popupTrigger, MenuElement p[],
+                              boolean popupTrigger, MenuElement[] p,
                               MenuSelectionManager m) {
         super(source, id, when, modifiers, x, y, clickCount, popupTrigger);
         path = p;
@@ -117,7 +117,7 @@
     public MenuDragMouseEvent(Component source, int id, long when,
                               int modifiers, int x, int y, int xAbs,
                               int yAbs, int clickCount,
-                              boolean popupTrigger, MenuElement p[],
+                              boolean popupTrigger, MenuElement[] p,
                               MenuSelectionManager m) {
         super(source, id, when, modifiers, x, y, xAbs, yAbs, clickCount,
               popupTrigger, MouseEvent.NOBUTTON);
--- a/src/java.desktop/share/classes/javax/swing/event/MenuKeyEvent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/event/MenuKeyEvent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@
  */
 @SuppressWarnings("serial")
 public class MenuKeyEvent extends KeyEvent {
-    private MenuElement path[];
+    private MenuElement[] path;
     private MenuSelectionManager manager;
 
     /**
@@ -71,7 +71,7 @@
      */
     public MenuKeyEvent(Component source, int id, long when, int modifiers,
                         int keyCode, char keyChar,
-                        MenuElement p[], MenuSelectionManager m) {
+                        MenuElement[] p, MenuSelectionManager m) {
         super(source, id, when, modifiers, keyCode, keyChar);
         path = p;
         manager = m;
--- a/src/java.desktop/share/classes/javax/swing/filechooser/FileSystemView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/filechooser/FileSystemView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -583,12 +583,11 @@
     }
 
     /**
-     * Returns an array of files representing the values to show by default in
-     * the file chooser selector.
+     * Returns an array of files representing the values which will be shown
+     * in the file chooser selector.
      *
-     * @return an array of {@code File} objects.
-     * @throws SecurityException if the caller does not have necessary
-     *                           permissions
+     * @return an array of {@code File} objects. The array returned may be
+     * possibly empty if there are no appropriate permissions.
      * @since 9
      */
     public File[] getChooserComboBoxFiles() {
@@ -596,6 +595,18 @@
     }
 
     /**
+     * Returns an array of files representing the values to show by default in
+     * the file chooser shortcuts panel.
+     *
+     * @return an array of {@code File} objects. The array returned may be
+     * possibly empty if there are no appropriate permissions.
+     * @since 12
+     */
+    final public File[] getChooserShortcutPanelFiles() {
+        return (File[]) ShellFolder.get("fileChooserShortcutPanelFolders");
+    }
+
+    /**
      * Returns whether the specified file denotes a shell interpreted link which
      * can be obtained by the {@link #getLinkLocation(File)}.
      *
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
      * @param path an array of {@code MenuElement}
      * @param manager an instance of {@code MenuSelectionManager}
      */
-    public void processMouseEvent(JMenuItem item,MouseEvent e,MenuElement path[],MenuSelectionManager manager) {
+    public void processMouseEvent(JMenuItem item,MouseEvent e,MenuElement[] path,MenuSelectionManager manager) {
         Point p = e.getPoint();
         if(p.x >= 0 && p.x < item.getWidth() &&
            p.y >= 0 && p.y < item.getHeight()) {
@@ -71,7 +71,7 @@
             } else
                 manager.setSelectedPath(path);
         } else if(item.getModel().isArmed()) {
-            MenuElement newPath[] = new MenuElement[path.length-1];
+            MenuElement[] newPath = new MenuElement[path.length-1];
             int i,c;
             for(i=0,c=path.length-1;i<c;i++)
                 newPath[i] = path[i];
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -269,8 +269,8 @@
             // TAKE_FOCUS
             JMenuBar menuBar = (JMenuBar)e.getSource();
             MenuSelectionManager defaultManager = MenuSelectionManager.defaultManager();
-            MenuElement me[];
-            MenuElement subElements[];
+            MenuElement[] me;
+            MenuElement[] subElements;
             JMenu menu = menuBar.getMenu(0);
             if (menu!=null) {
                     me = new MenuElement[3];
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -868,8 +868,8 @@
      */
     public MenuElement[] getPath() {
         MenuSelectionManager m = MenuSelectionManager.defaultManager();
-        MenuElement oldPath[] = m.getSelectedPath();
-        MenuElement newPath[];
+        MenuElement[] oldPath = m.getSelectedPath();
+        MenuElement[] newPath;
         int i = oldPath.length;
         if (i == 0)
             return new MenuElement[0];
@@ -905,7 +905,7 @@
         return newPath;
     }
 
-    void printMenuElementArray(MenuElement path[], boolean dumpStack) {
+    void printMenuElementArray(MenuElement[] path, boolean dumpStack) {
         System.out.println("Path is(");
         int i, j;
         for(i=0,j=path.length; i<j ;i++){
@@ -1089,9 +1089,9 @@
                 MenuSelectionManager.defaultManager().processMouseEvent(e);
             } else {
 
-                MenuElement path[] = manager.getSelectedPath();
+                MenuElement[] path = manager.getSelectedPath();
                 if (path.length > 1 && path[path.length-1] == menuItem) {
-                    MenuElement newPath[] = new MenuElement[path.length-1];
+                    MenuElement[] newPath = new MenuElement[path.length-1];
                     int i,c;
                     for(i=0,c=path.length-1;i<c;i++)
                         newPath[i] = path[i];
@@ -1111,12 +1111,12 @@
         //
         public void menuDragMouseEntered(MenuDragMouseEvent e) {
             MenuSelectionManager manager = e.getMenuSelectionManager();
-            MenuElement path[] = e.getPath();
+            MenuElement[] path = e.getPath();
             manager.setSelectedPath(path);
         }
         public void menuDragMouseDragged(MenuDragMouseEvent e) {
             MenuSelectionManager manager = e.getMenuSelectionManager();
-            MenuElement path[] = e.getPath();
+            MenuElement[] path = e.getPath();
             manager.setSelectedPath(path);
         }
         public void menuDragMouseExited(MenuDragMouseEvent e) {}
@@ -1125,7 +1125,7 @@
                 return;
             }
             MenuSelectionManager manager = e.getMenuSelectionManager();
-            MenuElement path[] = e.getPath();
+            MenuElement[] path = e.getPath();
             Point p = e.getPoint();
             if (p.x >= 0 && p.x < menuItem.getWidth() &&
                     p.y >= 0 && p.y < menuItem.getHeight()) {
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -253,7 +253,7 @@
     }
 
     private static void appendPath(MenuElement[] path, MenuElement elem) {
-        MenuElement newPath[] = new MenuElement[path.length+1];
+        MenuElement[] newPath = new MenuElement[path.length+1];
         System.arraycopy(path, 0, newPath, 0, path.length);
         newPath[path.length] = elem;
         MenuSelectionManager.defaultManager().setSelectedPath(newPath);
@@ -293,8 +293,8 @@
             if(force) {
                 Container cnt = menu.getParent();
                 if(cnt != null && cnt instanceof JMenuBar) {
-                    MenuElement me[];
-                    MenuElement subElements[];
+                    MenuElement[] me;
+                    MenuElement[] subElements;
 
                     subElements = menu.getPopupMenu().getSubElements();
                     if(subElements.length > 0) {
@@ -312,7 +312,7 @@
                     defaultManager.setSelectedPath(me);
                 }
             } else {
-                MenuElement path[] = defaultManager.getSelectedPath();
+                MenuElement[] path = defaultManager.getSelectedPath();
                 if(path.length > 0 && path[path.length-1] == menu) {
                     appendPath(path, menu.getPopupMenu());
                 }
@@ -503,7 +503,7 @@
                 } else {
                     Container cnt = menu.getParent();
                     if(cnt != null && cnt instanceof JMenuBar) {
-                        MenuElement me[] = new MenuElement[2];
+                        MenuElement[] me = new MenuElement[2];
                         me[0]=(MenuElement)cnt;
                         me[1]=menu;
                         manager.setSelectedPath(me);
@@ -511,7 +511,7 @@
                 }
             }
 
-            MenuElement selectedPath[] = manager.getSelectedPath();
+            MenuElement[] selectedPath = manager.getSelectedPath();
             if (selectedPath.length > 0 &&
                 selectedPath[selectedPath.length-1] != menu.getPopupMenu()) {
 
@@ -559,7 +559,7 @@
 
             MenuSelectionManager manager =
                 MenuSelectionManager.defaultManager();
-            MenuElement selectedPath[] = manager.getSelectedPath();
+            MenuElement[] selectedPath = manager.getSelectedPath();
             if (!menu.isTopLevelMenu()) {
                 if(!(selectedPath.length > 0 &&
                      selectedPath[selectedPath.length-1] ==
@@ -574,7 +574,7 @@
             } else {
                 if(selectedPath.length > 0 &&
                    selectedPath[0] == menu.getParent()) {
-                    MenuElement newPath[] = new MenuElement[3];
+                    MenuElement[] newPath = new MenuElement[3];
                     // A top level menu's parent is by definition
                     // a JMenuBar
                     newPath[0] = (MenuElement)menu.getParent();
@@ -615,13 +615,13 @@
                 return;
 
             MenuSelectionManager manager = e.getMenuSelectionManager();
-            MenuElement path[] = e.getPath();
+            MenuElement[] path = e.getPath();
 
             Point p = e.getPoint();
             if(p.x >= 0 && p.x < menuItem.getWidth() &&
                p.y >= 0 && p.y < menuItem.getHeight()) {
                 JMenu menu = (JMenu)menuItem;
-                MenuElement selectedPath[] = manager.getSelectedPath();
+                MenuElement[] selectedPath = manager.getSelectedPath();
                 if(!(selectedPath.length > 0 &&
                      selectedPath[selectedPath.length-1] ==
                      menu.getPopupMenu())) {
@@ -665,19 +665,19 @@
             }
 
             char key = Character.toLowerCase((char)menuItem.getMnemonic());
-            MenuElement path[] = e.getPath();
+            MenuElement[] path = e.getPath();
             if (key == Character.toLowerCase(e.getKeyChar())) {
                 JPopupMenu popupMenu = ((JMenu)menuItem).getPopupMenu();
                 ArrayList<MenuElement> newList = new ArrayList<>(Arrays.asList(path));
                 newList.add(popupMenu);
-                MenuElement subs[] = popupMenu.getSubElements();
+                MenuElement[] subs = popupMenu.getSubElements();
                 MenuElement sub =
                         BasicPopupMenuUI.findEnabledChild(subs, -1, true);
                 if(sub != null) {
                     newList.add(sub);
                 }
                 MenuSelectionManager manager = e.getMenuSelectionManager();
-                MenuElement newPath[] = new MenuElement[0];;
+                MenuElement[] newPath = new MenuElement[0];;
                 newPath = newList.toArray(newPath);
                 manager.setSelectedPath(newPath);
                 e.consume();
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -327,7 +327,7 @@
                 if (subitem != null) {
                     lst.add(subitem);
                 }
-                MenuElement newPath[] = new MenuElement[0];
+                MenuElement[] newPath = new MenuElement[0];
                 newPath = lst.toArray(newPath);
                 MenuSelectionManager.defaultManager().setSelectedPath(newPath);
                 e.consume();
@@ -344,12 +344,12 @@
             }
 
             MenuSelectionManager manager = e.getMenuSelectionManager();
-            MenuElement path[] = e.getPath();
-            MenuElement items[] = popupMenu.getSubElements();
+            MenuElement[] path = e.getPath();
+            MenuElement[] items = popupMenu.getSubElements();
             int currentIndex = -1;
             int matches = 0;
             int firstMatch = -1;
-            int indexes[] = null;
+            int[] indexes = null;
 
             for (int j = 0; j < items.length; j++) {
                 if (! (items[j] instanceof JMenuItem)) {
@@ -397,7 +397,7 @@
 
                 newItem = items[indexes[(currentIndex + 1) % matches]];
 
-                MenuElement newPath[] = new MenuElement[path.length+1];
+                MenuElement[] newPath = new MenuElement[path.length+1];
                 System.arraycopy(path, 0, newPath, 0, path.length);
                 newPath[path.length] = newItem;
                 manager.setSelectedPath(newPath);
@@ -470,12 +470,12 @@
             }
 
             MenuSelectionManager msm = MenuSelectionManager.defaultManager();
-            MenuElement path[] = msm.getSelectedPath();
+            MenuElement[] path = msm.getSelectedPath();
             MenuElement lastElement;
             if(path.length > 0) {
                 lastElement = path[path.length-1];
                 if(lastElement instanceof JMenu) {
-                    MenuElement newPath[] = new MenuElement[path.length+1];
+                    MenuElement[] newPath = new MenuElement[path.length+1];
                     System.arraycopy(path,0,newPath,0,path.length);
                     newPath[path.length] = ((JMenu)lastElement).getPopupMenu();
                     msm.setSelectedPath(newPath);
@@ -494,7 +494,7 @@
         }
         private void selectParentChild(boolean direction) {
             MenuSelectionManager msm = MenuSelectionManager.defaultManager();
-            MenuElement path[] = msm.getSelectedPath();
+            MenuElement[] path = msm.getSelectedPath();
             int len = path.length;
 
             if (direction == PARENT) {
@@ -510,7 +510,7 @@
                     !((JMenu)path[popupIndex-1]).isTopLevelMenu()) {
 
                     // we have a submenu, just close it
-                    MenuElement newPath[] = new MenuElement[popupIndex];
+                    MenuElement[] newPath = new MenuElement[popupIndex];
                     System.arraycopy(path, 0, newPath, 0, popupIndex);
                     msm.setSelectedPath(newPath);
                     return;
@@ -548,7 +548,7 @@
                     path[0].getSubElements(), currentMenu, direction);
 
                 if (nextMenu != null && nextMenu != currentMenu) {
-                    MenuElement newSelection[];
+                    MenuElement[] newSelection;
                     if (len == 2) {
                         // menu is selected but its popup not shown
                         newSelection = new MenuElement[2];
@@ -568,7 +568,7 @@
 
         private void selectItem(boolean direction) {
             MenuSelectionManager msm = MenuSelectionManager.defaultManager();
-            MenuElement path[] = msm.getSelectedPath();
+            MenuElement[] path = msm.getSelectedPath();
             if (path.length == 0) {
                 return;
             }
@@ -638,7 +638,7 @@
 
             } else {
                 // just select the next item, no path expansion needed
-                MenuElement subs[] = path[len-2].getSubElements();
+                MenuElement[] subs = path[len-2].getSubElements();
                 MenuElement nextChild =
                     findEnabledChild(subs, path[len-1], direction);
                 if (nextChild == null) {
@@ -668,7 +668,7 @@
         }
 
         private void shortenSelectedPath() {
-            MenuElement path[] = MenuSelectionManager.defaultManager().getSelectedPath();
+            MenuElement[] path = MenuSelectionManager.defaultManager().getSelectedPath();
             if (path.length <= 2) {
                 MenuSelectionManager.defaultManager().clearSelectedPath();
                 return;
@@ -695,13 +695,13 @@
                 // clear selection for the topLevelMenu
                 value = path.length;
             }
-            MenuElement newPath[] = new MenuElement[path.length - value];
+            MenuElement[] newPath = new MenuElement[path.length - value];
             System.arraycopy(path, 0, newPath, 0, path.length - value);
             MenuSelectionManager.defaultManager().setSelectedPath(newPath);
         }
     }
 
-    private static MenuElement nextEnabledChild(MenuElement e[],
+    private static MenuElement nextEnabledChild(MenuElement[] e,
                                                 int fromIndex, int toIndex) {
         for (int i=fromIndex; i<=toIndex; i++) {
             if (e[i] != null) {
@@ -716,7 +716,7 @@
         return null;
     }
 
-    private static MenuElement previousEnabledChild(MenuElement e[],
+    private static MenuElement previousEnabledChild(MenuElement[] e,
                                                 int fromIndex, int toIndex) {
         for (int i=fromIndex; i>=toIndex; i--) {
             if (e[i] != null) {
@@ -731,7 +731,7 @@
         return null;
     }
 
-    static MenuElement findEnabledChild(MenuElement e[], int fromIndex,
+    static MenuElement findEnabledChild(MenuElement[] e, int fromIndex,
                                                 boolean forward) {
         MenuElement result;
         if (forward) {
@@ -745,7 +745,7 @@
         return result;
     }
 
-    static MenuElement findEnabledChild(MenuElement e[],
+    static MenuElement findEnabledChild(MenuElement[] e,
                                    MenuElement elem, boolean forward) {
         for (int i=0; i<e.length; i++) {
             if (e[i] == elem) {
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
      * @param path an array of {@code MenuElement}
      * @param manager an instance of {@code MenuSelectionManager}
      */
-    public void processMouseEvent(JMenuItem item,MouseEvent e,MenuElement path[],MenuSelectionManager manager) {
+    public void processMouseEvent(JMenuItem item,MouseEvent e,MenuElement[] path,MenuSelectionManager manager) {
         Point p = e.getPoint();
         if(p.x >= 0 && p.x < item.getWidth() &&
            p.y >= 0 && p.y < item.getHeight()) {
@@ -72,7 +72,7 @@
             } else
                 manager.setSelectedPath(path);
         } else if(item.getModel().isArmed()) {
-            MenuElement newPath[] = new MenuElement[path.length-1];
+            MenuElement[] newPath = new MenuElement[path.length-1];
             int i,c;
             for(i=0,c=path.length-1;i<c;i++)
                 newPath[i] = path[i];
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSpinnerUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -216,7 +216,8 @@
             JTextField tf = ((JSpinner.DefaultEditor) editor).getTextField();
             if (tf != null) {
                 if (tf.getFont() instanceof UIResource) {
-                    tf.setFont(new FontUIResource(spinner.getFont()));
+                    Font font = spinner.getFont();
+                    tf.setFont(font == null ? null : new FontUIResource(font));
                 }
             }
         }
@@ -999,7 +1000,8 @@
                                 ((JSpinner.DefaultEditor)newEditor).getTextField();
                             if (tf != null) {
                                 if (tf.getFont() instanceof UIResource) {
-                                    tf.setFont(new FontUIResource(spinner.getFont()));
+                                    Font font = spinner.getFont();
+                                    tf.setFont(font == null ? null : new FontUIResource(font));
                                 }
                                 tf.addFocusListener(nextButtonHandler);
                                 tf.addFocusListener(previousButtonHandler);
@@ -1017,7 +1019,8 @@
                                 ((JSpinner.DefaultEditor)editor).getTextField();
                             if (tf != null) {
                                 if (tf.getFont() instanceof UIResource) {
-                                    tf.setFont(new FontUIResource(spinner.getFont()));
+                                    Font font = spinner.getFont();
+                                    tf.setFont(font == null ? null : new FontUIResource(font));
                                 }
                             }
                         }
--- a/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -132,13 +132,13 @@
 
 // Transient variables (recalculated each time TabbedPane is layed out)
     /** Tab runs */
-    protected int tabRuns[] = new int[10];
+    protected int[] tabRuns = new int[10];
     /** Run count */
     protected int runCount = 0;
     /** Selected run */
     protected int selectedRun = -1;
     /** Tab rects */
-    protected Rectangle rects[] = new Rectangle[0];
+    protected Rectangle[] rects = new Rectangle[0];
     /** Maximum tab height */
     protected int maxTabHeight;
     /** Maximum tab width */
@@ -986,8 +986,8 @@
      * subtracting xCropLen[i] from (tab.y + tab.height) and adding yCropLen[i]
      * to (tab.x).
      */
-    private static int xCropLen[] = {1,1,0,0,1,1,2,2};
-    private static int yCropLen[] = {0,3,3,6,6,9,9,12};
+    private static int[] xCropLen = {1,1,0,0,1,1,2,2};
+    private static int[] yCropLen = {0,3,3,6,6,9,9,12};
     private static final int CROP_SEGMENT = 12;
 
     private static Polygon createCroppedTabShape(int tabPlacement, Rectangle tabRect, int cropline) {
@@ -1017,8 +1017,8 @@
             rcnt++;
         }
         int npts = 2 + (rcnt*8);
-        int xp[] = new int[npts];
-        int yp[] = new int[npts];
+        int[] xp = new int[npts];
+        int[] yp = new int[npts];
         int pcnt = 0;
 
         xp[pcnt] = ostart;
--- a/src/java.desktop/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -360,7 +360,7 @@
             USER_TEXT_FONT, CONTROL_TEXT_FONT,
             CONTROL_TEXT_FONT, SUB_TEXT_FONT
         };
-        FontUIResource fonts[];
+        FontUIResource[] fonts;
 
         // menu and window are mapped to controlFont
         public FontDelegate() {
--- a/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBumps.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBumps.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -224,7 +224,7 @@
                        Transparency.BITMASK);
         }
         else {
-            int cmap[] = { backColor.getRGB(), topColor.getRGB(),
+            int[] cmap = { backColor.getRGB(), topColor.getRGB(),
                            shadowColor.getRGB() };
             IndexColorModel icm = new IndexColorModel(8, 3, cmap, 0, false,
                       (backColor == MetalBumps.ALPHA) ? 0 : -1,
--- a/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -2226,7 +2226,7 @@
          */
         private static void updateWindowUI(Window window) {
             SwingUtilities.updateComponentTreeUI(window);
-            Window ownedWins[] = window.getOwnedWindows();
+            Window[] ownedWins = window.getOwnedWindows();
             for (Window w : ownedWins) {
                 updateWindowUI(w);
             }
@@ -2236,7 +2236,7 @@
          * Updates the UIs of all the known Frames.
          */
         private static void updateAllUIs() {
-            Frame appFrames[] = Frame.getFrames();
+            Frame[] appFrames = Frame.getFrames();
             for (Frame frame : appFrames) {
                 updateWindowUI(frame);
             }
--- a/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/nimbus/NimbusStyle.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -303,7 +303,7 @@
         //there are no custom states or custom state ordering
         String statesString = (String)defaults.get(prefix + ".States");
         if (statesString != null) {
-            String s[] = statesString.split(",");
+            String[] s = statesString.split(",");
             for (int i=0; i<s.length; i++) {
                 s[i] = s[i].trim();
                 if (!State.isStandardStateName(s[i])) {
--- a/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -863,7 +863,7 @@
          */
         private static void updateWindowUI(Window window) {
             updateStyles(window);
-            Window ownedWins[] = window.getOwnedWindows();
+            Window[] ownedWins = window.getOwnedWindows();
             for (Window w : ownedWins) {
                 updateWindowUI(w);
             }
@@ -873,7 +873,7 @@
          * Updates the UIs of all the known Frames.
          */
         private static void updateAllUIs() {
-            Frame appFrames[] = Frame.getFrames();
+            Frame[] appFrames = Frame.getFrames();
             for (Frame frame : appFrames) {
                 updateWindowUI(frame);
             }
--- a/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthParser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthParser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1245,14 +1245,14 @@
         }
     }
 
-    public void characters(char ch[], int start, int length)
+    public void characters(char[] ch, int start, int length)
                            throws SAXException {
         if (isForwarding()) {
             getHandler().characters(ch, start, length);
         }
     }
 
-    public void ignorableWhitespace (char ch[], int start, int length)
+    public void ignorableWhitespace (char[] ch, int start, int length)
         throws SAXException {
         if (isForwarding()) {
             getHandler().ignorableWhitespace(ch, start, length);
--- a/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthStyleFactory.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthStyleFactory.java	Thu Nov 01 09:01:15 2018 -0400
@@ -51,7 +51,7 @@
  * SynthLookAndFeel.setStyleFactory(new MyStyleFactory());
  * </pre>
  *
- * @see SynthStyleFactory
+ * @see SynthLookAndFeel
  * @see SynthStyle
  *
  * @since 1.5
--- a/src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html	Thu Nov 01 09:01:15 2018 -0400
@@ -52,7 +52,7 @@
       allows for specifying all the pieces
       necessary to create your own look and feel. A synth file is
       loaded by way of the <A
-        HREF="../../../../../javax/swing/plaf/synth/SynthLookAndFeel.html#load(java.io.InputStream,%20java.lang.Class)">
+        HREF="../../../../../javax/swing/plaf/synth/SynthLookAndFeel.html#load(java.io.InputStream,java.lang.Class)">
       SynthLookAndFeel.load(InputStream, Class)</a> or
       <a href="../../../../../javax/swing/plaf/synth/SynthLookAndFeel.html#load(java.net.URL)">
         SynthLookAndFeel.load(URL)</a> methods.
--- a/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1057,7 +1057,7 @@
         // Calculate the bidi levels for the affected range of paragraphs.  The
         // levels array will contain a bidi level for each character in the
         // affected text.
-        byte levels[] = calculateBidiLevels( firstPStart, lastPEnd );
+        byte[] levels = calculateBidiLevels( firstPStart, lastPEnd );
 
 
         Vector<Element> newElements = new Vector<Element>();
@@ -1185,7 +1185,7 @@
      */
     private byte[] calculateBidiLevels( int firstPStart, int lastPEnd ) {
 
-        byte levels[] = new byte[ lastPEnd - firstPStart ];
+        byte[] levels = new byte[ lastPEnd - firstPStart ];
         int  levelsEnd = 0;
         Boolean defaultDirection = null;
         Object d = getProperty(TextAttribute.RUN_DIRECTION);
--- a/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1002,7 +1002,7 @@
         @Override
         protected SizeRequirements calculateMajorAxisRequirements(int axis,
                 SizeRequirements r) {
-            int oldJustficationData[] = justificationData;
+            int[] oldJustficationData = justificationData;
             justificationData = null;
             SizeRequirements ret = super.calculateMajorAxisRequirements(axis, r);
             if (isJustifyEnabled()) {
@@ -1014,7 +1014,7 @@
         @Override
         protected void layoutMajorAxis(int targetSpan, int axis,
                                        int[] offsets, int[] spans) {
-            int oldJustficationData[] = justificationData;
+            int[] oldJustficationData = justificationData;
             justificationData = null;
             super.layoutMajorAxis(targetSpan, axis, offsets, spans);
             if (! isJustifyEnabled()) {
@@ -1045,7 +1045,7 @@
 
             int rowStartOffset = getStartOffset();
             int rowEndOffset = getEndOffset();
-            int spaceMap[] = new int[rowEndOffset - rowStartOffset];
+            int[] spaceMap = new int[rowEndOffset - rowStartOffset];
             Arrays.fill(spaceMap, 0);
             for (int i = getViewCount() - 1; i >= 0 ; i--) {
                 View view = getView(i);
@@ -1179,7 +1179,7 @@
         //this should be the last index in justificationData
         static final int END_JUSTIFIABLE = 3;
 
-        int justificationData[] = null;
+        int[] justificationData = null;
     }
 
 }
--- a/src/java.desktop/share/classes/javax/swing/text/html/AccessibleHTML.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/AccessibleHTML.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1975,7 +1975,7 @@
                             vec.addElement(Integer.valueOf(i));
                         }
                     }
-                    int retval[] = new int[vec.size()];
+                    int[] retval = new int[vec.size()];
                     for (int i = 0; i < retval.length; i++) {
                         retval[i] = vec.elementAt(i).intValue();
                     }
@@ -2000,7 +2000,7 @@
                             vec.addElement(Integer.valueOf(i));
                         }
                     }
-                    int retval[] = new int[vec.size()];
+                    int[] retval = new int[vec.size()];
                     for (int i = 0; i < retval.length; i++) {
                         retval[i] = vec.elementAt(i).intValue();
                     }
--- a/src/java.desktop/share/classes/javax/swing/text/html/CSS.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/CSS.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -3373,9 +3373,9 @@
         int n = iter.getCount();
         int adjustmentWeightsCount = LayoutIterator.WorstAdjustmentWeight + 1;
         //max gain we can get adjusting elements with adjustmentWeight <= i
-        long gain[] = new long[adjustmentWeightsCount];
+        long[] gain = new long[adjustmentWeightsCount];
         //max loss we can get adjusting elements with adjustmentWeight <= i
-        long loss[] = new long[adjustmentWeightsCount];
+        long[] loss = new long[adjustmentWeightsCount];
 
         for (int i = 0; i < adjustmentWeightsCount; i++) {
             gain[i] = loss[i] = 0;
@@ -3414,7 +3414,7 @@
         // determine the adjustment to be made
         int allocated = targetSpan - totalSpacing;
         long desiredAdjustment = allocated - preferred;
-        long adjustmentsArray[] = (desiredAdjustment > 0) ? gain : loss;
+        long[] adjustmentsArray = (desiredAdjustment > 0) ? gain : loss;
         desiredAdjustment = Math.abs(desiredAdjustment);
         int adjustmentLevel = 0;
         for (;adjustmentLevel <= LayoutIterator.WorstAdjustmentWeight;
--- a/src/java.desktop/share/classes/javax/swing/text/html/CSSBorder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/CSSBorder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -70,7 +70,7 @@
     };
 
     /** Parsers for the border properties.  */
-    static final CssValue PARSERS[] = {
+    static final CssValue[] PARSERS = {
         new ColorValue(), new BorderStyle(), new BorderWidthValue(null, 0),
     };
 
--- a/src/java.desktop/share/classes/javax/swing/text/html/FrameSetView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/FrameSetView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -184,7 +184,7 @@
 
     protected SizeRequirements[] getChildRequests(int targetSpan, int axis) {
 
-        int span[] = new int[children.length];
+        int[] span = new int[children.length];
 
         spread(targetSpan, span);
         int n = getViewCount();
@@ -215,7 +215,7 @@
      * computes this based on the information that extracted
      * from the value of the ROW/COL attribute.
      */
-    private void spread(int targetSpan, int span[]) {
+    private void spread(int targetSpan, int[] span) {
 
         if (targetSpan == 0) {
             return;
--- a/src/java.desktop/share/classes/javax/swing/text/html/HTML.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/HTML.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -553,7 +553,7 @@
          */
         public static final Tag COMMENT = new Tag("comment");
 
-        static final Tag allTags[]  = {
+        static final Tag[] allTags  = {
             A, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BIG,
             BLOCKQUOTE, BODY, BR, CAPTION, CENTER, CITE, CODE,
             DD, DFN, DIR, DIV, DL, DT, EM, FONT, FORM, FRAME,
@@ -1060,7 +1060,7 @@
         public static final Attribute COMMENT = new Attribute("comment");
         static final Attribute MEDIA = new Attribute("media");
 
-        static final Attribute allAttributes[] = {
+        static final Attribute[] allAttributes = {
             FACE,
             COMMENT,
             SIZE,
--- a/src/java.desktop/share/classes/javax/swing/text/html/ImageView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/ImageView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -776,32 +776,10 @@
 
             if (newWidth > 0) {
                 newState |= WIDTH_FLAG;
-                if (newHeight <= 0) {
-                    newHeight = newWidth;
-                    newState |= HEIGHT_FLAG;
-                }
             }
 
             if (newHeight > 0) {
                 newState |= HEIGHT_FLAG;
-                if (newWidth <= 0) {
-                    newWidth = newHeight;
-                    newState |= WIDTH_FLAG;
-                }
-            }
-
-            if (newWidth <= 0) {
-                newWidth = newImage.getWidth(imageObserver);
-                if (newWidth <= 0) {
-                    newWidth = DEFAULT_WIDTH;
-                }
-            }
-
-            if (newHeight <= 0) {
-                newHeight = newImage.getHeight(imageObserver);
-                if (newHeight <= 0) {
-                    newHeight = DEFAULT_HEIGHT;
-                }
             }
 
             // Make sure the image starts loading:
@@ -965,6 +943,35 @@
                     changed |= 2;
                 }
 
+                /**
+                 * If the image properties (height and width) have been loaded,
+                 * then figure out if scaling is necessary based on the
+                 * specified HTML attributes.
+                 */
+                if (((flags & ImageObserver.HEIGHT) != 0) &&
+                    ((flags & ImageObserver.WIDTH) != 0)) {
+                    double proportion = 0.0;
+                    final int specifiedWidth = getIntAttr(HTML.Attribute.WIDTH, -1);
+                    final int specifiedHeight = getIntAttr(HTML.Attribute.HEIGHT, -1);
+                    /**
+                     * If either of the attributes are not specified, then calculate the
+                     * proportion for the specified dimension wrt actual value, and then
+                     * apply the same proportion to the unspecified dimension as well,
+                     * so that the aspect ratio of the image is maintained.
+                     */
+                    if (specifiedWidth != -1 ^ specifiedHeight != -1) {
+                        if (specifiedWidth <= 0) {
+                            proportion = specifiedHeight / ((double)newHeight);
+                            newWidth = (int)(proportion * newWidth);
+                        }
+
+                        if (specifiedHeight <= 0) {
+                            proportion = specifiedWidth / ((double)newWidth);
+                            newHeight = (int)(proportion * newHeight);
+                        }
+                        changed |= 3;
+                    }
+                }
                 synchronized(ImageView.this) {
                     if ((changed & 1) == 1 && (state & HEIGHT_FLAG) == 0) {
                         height = newHeight;
--- a/src/java.desktop/share/classes/javax/swing/text/html/MuxingAttributeSet.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/MuxingAttributeSet.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -76,7 +76,7 @@
     protected synchronized void insertAttributeSetAt(AttributeSet as,
                                                      int index) {
         int numAttrs = attrs.length;
-        AttributeSet newAttrs[] = new AttributeSet[numAttrs + 1];
+        AttributeSet[] newAttrs = new AttributeSet[numAttrs + 1];
         if (index < numAttrs) {
             if (index > 0) {
                 System.arraycopy(attrs, 0, newAttrs, 0, index);
--- a/src/java.desktop/share/classes/javax/swing/text/html/ObjectView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/ObjectView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -133,7 +133,7 @@
             System.err.println("introspector failed, ex: "+ex);
             return;             // quit for now
         }
-        PropertyDescriptor props[] = bi.getPropertyDescriptors();
+        PropertyDescriptor[] props = bi.getPropertyDescriptors();
         for (int i=0; i < props.length; i++) {
             //      System.err.println("checking on props[i]: "+props[i].getName());
             Object v = attr.getAttribute(props[i].getName());
--- a/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1514,9 +1514,9 @@
         int numElements = elements.size();
         // Build three arrays, one for tags, one for class's, and one for
         // id's
-        String tags[] = new String[numElements];
-        String ids[] = new String[numElements];
-        String classes[] = new String[numElements];
+        String[] tags = new String[numElements];
+        String[] ids = new String[numElements];
+        String[] classes = new String[numElements];
         for (int counter = 0; counter < numElements; counter++) {
             Element e = elements.elementAt(counter);
             AttributeSet attr = e.getAttributes();
@@ -2447,7 +2447,7 @@
         }
 
         /* list of roman numerals */
-        static final char romanChars[][] = {
+        static final char[][] romanChars = {
             {'i', 'v'},
             {'x', 'l' },
             {'c', 'd' },
@@ -3410,8 +3410,8 @@
      * The HTML/CSS size model has seven slots
      * that one can assign sizes to.
      */
-    static final int sizeMapDefault[] = { 8, 10, 12, 14, 18, 24, 36 };
+    static final int[] sizeMapDefault = { 8, 10, 12, 14, 18, 24, 36 };
 
-    private int sizeMap[] = sizeMapDefault;
+    private int[] sizeMap = sizeMapDefault;
     private boolean w3cLengthUnits = false;
 }
--- a/src/java.desktop/share/classes/javax/swing/text/html/TableView.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/TableView.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1054,7 +1054,7 @@
         /**
          * Set the layout arrays to use for holding layout results
          */
-        public void setLayoutArrays(int offsets[], int spans[], int targetSpan) {
+        public void setLayoutArrays(int[] offsets, int[] spans, int targetSpan) {
             this.offsets = offsets;
             this.spans = spans;
             updatePercentagesAndAdjustmentWeights(targetSpan);
--- a/src/java.desktop/share/classes/javax/swing/text/html/parser/ContentModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/parser/ContentModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -156,8 +156,8 @@
          }
      }
 
-     private boolean valSet[];
-     private boolean val[];
+     private boolean[] valSet;
+     private boolean[] val;
      // A cache used by first().  This cache was found to speed parsing
      // by about 10% (based on measurements of the 4-12 code base after
      // buffering was fixed).
@@ -264,7 +264,7 @@
           case ',':
           case '|':
           case '&':
-            char data[] = {' ', (char)type, ' '};
+            char[] data = {' ', (char)type, ' '};
             String str = "";
             for (ContentModel m = (ContentModel)content ; m != null ; m = m.next) {
                 str = str + m;
--- a/src/java.desktop/share/classes/javax/swing/text/html/parser/DTD.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/parser/DTD.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -237,7 +237,7 @@
      * @return the <code>Entity</code> requested or a new <code>Entity</code>
      *   if not found
      */
-    public Entity defineEntity(String name, int type, char data[]) {
+    public Entity defineEntity(String name, int type, char[] data) {
         Entity ent = entityHash.get(name);
         if (ent == null) {
             ent = new Entity(name, type, data);
@@ -304,7 +304,7 @@
      * @return the new character <code>Entity</code>
      */
     public Entity defEntity(String name, int type, int ch) {
-        char data[] = {(char)ch};
+        char[] data = {(char)ch};
         return defineEntity(name, type, data);
     }
 
@@ -317,7 +317,7 @@
      */
     protected Entity defEntity(String name, int type, String str) {
         int len = str.length();
-        char data[] = new char[len];
+        char[] data = new char[len];
         str.getChars(0, len, data, 0);
         return defineEntity(name, type, data);
     }
--- a/src/java.desktop/share/classes/javax/swing/text/html/parser/DocumentParser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/parser/DocumentParser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -177,7 +177,7 @@
     }
 
 
-    protected void handleComment(char text[]) {
+    protected void handleComment(char[] text) {
         if (debugFlag) {
             debug("comment: ->" + new String(text) + "<-"
                   + " pos: " + getCurrentPos());
@@ -257,7 +257,7 @@
     /**
      * Handle Text.
      */
-    protected void handleText(char data[]) {
+    protected void handleText(char[] data) {
         if (data != null) {
             if (inscript != 0) {
                 callback.handleComment(data, getBlockStartPosition());
--- a/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@
     /**
      * The char array of data.
      */
-    public char data[];
+    public char[] data;
 
     /**
      * Creates an entity.
@@ -63,7 +63,7 @@
      * @param type the type of the entity
      * @param data the char array of data
      */
-    public Entity(String name, int type, char data[]) {
+    public Entity(String name, int type, char[] data) {
         this.name = name;
         this.type = type;
         this.data = data;
@@ -105,7 +105,7 @@
      * Returns the <code>data</code>.
      * @return the <code>data</code>
      */
-    public char getData()[] {
+    public char[] getData() {
         return data;
     }
 
--- a/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,12 +78,12 @@
 public
 class Parser implements DTDConstants {
 
-    private char text[] = new char[1024];
+    private char[] text = new char[1024];
     private int textpos = 0;
     private TagElement last;
     private boolean space;
 
-    private char str[] = new char[128];
+    private char[] str = new char[128];
     private int strpos = 0;
 
     /**
@@ -273,7 +273,7 @@
      *
      * @param text  the section text
      */
-    protected void handleText(char text[]) {
+    protected void handleText(char[] text) {
     }
 
     /**
@@ -281,7 +281,7 @@
      *
      * @param text  the title text
      */
-    protected void handleTitle(char text[]) {
+    protected void handleTitle(char[] text) {
         // default behavior is to call handleText. Subclasses
         // can override if necessary.
         handleText(text);
@@ -292,7 +292,7 @@
      *
      * @param text  the comment being handled
      */
-    protected void handleComment(char text[]) {
+    protected void handleComment(char[] text) {
     }
 
     /**
@@ -386,7 +386,7 @@
             if (!ignoreSpace) {
                 // enlarge buffer if needed
                 if (textpos + 1 > text.length) {
-                    char newtext[] = new char[text.length + 200];
+                    char[] newtext = new char[text.length + 200];
                     System.arraycopy(text, 0, newtext, 0, text.length);
                     text = newtext;
                 }
@@ -399,7 +399,7 @@
             }
             space = false;
         }
-        char newtext[] = new char[textpos];
+        char[] newtext = new char[textpos];
         System.arraycopy(text, 0, newtext, 0, textpos);
         // Handles cases of bad html where the title tag
         // was getting lost when we did error recovery.
@@ -837,7 +837,7 @@
      */
     void addString(int c) {
         if (strpos  == str.length) {
-            char newstr[] = new char[str.length + 128];
+            char[] newstr = new char[str.length + 128];
             System.arraycopy(str, 0, newstr, 0, str.length);
             str = newstr;
         }
@@ -848,21 +848,21 @@
      * Get the string that's been accumulated.
      */
     String getString(int pos) {
-        char newStr[] = new char[strpos - pos];
+        char[] newStr = new char[strpos - pos];
         System.arraycopy(str, pos, newStr, 0, strpos - pos);
         strpos = pos;
         return new String(newStr);
     }
 
     char[] getChars(int pos) {
-        char newStr[] = new char[strpos - pos];
+        char[] newStr = new char[strpos - pos];
         System.arraycopy(str, pos, newStr, 0, strpos - pos);
         strpos = pos;
         return newStr;
     }
 
     char[] getChars(int pos, int endPos) {
-        char newStr[] = new char[endPos - pos];
+        char[] newStr = new char[endPos - pos];
         System.arraycopy(str, pos, newStr, 0, endPos - pos);
         // REMIND: it's not clear whether this version should set strpos or not
         // strpos = pos;
@@ -1034,18 +1034,18 @@
                         ch = readCh();
                         break;
                 }
-                char data[] = mapNumericReference(n);
+                char[] data = mapNumericReference(n);
                 return data;
             }
             addString('#');
             if (!parseIdentifier(false)) {
                 error("ident.expected");
                 strpos = pos;
-                char data[] = {'&', '#'};
+                char[] data = {'&', '#'};
                 return data;
             }
         } else if (!parseIdentifier(false)) {
-            char data[] = {'&'};
+            char[] data = {'&'};
             return data;
         }
 
@@ -1095,7 +1095,7 @@
             /* given that there is not a match restore the entity reference */
             String str = "&" + nm + (semicolon ? ";" : "");
 
-            char b[] = new char[str.length()];
+            char[] b = new char[str.length()];
             str.getChars(0, b.length, b, 0);
             return b;
         }
@@ -1251,9 +1251,9 @@
                 break;
 
               case '&':
-                char data[] = parseEntityReference();
+                char[] data = parseEntityReference();
                 if (textpos + data.length > text.length) {
-                    char newtext[] = new char[Math.max(textpos + data.length + 128, text.length * 2)];
+                    char[] newtext = new char[Math.max(textpos + data.length + 128, text.length * 2)];
                     System.arraycopy(text, 0, newtext, 0, text.length);
                     text = newtext;
                 }
@@ -1285,7 +1285,7 @@
 
             // output character
             if (textpos == text.length) {
-                char newtext[] = new char[text.length + 128];
+                char[] newtext = new char[text.length + 128];
                 System.arraycopy(text, 0, newtext, 0, text.length);
                 text = newtext;
             }
@@ -1395,7 +1395,7 @@
                     break;
                 }
 
-                char data[] = parseEntityReference();
+                char[] data = parseEntityReference();
                 for (int i = 0 ; i < data.length ; i++) {
                     c = data[i];
                     addString((lower && (c >= 'A') && (c <= 'Z')) ? 'a' + c - 'A' : c);
@@ -1506,7 +1506,7 @@
                         }
                     }
                 } else {
-                    char str[] = {(char)ch};
+                    char[] str = {(char)ch};
                     error("invalid.tagchar", new String(str), elem.getName());
                     ch = readCh();
                     continue;
@@ -1526,7 +1526,7 @@
                 error("attvalerr");
                 return;
             } else {
-                char str[] = {(char)ch};
+                char[] str = {(char)ch};
                 error("invalid.tagchar", new String(str), elem.getName());
                 if (!strict) {
                     ch = readCh();
@@ -1674,7 +1674,7 @@
                             // before parsing and sending the
                             // comment
                             if (textpos != 0) {
-                                char newtext[] = new char[textpos];
+                                char[] newtext = new char[textpos];
                                 System.arraycopy(text, 0, newtext, 0, textpos);
                                 handleText(newtext);
                                 lastBlockStartPos = currentBlockStartPos;
@@ -2224,9 +2224,9 @@
                             space = false;
                         }
                     }
-                    char data[] = parseEntityReference();
+                    char[] data = parseEntityReference();
                     if (textpos + data.length + 1 > text.length) {
-                        char newtext[] = new char[Math.max(textpos + data.length + 128, text.length * 2)];
+                        char[] newtext = new char[Math.max(textpos + data.length + 128, text.length * 2)];
                         System.arraycopy(text, 0, newtext, 0, text.length);
                         text = newtext;
                     }
@@ -2306,7 +2306,7 @@
 
             // enlarge buffer if needed
             if (textpos + 2 > text.length) {
-                char newtext[] = new char[text.length + 128];
+                char[] newtext = new char[text.length + 128];
                 System.arraycopy(text, 0, newtext, 0, text.length);
                 text = newtext;
             }
@@ -2412,7 +2412,7 @@
      * this reason the initial size is 1 and when the body is encountered the
      * size is adjusted to 256.
      */
-    private char buf[] = new char[1];
+    private char[] buf = new char[1];
     private int pos;
     private int len;
     /*
--- a/src/java.desktop/share/classes/javax/swing/text/rtf/AbstractFilter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/rtf/AbstractFilter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,17 +49,17 @@
 abstract class AbstractFilter extends OutputStream
 {
     /** A table mapping bytes to characters */
-    protected char translationTable[];
+    protected char[] translationTable;
     /** A table indicating which byte values should be interpreted as
      *  characters and which should be treated as formatting codes */
-    protected boolean specialsTable[];
+    protected boolean[] specialsTable;
 
     /** A translation table which does ISO Latin-1 (trivial) */
-    static final char latin1TranslationTable[];
+    static final char[] latin1TranslationTable;
     /** A specials table which indicates that no characters are special */
-    static final boolean noSpecialsTable[];
+    static final boolean[] noSpecialsTable;
     /** A specials table which indicates that all characters are special */
-    static final boolean allSpecialsTable[];
+    static final boolean[] allSpecialsTable;
 
     static {
       int i;
@@ -93,7 +93,7 @@
     public void readFromStream(InputStream in)
       throws IOException
     {
-        byte buf[];
+        byte[] buf;
         int count;
 
         buf = new byte[16384];
@@ -110,7 +110,7 @@
     public void readFromReader(Reader in)
       throws IOException
     {
-        char buf[];
+        char[] buf;
         int count;
 
         buf = new char[2048];
--- a/src/java.desktop/share/classes/javax/swing/text/rtf/RTFAttributes.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/rtf/RTFAttributes.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
 
 class RTFAttributes
 {
-    static RTFAttribute attributes[];
+    static RTFAttribute[] attributes;
 
     static {
         Vector<RTFAttribute> a = new Vector<RTFAttribute>();
--- a/src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -496,7 +496,7 @@
 
 protected void checkControlWords(MutableAttributeSet currentAttributes,
                                  AttributeSet newAttributes,
-                                 RTFAttribute words[],
+                                 RTFAttribute[] words,
                                  int domain)
     throws IOException
 {
@@ -596,7 +596,7 @@
                       RTFAttributes.attributes, RTFAttribute.D_PARAGRAPH);
 
     if (oldTabs != newTabs && newTabs != null) {
-        TabStop tabs[] = (TabStop[])newTabs;
+        TabStop[] tabs = (TabStop[])newTabs;
         int index;
         for(index = 0; index < tabs.length; index ++) {
             TabStop tab = tabs[index];
--- a/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/rtf/RTFParser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -90,7 +90,7 @@
   public abstract void endgroup();
 
   // table of non-text characters in rtf
-  static final boolean rtfSpecialsTable[];
+  static final boolean[] rtfSpecialsTable;
   static {
     rtfSpecialsTable = noSpecialsTable.clone();
     rtfSpecialsTable['\n'] = true;
@@ -191,7 +191,7 @@
           break;
         }
         if (!Character.isLetter(ch)) {
-          char newstring[] = new char[1];
+          char[] newstring = new char[1];
           newstring[0] = ch;
           if (!handleKeyword(new String(newstring))) {
             warning("Unknown keyword: " + newstring + " (" + (byte)ch + ")");
--- a/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1421,7 +1421,7 @@
         Integer stateItem;
 
         /*** Tab stops ***/
-        TabStop tabs[];
+        TabStop[] tabs;
 
         tabs = (TabStop[])parserState.get("_tabs_immutable");
         if (tabs == null) {
--- a/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -382,7 +382,7 @@
                 }
 
                 if(validCount > 0) {
-                    TreePath         newSelection[] = new TreePath[oldCount +
+                    TreePath[]         newSelection = new TreePath[oldCount +
                                                                   validCount];
 
                     /* And build the new selection. */
@@ -901,7 +901,7 @@
                         }
                         else {
                             TreePath[] newSel = new TreePath[counter - min];
-                            int selectionIndex[] = rowMapper.getRowsForPaths(selection);
+                            int[] selectionIndex = rowMapper.getRowsForPaths(selection);
                             // find the actual selection pathes corresponded to the
                             // rows of the new selection
                             for (int i = 0; i < selectionIndex.length; i++) {
--- a/src/java.desktop/share/classes/javax/swing/tree/FixedHeightLayoutCache.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/tree/FixedHeightLayoutCache.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -347,7 +347,7 @@
      */
     public void treeNodesChanged(TreeModelEvent e) {
         if(e != null) {
-            int                 changedIndexs[];
+            int[]               changedIndexs;
             FHTreeStateNode     changedParent = getNodeForPath
                                   (SwingUtilities2.getTreePath(e, getModel()), false, false);
             int                 maxCounter;
@@ -391,7 +391,7 @@
      */
     public void treeNodesInserted(TreeModelEvent e) {
         if(e != null) {
-            int                 changedIndexs[];
+            int[]               changedIndexs;
             FHTreeStateNode     changedParent = getNodeForPath
                                   (SwingUtilities2.getTreePath(e, getModel()), false, false);
             int                 maxCounter;
@@ -430,7 +430,7 @@
      */
     public void treeNodesRemoved(TreeModelEvent e) {
         if(e != null) {
-            int                  changedIndexs[];
+            int[]                changedIndexs;
             int                  maxCounter;
             TreePath             parentPath = SwingUtilities2.getTreePath(e, getModel());
             FHTreeStateNode      changedParentNode = getNodeForPath
--- a/src/java.desktop/share/classes/javax/swing/tree/VariableHeightLayoutCache.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/javax/swing/tree/VariableHeightLayoutCache.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -409,7 +409,7 @@
      */
     public void treeNodesChanged(TreeModelEvent e) {
         if(e != null) {
-            int               changedIndexs[]  = e.getChildIndices();
+            int[]             changedIndexs  = e.getChildIndices();
             TreeStateNode     changedNode = getNodeForPath(
                     SwingUtilities2.getTreePath(e, getModel()), false, false);
 
@@ -456,7 +456,7 @@
      */
     public void treeNodesInserted(TreeModelEvent e) {
         if(e != null) {
-            int               changedIndexs[] = e.getChildIndices();
+            int[]             changedIndexs = e.getChildIndices();
             TreeStateNode     changedParentNode = getNodeForPath(
                     SwingUtilities2.getTreePath(e, getModel()), false, false);
             /* Only need to update the children if the node has been
@@ -522,7 +522,7 @@
      */
     public void treeNodesRemoved(TreeModelEvent e) {
         if(e != null) {
-            int               changedIndexs[];
+            int[]             changedIndexs;
             TreeStateNode     changedParentNode;
 
             changedIndexs = e.getChildIndices();
--- a/src/java.desktop/share/classes/sun/awt/AWTAccessor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/AWTAccessor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -565,7 +565,7 @@
         /*
          * Sets the files the user selects
          */
-        void setFiles(FileDialog fileDialog, File files[]);
+        void setFiles(FileDialog fileDialog, File[] files);
 
         /*
          * Sets the file the user selects
--- a/src/java.desktop/share/classes/sun/awt/CharsetString.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/CharsetString.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@
     /**
      * Creates a new CharsetString
      */
-    public CharsetString(char charsetChars[], int offset, int length,
+    public CharsetString(char[] charsetChars, int offset, int length,
                          FontDescriptor fontDescriptor){
 
         this.charsetChars = charsetChars;
--- a/src/java.desktop/share/classes/sun/awt/DebugSettings.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/DebugSettings.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -79,7 +79,7 @@
     static final String PROP_FILE = "properties";
 
     /* default property settings */
-    private static final String DEFAULT_PROPS[] = {
+    private static final String[] DEFAULT_PROPS = {
         "awtdebug.assert=true",
         "awtdebug.trace=false",
         "awtdebug.on=true",
--- a/src/java.desktop/share/classes/sun/awt/FontConfiguration.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/FontConfiguration.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1606,7 +1606,7 @@
         }
     }
 
-    private static boolean contains(short IDs[], short id, int limit) {
+    private static boolean contains(short[] IDs, short id, int limit) {
         for (int i = 0; i < limit; i++) {
             if (IDs[i] == id) {
                 return true;
@@ -1758,7 +1758,7 @@
         return (short)(stringIDNum - 1);
     }
 
-    private static short getShortArrayID(short sa[]) {
+    private static short getShortArrayID(short[] sa) {
         char[] cc = new char[sa.length];
         for (int i = 0; i < sa.length; i ++) {
             cc[i] = (char)sa[i];
--- a/src/java.desktop/share/classes/sun/awt/IconInfo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/IconInfo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -119,7 +119,7 @@
     * returns scaled raw length.
      */
     private int getScaledRawLength(int w, int h) {
-        int scaledWidthAndHeight[] = getScaledWidthAndHeight(w, h);
+        int[] scaledWidthAndHeight = getScaledWidthAndHeight(w, h);
         return scaledWidthAndHeight[0] * scaledWidthAndHeight[1] + 2;
     }
 
@@ -237,7 +237,7 @@
             new DirectColorModel(ColorSpace.getInstance(ColorSpace.CS_sRGB), 32,
                                  0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000,
                                  false, DataBuffer.TYPE_INT);
-        int scaledWidthAndHeight[] = getScaledWidthAndHeight(width, height);
+        int[] scaledWidthAndHeight = getScaledWidthAndHeight(width, height);
         width = scaledWidthAndHeight[0];
         height = scaledWidthAndHeight[1];
         DataBufferInt buffer = new DataBufferInt(width * height);
--- a/src/java.desktop/share/classes/sun/awt/PlatformFont.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/PlatformFont.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -120,7 +120,7 @@
      * @param offset offset of first character of interest
      * @param len number of characters to convert
      */
-    public CharsetString[] makeMultiCharsetString(char str[], int offset, int len) {
+    public CharsetString[] makeMultiCharsetString(char[] str, int offset, int len) {
         return makeMultiCharsetString(str, offset, len, true);
     }
 
@@ -137,7 +137,7 @@
      * then return null.
      * This is used to choose alternative means of displaying the text.
      */
-    public CharsetString[] makeMultiCharsetString(char str[], int offset, int len,
+    public CharsetString[] makeMultiCharsetString(char[] str, int offset, int len,
                                                   boolean allowDefault) {
 
         if (len < 1) {
--- a/src/java.desktop/share/classes/sun/awt/RepaintArea.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/RepaintArea.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,7 +55,7 @@
 
     private static final int RECT_COUNT = UPDATE + 1;
 
-    private Rectangle paintRects[] = new Rectangle[RECT_COUNT];
+    private Rectangle[] paintRects = new Rectangle[RECT_COUNT];
 
 
     /**
--- a/src/java.desktop/share/classes/sun/awt/TracedEventQueue.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/TracedEventQueue.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,7 +49,7 @@
     static boolean trace = false;
 
     // The list of event IDs to ignore when tracing.
-    static int suppressedIDs[] = null;
+    static int[] suppressedIDs = null;
 
     static {
         String s = Toolkit.getProperty("AWT.IgnoreEventIDs", "");
--- a/src/java.desktop/share/classes/sun/awt/datatransfer/DataTransferer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/datatransfer/DataTransferer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1152,7 +1152,7 @@
 
             try (ByteArrayInputStream str = new ByteArrayInputStream(bytes))  {
 
-                URI uris[] = dragQueryURIs(str, format, localeTransferable);
+                URI[] uris = dragQueryURIs(str, format, localeTransferable);
                 if (uris == null) {
                     return null;
                 }
@@ -1295,7 +1295,7 @@
                 && DataFlavor.javaFileListFlavor.equals(flavor))
         {
 
-            URI uris[] = dragQueryURIs(str, format, localeTransferable);
+            URI[] uris = dragQueryURIs(str, format, localeTransferable);
             if (uris == null) {
                 return null;
             }
--- a/src/java.desktop/share/classes/sun/awt/geom/AreaOp.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/AreaOp.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -214,7 +214,7 @@
         int right = 0;
         int cur = 0;
         int next = 0;
-        double yrange[] = new double[2];
+        double[] yrange = new double[2];
         Vector<CurveLink> subcurves = new Vector<>();
         Vector<ChainEnd> chains = new Vector<>();
         Vector<CurveLink> links = new Vector<>();
--- a/src/java.desktop/share/classes/sun/awt/geom/Crossings.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Crossings.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
     public static final boolean debug = false;
 
     int limit = 0;
-    double yranges[] = new double[10];
+    double[] yranges = new double[10];
 
     double xlo, ylo, xhi, yhi;
 
@@ -119,7 +119,7 @@
         //             0-2 horizontal splitting parameters
         //             OR
         //             3 parametric equation derivative coefficients
-        double coords[] = new double[23];
+        double[] coords = new double[23];
         double movx = 0;
         double movy = 0;
         double curx = 0;
@@ -239,7 +239,7 @@
 
     private Vector<Curve> tmp = new Vector<>();
 
-    public boolean accumulateQuad(double x0, double y0, double coords[]) {
+    public boolean accumulateQuad(double x0, double y0, double[] coords) {
         if (y0 < ylo && coords[1] < ylo && coords[3] < ylo) {
             return false;
         }
@@ -269,7 +269,7 @@
         return false;
     }
 
-    public boolean accumulateCubic(double x0, double y0, double coords[]) {
+    public boolean accumulateCubic(double x0, double y0, double[] coords) {
         if (y0 < ylo && coords[1] < ylo &&
             coords[3] < ylo && coords[5] < ylo)
         {
@@ -379,7 +379,7 @@
             to += (limit-from);
             if (ystart < yend) {
                 if (to >= yranges.length) {
-                    double newranges[] = new double[to+10];
+                    double[] newranges = new double[to+10];
                     System.arraycopy(yranges, 0, newranges, 0, to);
                     yranges = newranges;
                 }
@@ -391,7 +391,7 @@
     }
 
     public static final class NonZero extends Crossings {
-        private int crosscounts[];
+        private int[] crosscounts;
 
         public NonZero(double xlo, double ylo, double xhi, double yhi) {
             super(xlo, ylo, xhi, yhi);
@@ -430,8 +430,8 @@
 
         public void insert(int cur, double lo, double hi, int dir) {
             int rem = limit - cur;
-            double oldranges[] = yranges;
-            int oldcounts[] = crosscounts;
+            double[] oldranges = yranges;
+            int[] oldcounts = crosscounts;
             if (limit >= yranges.length) {
                 yranges = new double[limit+10];
                 System.arraycopy(oldranges, 0, yranges, 0, cur);
--- a/src/java.desktop/share/classes/sun/awt/geom/Curve.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Curve.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
 
     public static void insertQuad(Vector<Curve> curves,
                                   double x0, double y0,
-                                  double coords[])
+                                  double[] coords)
     {
         double y1 = coords[3];
         if (y0 > y1) {
@@ -84,7 +84,7 @@
 
     public static void insertCubic(Vector<Curve> curves,
                                    double x0, double y0,
-                                   double coords[])
+                                   double[] coords)
     {
         double y1 = coords[5];
         if (y0 > y1) {
@@ -127,7 +127,7 @@
         if (pi.isDone()) {
             return 0;
         }
-        double coords[] = new double[6];
+        double[] coords = new double[6];
         if (pi.currentSegment(coords) != PathIterator.SEG_MOVETO) {
             throw new IllegalPathStateException("missing initial moveto "+
                                                 "in path definition");
@@ -384,7 +384,7 @@
         if (pi.isDone()) {
             return 0;
         }
-        double coords[] = new double[6];
+        double[] coords = new double[6];
         if (pi.currentSegment(coords) != PathIterator.SEG_MOVETO) {
             throw new IllegalPathStateException("missing initial moveto "+
                                                 "in path definition");
@@ -866,7 +866,7 @@
     public abstract Curve getReversedCurve();
     public abstract Curve getSubCurve(double ystart, double yend, int dir);
 
-    public int compareTo(Curve that, double yrange[]) {
+    public int compareTo(Curve that, double[] yrange) {
         /*
         System.out.println(this+".compareTo("+that+")");
         System.out.println("target range = "+yrange[0]+"=>"+yrange[1]);
@@ -1030,7 +1030,7 @@
 
     public static final double TMIN = 1E-3;
 
-    public boolean findIntersect(Curve that, double yrange[], double ymin,
+    public boolean findIntersect(Curve that, double[] yrange, double ymin,
                                  int slevel, int tlevel,
                                  double s0, double xs0, double ys0,
                                  double s1, double xs1, double ys1,
@@ -1202,5 +1202,5 @@
                 Math.max(Math.abs(v1), Math.abs(v2)) * 1E-10);
     }
 
-    public abstract int getSegment(double coords[]);
+    public abstract int getSegment(double[] coords);
 }
--- a/src/java.desktop/share/classes/sun/awt/geom/Edge.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Edge.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -73,7 +73,7 @@
     private int lastResult;
     private double lastLimit;
 
-    public int compareTo(Edge other, double yrange[]) {
+    public int compareTo(Edge other, double[] yrange) {
         if (other == lastEdge && yrange[0] < lastLimit) {
             if (yrange[1] > lastLimit) {
                 yrange[1] = lastLimit;
--- a/src/java.desktop/share/classes/sun/awt/geom/Order0.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Order0.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -134,7 +134,7 @@
         return this;
     }
 
-    public int getSegment(double coords[]) {
+    public int getSegment(double[] coords) {
         coords[0] = x;
         coords[1] = y;
         return PathIterator.SEG_MOVETO;
--- a/src/java.desktop/share/classes/sun/awt/geom/Order1.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Order1.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -216,7 +216,7 @@
         return new Order1(x0, y0, x1, y1, -direction);
     }
 
-    public int compareTo(Curve other, double yrange[]) {
+    public int compareTo(Curve other, double[] yrange) {
         if (!(other instanceof Order1)) {
             return super.compareTo(other, yrange);
         }
@@ -299,7 +299,7 @@
         return orderof(XforY(y), c1.XforY(y));
     }
 
-    public int getSegment(double coords[]) {
+    public int getSegment(double[] coords) {
         if (direction == INCREASING) {
             coords[0] = x1;
             coords[1] = y1;
--- a/src/java.desktop/share/classes/sun/awt/geom/Order2.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Order2.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
     private double ycoeff1;
     private double ycoeff2;
 
-    public static void insert(Vector<Curve> curves, double tmp[],
+    public static void insert(Vector<Curve> curves, double[] tmp,
                               double x0, double y0,
                               double cx0, double cy0,
                               double x1, double y1,
@@ -109,7 +109,7 @@
      * means outside of this method.
      */
     public static int getHorizontalParams(double c0, double cp, double c1,
-                                          double ret[]) {
+                                          double[] ret) {
         if (c0 <= cp && cp <= c1) {
             return 0;
         }
@@ -135,7 +135,7 @@
      * parametric subranges [0..t] and [t..1].  Store the results back
      * into the array at coords[pos...pos+5] and coords[pos+4...pos+9].
      */
-    public static void split(double coords[], int pos, double t) {
+    public static void split(double[] coords, int pos, double t) {
         double x0, y0, cx, cy, x1, y1;
         coords[pos+8] = x1 = coords[pos+4];
         coords[pos+9] = y1 = coords[pos+5];
@@ -407,7 +407,7 @@
         } else {
             t1 = TforY(yend, ycoeff0, ycoeff1, ycoeff2);
         }
-        double eqn[] = new double[10];
+        double[] eqn = new double[10];
         eqn[0] = x0;
         eqn[1] = y0;
         eqn[2] = cx0;
@@ -434,7 +434,7 @@
         return new Order2(x0, y0, cx0, cy0, x1, y1, -direction);
     }
 
-    public int getSegment(double coords[]) {
+    public int getSegment(double[] coords) {
         coords[0] = cx0;
         coords[1] = cy0;
         if (direction == INCREASING) {
--- a/src/java.desktop/share/classes/sun/awt/geom/Order3.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/geom/Order3.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,7 +53,7 @@
     private double ycoeff2;
     private double ycoeff3;
 
-    public static void insert(Vector<Curve> curves, double tmp[],
+    public static void insert(Vector<Curve> curves, double[] tmp,
                               double x0, double y0,
                               double cx0, double cy0,
                               double cx1, double cy1,
@@ -160,7 +160,7 @@
      */
     public static int getHorizontalParams(double c0, double cp0,
                                           double cp1, double c1,
-                                          double ret[]) {
+                                          double[] ret) {
         if (c0 <= cp0 && cp0 <= cp1 && cp1 <= c1) {
             return 0;
         }
@@ -191,7 +191,7 @@
      * parametric subranges [0..t] and [t..1].  Store the results back
      * into the array at coords[pos...pos+7] and coords[pos+6...pos+13].
      */
-    public static void split(double coords[], int pos, double t) {
+    public static void split(double[] coords, int pos, double t) {
         double x0, y0, cx0, cy0, cx1, cy1, x1, y1;
         coords[pos+12] = x1 = coords[pos+6];
         coords[pos+13] = y1 = coords[pos+7];
@@ -529,7 +529,7 @@
     }
 
     public double nextVertical(double t0, double t1) {
-        double eqn[] = {xcoeff1, 2 * xcoeff2, 3 * xcoeff3};
+        double[] eqn = {xcoeff1, 2 * xcoeff2, 3 * xcoeff3};
         int numroots = QuadCurve2D.solveQuadratic(eqn, eqn);
         for (int i = 0; i < numroots; i++) {
             if (eqn[i] > t0 && eqn[i] < t1) {
@@ -541,7 +541,7 @@
 
     public void enlarge(Rectangle2D r) {
         r.add(x0, y0);
-        double eqn[] = {xcoeff1, 2 * xcoeff2, 3 * xcoeff3};
+        double[] eqn = {xcoeff1, 2 * xcoeff2, 3 * xcoeff3};
         int numroots = QuadCurve2D.solveQuadratic(eqn, eqn);
         for (int i = 0; i < numroots; i++) {
             double t = eqn[i];
@@ -556,7 +556,7 @@
         if (ystart <= y0 && yend >= y1) {
             return getWithDirection(dir);
         }
-        double eqn[] = new double[14];
+        double[] eqn = new double[14];
         double t0, t1;
         t0 = TforY(ystart);
         t1 = TforY(yend);
@@ -608,7 +608,7 @@
         return new Order3(x0, y0, cx0, cy0, cx1, cy1, x1, y1, -direction);
     }
 
-    public int getSegment(double coords[]) {
+    public int getSegment(double[] coords) {
         if (direction == INCREASING) {
             coords[0] = cx0;
             coords[1] = cy0;
--- a/src/java.desktop/share/classes/sun/awt/image/BufImgSurfaceData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/BufImgSurfaceData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -398,8 +398,8 @@
     }
 
     private static final int CACHE_SIZE = 5;
-    private static RenderLoops loopcache[] = new RenderLoops[CACHE_SIZE];
-    private static SurfaceType typecache[] = new SurfaceType[CACHE_SIZE];
+    private static RenderLoops[] loopcache = new RenderLoops[CACHE_SIZE];
+    private static SurfaceType[] typecache = new SurfaceType[CACHE_SIZE];
     public static synchronized RenderLoops getSolidLoops(SurfaceType type) {
         for (int i = CACHE_SIZE - 1; i >= 0; i--) {
             SurfaceType t = typecache[i];
--- a/src/java.desktop/share/classes/sun/awt/image/BufferedImageGraphicsConfig.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/BufferedImageGraphicsConfig.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,9 +45,9 @@
     extends GraphicsConfiguration
 {
     private static final int numconfigs = BufferedImage.TYPE_BYTE_BINARY;
-    private static BufferedImageGraphicsConfig standardConfigs[] =
+    private static BufferedImageGraphicsConfig[] standardConfigs =
         new BufferedImageGraphicsConfig[numconfigs];
-    private static BufferedImageGraphicsConfig scaledConfigs[] =
+    private static BufferedImageGraphicsConfig[] scaledConfigs =
         new BufferedImageGraphicsConfig[numconfigs];
 
     public static BufferedImageGraphicsConfig getConfig(BufferedImage bImg) {
--- a/src/java.desktop/share/classes/sun/awt/image/ByteBandedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ByteBandedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -136,9 +136,9 @@
         if (sampleModel instanceof BandedSampleModel) {
             BandedSampleModel bsm = (BandedSampleModel)sampleModel;
             this.scanlineStride = bsm.getScanlineStride();
-            int bankIndices[] = bsm.getBankIndices();
-            int bandOffsets[] = bsm.getBandOffsets();
-            int dOffsets[] = dataBuffer.getOffsets();
+            int[] bankIndices = bsm.getBankIndices();
+            int[] bandOffsets = bsm.getBandOffsets();
+            int[] dOffsets = dataBuffer.getOffsets();
             dataOffsets = new int[bankIndices.length];
             data = new byte[bankIndices.length][];
             int xOffset = aRegion.x - origin.x;
@@ -228,7 +228,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements];
         } else {
@@ -275,7 +275,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements*w*h];
         } else {
@@ -415,7 +415,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int off = (y-minY)*scanlineStride + (x-minX);
         for (int i = 0; i < numDataElements; i++) {
             data[i][dataOffsets[i] + off] = inData[i];
@@ -509,7 +509,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int yoff = (y-minY)*scanlineStride + (x-minX);
 
         for (int c = 0; c < numDataElements; c++) {
@@ -639,7 +639,7 @@
     public WritableRaster createWritableChild (int x, int y,
                                                int width, int height,
                                                int x0, int y0,
-                                               int bandList[]) {
+                                               int[] bandList) {
 
         if (x < this.minX) {
             throw new RasterFormatException("x lies outside raster");
@@ -694,7 +694,7 @@
     public Raster createChild (int x, int y,
                                    int width, int height,
                                    int x0, int y0,
-                                   int bandList[]) {
+                                   int[] bandList) {
         return createWritableChild(x, y, width, height, x0, y0, bandList);
     }
 
--- a/src/java.desktop/share/classes/sun/awt/image/ByteComponentRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ByteComponentRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -261,7 +261,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements];
         } else {
@@ -309,7 +309,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[w*h*numDataElements];
         } else {
@@ -463,7 +463,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int off = (y-minY)*scanlineStride +
                   (x-minX)*pixelStride;
 
@@ -583,7 +583,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int yoff = (y-minY)*scanlineStride +
                    (x-minX)*pixelStride;
         int xoff;
--- a/src/java.desktop/share/classes/sun/awt/image/ByteInterleavedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ByteInterleavedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -313,7 +313,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements];
         } else {
@@ -541,7 +541,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int off = (y-minY)*scanlineStride +
                   (x-minX)*pixelStride;
 
@@ -871,7 +871,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int samples[];
+        int[] samples;
         if (iArray != null) {
             samples = iArray;
         } else {
@@ -909,7 +909,7 @@
         return samples;
     }
 
-    public void setSamples(int x, int y, int w, int h, int b, int iArray[]) {
+    public void setSamples(int x, int y, int w, int h, int b, int[] iArray) {
         if ((x < this.minX) || (y < this.minY) ||
             (x + w > this.maxX) || (y + h > this.maxY)) {
             throw new ArrayIndexOutOfBoundsException
@@ -954,7 +954,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int pixels[];
+        int[] pixels;
         if (iArray != null) {
             pixels = iArray;
         } else {
--- a/src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -244,7 +244,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements];
         } else {
@@ -318,7 +318,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte outData[];
+        byte[] outData;
         if (obj == null) {
             outData = new byte[numDataElements*w*h];
         } else {
@@ -328,7 +328,7 @@
         int scanbit = dataBitOffset + (x-minX) * pixbits;
         int index = (y-minY) * scanlineStride;
         int outindex = 0;
-        byte data[] = this.data;
+        byte[] data = this.data;
 
         for (int j = 0; j < h; j++) {
             int bitnum = scanbit;
@@ -399,7 +399,7 @@
         int scanbit = dataBitOffset + (x-minX) * pixbits;
         int index = (y-minY) * scanlineStride;
         int outindex = 0;
-        byte data[] = this.data;
+        byte[] data = this.data;
 
         for (int j = 0; j < h; j++) {
             int bitnum = scanbit;
@@ -506,7 +506,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        byte inData[] = (byte[])obj;
+        byte[] inData = (byte[])obj;
         int bitnum = dataBitOffset + (x-minX) * pixelBitStride;
         int index = (y-minY) * scanlineStride + (bitnum >> 3);
         int shift = shiftOffset - (bitnum & 7);
@@ -917,7 +917,7 @@
         int scanbit = dataBitOffset + (x - minX) * pixbits;
         int index = (y - minY) * scanlineStride;
         int outindex = 0;
-        byte data[] = this.data;
+        byte[] data = this.data;
         for (int j = 0; j < h; j++) {
             int bitnum = scanbit;
             int element;
@@ -1025,7 +1025,7 @@
      * @param iArray An optionally pre-allocated int array
      * @return the samples for the specified rectangle of pixels.
      */
-    public int[] getPixels(int x, int y, int w, int h, int iArray[]) {
+    public int[] getPixels(int x, int y, int w, int h, int[] iArray) {
         if ((x < this.minX) || (y < this.minY) ||
             (x + w > this.maxX) || (y + h > this.maxY)) {
             throw new ArrayIndexOutOfBoundsException
@@ -1038,7 +1038,7 @@
         int scanbit = dataBitOffset + (x-minX) * pixbits;
         int index = (y-minY) * scanlineStride;
         int outindex = 0;
-        byte data[] = this.data;
+        byte[] data = this.data;
 
         for (int j = 0; j < h; j++) {
             int bitnum = scanbit;
@@ -1138,7 +1138,7 @@
      * @param h        Height of the pixel rectangle.
      * @param iArray   The input int pixel array.
      */
-    public void setPixels(int x, int y, int w, int h, int iArray[]) {
+    public void setPixels(int x, int y, int w, int h, int[] iArray) {
         if ((x < this.minX) || (y < this.minY) ||
             (x + w > this.maxX) || (y + h > this.maxY)) {
             throw new ArrayIndexOutOfBoundsException
@@ -1148,7 +1148,7 @@
         int scanbit = dataBitOffset + (x - minX) * pixbits;
         int index = (y - minY) * scanlineStride;
         int outindex = 0;
-        byte data[] = this.data;
+        byte[] data = this.data;
         for (int j = 0; j < h; j++) {
             int bitnum = scanbit;
             int element;
--- a/src/java.desktop/share/classes/sun/awt/image/GifImageDecoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/GifImageDecoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -86,7 +86,7 @@
      * Read a number of bytes into a buffer.
      * @return number of bytes that were not read due to EOF or error
      */
-    private int readBytes(byte buf[], int off, int len) {
+    private int readBytes(byte[] buf, int off, int len) {
         while (len > 0) {
             try {
                 int n = input.read(buf, off, len);
@@ -102,11 +102,11 @@
         return len;
     }
 
-    private static final int ExtractByte(byte buf[], int off) {
+    private static final int ExtractByte(byte[] buf, int off) {
         return (buf[off] & 0xFF);
     }
 
-    private static final int ExtractWord(byte buf[], int off) {
+    private static final int ExtractWord(byte[] buf, int off) {
         return (buf[off] & 0xFF) | ((buf[off + 1] & 0xFF) << 8);
     }
 
@@ -133,7 +133,7 @@
                   case EXBLOCK:
                     switch (code = input.read()) {
                       case EX_GRAPHICS_CONTROL: {
-                        byte buf[] = new byte[6];
+                        byte[] buf = new byte[6];
                         if (readBytes(buf, 0, 6) != 0) {
                             return;//error("corrupt GIF file");
                         }
@@ -165,7 +165,7 @@
                             if (n <= 0) {
                                 break;
                             }
-                            byte buf[] = new byte[n];
+                            byte[] buf = new byte[n];
                             if (readBytes(buf, 0, n) != 0) {
                                 return;//error("corrupt GIF file");
                             }
@@ -275,7 +275,7 @@
      */
     private void readHeader() throws IOException, ImageFormatException {
         // Create a buffer
-        byte buf[] = new byte[13];
+        byte[] buf = new byte[13];
 
         // Read the header
         if (readBytes(buf, 0, 13) != 0) {
@@ -339,9 +339,9 @@
         ImageConsumer.RANDOMPIXELORDER | ImageConsumer.COMPLETESCANLINES |
         ImageConsumer.SINGLEPASS | ImageConsumer.SINGLEFRAME;
 
-    private short prefix[]  = new short[4096];
-    private byte  suffix[]  = new byte[4096];
-    private byte  outCode[] = new byte[4097];
+    private short[] prefix  = new short[4096];
+    private byte[]  suffix  = new byte[4096];
+    private byte[]  outCode = new byte[4097];
 
     private static native void initIDs();
 
@@ -353,11 +353,11 @@
 
     private native boolean parseImage(int x, int y, int width, int height,
                                       boolean interlace, int initCodeSize,
-                                      byte block[], byte rasline[],
+                                      byte[] block, byte[] rasline,
                                       IndexColorModel model);
 
     private int sendPixels(int x, int y, int width, int height,
-                           byte rasline[], ColorModel model) {
+                           byte[] rasline, ColorModel model) {
         int rasbeg, rasend, x2;
         if (y < 0) {
             height += y;
@@ -467,7 +467,7 @@
         }
 
         // Allocate the buffer
-        byte block[] = new byte[256 + 3];
+        byte[] block = new byte[256 + 3];
 
         // Read the image descriptor
         if (readBytes(block, 0, 10) != 0) {
@@ -557,7 +557,7 @@
             if ((height < global_height) && (model != null)) {
                 byte tpix = (byte)model.getTransparentPixel();
                 if (tpix >= 0) {
-                    byte trans_rasline[] = new byte[global_width];
+                    byte[] trans_rasline = new byte[global_width];
                     for (int i=0; i<global_width;i++) {
                         trans_rasline[i] = tpix;
                     }
@@ -579,7 +579,7 @@
                                 x, y, width, height);
 
         // allocate the raster data
-        byte rasline[] = new byte[width];
+        byte[] rasline = new byte[width];
 
         if (verbose) {
             System.out.print("Reading a " + width + " by " + height + " " +
--- a/src/java.desktop/share/classes/sun/awt/image/ImageDecoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ImageDecoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -118,7 +118,7 @@
     }
 
     protected int setPixels(int x, int y, int w, int h, ColorModel model,
-                            byte pix[], int off, int scansize) {
+                            byte[] pix, int off, int scansize) {
         source.latchConsumers(this);
         ImageConsumerQueue cq = null;
         int count = 0;
@@ -130,7 +130,7 @@
     }
 
     protected int setPixels(int x, int y, int w, int h, ColorModel model,
-                            int pix[], int off, int scansize) {
+                            int[] pix, int off, int scansize) {
         source.latchConsumers(this);
         ImageConsumerQueue cq = null;
         int count = 0;
--- a/src/java.desktop/share/classes/sun/awt/image/ImageRepresentation.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ImageRepresentation.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -284,7 +284,7 @@
         DataBufferInt dbi = new DataBufferInt(size);
         // Note that stealData() requires a markDirty() afterwards
         // since we modify the data in it.
-        int newpixels[] = SunWritableRaster.stealData(dbi, 0);
+        int[] newpixels = SunWritableRaster.stealData(dbi, 0);
         if (cmodel instanceof IndexColorModel &&
             biRaster instanceof ByteComponentRaster &&
             biRaster.getNumDataElements() == 1)
@@ -312,7 +312,7 @@
         isSameCM = false;
         cmodel = ColorModel.getRGBdefault();
 
-        int bandMasks[] = {0x00ff0000,
+        int[] bandMasks = {0x00ff0000,
                            0x0000ff00,
                            0x000000ff,
                            0xff000000};
@@ -344,7 +344,7 @@
 
     public void setPixels(int x, int y, int w, int h,
                           ColorModel model,
-                          byte pix[], int off, int scansize) {
+                          byte[] pix, int off, int scansize) {
         int lineOff=off;
         int poff;
         int[] newLUT=null;
@@ -541,7 +541,7 @@
 
 
     public void setPixels(int x, int y, int w, int h, ColorModel model,
-                          int pix[], int off, int scansize)
+                          int[] pix, int off, int scansize)
     {
         int lineOff=off;
         int poff;
@@ -662,7 +662,7 @@
                                                       0x0000ff00,
                                                       0x000000ff);
 
-            int bandmasks[] = {0x00ff0000, 0x0000ff00, 0x000000ff};
+            int[] bandmasks = {0x00ff0000, 0x0000ff00, 0x000000ff};
             WritableRaster opRaster = Raster.createPackedRaster(db, w, h, w,
                                                                 bandmasks,
                                                                 null);
--- a/src/java.desktop/share/classes/sun/awt/image/IntegerComponentRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/IntegerComponentRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -272,7 +272,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int outData[];
+        int[] outData;
         if (obj == null) {
             outData = new int[numDataElements];
         } else {
@@ -320,7 +320,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int outData[];
+        int[] outData;
         if (obj instanceof int[]) {
             outData = (int[])obj;
         } else {
@@ -364,7 +364,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int inData[] = (int[])obj;
+        int[] inData = (int[])obj;
 
         int off = (y-minY)*scanlineStride +
                   (x-minX)*pixelStride;
@@ -423,7 +423,7 @@
 
         int srcOffX = inRaster.getMinX();
         int srcOffY = inRaster.getMinY();
-        int tdata[] = null;
+        int[] tdata = null;
 
         if (inRaster instanceof IntegerComponentRaster &&
             (pixelStride == 1) && (numDataElements == 1)) {
@@ -496,7 +496,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int inData[] = (int[])obj;
+        int[] inData = (int[])obj;
 
         int yoff = (y-minY)*scanlineStride +
                    (x-minX)*pixelStride;
@@ -540,7 +540,7 @@
     public WritableRaster createWritableChild (int x, int y,
                                                int width, int height,
                                                int x0, int y0,
-                                               int bandList[]) {
+                                               int[] bandList) {
         if (x < this.minX) {
             throw new RasterFormatException("x lies outside raster");
         }
@@ -594,7 +594,7 @@
     public Raster createChild (int x, int y,
                                int width, int height,
                                int x0, int y0,
-                               int bandList[]) {
+                               int[] bandList) {
         return createWritableChild(x, y, width, height, x0, y0, bandList);
     }
 
--- a/src/java.desktop/share/classes/sun/awt/image/IntegerInterleavedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/IntegerInterleavedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -215,7 +215,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int outData[];
+        int[] outData;
         if (obj == null) {
             outData = new int[1];
         } else {
@@ -260,7 +260,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int outData[];
+        int[] outData;
         if (obj instanceof int[]) {
             outData = (int[])obj;
         } else {
@@ -297,7 +297,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int inData[] = (int[])obj;
+        int[] inData = (int[])obj;
 
         int off = (y-minY)*scanlineStride + (x-minX) + dataOffsets[0];
 
@@ -354,7 +354,7 @@
 
         int srcOffX = inRaster.getMinX();
         int srcOffY = inRaster.getMinY();
-        int tdata[] = null;
+        int[] tdata = null;
 
         if (inRaster instanceof IntegerInterleavedRaster) {
             IntegerInterleavedRaster ict = (IntegerInterleavedRaster) inRaster;
@@ -417,7 +417,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        int inData[] = (int[])obj;
+        int[] inData = (int[])obj;
         int yoff = (y-minY)*scanlineStride + (x-minX) + dataOffsets[0];
         int off = 0;
 
@@ -452,7 +452,7 @@
     public WritableRaster createWritableChild (int x, int y,
                                                int width, int height,
                                                int x0, int y0,
-                                               int bandList[]) {
+                                               int[] bandList) {
         if (x < this.minX) {
             throw new RasterFormatException("x lies outside raster");
         }
@@ -506,7 +506,7 @@
     public Raster createChild (int x, int y,
                                    int width, int height,
                                    int x0, int y0,
-                                   int bandList[]) {
+                                   int[] bandList) {
         return createWritableChild(x, y, width, height, x0, y0, bandList);
     }
 
--- a/src/java.desktop/share/classes/sun/awt/image/JPEGImageDecoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/JPEGImageDecoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,14 +63,14 @@
         initIDs(InputStreamClass);
         RGBcolormodel = new DirectColorModel(24, 0xff0000, 0xff00, 0xff);
         ARGBcolormodel = ColorModel.getRGBdefault();
-        byte g[] = new byte[256];
+        byte[] g = new byte[256];
         for (int i = 0; i < 256; i++) {
             g[i] = (byte) i;
         }
         Graycolormodel = new IndexColorModel(8, 256, g, g, g);
     }
 
-    private native void readImage(InputStream is, byte buf[])
+    private native void readImage(InputStream is, byte[] buf)
         throws ImageFormatException, IOException;
 
     Hashtable<String, Object> props = new Hashtable<>();
@@ -115,7 +115,7 @@
         return true;
     }
 
-    public boolean sendPixels(int pixels[], int y) {
+    public boolean sendPixels(int[] pixels, int y) {
         int count = setPixels(0, y, pixels.length, 1, colormodel,
                               pixels, 0, pixels.length);
         if (count <= 0) {
@@ -124,7 +124,7 @@
         return !aborted;
     }
 
-    public boolean sendPixels(byte pixels[], int y) {
+    public boolean sendPixels(byte[] pixels, int y) {
         int count = setPixels(0, y, pixels.length, 1, colormodel,
                               pixels, 0, pixels.length);
         if (count <= 0) {
--- a/src/java.desktop/share/classes/sun/awt/image/PNGImageDecoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/PNGImageDecoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -76,7 +76,7 @@
     private byte[] red_map, green_map, blue_map, alpha_map;
     private int transparentPixel = -1;
     private byte[]  transparentPixel_16 = null; // we need 6 bytes to store 16bpp value
-    private static ColorModel greyModels[] = new ColorModel[4];
+    private static ColorModel[] greyModels = new ColorModel[4];
   /* this is not needed
      PNGImageDecoder next;
      */
@@ -287,7 +287,7 @@
                         if((cm=greyModels[llog]) == null) {
                             int size = 1<<(1<<llog);
 
-                            byte ramp[] = new byte[size];
+                            byte[] ramp = new byte[size];
                             for(int i = 0; i<size; i++) ramp[i] = (byte)(255*i/(size-1));
 
                             if (transparentPixel == -1) {
@@ -564,7 +564,7 @@
         return !aborted;
     }
 
-    private void filterRow(byte rowByteBuffer[], byte[] prevRow,
+    private void filterRow(byte[] rowByteBuffer, byte[] prevRow,
                            int rowFilter, int rowByteWidth, int bytesPerSample)
         throws IOException {
         int x = 0;
@@ -684,7 +684,7 @@
         fill();
         if(limit-pos>=n) return true;
         if(seenEOF) return false;
-        byte nin[] = new byte[n+100];
+        byte[] nin = new byte[n+100];
         System.arraycopy(inbuf,pos,nin,0,limit-pos);
         limit = limit-pos;
         pos = 0;
--- a/src/java.desktop/share/classes/sun/awt/image/ShortBandedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ShortBandedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -134,9 +134,9 @@
         if (sampleModel instanceof BandedSampleModel) {
             BandedSampleModel bsm = (BandedSampleModel)sampleModel;
             this.scanlineStride = bsm.getScanlineStride();
-            int bankIndices[] = bsm.getBankIndices();
-            int bandOffsets[] = bsm.getBandOffsets();
-            int dOffsets[] = dataBuffer.getOffsets();
+            int[] bankIndices = bsm.getBankIndices();
+            int[] bandOffsets = bsm.getBandOffsets();
+            int[] dOffsets = dataBuffer.getOffsets();
             dataOffsets = new int[bankIndices.length];
             data = new short[bankIndices.length][];
             int xOffset = aRegion.x - origin.x;
@@ -225,7 +225,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[numDataElements];
         } else {
@@ -271,7 +271,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[numDataElements*w*h];
         } else {
@@ -411,7 +411,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int off = (y-minY)*scanlineStride + (x-minX);
         for (int i = 0; i < numDataElements; i++) {
             data[i][dataOffsets[i] + off] = inData[i];
@@ -508,7 +508,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int yoff = (y-minY)*scanlineStride + (x-minX);
 
         for (int c = 0; c < numDataElements; c++) {
@@ -638,7 +638,7 @@
     public WritableRaster createWritableChild(int x, int y,
                                               int width, int height,
                                               int x0, int y0,
-                                              int bandList[]) {
+                                              int[] bandList) {
 
         if (x < this.minX) {
             throw new RasterFormatException("x lies outside raster");
@@ -694,7 +694,7 @@
     public Raster createChild (int x, int y,
                                int width, int height,
                                int x0, int y0,
-                               int bandList[]) {
+                               int[] bandList) {
         return createWritableChild(x, y, width, height, x0, y0, bandList);
     }
 
--- a/src/java.desktop/share/classes/sun/awt/image/ShortComponentRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ShortComponentRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -259,7 +259,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[numDataElements];
         } else {
@@ -307,7 +307,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[w*h*numDataElements];
         } else {
@@ -460,7 +460,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int off = (y-minY)*scanlineStride +
                   (x-minX)*pixelStride;
         for (int i = 0; i < numDataElements; i++) {
@@ -558,7 +558,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int yoff = (y-minY)*scanlineStride +
                    (x-minX)*pixelStride;
         int xoff;
--- a/src/java.desktop/share/classes/sun/awt/image/ShortInterleavedRaster.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/ShortInterleavedRaster.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -233,7 +233,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[numDataElements];
         } else {
@@ -281,7 +281,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short outData[];
+        short[] outData;
         if (obj == null) {
             outData = new short[w*h*numDataElements];
         } else {
@@ -434,7 +434,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int off = (y-minY)*scanlineStride +
                   (x-minX)*pixelStride;
         for (int i = 0; i < numDataElements; i++) {
@@ -531,7 +531,7 @@
             throw new ArrayIndexOutOfBoundsException
                 ("Coordinate out of bounds!");
         }
-        short inData[] = (short[])obj;
+        short[] inData = (short[])obj;
         int yoff = (y-minY)*scanlineStride +
                    (x-minX)*pixelStride;
         int xoff;
--- a/src/java.desktop/share/classes/sun/awt/image/XbmImageDecoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/image/XbmImageDecoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,7 +44,7 @@
  * @author James Gosling
  */
 public class XbmImageDecoder extends ImageDecoder {
-    private static byte XbmColormap[] = {(byte) 255, (byte) 255, (byte) 255,
+    private static byte[] XbmColormap = {(byte) 255, (byte) 255, (byte) 255,
                                          0, 0, 0};
     private static int XbmHints = (ImageConsumer.TOPDOWNLEFTRIGHT |
                                    ImageConsumer.COMPLETESCANLINES |
@@ -72,7 +72,7 @@
      * produce an image from the stream.
      */
     public void produceImage() throws IOException, ImageFormatException {
-        char nm[] = new char[80];
+        char[] nm = new char[80];
         int c;
         int i = 0;
         int state = 0;
@@ -81,7 +81,7 @@
         int x = 0;
         int y = 0;
         boolean start = true;
-        byte raster[] = null;
+        byte[] raster = null;
         IndexColorModel model = null;
         while (!aborted && (c = input.read()) != -1) {
             if ('a' <= c && c <= 'z' ||
--- a/src/java.desktop/share/classes/sun/awt/shell/ShellFolderManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/shell/ShellFolderManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,8 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.concurrent.Callable;
+import java.util.stream.Stream;
+
 
 /**
  * @author Michael Martak
@@ -68,13 +70,13 @@
             // Return the default shellfolder for a new filechooser
             File homeDir = new File(System.getProperty("user.home"));
             try {
-                return createShellFolder(homeDir);
+                return checkFile(createShellFolder(homeDir));
             } catch (FileNotFoundException e) {
-                return homeDir;
+                return checkFile(homeDir);
             }
         } else if (key.equals("roots")) {
             // The root(s) of the displayable hierarchy
-            return File.listRoots();
+            return checkFiles(File.listRoots());
         } else if (key.equals("fileChooserComboBoxFolders")) {
             // Return an array of ShellFolders representing the list to
             // show by default in the file chooser's combobox
@@ -84,11 +86,42 @@
             // folders, such as Desktop, Documents, History, Network, Home, etc.
             // This is used in the shortcut panel of the filechooser on Windows 2000
             // and Windows Me
-            return new File[] { (File)get("fileChooserDefaultFolder") };
+            return checkFiles(new File[] { (File)get("fileChooserDefaultFolder") });
         }
+
         return null;
     }
 
+    private static File checkFile(File f) {
+        SecurityManager sm = System.getSecurityManager();
+        return (sm == null || f == null) ? f : checkFile(f, sm);
+    }
+
+    private static File checkFile(File f, SecurityManager sm) {
+        try {
+            sm.checkRead(f.getPath());
+            if (f instanceof ShellFolder) {
+                ShellFolder sf = (ShellFolder)f;
+                if (sf.isLink()) {
+                    sm.checkRead(sf.getLinkLocation().getPath());
+                }
+            }
+            return f;
+        } catch (SecurityException | FileNotFoundException e) {
+            return null;
+        }
+    }
+
+    private static File[] checkFiles(File[] fs) {
+        SecurityManager sm = System.getSecurityManager();
+        return (sm == null || fs == null) ? fs : checkFiles(Stream.of(fs), sm);
+    }
+
+    private static File[] checkFiles(Stream<File> fs, SecurityManager sm) {
+        return fs.filter(f -> f != null && checkFile(f, sm) != null)
+                 .toArray(File[]::new);
+    }
+
     /**
      * Does {@code dir} represent a "computer" such as a node on the network, or
      * "My Computer" on the desktop.
--- a/src/java.desktop/share/classes/sun/awt/util/IdentityArrayList.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/awt/util/IdentityArrayList.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -172,7 +172,7 @@
         modCount++;
         int oldCapacity = elementData.length;
         if (minCapacity > oldCapacity) {
-            Object oldData[] = elementData;
+            Object[] oldData = elementData;
             int newCapacity = (oldCapacity * 3)/2 + 1;
             if (newCapacity < minCapacity)
                 newCapacity = minCapacity;
--- a/src/java.desktop/share/classes/sun/font/CompositeGlyphMapper.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/CompositeGlyphMapper.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,7 +53,7 @@
 
 
     CompositeFont font;
-    CharToGlyphMapper slotMappers[];
+    CharToGlyphMapper[] slotMappers;
     int[][] glyphMaps;
     private boolean hasExcludes;
 
--- a/src/java.desktop/share/classes/sun/font/Font2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/Font2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -405,7 +405,7 @@
      */
     public void getFontMetrics(Font font, AffineTransform at,
                                Object aaHint, Object fmHint,
-                               float metrics[]) {
+                               float[] metrics) {
         /* This is called in just one place in Font with "at" == identity.
          * Perhaps this can be eliminated.
          */
@@ -449,7 +449,7 @@
      *    metrics[3]: max advance
      */
     public void getFontMetrics(Font font, FontRenderContext frc,
-                               float metrics[]) {
+                               float[] metrics) {
         StrikeMetrics strikeMetrics = getStrike(font, frc).getFontMetrics();
         metrics[0] = strikeMetrics.getAscent();
         metrics[1] = strikeMetrics.getDescent();
--- a/src/java.desktop/share/classes/sun/font/FontDesignMetrics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/FontDesignMetrics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -487,7 +487,7 @@
         return (int) (0.5 + width);
     }
 
-    public int charsWidth(char data[], int off, int len) {
+    public int charsWidth(char[] data, int off, int len) {
 
         float width = 0;
         if (font.hasLayoutAttributes()) {
@@ -524,7 +524,7 @@
      * the arguments and that the text is simple and there are no
      * layout attributes, font transform etc.
      */
-    public Rectangle2D getSimpleBounds(char data[], int off, int len) {
+    public Rectangle2D getSimpleBounds(char[] data, int off, int len) {
 
         float width = 0;
         int limit = off + len;
--- a/src/java.desktop/share/classes/sun/font/GlyphList.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/GlyphList.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -83,8 +83,8 @@
     private static final int DEFAULT_LENGTH = 32;
 
     int glyphindex;
-    int metrics[];
-    byte graybits[];
+    int[] metrics;
+    byte[] graybits;
 
     /* A reference to the strike is needed for the case when the GlyphList
      * may be added to a queue for batch processing, (e.g. OpenGL) and we need
@@ -107,10 +107,10 @@
     int len = 0;
     int maxLen = 0;
     int maxPosLen = 0;
-    int glyphData[];
-    char chData[];
-    long images[];
-    float positions[];
+    int[] glyphData;
+    char[] chData;
+    long[] images;
+    float[] positions;
     float x, y;
     float gposx, gposy;
     boolean usePositions;
--- a/src/java.desktop/share/classes/sun/font/ScriptRun.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/ScriptRun.java	Thu Nov 01 09:01:15 2018 -0400
@@ -80,7 +80,7 @@
     private int scriptLimit;
     private int scriptCode;
 
-    private int stack[];         // stack used to handle paired punctuation if encountered
+    private int[] stack;         // stack used to handle paired punctuation if encountered
     private int parenSP;
 
     public ScriptRun() {
@@ -354,7 +354,7 @@
     }
 
     // all common
-    private static int pairedChars[] = {
+    private static int[] pairedChars = {
         0x0028, 0x0029, // ascii paired punctuation  // common
         0x003c, 0x003e, // common
         0x005b, 0x005d, // common
--- a/src/java.desktop/share/classes/sun/font/SunFontManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/SunFontManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -145,7 +145,7 @@
       */
      // MACOSX begin -- need to access these in subclass
      protected static final int CHANNELPOOLSIZE = 20;
-     protected FileFont fontFileCache[] = new FileFont[CHANNELPOOLSIZE];
+     protected FileFont[] fontFileCache = new FileFont[CHANNELPOOLSIZE];
      // MACOSX end
      private int lastPoolIndex = 0;
 
--- a/src/java.desktop/share/classes/sun/font/TrueTypeFont.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/TrueTypeFont.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -614,7 +614,7 @@
      * the windows encodings we expect as the default encoding in
      * supported locales, so we only map the first of these fields.
      */
-    static final String encoding_mapping[] = {
+    static final String[] encoding_mapping = {
         "cp1252",    /*  0:Latin 1  */
         "cp1250",    /*  1:Latin 2  */
         "cp1251",    /*  2:Cyrillic */
@@ -662,7 +662,7 @@
      * from needing to map to this small and incomplete set of Windows
      * code pages which looks odd on non-Windows platforms.
      */
-    private static final String languages[][] = {
+    private static final String[][] languages = {
 
         /* cp1252/Latin 1 */
         { "en", "ca", "da", "de", "es", "fi", "fr", "is", "it",
@@ -709,7 +709,7 @@
         { "ko" },
     };
 
-    private static final String codePages[] = {
+    private static final String[] codePages = {
         "cp1252",
         "cp1250",
         "cp1251",
--- a/src/java.desktop/share/classes/sun/font/Type1Font.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/font/Type1Font.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -114,14 +114,14 @@
                several capital letters because current expansion algorithm do not support this.
                (namely we have omited MM aka "Multiple Master", OsF aka "Oldstyle figures",
                            OS aka "Oldstyle", SC aka "Small caps" and  DS aka "Display" */
-        String nm[] = {"Black", "Bold", "Book", "Demi", "Heavy", "Light",
+        String[] nm = {"Black", "Bold", "Book", "Demi", "Heavy", "Light",
                        "Meduium", "Nord", "Poster", "Regular", "Super", "Thin",
                        "Compressed", "Condensed", "Compact", "Extended", "Narrow",
                        "Inclined", "Italic", "Kursiv", "Oblique", "Upright", "Sloped",
                        "Semi", "Ultra", "Extra",
                        "Alternate", "Alternate", "Deutsche Fraktur", "Expert", "Inline", "Ornaments",
                        "Outline", "Roman", "Rounded", "Script", "Shaded", "Swash", "Titling", "Typewriter"};
-        String abbrv[] = {"Blk", "Bd", "Bk", "Dm", "Hv", "Lt",
+        String[] abbrv = {"Blk", "Bd", "Bk", "Dm", "Hv", "Lt",
                           "Md", "Nd", "Po", "Rg", "Su", "Th",
                           "Cm", "Cn", "Ct", "Ex", "Nr",
                           "Ic", "It", "Ks", "Obl", "Up", "Sl",
@@ -131,7 +131,7 @@
        /* This is only subset of names from nm[] because we want to distinguish things
            like "Lucida Sans TypeWriter Bold" and "Lucida Sans Bold".
            Names from "Design and/or special purpose" group are omitted. */
-       String styleTokens[] = {"Black", "Bold", "Book", "Demi", "Heavy", "Light",
+       String[] styleTokens = {"Black", "Bold", "Book", "Demi", "Heavy", "Light",
                        "Medium", "Nord", "Poster", "Regular", "Super", "Thin",
                        "Compressed", "Condensed", "Compact", "Extended", "Narrow",
                        "Inclined", "Italic", "Kursiv", "Oblique", "Upright", "Sloped", "Slanted",
--- a/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1858,7 +1858,7 @@
             // optimal test for most transforms and so the conservative
             // answer should not cause too much extra work.
 
-            double d[] = {
+            double[] d = {
                 x, y,
                 x+width, y,
                 x, y+height,
@@ -1905,7 +1905,7 @@
             clipRegion = devClip.getIntersection((Rectangle2D) usrClip);
         } else {
             PathIterator cpi = usrClip.getPathIterator(null);
-            int box[] = new int[4];
+            int[] box = new int[4];
             ShapeSpanIterator sr = LoopPipe.getFillSSI(this);
             try {
                 sr.setOutputArea(devClip);
@@ -1992,7 +1992,7 @@
             (tx.getType() & NON_RECTILINEAR_TRANSFORM_MASK) == 0)
         {
             Rectangle2D rect = (Rectangle2D) clip;
-            double matrix[] = new double[4];
+            double[] matrix = new double[4];
             matrix[0] = rect.getX();
             matrix[1] = rect.getY();
             matrix[2] = matrix[0] + rect.getWidth();
@@ -2351,7 +2351,7 @@
         }
     }
 
-    public void drawPolyline(int xPoints[], int yPoints[], int nPoints) {
+    public void drawPolyline(int[] xPoints, int[] yPoints, int nPoints) {
         try {
             drawpipe.drawPolyline(this, xPoints, yPoints, nPoints);
         } catch (InvalidPipeException e) {
@@ -2368,7 +2368,7 @@
         }
     }
 
-    public void drawPolygon(int xPoints[], int yPoints[], int nPoints) {
+    public void drawPolygon(int[] xPoints, int[] yPoints, int nPoints) {
         try {
             drawpipe.drawPolygon(this, xPoints, yPoints, nPoints);
         } catch (InvalidPipeException e) {
@@ -2385,7 +2385,7 @@
         }
     }
 
-    public void fillPolygon(int xPoints[], int yPoints[], int nPoints) {
+    public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints) {
         try {
             fillpipe.fillPolygon(this, xPoints, yPoints, nPoints);
         } catch (InvalidPipeException e) {
@@ -2586,7 +2586,7 @@
 
         Rectangle result = null;
         try {
-            double p[] = new double[8];
+            double[] p = new double[8];
             p[0] = p[2] = compClip.getLoX();
             p[4] = p[6] = compClip.getHiX();
             p[1] = p[5] = compClip.getLoY();
@@ -3016,7 +3016,7 @@
         }
     }
 
-    public void drawChars(char data[], int offset, int length, int x, int y) {
+    public void drawChars(char[] data, int offset, int length, int x, int y) {
 
         if (data == null) {
             throw new NullPointerException("char data is null");
@@ -3049,7 +3049,7 @@
         }
     }
 
-    public void drawBytes(byte data[], int offset, int length, int x, int y) {
+    public void drawBytes(byte[] data, int offset, int length, int x, int y) {
         if (data == null) {
             throw new NullPointerException("byte data is null");
         }
@@ -3057,7 +3057,7 @@
             throw new ArrayIndexOutOfBoundsException("bad offset/length");
         }
         /* Byte data is interpreted as 8-bit ASCII. Re-use drawChars loops */
-        char chData[] = new char[length];
+        char[] chData = new char[length];
         for (int i = length; i-- > 0; ) {
             chData[i] = (char)(data[i+offset] & 0xff);
         }
--- a/src/java.desktop/share/classes/sun/java2d/loops/Blit.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/Blit.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -165,7 +165,7 @@
             if (clip == null) {
                 clip = Region.getInstanceXYWH(dstx, dsty, width, height);
             }
-            int span[] = {dstx, dsty, dstx+width, dsty+height};
+            int[] span = {dstx, dsty, dstx+width, dsty+height};
             SpanIterator si = clip.getSpanIterator(span);
             srcx -= dstx;
             srcy -= dsty;
--- a/src/java.desktop/share/classes/sun/java2d/loops/CustomComponent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/CustomComponent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -135,7 +135,7 @@
         // assert(icr.getPixelStride() == 1);
         srcx -= dstx;
         srcy -= dsty;
-        int span[] = new int[4];
+        int[] span = new int[4];
         while (si.nextSpan(span)) {
             int rowoff = icr.getDataOffset(0) + span[1] * dstScan + span[0];
             for (int y = span[1]; y < span[3]; y++) {
@@ -191,7 +191,7 @@
         // assert(icr.getPixelStride() == 1);
         srcx -= dstx;
         srcy -= dsty;
-        int span[] = new int[4];
+        int[] span = new int[4];
         while (si.nextSpan(span)) {
             int rowoff = (icr.getDataOffset(0) +
                           (srcy + span[1]) * srcScan +
@@ -250,7 +250,7 @@
         // assert(icr.getPixelStride() == 1);
         srcx -= dstx;
         srcy -= dsty;
-        int span[] = new int[4];
+        int[] span = new int[4];
         while (si.nextSpan(span)) {
             int rowoff = (icr.getDataOffset(0) +
                           (srcy + span[1]) * srcScan +
--- a/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphList.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphList.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -97,7 +97,7 @@
         public void DrawGlyphList(SunGraphics2D sg2d, SurfaceData dest,
                                   GlyphList gl) {
 
-            int strbounds[] = gl.getBounds(); // Don't delete, bug 4895493
+            int[] strbounds = gl.getBounds(); // Don't delete, bug 4895493
             int num = gl.getNumGlyphs();
             Region clip = sg2d.getCompClip();
             int cx1 = clip.getLoX();
@@ -106,7 +106,7 @@
             int cy2 = clip.getHiY();
             for (int i = 0; i < num; i++) {
                 gl.setGlyphIndex(i);
-                int metrics[] = gl.getMetrics();
+                int[] metrics = gl.getMetrics();
                 int gx1 = metrics[0];
                 int gy1 = metrics[1];
                 int w = metrics[2];
@@ -124,7 +124,7 @@
                 if (gx2 > cx2) gx2 = cx2;
                 if (gy2 > cy2) gy2 = cy2;
                 if (gx2 > gx1 && gy2 > gy1) {
-                    byte alpha[] = gl.getGrayBits();
+                    byte[] alpha = gl.getGrayBits();
                     maskop.MaskFill(sg2d, dest, sg2d.composite,
                                     gx1, gy1, gx2 - gx1, gy2 - gy1,
                                     alpha, off, w);
--- a/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListAA.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListAA.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -104,7 +104,7 @@
             int cy2 = clip.getHiY();
             for (int i = 0; i < num; i++) {
                 gl.setGlyphIndex(i);
-                int metrics[] = gl.getMetrics();
+                int[] metrics = gl.getMetrics();
                 int gx1 = metrics[0];
                 int gy1 = metrics[1];
                 int w = metrics[2];
@@ -122,7 +122,7 @@
                 if (gx2 > cx2) gx2 = cx2;
                 if (gy2 > cy2) gy2 = cy2;
                 if (gx2 > gx1 && gy2 > gy1) {
-                    byte alpha[] = gl.getGrayBits();
+                    byte[] alpha = gl.getGrayBits();
                     maskop.MaskFill(sg2d, dest, sg2d.composite,
                                     gx1, gy1, gx2 - gx1, gy2 - gy1,
                                     alpha, off, w);
--- a/src/java.desktop/share/classes/sun/java2d/loops/DrawPolygons.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/DrawPolygons.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -73,8 +73,8 @@
      *   All DrawPolygon implementors must have this invoker method
      */
     public native void DrawPolygons(SunGraphics2D sg2d, SurfaceData sData,
-                                    int xPoints[], int yPoints[],
-                                    int nPoints[], int numPolys,
+                                    int[] xPoints, int[] yPoints,
+                                    int[] nPoints, int numPolys,
                                     int transX, int transY,
                                     boolean close);
 
@@ -106,8 +106,8 @@
         }
 
         public void DrawPolygons(SunGraphics2D sg2d, SurfaceData sData,
-                                 int xPoints[], int yPoints[],
-                                 int nPoints[], int numPolys,
+                                 int[] xPoints, int[] yPoints,
+                                 int[] nPoints, int numPolys,
                                  int transX, int transY,
                                  boolean close)
         {
--- a/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/GeneralRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -152,7 +152,7 @@
     }
 
     static void doDrawPoly(SurfaceData sData, PixelWriter pw,
-                           int xPoints[], int yPoints[], int off, int nPoints,
+                           int[] xPoints, int[] yPoints, int off, int nPoints,
                            Region clip, int transx, int transy, boolean close)
     {
         int mx, my, x1, y1;
@@ -381,7 +381,7 @@
         int num = gl.getNumGlyphs();
         for (int i = 0; i < num; i++) {
             gl.setGlyphIndex(i);
-            int metrics[] = gl.getMetrics();
+            int[] metrics = gl.getMetrics();
             int gx1 = metrics[0];
             int gy1 = metrics[1];
             int w = metrics[2];
@@ -399,7 +399,7 @@
             if (gx2 > cx2) gx2 = cx2;
             if (gy2 > cy2) gy2 = cy2;
             if (gx2 > gx1 && gy2 > gy1) {
-                byte alpha[] = gl.getGrayBits();
+                byte[] alpha = gl.getGrayBits();
                 w -= (gx2 - gx1);
                 for (int y = gy1; y < gy2; y++) {
                     for (int x = gx1; x < gx2; x++) {
@@ -724,7 +724,7 @@
     {
         PixelWriter pw = GeneralRenderer.createSolidPixelWriter(sg2d, sData);
 
-        int span[] = new int[4];
+        int[] span = new int[4];
         while (si.nextSpan(span)) {
             GeneralRenderer.doSetRect(sData, pw,
                                       span[0], span[1], span[2], span[3]);
@@ -764,8 +764,8 @@
     }
 
     public void DrawPolygons(SunGraphics2D sg2d, SurfaceData sData,
-                             int xPoints[], int yPoints[],
-                             int nPoints[], int numPolys,
+                             int[] xPoints, int[] yPoints,
+                             int[] nPoints, int numPolys,
                              int transx, int transy,
                              boolean close)
     {
@@ -869,7 +869,7 @@
     {
         PixelWriter pw = GeneralRenderer.createXorPixelWriter(sg2d, sData);
 
-        int span[] = new int[4];
+        int[] span = new int[4];
         while (si.nextSpan(span)) {
             GeneralRenderer.doSetRect(sData, pw,
                                       span[0], span[1], span[2], span[3]);
@@ -909,8 +909,8 @@
     }
 
     public void DrawPolygons(SunGraphics2D sg2d, SurfaceData sData,
-                             int xPoints[], int yPoints[],
-                             int nPoints[], int numPolys,
+                             int[] xPoints, int[] yPoints,
+                             int[] nPoints, int numPolys,
                              int transx, int transy,
                              boolean close)
     {
--- a/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,8 +41,8 @@
 public final class GraphicsPrimitiveMgr {
 
     private static final boolean debugTrace = false;
-    private static GraphicsPrimitive primitives[];
-    private static GraphicsPrimitive generalPrimitives[];
+    private static GraphicsPrimitive[] primitives;
+    private static GraphicsPrimitive[] generalPrimitives;
     private static boolean needssort = true;
 
     private static native void initIDs(Class<?> GP, Class<?> ST, Class<?> CT,
@@ -320,7 +320,7 @@
                            " total graphics primitives");
     }
 
-    public static void main(String argv[]) {
+    public static void main(String[] argv) {
         // REMIND: Should trigger loading of platform primitives somehow...
         if (needssort) {
             Arrays.sort(primitives, primSorter);
--- a/src/java.desktop/share/classes/sun/java2d/loops/MaskBlit.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/MaskBlit.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -171,7 +171,7 @@
                                           int srcx, int srcy,
                                           int dstx, int dsty,
                                           int width, int height,
-                                          byte mask[], int offset, int scan)
+                                          byte[] mask, int offset, int scan)
         {
             SurfaceData src, dst;
             Region opclip;
--- a/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/MaskFill.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -181,7 +181,7 @@
                              SurfaceData sData,
                              Composite comp,
                              int x, int y, int w, int h,
-                             byte mask[], int offset, int scan)
+                             byte[] mask, int offset, int scan)
         {
             BufferedImage dstBI =
                 new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
--- a/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -860,7 +860,7 @@
         /* Temporary array for holding parameters corresponding to the extreme
          * in X and Y points
          */
-        double params[] = new double[2];
+        double[] params = new double[2];
         int cnt = 0;
         double param;
 
@@ -1228,9 +1228,9 @@
         /* Temporary array for holding parameters corresponding to the extreme
          * in X and Y points
          */
-        double params[] = new double[4];
-        double eqn[] = new double[3];
-        double res[] = new double[2];
+        double[] params = new double[4];
+        double[] eqn = new double[3];
+        double[] res = new double[2];
         int cnt = 0;
 
         /* Simple check for monotonicity in X before searching for the extreme
@@ -1362,7 +1362,7 @@
         int X1, Y1, X2, Y2, X3, Y3, res;
         boolean clipped = false;
         float x3,y3;
-        float c[] = new float[]{x1, y1, x2, y2, 0, 0};
+        float[] c = new float[]{x1, y1, x2, y2, 0, 0};
 
         boolean lastClipped;
 
@@ -1466,11 +1466,11 @@
     private static boolean doProcessPath(ProcessHandler hnd,
                                          Path2D.Float p2df,
                                          float transXf, float transYf) {
-        float coords[] = new float[8];
-        float tCoords[] = new float[8];
-        float closeCoord[] = new float[] {0.0f, 0.0f};
-        float firstCoord[] = new float[2];
-        int pixelInfo[] = new int[5];
+        float[] coords = new float[8];
+        float[] tCoords = new float[8];
+        float[] closeCoord = new float[] {0.0f, 0.0f};
+        float[] firstCoord = new float[2];
+        int[] pixelInfo = new int[5];
         boolean subpathStarted = false;
         boolean skip = false;
         float lastX, lastY;
@@ -2043,7 +2043,7 @@
                 /* This function is used only for filling shapes, so there is no
                  * check for the type of clipping
                  */
-                int c[] = new int[]{x1, y1, x2, y2, 0, 0};
+                int[] c = new int[]{x1, y1, x2, y2, 0, 0};
                 outXMin = (int)(dhnd.xMinf * MDP_MULT);
                 outXMax = (int)(dhnd.xMaxf * MDP_MULT);
                 outYMin = (int)(dhnd.yMinf * MDP_MULT);
--- a/src/java.desktop/share/classes/sun/java2d/loops/RenderCache.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/RenderCache.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
         }
     }
 
-    private Entry entries[];
+    private Entry[] entries;
 
     public RenderCache(int size) {
         entries = new Entry[size];
--- a/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/loops/TransformHelper.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -96,7 +96,7 @@
                                  AffineTransform itx, int txtype,
                                  int sx1, int sy1, int sx2, int sy2,
                                  int dx1, int dy1, int dx2, int dy2,
-                                 int edges[], int dxoff, int dyoff);
+                                 int[] edges, int dxoff, int dyoff);
 
     public GraphicsPrimitive makePrimitive(SurfaceType srctype,
                                            CompositeType comptype,
@@ -127,7 +127,7 @@
                               AffineTransform itx, int txtype,
                               int sx1, int sy1, int sx2, int sy2,
                               int dx1, int dy1, int dx2, int dy2,
-                              int edges[], int dxoff, int dyoff)
+                              int[] edges, int dxoff, int dyoff)
         {
             tracePrimitive(target);
             target.Transform(output, src, dst, comp, clip, itx, txtype,
--- a/src/java.desktop/share/classes/sun/java2d/pipe/AATileGenerator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/AATileGenerator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -101,7 +101,7 @@
      * Either this method, or the nextTile() method should be called
      * once per tile, but not both.
      */
-    public void getAlpha(byte tile[], int offset, int rowstride);
+    public void getAlpha(byte[] tile, int offset, int rowstride);
 
     /**
      * Disposes this tile generator.
--- a/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -357,7 +357,7 @@
             buf.putInt(0);
             int spanCount = 0;
             int remainingSpans = buf.remaining() / BYTES_PER_SPAN;
-            int span[] = new int[4];
+            int[] span = new int[4];
             SpanIterator si = clip.getSpanIterator();
             while (si.nextSpan(span)) {
                 if (remainingSpans == 0) {
--- a/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/DrawImage.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -174,7 +174,7 @@
             // Transform source bounds by extraAT,
             // then translate the bounds again by x, y
             // then transform the bounds again by sg.transform
-            double coords[] = new double[] {
+            double[] coords = new double[] {
                 0, 0, imgw, imgh,
             };
             extraAT.transform(coords, 0, coords, 0, 2);
@@ -241,7 +241,7 @@
         // Note that we use (0,0,w,h) instead of (sx1,sy1,sx2,sy2)
         // because the transform is already translated such that
         // the origin is where sx1, sy1 should go.
-        double coords[] = new double[6];
+        double[] coords = new double[6];
         /* index:  0  1    2  3    4  5  */
         /* coord: (0, 0), (w, h), (0, h) */
         coords[2] = sx2 - sx1;
@@ -276,7 +276,7 @@
                                      int sx1, int sy1,
                                      int sx2, int sy2,
                                      Color bgColor, int interpType,
-                                     double coords[])
+                                     double[] coords)
     {
         double dx1 = coords[0];
         double dy1 = coords[1];
--- a/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/GlyphListPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,7 +51,7 @@
 
         float devx, devy;
         if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
-            double origin[] = {x + info.originX, y + info.originY};
+            double[] origin = {x + info.originX, y + info.originY};
             sg2d.transform.transform(origin, 0, origin, 0, 1);
             devx = (float)origin[0];
             devy = (float)origin[1];
@@ -76,7 +76,7 @@
     }
 
     public void drawChars(SunGraphics2D sg2d,
-                          char data[], int offset, int length,
+                          char[] data, int offset, int length,
                           int ix, int iy)
     {
         FontInfo info = sg2d.getFontInfo();
@@ -87,7 +87,7 @@
             return;
         }
         if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
-            double origin[] = {ix + info.originX, iy + info.originY};
+            double[] origin = {ix + info.originX, iy + info.originY};
             sg2d.transform.transform(origin, 0, origin, 0, 1);
             x = (float) origin[0];
             y = (float) origin[1];
@@ -119,7 +119,7 @@
             return;
         }
         if (sg2d.transformState >= SunGraphics2D.TRANSFORM_TRANSLATESCALE) {
-            double origin[] = {x, y};
+            double[] origin = {x, y};
             sg2d.transform.transform(origin, 0, origin, 0, 1);
             x = (float) origin[0];
             y = (float) origin[1];
--- a/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,10 +92,10 @@
     }
 
     public void drawPolyline(SunGraphics2D sg2d,
-                             int xPoints[], int yPoints[],
+                             int[] xPoints, int[] yPoints,
                              int nPoints)
     {
-        int nPointsArray[] = { nPoints };
+        int[] nPointsArray = { nPoints };
         sg2d.loops.drawPolygonsLoop.DrawPolygons(sg2d, sg2d.getSurfaceData(),
                                                  xPoints, yPoints,
                                                  nPointsArray, 1,
@@ -104,10 +104,10 @@
     }
 
     public void drawPolygon(SunGraphics2D sg2d,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints)
     {
-        int nPointsArray[] = { nPoints };
+        int[] nPointsArray = { nPoints };
         sg2d.loops.drawPolygonsLoop.DrawPolygons(sg2d, sg2d.getSurfaceData(),
                                                  xPoints, yPoints,
                                                  nPointsArray, 1,
@@ -149,7 +149,7 @@
     }
 
     public void fillPolygon(SunGraphics2D sg2d,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints)
     {
         ShapeSpanIterator sr = getFillSSI(sg2d);
@@ -333,7 +333,7 @@
                 return;
             }
         }
-        int spanbox[] = new int[4];
+        int[] spanbox = new int[4];
         SurfaceData sd = sg2d.getSurfaceData();
         while (si.nextSpan(spanbox)) {
             int x = spanbox[0];
--- a/src/java.desktop/share/classes/sun/java2d/pipe/NullPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/NullPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,17 +87,17 @@
     }
 
     public void drawPolyline(SunGraphics2D sg,
-                             int xPoints[], int yPoints[],
+                             int[] xPoints, int[] yPoints,
                              int nPoints) {
     }
 
     public void drawPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
     }
 
     public void fillPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
     }
 
@@ -115,7 +115,7 @@
     }
 
     public void drawChars(SunGraphics2D sg,
-                                char data[], int offset, int length,
+                                char[] data, int offset, int length,
                                 int x, int y) {
     }
 
--- a/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/OutlineTextRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -64,7 +64,7 @@
     public static final int THRESHHOLD = 100;
 
     public void drawChars(SunGraphics2D g2d,
-                          char data[], int offset, int length,
+                          char[] data, int offset, int length,
                           int x, int y) {
 
         String s = new String(data, offset, length);
--- a/src/java.desktop/share/classes/sun/java2d/pipe/PixelDrawPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/PixelDrawPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -58,10 +58,10 @@
                         int startAngle, int arcAngle);
 
     public void drawPolyline(SunGraphics2D sg,
-                             int xPoints[], int yPoints[],
+                             int[] xPoints, int[] yPoints,
                              int nPoints);
 
     public void drawPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints);
 }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/PixelFillPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/PixelFillPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,6 +56,6 @@
                         int startAngle, int arcAngle);
 
     public void fillPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints);
 }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -201,7 +201,7 @@
         case SunGraphics2D.TRANSFORM_GENERIC:
         case SunGraphics2D.TRANSFORM_TRANSLATESCALE:
             {
-                double coords[] = {ux1, uy1, ux2, uy2};
+                double[] coords = {ux1, uy1, ux2, uy2};
                 sg2d.transform.transform(coords, 0, coords, 0, 2);
                 x1 = coords[0];
                 y1 = coords[1];
@@ -257,7 +257,7 @@
                 // dy = 0; already
             }
             // delta transform the transposed (90 degree rotated) unit vector
-            double unitvector[] = {dy/len, -dx/len};
+            double[] unitvector = {dy/len, -dx/len};
             sg2d.transform.deltaTransform(unitvector, 0, unitvector, 0, 1);
             lw *= len(unitvector[0], unitvector[1]);
         }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/PixelToShapeConverter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/PixelToShapeConverter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,7 +98,7 @@
                                          start, extent, Arc2D.PIE));
     }
 
-    private Shape makePoly(int xPoints[], int yPoints[],
+    private Shape makePoly(int[] xPoints, int[] yPoints,
                            int nPoints, boolean close) {
         GeneralPath gp = new GeneralPath(GeneralPath.WIND_EVEN_ODD);
         if (nPoints > 0) {
@@ -114,19 +114,19 @@
     }
 
     public void drawPolyline(SunGraphics2D sg,
-                             int xPoints[], int yPoints[],
+                             int[] xPoints, int[] yPoints,
                              int nPoints) {
         outpipe.draw(sg, makePoly(xPoints, yPoints, nPoints, false));
     }
 
     public void drawPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
         outpipe.draw(sg, makePoly(xPoints, yPoints, nPoints, true));
     }
 
     public void fillPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
         outpipe.fill(sg, makePoly(xPoints, yPoints, nPoints, true));
     }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/Region.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/Region.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -267,7 +267,7 @@
             return EMPTY_REGION;
         }
 
-        int box[] = new int[4];
+        int[] box = new int[4];
         ShapeSpanIterator sr = new ShapeSpanIterator(normalize);
         try {
             sr.setOutputArea(devBounds);
@@ -346,7 +346,7 @@
      * This method can also be used to create a simple rectangular
      * region.
      */
-    public static Region getInstance(int box[]) {
+    public static Region getInstance(int[] box) {
         return new Region(box[0], box[1], box[2], box[3]);
     }
 
@@ -370,7 +370,7 @@
      * it must have a Y range equal to the highest Y band in the region and a
      * higher X coordinate than any of the spans in that band.
      */
-    public static Region getInstance(int box[], SpanIterator si) {
+    public static Region getInstance(int[] box, SpanIterator si) {
         Region ret = new Region(box[0], box[1], box[2], box[3]);
         ret.appendSpans(si);
         return ret;
@@ -411,10 +411,10 @@
         int thix = clipScale(hix, sx);
         int thiy = clipScale(hiy, sy);
         Region ret = new Region(tlox, tloy, thix, thiy);
-        int bands[] = this.bands;
+        int[] bands = this.bands;
         if (bands != null) {
             int end = endIndex;
-            int newbands[] = new int[end];
+            int[] newbands = new int[end];
             int i = 0; // index for source bands
             int j = 0; // index for translated newbands
             int ncol;
@@ -488,11 +488,11 @@
             return getSafeTranslatedRegion(dx, dy);
         }
         Region ret = new Region(tlox, tloy, thix, thiy);
-        int bands[] = this.bands;
+        int[] bands = this.bands;
         if (bands != null) {
             int end = endIndex;
             ret.endIndex = end;
-            int newbands[] = new int[end];
+            int[] newbands = new int[end];
             ret.bands = newbands;
             int i = 0;
             int ncol;
@@ -515,10 +515,10 @@
         int thix = clipAdd(hix, dx);
         int thiy = clipAdd(hiy, dy);
         Region ret = new Region(tlox, tloy, thix, thiy);
-        int bands[] = this.bands;
+        int[] bands = this.bands;
         if (bands != null) {
             int end = endIndex;
-            int newbands[] = new int[end];
+            int[] newbands = new int[end];
             int i = 0; // index for source bands
             int j = 0; // index for translated newbands
             int ncol;
@@ -746,15 +746,15 @@
     private static final int INCLUDE_COMMON = 4;
 
     private void filterSpans(Region ra, Region rb, int flags) {
-        int abands[] = ra.bands;
-        int bbands[] = rb.bands;
+        int[] abands = ra.bands;
+        int[] bbands = rb.bands;
         if (abands == null) {
             abands = new int[] {ra.loy, ra.hiy, 1, ra.lox, ra.hix};
         }
         if (bbands == null) {
             bbands = new int[] {rb.loy, rb.hiy, 1, rb.lox, rb.hix};
         }
-        int box[] = new int[6];
+        int[] box = new int[6];
         int acolstart = 0;
         int ay1 = abands[acolstart++];
         int ay2 = abands[acolstart++];
@@ -965,7 +965,7 @@
      * highest Y band in the region and a higher X coordinate
      * than any of the spans in that band.
      */
-    private void appendSpan(int box[]) {
+    private void appendSpan(int[] box) {
         int spanlox, spanloy, spanhix, spanhiy;
         if ((spanlox = box[0]) < lox) spanlox = lox;
         if ((spanloy = box[1]) < loy) spanloy = loy;
@@ -1011,7 +1011,7 @@
         }
     }
 
-    private void endRow(int box[]) {
+    private void endRow(int[] box) {
         int cur = box[4];
         int prev = box[5];
         if (cur > prev) {
@@ -1273,7 +1273,7 @@
     /**
      * Gets the bbox of the available spans, clipped to the OutputArea.
      */
-    public void getBounds(int pathbox[]) {
+    public void getBounds(int[] pathbox) {
         pathbox[0] = lox;
         pathbox[1] = loy;
         pathbox[2] = hix;
@@ -1283,7 +1283,7 @@
     /**
      * Clips the indicated bbox array to the bounds of this Region.
      */
-    public void clipBoxToBounds(int bbox[]) {
+    public void clipBoxToBounds(int[] bbox) {
         if (bbox[0] < lox) bbox[0] = lox;
         if (bbox[1] < loy) bbox[1] = loy;
         if (bbox[2] > hix) bbox[2] = hix;
@@ -1308,7 +1308,7 @@
      * Gets a span iterator object that iterates over the spans in this region
      * but clipped to the bounds given in the argument (xlo, ylo, xhi, yhi).
      */
-    public SpanIterator getSpanIterator(int bbox[]) {
+    public SpanIterator getSpanIterator(int[] bbox) {
         SpanIterator result = getSpanIterator();
         result.intersectClipBox(bbox[0], bbox[1], bbox[2], bbox[3]);
         return result;
@@ -1395,8 +1395,8 @@
         if (this.endIndex != r.endIndex) {
             return false;
         }
-        int abands[] = this.bands;
-        int bbands[] = r.bands;
+        int[] abands = this.bands;
+        int[] bbands = r.bands;
         for (int i = 0; i < endIndex; i++) {
             if (abands[i] != bbands[i]) {
                 return false;
--- a/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/RegionClipSpanIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -79,10 +79,10 @@
     int rgnbndslox, rgnbndsloy, rgnbndshix, rgnbndshiy;
 
     // The array used to hold coordinates from the region iterator
-    int rgnbox[] = new int[4];
+    int[] rgnbox = new int[4];
 
     // The array used to hold coordinates from the span iterator
-    int spanbox[] = new int[4];
+    int[] spanbox = new int[4];
 
     // True if the next iterator span should be read on the next
     // iteration of the main nextSpan() loop
@@ -138,7 +138,7 @@
      * Gets the bbox of the available path segments, clipped to the
      * Region.
      */
-    public void getPathBox(int pathbox[]) {
+    public void getPathBox(int[] pathbox) {
         int[] rgnbox = new int[4];
         rgn.getBounds(rgnbox);
         spanIter.getPathBox(pathbox);
@@ -174,7 +174,7 @@
      * Fetches the next span that needs to be operated on.
      * If the return value is false then there are no more spans.
      */
-    public boolean nextSpan(int resultbox[]) {
+    public boolean nextSpan(int[] resultbox) {
         if (done) {
             return false;
         }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/RegionIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -70,7 +70,7 @@
      * and recording the low and high Y coordinates of the
      * range in the array at locations 1 and 3 respectively.
      */
-    public boolean nextYRange(int range[]) {
+    public boolean nextYRange(int[] range) {
         curIndex += numXbands * 2;
         numXbands = 0;
         if (curIndex >= region.endIndex) {
@@ -88,7 +88,7 @@
      * found and recording the low and high X coordinates of
      * the range in the array at locations 0 and 2 respectively.
      */
-    public boolean nextXBand(int range[]) {
+    public boolean nextXBand(int[] range) {
         if (numXbands <= 0) {
             return false;
         }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/RegionSpanIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/RegionSpanIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,7 +77,7 @@
     /**
      * Gets the bbox of the available region spans.
      */
-    public void getPathBox(int pathbox[]) {
+    public void getPathBox(int[] pathbox) {
         pathbox[0] = lox;
         pathbox[1] = loy;
         pathbox[2] = hix;
@@ -108,7 +108,7 @@
      * Fetches the next span that needs to be operated on.
      * If the return value is false then there are no more spans.
      */
-    public boolean nextSpan(int spanbox[]) {
+    public boolean nextSpan(int[] spanbox) {
 
         // Quick test for end conditions
         if (done) {
--- a/src/java.desktop/share/classes/sun/java2d/pipe/RenderingEngine.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/RenderingEngine.java	Thu Nov 01 09:01:15 2018 -0400
@@ -180,7 +180,7 @@
                                              int caps,
                                              int join,
                                              float miterlimit,
-                                             float dashes[],
+                                             float[] dashes,
                                              float dashphase);
 
     /**
@@ -271,7 +271,7 @@
                                                        BasicStroke bs,
                                                        boolean thin,
                                                        boolean normalize,
-                                                       int bbox[]);
+                                                       int[] bbox);
 
     /**
      * Construct an antialiased tile generator for the given parallelogram
@@ -337,7 +337,7 @@
                                                        double dx2, double dy2,
                                                        double lw1, double lw2,
                                                        Region clip,
-                                                       int bbox[]);
+                                                       int[] bbox);
 
     /**
      * Returns the minimum pen width that the antialiasing rasterizer
@@ -353,7 +353,7 @@
      * feeding the consumer a segment at a time.
      */
     public static void feedConsumer(PathIterator pi, PathConsumer2D consumer) {
-        float coords[] = new float[6];
+        float[] coords = new float[6];
         while (!pi.isDone()) {
             switch (pi.currentSegment(coords)) {
             case PathIterator.SEG_MOVETO:
@@ -393,7 +393,7 @@
                                         int caps,
                                         int join,
                                         float miterlimit,
-                                        float dashes[],
+                                        float[] dashes,
                                         float dashphase)
         {
             System.out.println(name+".createStrokedShape("+
@@ -439,7 +439,7 @@
                                                   BasicStroke bs,
                                                   boolean thin,
                                                   boolean normalize,
-                                                  int bbox[])
+                                                  int[] bbox)
         {
             System.out.println(name+".getAATileGenerator("+
                                s.getClass().getName()+", "+
@@ -457,7 +457,7 @@
                                                   double dx2, double dy2,
                                                   double lw1, double lw2,
                                                   Region clip,
-                                                  int bbox[])
+                                                  int[] bbox)
         {
             System.out.println(name+".getAATileGenerator("+
                                x+", "+y+", "+
--- a/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/ShapeSpanIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -82,7 +82,7 @@
      * path iterator.
      */
     public void appendPath(PathIterator pi) {
-        float coords[] = new float[6];
+        float[] coords = new float[6];
 
         setRule(pi.getWindingRule());
         while (!pi.isDone()) {
@@ -95,7 +95,7 @@
     /*
      * Appends the geometry from the indicated set of polygon points.
      */
-    public native void appendPoly(int xPoints[], int yPoints[], int nPoints,
+    public native void appendPoly(int[] xPoints, int[] yPoints, int nPoints,
                                   int xoff, int yoff);
 
     /*
@@ -143,13 +143,13 @@
      * Adds a single PathIterator segment to the internal list of
      * path element structures.
      */
-    public native void addSegment(int type, float coords[]);
+    public native void addSegment(int type, float[] coords);
 
     /*
      * Gets the bbox of the available path segments, clipped to the
      * OutputArea.
      */
-    public native void getPathBox(int pathbox[]);
+    public native void getPathBox(int[] pathbox);
 
     /*
      * Intersects the path box with the given bbox.
@@ -162,7 +162,7 @@
      * Fetches the next span that needs to be operated on.
      * If the return value is false then there are no more spans.
      */
-    public native boolean nextSpan(int spanbox[]);
+    public native boolean nextSpan(int[] spanbox);
 
     /**
      * This method tells the iterator that it may skip all spans
--- a/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/SpanClipRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -54,8 +54,8 @@
     class SCRcontext {
         RegionIterator iterator;
         Object outcontext;
-        int band[];
-        byte tile[];
+        int[] band;
+        byte[] tile;
 
         public SCRcontext(RegionIterator ri, Object outctx) {
             iterator = ri;
--- a/src/java.desktop/share/classes/sun/java2d/pipe/SpanIterator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/SpanIterator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@
      *     {PathMinX, PathMinY, PathMaxX, PathMaxY}.
      * </pre>
      */
-    public void getPathBox(int pathbox[]);
+    public void getPathBox(int[] pathbox);
 
     /**
      * This method constrains the spans returned by nextSpan() to the
@@ -64,7 +64,7 @@
      *     {SpanMinX, SpanMinY, SpanMaxX, SpanMaxY}.
      * </pre>
      */
-    public boolean nextSpan(int spanbox[]);
+    public boolean nextSpan(int[] spanbox);
 
     /**
      * This method tells the iterator that it may skip all spans
--- a/src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -127,7 +127,7 @@
     public abstract void endSequence(Object ctx);
 
     public void renderRect(SunGraphics2D sg, Rectangle2D r) {
-        double corners[] = {
+        double[] corners = {
             r.getX(), r.getY(), r.getWidth(), r.getHeight(),
         };
         corners[2] += corners[0];
@@ -146,7 +146,7 @@
             corners[3] = corners[1];
             corners[1] = t;
         }
-        int abox[] = {
+        int[] abox = {
             (int) corners[0],
             (int) corners[1],
             (int) corners[2],
@@ -180,7 +180,7 @@
                             ShapeSpanIterator sr)
     {
         Object context = null;
-        int abox[] = new int[4];
+        int[] abox = new int[4];
         try {
             sr.getPathBox(abox);
             Rectangle devR = new Rectangle(abox[0], abox[1],
--- a/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/TextPipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,6 @@
     public void drawGlyphVector(SunGraphics2D g2d, GlyphVector g,
                                 float x, float y);
     public void drawChars(SunGraphics2D g2d,
-                          char data[], int offset, int length,
+                          char[] data, int offset, int length,
                           int x, int y);
 }
--- a/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/TextRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,7 +59,7 @@
             ctx = outpipe.startSequence(sg2d, s, r, bounds);
             for (int i = 0; i < num; i++) {
                 gl.setGlyphIndex(i);
-                int metrics[] = gl.getMetrics();
+                int[] metrics = gl.getMetrics();
                 int gx1 = metrics[0];
                 int gy1 = metrics[1];
                 int w = metrics[2];
@@ -79,7 +79,7 @@
                 if (gx2 > gx1 && gy2 > gy1 &&
                     outpipe.needTile(ctx, gx1, gy1, gx2 - gx1, gy2 - gy1))
                 {
-                    byte alpha[] = gl.getGrayBits();
+                    byte[] alpha = gl.getGrayBits();
                     outpipe.renderPathTile(ctx, alpha, off, w,
                                            gx1, gy1, gx2 - gx1, gy2 - gy1);
                 } else {
--- a/src/java.desktop/share/classes/sun/java2d/pipe/ValidatePipe.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/java2d/pipe/ValidatePipe.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -126,7 +126,7 @@
     }
 
     public void drawPolyline(SunGraphics2D sg,
-                             int xPoints[], int yPoints[],
+                             int[] xPoints, int[] yPoints,
                              int nPoints) {
         if (validate(sg)) {
             sg.drawpipe.drawPolyline(sg, xPoints, yPoints, nPoints);
@@ -134,7 +134,7 @@
     }
 
     public void drawPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
         if (validate(sg)) {
             sg.drawpipe.drawPolygon(sg, xPoints, yPoints, nPoints);
@@ -142,7 +142,7 @@
     }
 
     public void fillPolygon(SunGraphics2D sg,
-                            int xPoints[], int yPoints[],
+                            int[] xPoints, int[] yPoints,
                             int nPoints) {
         if (validate(sg)) {
             sg.fillpipe.fillPolygon(sg, xPoints, yPoints, nPoints);
@@ -172,7 +172,7 @@
         }
     }
     public void drawChars(SunGraphics2D sg,
-                                char data[], int offset, int length,
+                                char[] data, int offset, int length,
                                 int x, int y) {
         if (validate(sg)) {
             sg.textpipe.drawChars(sg, data, offset, length, x, y);
--- a/src/java.desktop/share/classes/sun/print/PSPrinterJob.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/PSPrinterJob.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -137,7 +137,7 @@
     private static final int LOWNIBBLE_MASK = 0x0000000f;
     private static final int HINIBBLE_MASK =  0x000000f0;
     private static final int HINIBBLE_SHIFT = 4;
-    private static final byte hexDigits[] = {
+    private static final byte[] hexDigits = {
         (byte)'0', (byte)'1', (byte)'2', (byte)'3',
         (byte)'4', (byte)'5', (byte)'6', (byte)'7',
         (byte)'8', (byte)'9', (byte)'A', (byte)'B',
@@ -732,7 +732,7 @@
                  * Spool to the printer.
                  */
                 String fileName = spoolFile.getAbsolutePath();
-                String execCmd[] = printExecCmd(mDestination, mOptions,
+                String[] execCmd = printExecCmd(mDestination, mOptions,
                                mNoJobSheet, getJobNameInt(),
                                                 1, fileName);
 
@@ -1590,7 +1590,7 @@
         int COPIES  = 0x8;
         int NOSHEET = 0x10;
         int pFlags = 0;
-        String execCmd[];
+        String[] execCmd;
         int ncomps = 2; // minimum number of print args
         int n = 0;
 
--- a/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/PSStreamPrintService.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,7 +78,7 @@
 
     private static int MAXCOPIES = 1000;
 
-    private static final MediaSizeName mediaSizes[] = {
+    private static final MediaSizeName[] mediaSizes = {
         MediaSizeName.NA_LETTER,
         MediaSizeName.TABLOID,
         MediaSizeName.LEDGER,
--- a/src/java.desktop/share/classes/sun/print/PathGraphics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/PathGraphics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -456,7 +456,7 @@
      * @see         java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since       1.1
      */
-    public void drawPolyline(int xPoints[], int yPoints[],
+    public void drawPolyline(int[] xPoints, int[] yPoints,
                              int nPoints) {
 
         if (nPoints == 2) {
@@ -492,7 +492,7 @@
      * @see          java.awt.Graphics#fillPolygon
      * @see          java.awt.Graphics#drawPolyline
      */
-    public void drawPolygon(int xPoints[], int yPoints[],
+    public void drawPolygon(int[] xPoints, int[] yPoints,
                                      int nPoints) {
 
         draw(new Polygon(xPoints, yPoints, nPoints));
@@ -529,7 +529,7 @@
      * @param        nPoints   a the total number of points.
      * @see          java.awt.Graphics#drawPolygon(int[], int[], int)
      */
-    public void fillPolygon(int xPoints[], int yPoints[],
+    public void fillPolygon(int[] xPoints, int[] yPoints,
                             int nPoints) {
 
         fill(new Polygon(xPoints, yPoints, nPoints));
--- a/src/java.desktop/share/classes/sun/print/PeekGraphics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/PeekGraphics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -747,7 +747,7 @@
      * @see         java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since       1.1
      */
-   public void drawPolyline(int xPoints[], int yPoints[],
+   public void drawPolyline(int[] xPoints, int[] yPoints,
                              int nPoints) {
         if (nPoints > 0) {
             int x = xPoints[0];
@@ -782,7 +782,7 @@
      * @see          java.awt.Graphics#drawPolyline
      * @since        1.0
      */
-    public void drawPolygon(int xPoints[], int yPoints[],
+    public void drawPolygon(int[] xPoints, int[] yPoints,
                             int nPoints) {
         if (nPoints > 0) {
             drawPolyline(xPoints, yPoints, nPoints);
@@ -813,7 +813,7 @@
      * @see          java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since        1.0
      */
-    public void fillPolygon(int xPoints[], int yPoints[],
+    public void fillPolygon(int[] xPoints, int[] yPoints,
                             int nPoints) {
         if (nPoints > 0) {
             int minX = xPoints[0];
--- a/src/java.desktop/share/classes/sun/print/PrintJob2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/PrintJob2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,7 +84,7 @@
  */
 public class PrintJob2D extends PrintJob implements Printable, Runnable {
 
-    private static final MediaType SIZES[] = {
+    private static final MediaType[] SIZES = {
         MediaType.ISO_4A0, MediaType.ISO_2A0, MediaType.ISO_A0,
         MediaType.ISO_A1, MediaType.ISO_A2, MediaType.ISO_A3,
         MediaType.ISO_A4, MediaType.ISO_A5, MediaType.ISO_A6,
@@ -118,7 +118,7 @@
     /* This array maps the above array to the objects used by the
      * javax.print APIs
          */
-    private static final MediaSizeName JAVAXSIZES[] = {
+    private static final MediaSizeName[] JAVAXSIZES = {
         null, null, MediaSizeName.ISO_A0,
         MediaSizeName.ISO_A1, MediaSizeName.ISO_A2, MediaSizeName.ISO_A3,
         MediaSizeName.ISO_A4, MediaSizeName.ISO_A5, MediaSizeName.ISO_A6,
@@ -154,7 +154,7 @@
 
 
     // widths and lengths in PostScript points (1/72 in.)
-    private static final int WIDTHS[] = {
+    private static final int[] WIDTHS = {
         /*iso-4a0*/ 4768, /*iso-2a0*/ 3370, /*iso-a0*/ 2384, /*iso-a1*/ 1684,
         /*iso-a2*/ 1191, /*iso-a3*/ 842, /*iso-a4*/ 595, /*iso-a5*/ 420,
         /*iso-a6*/ 298, /*iso-a7*/ 210, /*iso-a8*/ 147, /*iso-a9*/ 105,
@@ -179,7 +179,7 @@
         /*invite-envelope*/ 624, /*italy-envelope*/ 312,
         /*monarch-envelope*/ 279, /*personal-envelope*/ 261
     };
-    private static final int LENGTHS[] = {
+    private static final int[] LENGTHS = {
         /*iso-4a0*/ 6741, /*iso-2a0*/ 4768, /*iso-a0*/ 3370, /*iso-a1*/ 2384,
         /*iso-a2*/ 1684, /*iso-a3*/ 1191, /*iso-a4*/ 842, /*iso-a5*/ 595,
         /*iso-a6*/ 420, /*iso-a7*/ 298, /*iso-a8*/ 210, /*iso-a9*/ 147,
--- a/src/java.desktop/share/classes/sun/print/ProxyGraphics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/ProxyGraphics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -649,7 +649,7 @@
      * @see         java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since       1.1
      */
-    public void drawPolyline(int xPoints[], int yPoints[],
+    public void drawPolyline(int[] xPoints, int[] yPoints,
                                       int nPoints) {
         g.drawPolyline(xPoints, yPoints, nPoints);
     }
@@ -673,7 +673,7 @@
      * @see          java.awt.Graphics#fillPolygon
      * @see          java.awt.Graphics#drawPolyline
      */
-    public void drawPolygon(int xPoints[], int yPoints[],
+    public void drawPolygon(int[] xPoints, int[] yPoints,
                                      int nPoints) {
         g.drawPolygon(xPoints, yPoints, nPoints);
     }
@@ -709,7 +709,7 @@
      * @param        nPoints   a the total number of points.
      * @see          java.awt.Graphics#drawPolygon(int[], int[], int)
      */
-    public void fillPolygon(int xPoints[], int yPoints[],
+    public void fillPolygon(int[] xPoints, int[] yPoints,
                                      int nPoints) {
         g.fillPolygon(xPoints, yPoints, nPoints);
     }
@@ -772,7 +772,7 @@
      * @see         java.awt.Graphics#drawBytes
      * @see         java.awt.Graphics#drawString
      */
-    public void drawChars(char data[], int offset, int length, int x, int y) {
+    public void drawChars(char[] data, int offset, int length, int x, int y) {
         g.drawChars(data, offset, length, x, y);
     }
 
@@ -789,7 +789,7 @@
      * @see         java.awt.Graphics#drawChars
      * @see         java.awt.Graphics#drawString
      */
-    public void drawBytes(byte data[], int offset, int length, int x, int y) {
+    public void drawBytes(byte[] data, int offset, int length, int x, int y) {
         g.drawBytes(data, offset, length, x, y);
     }
 
--- a/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/ProxyGraphics2D.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -662,7 +662,7 @@
      * @see         java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since       1.1
      */
-    public void drawPolyline(int xPoints[], int yPoints[],
+    public void drawPolyline(int[] xPoints, int[] yPoints,
                              int nPoints) {
         mGraphics.drawPolyline(xPoints, yPoints, nPoints);
     }
@@ -687,7 +687,7 @@
      * @see          java.awt.Graphics#drawPolyline
      * @since        1.0
      */
-    public void drawPolygon(int xPoints[], int yPoints[],
+    public void drawPolygon(int[] xPoints, int[] yPoints,
                             int nPoints) {
         mGraphics.drawPolygon(xPoints, yPoints, nPoints);
     }
@@ -713,7 +713,7 @@
      * @see          java.awt.Graphics#drawPolygon(int[], int[], int)
      * @since        1.0
      */
-    public void fillPolygon(int xPoints[], int yPoints[],
+    public void fillPolygon(int[] xPoints, int[] yPoints,
                             int nPoints) {
         mGraphics.fillPolygon(xPoints, yPoints, nPoints);
     }
--- a/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -554,7 +554,7 @@
         MediaSize size = getMediaSize(media, service, page);
 
         Paper paper = new Paper();
-        float dim[] = size.getSize(1); //units == 1 to avoid FP error
+        float[] dim = size.getSize(1); //units == 1 to avoid FP error
         double w = Math.rint((dim[0]*72.0)/Size2DSyntax.INCH);
         double h = Math.rint((dim[1]*72.0)/Size2DSyntax.INCH);
         paper.setSize(w, h);
--- a/src/java.desktop/share/classes/sun/swing/WindowsPlacesBar.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/swing/WindowsPlacesBar.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,19 +24,36 @@
  */
 package sun.swing;
 
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.Dimension;
+import java.awt.Insets;
+import java.awt.Color;
+import java.awt.Image;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.io.*;
+
+import java.io.File;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.filechooser.*;
+import javax.swing.JToolBar;
+import javax.swing.JFileChooser;
+import javax.swing.JToggleButton;
+import javax.swing.ButtonGroup;
+import javax.swing.UIManager;
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.Box;
 
-import sun.awt.shell.*;
+import javax.swing.border.EmptyBorder;
+import javax.swing.border.BevelBorder;
+import javax.swing.filechooser.FileSystemView;
+
+import sun.awt.shell.ShellFolder;
 import sun.awt.OSInfo;
 
 /**
@@ -81,7 +98,7 @@
         setBackground(bgColor);
         FileSystemView fsv = fc.getFileSystemView();
 
-        files = (File[]) ShellFolder.get("fileChooserShortcutPanelFolders");
+        files = fsv.getChooserShortcutPanelFiles();
 
         buttons = new JToggleButton[files.length];
         buttonGroup = new ButtonGroup();
--- a/src/java.desktop/share/classes/sun/swing/plaf/DesktopProperty.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/classes/sun/swing/plaf/DesktopProperty.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -111,7 +111,7 @@
      * Updates the UIs of all the known Frames.
      */
     protected void updateAllUIs() {
-        Frame appFrames[] = Frame.getFrames();
+        Frame[] appFrames = Frame.getFrames();
         for (Frame appFrame : appFrames) {
             updateWindowUI(appFrame);
         }
@@ -122,7 +122,7 @@
      */
     private static void updateWindowUI(Window window) {
         SwingUtilities.updateComponentTreeUI(window);
-        Window ownedWins[] = window.getOwnedWindows();
+        Window[] ownedWins = window.getOwnedWindows();
         for (Window ownedWin : ownedWins) {
             updateWindowUI(ownedWin);
         }
--- a/src/java.desktop/share/native/libfontmanager/freetypeScaler.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/share/native/libfontmanager/freetypeScaler.c	Thu Nov 01 09:01:15 2018 -0400
@@ -38,6 +38,7 @@
 #include FT_SIZES_H
 #include FT_OUTLINE_H
 #include FT_SYNTHESIS_H
+#include FT_LCD_FILTER_H
 
 #include "fontscaler.h"
 
@@ -397,6 +398,8 @@
         if (errCode == 0) {
             errCode = FT_Activate_Size(scalerInfo->face->size);
         }
+
+        FT_Library_SetLcdFilter(scalerInfo->library, FT_LCD_FILTER_DEFAULT);
     }
 
     return errCode;
--- a/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/UNIXToolkit.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -168,7 +168,7 @@
         }
 
         // We need to have at least gtk.icon.<stock_id>.<size>.<orientation>
-        String str[] = longname.split("\\.");
+        String[] str = longname.split("\\.");
         if (str.length != 5) {
             return null;
         }
--- a/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -576,7 +576,7 @@
         return false;
     }
 
-    private void paintVSB(Graphics g, Color colors[], Rectangle bounds) {
+    private void paintVSB(Graphics g, Color[] colors, Rectangle bounds) {
         int height = bounds.height - 2*BORDER_WIDTH - (hsbVis ? (SCROLLBAR_WIDTH-2) : 0);
         Graphics ng = g.create();
 
@@ -592,7 +592,7 @@
         }
     }
 
-    private void paintHSB(Graphics g, Color colors[], Rectangle bounds) {
+    private void paintHSB(Graphics g, Color[] colors, Rectangle bounds) {
 
     }
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/MotifColorUtilities.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/MotifColorUtilities.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -420,7 +420,7 @@
         }
         BufferedReader bfr = new BufferedReader(new FileReader(pFile));
 
-        int colors[] = new int[8];
+        int[] colors = new int[8];
         int r,g,b;
         String temp,color;
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XAWTLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XAWTLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -99,7 +99,7 @@
         ColorUIResource controlDarker =  new ColorUIResource(SystemColor.controlDkShadow);
 
         Color back = table.getColor("control");
-        Color colors [] = XComponentPeer.getSystemColors();
+        Color[] colors  = XComponentPeer.getSystemColors();
         Color scrollBarBackground = colors[XComponentPeer.BACKGROUND_COLOR];
         Color trackColor = new Color(MotifColorUtilities.calculateSelectFromBackground(scrollBarBackground.getRed(), scrollBarBackground.getGreen(), scrollBarBackground.getBlue()));
         Border loweredBevelBorder = new MotifBorders.BevelBorder(false,
--- a/src/java.desktop/unix/classes/sun/awt/X11/XAWTXSettings.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XAWTXSettings.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -151,7 +151,7 @@
                 if (log.isLoggable(PlatformLogger.Level.FINE)) {
                     log.fine("noItems = " + getter.getNumberOfItems());
                 }
-                byte array[] = Native.toBytes(ptr,getter.getNumberOfItems());
+                byte[] array = Native.toBytes(ptr,getter.getNumberOfItems());
                 if (array != null) {
                     settings = update(array);
                 }
--- a/src/java.desktop/unix/classes/sun/awt/X11/XBaseWindow.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XBaseWindow.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -941,7 +941,7 @@
 
     static void checkSecurity() {
         if (XToolkit.isSecurityWarningEnabled() && XToolkit.isToolkitThread()) {
-            StackTraceElement stack[] = (new Throwable()).getStackTrace();
+            StackTraceElement[] stack = (new Throwable()).getStackTrace();
             log.warning(stack[1] + ": Security violation: calling user code on toolkit thread");
         }
     }
--- a/src/java.desktop/unix/classes/sun/awt/X11/XChoicePeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XChoicePeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -25,9 +25,29 @@
 
 package sun.awt.X11;
 
-import java.awt.*;
-import java.awt.peer.*;
-import java.awt.event.*;
+import java.awt.Color;
+import java.awt.Insets;
+import java.awt.Point;
+import java.awt.FontMetrics;
+import java.awt.Dimension;
+import java.awt.Rectangle;
+import java.awt.Choice;
+import java.awt.Toolkit;
+import java.awt.Graphics;
+import java.awt.Component;
+import java.awt.AWTEvent;
+import java.awt.Insets;
+import java.awt.Font;
+
+import java.awt.peer.ChoicePeer;
+
+import java.awt.event.FocusEvent;
+import java.awt.event.InvocationEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.ItemEvent;
+
 import sun.util.logging.PlatformLogger;
 
 // FIXME: tab traversal should be disabled when mouse is captured (4816336)
@@ -228,12 +248,14 @@
                   helper.down();
                   int newIdx = helper.getSelectedIndex();
 
-                  ((Choice)target).select(newIdx);
-                  postEvent(new ItemEvent((Choice)target,
-                                          ItemEvent.ITEM_STATE_CHANGED,
-                                          ((Choice)target).getItem(newIdx),
-                                          ItemEvent.SELECTED));
-                  repaint();
+                  if (((Choice)target).getSelectedIndex() != newIdx) {
+                        ((Choice)target).select(newIdx);
+                        postEvent(new ItemEvent((Choice)target,
+                                                ItemEvent.ITEM_STATE_CHANGED,
+                                                ((Choice)target).getItem(newIdx),
+                                                ItemEvent.SELECTED));
+                        repaint();
+                  }
               }
               break;
           }
@@ -243,12 +265,14 @@
                   helper.up();
                   int newIdx = helper.getSelectedIndex();
 
-                  ((Choice)target).select(newIdx);
-                  postEvent(new ItemEvent((Choice)target,
-                                          ItemEvent.ITEM_STATE_CHANGED,
-                                          ((Choice)target).getItem(newIdx),
-                                          ItemEvent.SELECTED));
-                  repaint();
+                  if (((Choice)target).getSelectedIndex() != newIdx) {
+                        ((Choice)target).select(newIdx);
+                        postEvent(new ItemEvent((Choice)target,
+                                                ItemEvent.ITEM_STATE_CHANGED,
+                                                ((Choice)target).getItem(newIdx),
+                                                ItemEvent.SELECTED));
+                        repaint();
+                  }
               }
               break;
           }
@@ -293,11 +317,13 @@
                           helper.select(dragStartIdx);
                       } else { //KeyEvent.VK_ENTER:
                           int newIdx = helper.getSelectedIndex();
-                          ((Choice)target).select(newIdx);
-                          postEvent(new ItemEvent((Choice)target,
-                                                  ItemEvent.ITEM_STATE_CHANGED,
-                                                  ((Choice)target).getItem(newIdx),
-                                                  ItemEvent.SELECTED));
+                          if (newIdx != (((Choice)target).getSelectedIndex())) {
+                            ((Choice)target).select(newIdx);
+                            postEvent(new ItemEvent((Choice)target,
+                                                    ItemEvent.ITEM_STATE_CHANGED,
+                                                    ((Choice)target).getItem(newIdx),
+                                                    ItemEvent.SELECTED));
+                          }
                       }
                   }
                   hidePopdownMenu();
@@ -457,8 +483,10 @@
                             * We should generate ItemEvent if only
                             * LeftMouseButton used */
                             if (e.getButton() == MouseEvent.BUTTON1 &&
-                                (!firstPress || wasDragged ))
+                                (!firstPress || wasDragged ) &&
+                                ((Choice)target).getSelectedIndex() != newIdx)
                             {
+                                ((Choice)target).select(newIdx);
                                 postEvent(new ItemEvent((Choice)target,
                                                         ItemEvent.ITEM_STATE_CHANGED,
                                                         ((Choice)target).getItem(newIdx),
@@ -945,7 +973,7 @@
         public void paintPeer(Graphics g) {
             //System.out.println("UC.paint()");
             Choice choice = (Choice)target;
-            Color colors[] = XChoicePeer.this.getGUIcolors();
+            Color[] colors = XChoicePeer.this.getGUIcolors();
             draw3DRect(g, getSystemColors(), 0, 0, width - 1, height - 1, true);
             draw3DRect(g, getSystemColors(), 1, 1, width - 3, height - 3, true);
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -773,7 +773,7 @@
 
     static int[] getRGBvals(Color c) {
 
-        int rgbvals[] = new int[3];
+        int[] rgbvals = new int[3];
 
         rgbvals[0] = c.getRed();
         rgbvals[1] = c.getGreen();
@@ -788,7 +788,7 @@
     static final int FOREGROUND_COLOR = 3;
 
     public Color[] getGUIcolors() {
-        Color c[] = new Color[4];
+        Color[] c = new Color[4];
         float backb, highb, shadowb, hue, saturation;
         c[BACKGROUND_COLOR] = getWinBackground();
         if (c[BACKGROUND_COLOR] == null) {
@@ -907,7 +907,7 @@
     /**
      * Draw a 3D oval.
      */
-    public void draw3DOval(Graphics g, Color colors[],
+    public void draw3DOval(Graphics g, Color[] colors,
                            int x, int y, int w, int h, boolean raised)
         {
         Color c = g.getColor();
@@ -918,7 +918,7 @@
         g.setColor(c);
     }
 
-    public void draw3DRect(Graphics g, Color colors[],
+    public void draw3DRect(Graphics g, Color[] colors,
                            int x, int y, int width, int height, boolean raised)
         {
             Color c = g.getColor();
@@ -974,8 +974,8 @@
         int v1 = thickness + (int)(f * (val - min));
         int v2 = (int)(f * vis);
         int w2 = thickness-4;
-        int tpts_x[] = new int[3];
-        int tpts_y[] = new int[3];
+        int[] tpts_x = new int[3];
+        int[] tpts_y = new int[3];
 
         if (length < 3*w2 ) {
             v1 = v2 = 0;
--- a/src/java.desktop/unix/classes/sun/awt/X11/XConstants.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XConstants.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -204,7 +204,7 @@
        and ButtonRelease events.  Not to be confused with button masks above.
        Note that 0 is already defined above as "AnyButton".  */
 
-    public static final int buttons [] = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};
+    public static final int[] buttons  = new int [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24};
 
     /* Notify modes */
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XEmbedServerTester.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XEmbedServerTester.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,12 +55,12 @@
     int accel_key, accel_keysym, accel_mods;
     static Rectangle initialBounds = new Rectangle(0, 0, 100, 100);
     Robot robot;
-    Rectangle serverBounds[]; // first rectangle is for the server frame, second is for dummy frame, others are for its children
+    Rectangle[] serverBounds; // first rectangle is for the server frame, second is for dummy frame, others are for its children
     private static final int SERVER_BOUNDS = 0, OTHER_FRAME = 1, SERVER_FOCUS = 2, SERVER_MODAL = 3, MODAL_CLOSE = 4;
 
     LinkedList<Integer> events = new LinkedList<Integer>();
 
-    private XEmbedServerTester(Rectangle serverBounds[], long parent) {
+    private XEmbedServerTester(Rectangle[] serverBounds, long parent) {
         this.parent = parent;
         focusedKind = -1;
         focusedServerComponent = -1;
@@ -86,7 +86,7 @@
         }
     }
 
-    public static XEmbedServerTester getTester(Rectangle serverBounds[], long parent) {
+    public static XEmbedServerTester getTester(Rectangle[] serverBounds, long parent) {
         return new XEmbedServerTester(serverBounds, parent);
     }
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XFileDialogPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XFileDialogPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -467,7 +467,7 @@
             } else {
                 setFilterField(f);
             }
-            String l[];
+            String[] l;
 
             if (f.equals("*")) {
                 l = fe.list();
@@ -824,7 +824,7 @@
      * See 6240074 for more information
      */
     public void addItemsToPathChoice(String text){
-        String dirList[] = getDirList(text);
+        String[] dirList = getDirList(text);
         for (int i = 0; i < dirList.length; i++) pathChoice.addItem(dirList[i]);
     }
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XKeysym.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,7 +1,7 @@
 // This is a generated file: do not edit! Edit keysym2ucs.h if necessary.
 
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
 
 public class XKeysym {
 
-    public static void main( String args[] ) {
+    public static void main( String[] args ) {
        System.out.println( "Cyrillc zhe:"+convertKeysym(0x06d6, 0));
        System.out.println( "Arabic sheen:"+convertKeysym(0x05d4, 0));
        System.out.println( "Latin a breve:"+convertKeysym(0x01e3, 0));
--- a/src/java.desktop/unix/classes/sun/awt/X11/XListPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XListPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -76,7 +76,7 @@
 
     // Holds the array of the indexes of the elements which is selected
     // This array should be kept sorted, low to high.
-    int                         selected[];
+    int[]                         selected;
     int                         fontHeight;
     int                         fontAscent;
     int                         fontLeading;
@@ -174,7 +174,7 @@
         maxLength = maxLength();
 
         // get the index containing all indexes to selected items
-        int sel[] = l.getSelectedIndexes();
+        int[] sel = l.getSelectedIndexes();
         selected = new int[sel.length];
         // TODO: shouldn't this be arraycopy()?
         for (int i = 0 ; i < sel.length ; i ++) {
@@ -1147,7 +1147,7 @@
             items.removeElementAt(s);
             int j = posInSel(i);
             if (j != -1) {
-                int newsel[] = new int[selected.length - 1];
+                int[] newsel = new int[selected.length - 1];
                 System.arraycopy(selected, 0, newsel, 0, j);
                 System.arraycopy(selected, j + 1, newsel, j, selected.length - (j + 1));
                 selected = newsel;
@@ -1246,7 +1246,7 @@
             }
         } else {
             // insert "index" into the selection array
-            int newsel[] = new int[selected.length + 1];
+            int[] newsel = new int[selected.length + 1];
             int i = 0;
             while (i < selected.length && index > selected[i]) {
                 newsel[i] = selected[i];
@@ -1284,7 +1284,7 @@
             selected = new int[0];
         } else {
             int i = posInSel(index);
-            int newsel[] = new int[selected.length - 1];
+            int[] newsel = new int[selected.length - 1];
             System.arraycopy(selected, 0, newsel, 0, i);
             System.arraycopy(selected, i+1, newsel, i, selected.length - (i+1));
             selected = newsel;
--- a/src/java.desktop/unix/classes/sun/awt/X11/XMSelection.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XMSelection.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,10 +63,10 @@
     Vector<XMSelectionListener> listeners;
 
     /* X atom array (one per screen) for this selection */
-    XAtom atoms[];
+    XAtom[] atoms;
 
     /* Window ids of selection owners */
-    long owners[];
+    long[] owners;
 
     /* event mask to set */
     long eventMask;
--- a/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -287,7 +287,7 @@
                 item.map(bounds, textOrigin);
             }
         }
-        XMenuItemPeer mappedVector[] = new XMenuItemPeer[mappedCnt];
+        XMenuItemPeer[] mappedVector = new XMenuItemPeer[mappedCnt];
         System.arraycopy(itemVector, 0, mappedVector, 0, mappedCnt);
         MappingData mappingData = new MappingData(mappedVector, BAR_SPACING_TOP + itemHeight + BAR_SPACING_BOTTOM);
         return mappingData;
--- a/src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -106,14 +106,14 @@
 
     @Override
     public int getRGBPixel(int x, int y) {
-        int pixelArray[] = new int[1];
+        int[] pixelArray = new int[1];
         getRGBPixelsImpl(xgc, x, y, 1, 1, pixelArray, useGtk);
         return pixelArray[0];
     }
 
     @Override
     public int [] getRGBPixels(Rectangle bounds) {
-        int pixelArray[] = new int[bounds.width*bounds.height];
+        int[] pixelArray = new int[bounds.width*bounds.height];
         getRGBPixelsImpl(xgc, bounds.x, bounds.y, bounds.width, bounds.height,
                             pixelArray, useGtk);
         return pixelArray;
@@ -131,5 +131,5 @@
     private static synchronized native void keyReleaseImpl(int keycode);
 
     private static synchronized native void getRGBPixelsImpl(X11GraphicsConfig xgc,
-            int x, int y, int width, int height, int pixelArray[], boolean isGtkSupported);
+            int x, int y, int width, int height, int[] pixelArray, boolean isGtkSupported);
 }
--- a/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -279,7 +279,7 @@
             return;
         }
         int sx, sy;
-        Color colors[] = getGUIcolors();
+        Color[] colors = getGUIcolors();
 
         if (sp.getScrollbarDisplayPolicy() == ScrollPane.SCROLLBARS_NEVER) {
             sx = -x;
@@ -353,7 +353,7 @@
     }
     void repaintScrollBars() {
         Graphics g = getGraphics();
-        Color colors[] = getGUIcolors();
+        Color[] colors = getGUIcolors();
         if (g != null) {
             try {
                 paintScrollBars(g, colors);
@@ -364,7 +364,7 @@
     }
     public void repaintScrollbarRequest(XScrollbar sb) {
         Graphics g = getGraphics();
-        Color colors[] = getGUIcolors();
+        Color[] colors = getGUIcolors();
         if (g != null) {
             try {
                 if (sb == vsb) {
@@ -397,7 +397,7 @@
      * @param colors the colors used to draw the scrollbar
      * @param paintAll paint the whole scrollbar if true, just the thumb if false
      */
-    void paintHorScrollbar(Graphics g, Color colors[], boolean paintAll) {
+    void paintHorScrollbar(Graphics g, Color[] colors, boolean paintAll) {
         if (hsbSpace <= 0) {
             return;
         }
@@ -433,7 +433,7 @@
      * @param colors the colors used to draw the scrollbar
      * @param paintAll paint the whole scrollbar if true, just the thumb if false
      */
-    void paintVerScrollbar(Graphics g, Color colors[], boolean paintAll) {
+    void paintVerScrollbar(Graphics g, Color[] colors, boolean paintAll) {
         if (vsbSpace <= 0) {
             return;
         }
--- a/src/java.desktop/unix/classes/sun/awt/X11/XScrollbar.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XScrollbar.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -163,7 +163,7 @@
      * @param colors the colors to use when painting the scrollbar
      * @param paintAll paint the whole scrollbar if true, just the thumb is false
      */
-    void paint(Graphics g, Color colors[], boolean paintAll) {
+    void paint(Graphics g, Color[] colors, boolean paintAll) {
         if (log.isLoggable(PlatformLogger.Level.FINER)) {
             log.finer("Painting scrollbar " + this);
         }
--- a/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XSystemTrayPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -117,7 +117,7 @@
         }
 
         long tray_window = tiPeer.getWindow();
-        long data[] = new long[] {XEmbedHelper.XEMBED_VERSION, XEmbedHelper.XEMBED_MAPPED};
+        long[] data = new long[] {XEmbedHelper.XEMBED_VERSION, XEmbedHelper.XEMBED_MAPPED};
         long data_ptr = Native.card32ToData(data);
 
         _XEMBED_INFO.setAtomData(tray_window, data_ptr, data.length);
--- a/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Nov 01 09:01:15 2018 -0400
@@ -418,7 +418,7 @@
         if (!GraphicsEnvironment.isHeadless()) {
             String mainClassName = null;
 
-            StackTraceElement trace[] = (new Throwable()).getStackTrace();
+            StackTraceElement[] trace = (new Throwable()).getStackTrace();
             int bottom = trace.length - 1;
             if (bottom >= 0) {
                 mainClassName = trace[bottom].getClassName();
@@ -1949,7 +1949,7 @@
         final int shiftLock = keysymToPrimaryKeycode(XKeySymConstants.XK_Shift_Lock);
         final int capsLock  = keysymToPrimaryKeycode(XKeySymConstants.XK_Caps_Lock);
 
-        final int modmask[] = { XConstants.ShiftMask, XConstants.LockMask, XConstants.ControlMask, XConstants.Mod1Mask,
+        final int[] modmask = { XConstants.ShiftMask, XConstants.LockMask, XConstants.ControlMask, XConstants.Mod1Mask,
             XConstants.Mod2Mask, XConstants.Mod3Mask, XConstants.Mod4Mask, XConstants.Mod5Mask };
 
         log.fine("In setupModifierMap");
--- a/src/java.desktop/unix/classes/sun/awt/X11/XWM.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XWM.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -625,7 +625,7 @@
      * Gaa, dirty dances...
      */
     static final XAtom XA_ICEWM_WINOPTHINT = new XAtom("_ICEWM_WINOPTHINT", false);
-    static final char opt[] = {
+    static final char[] opt = {
         'A','W','T','_','I','C','E','W','M','_','T','E','S','T','\0',
         'a','l','l','W','o','r','k','s','p','a','c','e','s','\0',
         '0','\0'
--- a/src/java.desktop/unix/classes/sun/awt/X11/XWindow.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XWindow.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1093,7 +1093,7 @@
     // called directly from this package, unlike handleKeyRelease.
     // un-final it if you need to override it in a subclass.
     final void handleKeyPress(XKeyEvent ev) {
-        long keysym[] = new long[2];
+        long[] keysym = new long[2];
         int unicodeKey = 0;
         keysym[0] = XConstants.NoSymbol;
 
--- a/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -675,7 +675,7 @@
         int largestAmt = 0;
         int curScreenNum = ((X11GraphicsDevice)getGraphicsConfiguration().getDevice()).getScreen();
         int newScreenNum = 0;
-        GraphicsDevice gds[] = XToolkit.localEnv.getScreenDevices();
+        GraphicsDevice[] gds = XToolkit.localEnv.getScreenDevices();
         GraphicsConfiguration newGC = null;
         Rectangle screenBounds;
 
--- a/src/java.desktop/unix/classes/sun/awt/X11CustomCursor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11CustomCursor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,7 @@
             }
         }
 
-        int tmp[] = new int[pixels.length];
+        int[] tmp = new int[pixels.length];
         for (int i=0; i<pixels.length; i++) {
             if ((pixels[i] & 0xff000000) == 0) {
                 tmp[i] = -1;
@@ -73,7 +73,7 @@
 
         int fc = 0x000000;
         int bc = 0xffffff;
-        CCount cols[] = new CCount[pixels.length];
+        CCount[] cols = new CCount[pixels.length];
 
         int is = 0;
         int numColors = 0;
--- a/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -244,7 +244,7 @@
         Boolean result = java.security.AccessController.doPrivileged(
             new java.security.PrivilegedAction<Boolean>() {
             public Boolean run() {
-                InetAddress remAddr[] = null;
+                InetAddress[] remAddr = null;
                 Enumeration<InetAddress> locals = null;
                 Enumeration<NetworkInterface> interfaces = null;
                 try {
--- a/src/java.desktop/unix/classes/sun/awt/X11InputMethod.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11InputMethod.java	Thu Nov 01 09:01:15 2018 -0400
@@ -175,7 +175,7 @@
     //       to insure that it cannot be overridden by client subclasses.
     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
     void dispatchComposedText(String chgText,
-                                           int chgStyles[],
+                                           int[] chgStyles,
                                            int chgOffset,
                                            int chgLength,
                                            int caretPosition,
--- a/src/java.desktop/unix/classes/sun/awt/X11InputMethodBase.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/awt/X11InputMethodBase.java	Thu Nov 01 09:01:15 2018 -0400
@@ -127,7 +127,7 @@
     // Initialize highlight mapping table
     static {
         @SuppressWarnings({"unchecked", "rawtypes"})
-        Map<TextAttribute, ?> styles[] = new Map[4];
+        Map<TextAttribute, ?>[] styles = new Map[4];
         HashMap<TextAttribute, Object> map;
 
         // UNSELECTED_RAW_TEXT_HIGHLIGHT
@@ -490,7 +490,7 @@
     //       to insure that it cannot be overridden by client subclasses.
     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
     abstract void dispatchComposedText(String chgText,
-                                           int chgStyles[],
+                                           int[] chgStyles,
                                            int chgOffset,
                                            int chgLength,
                                            int caretPosition,
--- a/src/java.desktop/unix/classes/sun/font/DoubleByteEncoder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/font/DoubleByteEncoder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,8 +39,8 @@
     extends CharsetEncoder
 {
 
-    private short index1[];
-    private String index2[];
+    private short[] index1;
+    private String[] index2;
 
     private final Surrogate.Parser sgp = new Surrogate.Parser();
 
--- a/src/java.desktop/unix/classes/sun/font/X11GB18030_0.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/font/X11GB18030_0.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -4234,7 +4234,7 @@
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 
-        private static final short index1[] = {
+        private static final short[] index1 = {
             1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
             6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 13, 14,
@@ -4253,7 +4253,7 @@
             0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 128, 129
         };
 
-        private static final String index2[] = {
+        private static final String[] index2 = {
             innerIndex0,
             innerIndex1,
             innerIndex2,
--- a/src/java.desktop/unix/classes/sun/font/X11GB18030_1.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/font/X11GB18030_1.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -5229,7 +5229,7 @@
             "\u99EC\u99ED\u99EE\u99EF\u99F0\u99F1\u99F2\u99F3"+
             "\u99F4\u99F5\u99F6\u99F7\u99F8\u0000\u99FA\u99FB";
 
-        private static final short index1[] = {
+        private static final short[] index1 = {
             1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
             17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
             33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
@@ -5248,7 +5248,7 @@
             145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160
         };
 
-        private static final String index2[] = {
+        private static final String[] index2 = {
             innerIndex0,
             innerIndex1,
             innerIndex2,
--- a/src/java.desktop/unix/classes/sun/font/X11Johab.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/font/X11Johab.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -4747,7 +4747,7 @@
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 
-        private static final short index1[] = {
+        private static final short[] index1 = {
             1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
             6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4766,7 +4766,7 @@
             0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 144, 0, 0, 0, 0, 145
         };
 
-        private static String index2[] = {
+        private static String[] index2 = {
             innerIndex0,
             innerIndex1,
             innerIndex2,
--- a/src/java.desktop/unix/classes/sun/font/X11SunUnicode_0.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/font/X11SunUnicode_0.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -121,7 +121,7 @@
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
             "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
 
-        private static final short index1[] = {
+        private static final short[] index1 = {
             0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -140,7 +140,7 @@
             0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
         };
 
-        private static final String index2[] = {
+        private static final String[] index2 = {
             innerIndex0
         };
 
--- a/src/java.desktop/unix/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -105,7 +105,7 @@
         }
 
         long cfginfo = 0;
-        final String ids[] = new String[1];
+        final String[] ids = new String[1];
         OGLRenderQueue rq = OGLRenderQueue.getInstance();
         rq.lock();
         try {
--- a/src/java.desktop/unix/classes/sun/java2d/x11/X11Renderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/java2d/x11/X11Renderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -170,7 +170,7 @@
                           int npoints, boolean isclosed);
 
     public void drawPolyline(SunGraphics2D sg2d,
-                             int xpoints[], int ypoints[],
+                             int[] xpoints, int[] ypoints,
                              int npoints)
     {
         SunToolkit.awtLock();
@@ -185,7 +185,7 @@
     }
 
     public void drawPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[],
+                            int[] xpoints, int[] ypoints,
                             int npoints)
     {
         SunToolkit.awtLock();
@@ -275,7 +275,7 @@
                           int npoints);
 
     public void fillPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[],
+                            int[] xpoints, int[] ypoints,
                             int npoints)
     {
         SunToolkit.awtLock();
--- a/src/java.desktop/unix/classes/sun/java2d/xr/XRPaints.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/java2d/xr/XRPaints.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -108,7 +108,7 @@
             GradientPaint paint = (GradientPaint) pt;
 
             int repeat = paint.isCyclic() ? XRUtils.RepeatReflect : XRUtils.RepeatPad;
-            float fractions[] = {0, 1};
+            float[] fractions = {0, 1};
             int[] pixels = convertToIntArgbPixels(new Color[] { paint.getColor1(), paint.getColor2() });
 
             Point2D pt1 = paint.getPoint1();
--- a/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/java2d/xr/XRRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -106,7 +106,7 @@
     }
 
     public void drawPolyline(SunGraphics2D sg2d,
-                             int xpoints[], int ypoints[], int npoints) {
+                             int[] xpoints, int[] ypoints, int npoints) {
         Path2D.Float p2d = new Path2D.Float();
         if (npoints > 1) {
             p2d.moveTo(xpoints[0], ypoints[0]);
@@ -119,7 +119,7 @@
     }
 
     public void drawPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[], int npoints) {
+                            int[] xpoints, int[] ypoints, int npoints) {
         draw(sg2d, new Polygon(xpoints, ypoints, npoints));
     }
 
@@ -163,7 +163,7 @@
     }
 
     public void fillPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[], int npoints) {
+                            int[] xpoints, int[] ypoints, int npoints) {
         fill(sg2d, new Polygon(xpoints, ypoints, npoints));
     }
 
--- a/src/java.desktop/unix/classes/sun/print/CUPSPrinter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/print/CUPSPrinter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -269,7 +269,7 @@
     static String[] getDefaultPrinter() {
         // Try to get user/lpoptions-defined printer name from CUPS
         // if not user-set, then go for server default destination
-        String printerInfo[] = new String[2];
+        String[] printerInfo = new String[2];
         printerInfo[0] = getCupsDefaultPrinter();
 
         if (printerInfo[0] != null) {
@@ -298,7 +298,7 @@
                     return null;
                 }
 
-                AttributeClass attCl[] = {
+                AttributeClass[] attCl = {
                     AttributeClass.ATTRIBUTES_CHARSET,
                     AttributeClass.ATTRIBUTES_NATURAL_LANGUAGE,
                     new AttributeClass("requested-attributes",
@@ -397,7 +397,7 @@
                     return null;
                 }
 
-                AttributeClass attCl[] = {
+                AttributeClass[] attCl = {
                     AttributeClass.ATTRIBUTES_CHARSET,
                     AttributeClass.ATTRIBUTES_NATURAL_LANGUAGE,
                     new AttributeClass("requested-attributes",
--- a/src/java.desktop/unix/classes/sun/print/IPPPrintService.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/print/IPPPrintService.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -581,7 +581,7 @@
         } else if (category == JobName.class) {
             return new JobName("Java Printing", null);
         } else if (category == JobSheets.class) {
-            JobSheets arr[] = new JobSheets[2];
+            JobSheets[] arr = new JobSheets[2];
             arr[0] = JobSheets.NONE;
             arr[1] = JobSheets.STANDARD;
             return arr;
@@ -1758,11 +1758,11 @@
         try {
             debug_println(debugPrefix+"opGetAttributes myURI "+myURI+" myURL "+myURL);
 
-            AttributeClass attClNoUri[] = {
+            AttributeClass[] attClNoUri = {
                 AttributeClass.ATTRIBUTES_CHARSET,
                 AttributeClass.ATTRIBUTES_NATURAL_LANGUAGE};
 
-            AttributeClass attCl[] = {
+            AttributeClass[] attCl = {
                 AttributeClass.ATTRIBUTES_CHARSET,
                 AttributeClass.ATTRIBUTES_NATURAL_LANGUAGE,
                 new AttributeClass("printer-uri",
@@ -1884,7 +1884,7 @@
             return null;
         }
 
-        byte response[] = new byte[MAX_ATTRIBUTE_LENGTH];
+        byte[] response = new byte[MAX_ATTRIBUTE_LENGTH];
         try {
 
             DataInputStream ois = new DataInputStream(inputStream);
@@ -1931,7 +1931,7 @@
                             outObj.write(counter);
                             outObj.flush();
                             outObj.close();
-                            byte outArray[] = outObj.toByteArray();
+                            byte[] outArray = outObj.toByteArray();
 
                             // if key exists, new HashMap
                             if (responseMap.containsKey(attribStr)) {
@@ -1995,7 +1995,7 @@
                             responseMap = new HashMap<>();
                         }
 
-                        byte outArray[] = outObj.toByteArray();
+                        byte[] outArray = outObj.toByteArray();
 
                         AttributeClass ac =
                             new AttributeClass(attribStr,
--- a/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -860,7 +860,7 @@
         int COPIES  = 0x8;
         int NOSHEET  = 0x10;
         int pFlags = 0;
-        String execCmd[];
+        String[] execCmd;
         int ncomps = 2; // minimum number of print args
         int n = 0;
 
@@ -1022,7 +1022,7 @@
                  * Spool to the printer.
                  */
                 String fileName = spoolFile.getAbsolutePath();
-                String execCmd[] = printExecCmd(mDestination, mOptions,
+                String[] execCmd = printExecCmd(mDestination, mOptions,
                                mNoJobSheet, jobName, copies, fileName);
 
                 Process process = Runtime.getRuntime().exec(execCmd);
--- a/src/java.desktop/unix/classes/sun/print/UnixPrintService.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/classes/sun/print/UnixPrintService.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -179,7 +179,7 @@
 
     private static int MAXCOPIES = 1000;
 
-    private static final MediaSizeName mediaSizes[] = {
+    private static final MediaSizeName[] mediaSizes = {
         MediaSizeName.NA_LETTER,
         MediaSizeName.TABLOID,
         MediaSizeName.LEDGER,
@@ -224,7 +224,7 @@
 
     private PrinterIsAcceptingJobs getPrinterIsAcceptingJobsSysV() {
         String command = "/usr/bin/lpstat -a " + printer;
-        String results[]= PrintServiceLookupProvider.execCmd(command);
+        String[] results= PrintServiceLookupProvider.execCmd(command);
 
         if (results != null && results.length > 0) {
             if (results[0].startsWith(printer + " accepting requests")) {
@@ -257,7 +257,7 @@
 
         String command = "/usr/sbin/lpc status " + printer
             + lpcStatusCom[PrintServiceLookupProvider.cmdIndex];
-        String results[]= PrintServiceLookupProvider.execCmd(command);
+        String[] results= PrintServiceLookupProvider.execCmd(command);
 
         if (results != null && results.length > 0) {
             if (PrintServiceLookupProvider.cmdIndex ==
@@ -305,7 +305,7 @@
     private PrinterIsAcceptingJobs getPrinterIsAcceptingJobsAIX() {
         // On AIX there should not be a blank after '-a'.
         String command = "/usr/bin/lpstat -a" + printer;
-        String results[]= PrintServiceLookupProvider.execCmd(command);
+        String[] results= PrintServiceLookupProvider.execCmd(command);
 
         // Remove headers and bogus entries added by remote printers.
         results = filterPrinterNamesAIX(results);
@@ -355,7 +355,7 @@
 
     private QueuedJobCount getQueuedJobCountSysV() {
         String command = "/usr/bin/lpstat -R " + printer;
-        String results[]= PrintServiceLookupProvider.execCmd(command);
+        String[] results= PrintServiceLookupProvider.execCmd(command);
         int qlen = (results == null) ? 0 : results.length;
 
         return new QueuedJobCount(qlen);
@@ -372,7 +372,7 @@
         int qlen = 0;
         String command = "/usr/sbin/lpc status " + printer
             + lpcQueueCom[PrintServiceLookupProvider.cmdIndex];
-        String results[] = PrintServiceLookupProvider.execCmd(command);
+        String[] results = PrintServiceLookupProvider.execCmd(command);
 
         if (results != null && results.length > 0) {
             String queued;
@@ -400,7 +400,7 @@
     private QueuedJobCount getQueuedJobCountAIX() {
         // On AIX there should not be a blank after '-a'.
         String command = "/usr/bin/lpstat -a" + printer;
-        String results[]=  PrintServiceLookupProvider.execCmd(command);
+        String[] results=  PrintServiceLookupProvider.execCmd(command);
 
         // Remove headers and bogus entries added by remote printers.
         results = filterPrinterNamesAIX(results);
@@ -794,7 +794,7 @@
         } else if (category == JobName.class) {
             return new JobName("Java Printing", null);
         } else if (category == JobSheets.class) {
-            JobSheets arr[] = new JobSheets[2];
+            JobSheets[] arr = new JobSheets[2];
             arr[0] = JobSheets.NONE;
             arr[1] = JobSheets.STANDARD;
             return arr;
--- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1123,6 +1123,7 @@
                         tmpstyle[cnt] = text->feedback[cnt];
                 (*env)->SetIntArrayRegion(env, style, 0,
                                           text->length, (jint *)tmpstyle);
+                free(tmpstyle);
             }
         }
     }
--- a/src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/native/libawt_xawt/awt/awt_UNIXToolkit.c	Thu Nov 01 09:01:15 2018 -0400
@@ -183,6 +183,7 @@
         detail_str = (char *)SAFE_SIZE_ARRAY_ALLOC(malloc,
                 sizeof(char), len + 1);
         if (detail_str == NULL) {
+            free(stock_id_str);
             JNU_ThrowOutOfMemoryError(env, "OutOfMemoryError");
             return JNI_FALSE;
         }
@@ -190,6 +191,10 @@
     }
 
     if (!init_method(env, this) ) {
+        free(stock_id_str);
+        if (detail_str != NULL) {
+            free(detail_str);
+        }
         return JNI_FALSE;
     }
     jboolean result = gtk->get_icon_data(env, widget_type, stock_id_str,
--- a/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/unix/native/libfontmanager/X11FontScaler.c	Thu Nov 01 09:01:15 2018 -0400
@@ -66,6 +66,9 @@
 
    NativeScalerContext *context =
        (NativeScalerContext*)malloc(sizeof(NativeScalerContext));
+   if (context == NULL) {
+        return (jlong)(uintptr_t)0L;
+   }
    context->xFont = NULL;
    context->minGlyph = 0;
    context->maxGlyph = 0;
@@ -92,6 +95,10 @@
     (*env)->GetByteArrayRegion(env, xlfdBytes, 0, len, (jbyte*)xlfd);
     xlfd[len] = '\0';
     context = (NativeScalerContext*)malloc(sizeof(NativeScalerContext));
+    if (context == NULL) {
+        free(xlfd);
+        return (jlong)(uintptr_t)0L;
+    }
 
     AWTLoadFont (xlfd, &(context->xFont));
     free(xlfd);
@@ -232,10 +239,15 @@
 Java_sun_font_NativeFont_getGlyphAdvance
    (JNIEnv *env, jobject font2D, jlong pScalerContext, jint glyphCode) {
 
-    NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
-    AWTFont xFont = (AWTFont)context->xFont;
     AWTChar xcs = NULL;
     jfloat advance = 0.0f;
+    AWTFont xFont;
+    NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
+    if (context == NULL) {
+        return advance;
+    } else {
+        xFont = (AWTFont)context->xFont;
+    }
 
     if (xFont == NULL || context->ptSize == NO_POINTSIZE) {
         return advance;
@@ -271,9 +283,14 @@
 Java_sun_font_NativeFont_getGlyphImageNoDefault
     (JNIEnv *env, jobject font2D, jlong pScalerContext, jint glyphCode) {
 
+    AWTChar2b xChar;
+    AWTFont xFont;
     NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
-    AWTFont xFont = context->xFont;
-    AWTChar2b xChar;
+    if (context == NULL) {
+        return (jlong)0;
+    } else {
+        xFont = (AWTFont)context->xFont;
+    }
 
     if (xFont == NULL || context->ptSize == NO_POINTSIZE) {
         return (jlong)0;
@@ -292,9 +309,14 @@
 Java_sun_font_NativeFont_getGlyphImage
     (JNIEnv *env, jobject font2D, jlong pScalerContext, jint glyphCode) {
 
+    AWTChar2b xChar;
+    AWTFont xFont;
     NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
-    AWTFont xFont = context->xFont;
-    AWTChar2b xChar;
+    if (context == NULL) {
+        return (jlong)0;
+    } else {
+        xFont = (AWTFont)context->xFont;
+    }
 
     if (xFont == NULL || context->ptSize == NO_POINTSIZE) {
         return (jlong)0;
@@ -313,10 +335,15 @@
   Java_sun_font_NativeFont_getFontMetrics
     (JNIEnv *env, jobject font2D, jlong pScalerContext) {
 
-    NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
-    AWTFont xFont = (AWTFont)context->xFont;
     jfloat j0=0, j1=1, ay=j0, dy=j0, mx=j0;
     jobject metrics;
+    AWTFont xFont;
+    NativeScalerContext *context = (NativeScalerContext*)pScalerContext;
+    if (context == NULL) {
+        return NULL;
+    } else {
+        xFont = (AWTFont)context->xFont;
+    }
 
     if (xFont == NULL) {
         return NULL;
--- a/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -154,7 +154,7 @@
             comboBox.addMouseListener(rolloverListener);
             arrowButton.addMouseListener(rolloverListener);
             // set empty border as default to see vista animated border
-            comboBox.setBorder(new EmptyBorder(0,0,0,0));
+            comboBox.setBorder(new EmptyBorder(1,1,1,1));
         }
     }
 
@@ -366,12 +366,20 @@
                 if (XPStyle.getXP() != null && arrowButton != null) {
                     Dimension d = parent.getSize();
                     Insets insets = getInsets();
-                    int buttonWidth = arrowButton.getPreferredSize().width;
-                    arrowButton.setBounds(WindowsGraphicsUtils.isLeftToRight((JComboBox)parent)
-                                          ? (d.width - insets.right - buttonWidth)
-                                          : insets.left,
-                                          insets.top,
-                                          buttonWidth, d.height - insets.top - insets.bottom);
+
+                    int borderInsetsCorrection = 0;
+                    if (((JComboBox)parent).getBorder() instanceof EmptyBorder) {
+                        borderInsetsCorrection = 1;
+                    }
+                    arrowButton.setBounds(
+                        WindowsGraphicsUtils.isLeftToRight((JComboBox)parent)
+                            ? (d.width - (insets.right - borderInsetsCorrection)
+                                - arrowButton.getPreferredSize().width)
+                            : insets.left - borderInsetsCorrection,
+                            insets.top - borderInsetsCorrection,
+                            arrowButton.getPreferredSize().width,
+                            d.height - (insets.top - borderInsetsCorrection) -
+                                    (insets.bottom - borderInsetsCorrection));
                 }
             }
         };
--- a/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -672,8 +672,8 @@
             "ComboBox.buttonHighlight", ControlHighlightColor,
             "ComboBox.selectionBackground", SelectionBackgroundColor,
             "ComboBox.selectionForeground", SelectionTextColor,
-            "ComboBox.editorBorder", new XPValue(new EmptyBorder(1,4,1,1),
-                                                 new EmptyBorder(1,4,1,4)),
+            "ComboBox.editorBorder", new XPValue(new EmptyBorder(1,3,1,1),
+                                                 new EmptyBorder(1,3,1,4)),
             "ComboBox.disabledBackground",
                         new XPColorValue(Part.CP_COMBOBOX, State.DISABLED,
                         Prop.FILLCOLOR, DisabledTextBackground),
@@ -1587,7 +1587,7 @@
                 "CheckBoxMenuItem", "RadioButtonMenuItem",
         };
 
-        Object menuDefaults[] = new Object[menuClasses.length * 2];
+        Object[] menuDefaults = new Object[menuClasses.length * 2];
 
         /* all the menus need to be non opaque. */
         for (int i = 0, j = 0; i < menuClasses.length; i++) {
--- a/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuBarUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -142,7 +142,7 @@
             if (menu != null) {
                 MenuSelectionManager msm =
                     MenuSelectionManager.defaultManager();
-                MenuElement path[] = new MenuElement[2];
+                MenuElement[] path = new MenuElement[2];
                 path[0] = (MenuElement)menuBar;
                 path[1] = (MenuElement)menu;
                 msm.setSelectedPath(path);
--- a/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -165,11 +165,13 @@
         }
 
         public boolean postProcessKeyEvent(KeyEvent ev) {
-            if(ev.isConsumed() && ev.getKeyCode() != KeyEvent.VK_ALT) {
-                // mnemonic combination, it's consumed, but we need
-                // set altKeyPressed to false, otherwise after selection
-                // component by mnemonic combination a menu will be open
-                altKeyPressed = false;
+            if (ev.isConsumed()) {
+                if (ev.getKeyCode() != KeyEvent.VK_ALT) {
+                    // mnemonic combination, it's consumed, but we need
+                    // set altKeyPressed to false, otherwise after selection
+                    // component by mnemonic combination a menu will be open
+                    altKeyPressed = false;
+                }
                 return false;
             }
             if (ev.getKeyCode() == KeyEvent.VK_ALT) {
--- a/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsScrollBarUI.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -413,7 +413,7 @@
         }
 
         public Grid(Color fg, Color bg) {
-            int cmap[] = { fg.getRGB(), bg.getRGB() };
+            int[] cmap = { fg.getRGB(), bg.getRGB() };
             IndexColorModel icm = new IndexColorModel(8, 2, cmap, 0, false, -1,
                                                       DataBuffer.TYPE_BYTE);
             image = new BufferedImage(BUFFER_SIZE, BUFFER_SIZE,
--- a/src/java.desktop/windows/classes/sun/awt/Win32GraphicsDevice.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/Win32GraphicsDevice.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -594,7 +594,7 @@
         }
 
         private void setFSWindowsState(Window other, int state) {
-            GraphicsDevice gds[] =
+            GraphicsDevice[] gds =
                     GraphicsEnvironment.getLocalGraphicsEnvironment().
                     getScreenDevices();
             // check if the de/activation was caused by other
--- a/src/java.desktop/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -141,8 +141,8 @@
     @Override
     public void displayChanged() {
         // getNumScreens() will return the correct current number of screens
-        GraphicsDevice newDevices[] = new GraphicsDevice[getNumScreens()];
-        GraphicsDevice oldScreens[] = screens;
+        GraphicsDevice[] newDevices = new GraphicsDevice[getNumScreens()];
+        GraphicsDevice[] oldScreens = screens;
         // go through the list of current devices and determine if they
         // could be reused, or will have to be replaced
         if (oldScreens != null) {
--- a/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -207,7 +207,7 @@
 
             if (bb instanceof BufferedImage) {
                 BufferedImage bi = (BufferedImage)bb;
-                int data[] =
+                int[] data =
                     ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
                 peer.updateWindowImpl(data, bi.getWidth(), bi.getHeight());
                 return true;
@@ -222,7 +222,7 @@
                         int w = viBB.getWidth();
                         int h = viBB.getHeight();
                         BufImgSurfaceData bisd = (BufImgSurfaceData)s;
-                        int data[] = ((DataBufferInt)bisd.getRaster(0,0,w,h).
+                        int[] data = ((DataBufferInt)bisd.getRaster(0,0,w,h).
                             getDataBuffer()).getData();
                         peer.updateWindowImpl(data, w, h);
                         return true;
@@ -233,7 +233,7 @@
             // copy the passed image into our own buffer, then upload
             BufferedImage bi = (BufferedImage)clearImage(backBuffer);
 
-            int data[] =
+            int[] data =
                 ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
             peer.updateWindowImpl(data, bi.getWidth(), bi.getHeight());
 
@@ -332,7 +332,7 @@
             if (bb instanceof DestSurfaceProvider) {
                 Surface s = ((DestSurfaceProvider)bb).getDestSurface();
                 if (s instanceof AccelSurface) {
-                    final boolean arr[] = { false };
+                    final boolean[] arr = { false };
                     final AccelSurface as = (AccelSurface)s;
                     final int w = as.getBounds().width;
                     final int h = as.getBounds().height;
--- a/src/java.desktop/windows/classes/sun/awt/windows/WCustomCursor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WCustomCursor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -64,7 +64,7 @@
         Raster  raster = bimage.getRaster();
         DataBuffer buffer = raster.getDataBuffer();
         // REMIND: native code should use ScanStride _AND_ width
-        int data[] = ((DataBufferInt)buffer).getData();
+        int[] data = ((DataBufferInt)buffer).getData();
 
         byte[] andMask = new byte[w * h / 8];
         int npixels = pixels.length;
--- a/src/java.desktop/windows/classes/sun/awt/windows/WDataTransferer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WDataTransferer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -774,7 +774,7 @@
                                                 iSelStart = -1;
 
         bufferedStream.mark(BYTE_BUFFER_LEN);
-        String astEntries[] = new String[] {
+        String[] astEntries = new String[] {
                 //common
                 VERSION,
                 START_HTML,
--- a/src/java.desktop/windows/classes/sun/awt/windows/WDesktopProperties.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WDesktopProperties.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -89,8 +89,8 @@
      * Returns String[] containing available property names
      */
     private String [] getKeyNames() {
-        Object  keys[] = map.keySet().toArray();
-        String  sortedKeys[] = new String[keys.length];
+        Object[]  keys = map.keySet().toArray();
+        String[]  sortedKeys = new String[keys.length];
 
         for ( int nkey = 0; nkey < keys.length; nkey++ ) {
             sortedKeys[nkey] = keys[nkey].toString();
--- a/src/java.desktop/windows/classes/sun/awt/windows/WFontMetrics.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WFontMetrics.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
     /**
      * The widths of the first 256 characters.
      */
-    int widths[];
+    int[] widths;
 
     /**
      * The standard ascent of the font.  This is the logical height
@@ -181,13 +181,13 @@
      * Return the width of the specified char[] in this Font.
      */
     @Override
-    public native int charsWidth(char data[], int off, int len);
+    public native int charsWidth(char[] data, int off, int len);
 
     /**
      * Return the width of the specified byte[] in this Font.
      */
     @Override
-    public native int bytesWidth(byte data[], int off, int len);
+    public native int bytesWidth(byte[] data, int off, int len);
 
     /**
      * Get the widths of the first 256 characters in the font.
--- a/src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -90,7 +90,7 @@
     // Initialize highlight mapping table
     static {
         @SuppressWarnings({"rawtypes", "unchecked"})
-        Map<TextAttribute,Object> styles[] = new Map[4];
+        Map<TextAttribute,Object>[] styles = new Map[4];
         HashMap<TextAttribute,Object> map;
 
         // UNSELECTED_RAW_TEXT_HIGHLIGHT
--- a/src/java.desktop/windows/classes/sun/awt/windows/WListPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WListPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -42,14 +42,14 @@
     public int[] getSelectedIndexes() {
         List l = (List)target;
         int len = l.getItemCount();
-        int sel[] = new int[len];
+        int[] sel = new int[len];
         int nsel = 0;
         for (int i = 0 ; i < len ; i++) {
             if (isSelected(i)) {
                 sel[nsel++] = i;
             }
         }
-        int selected[] = new int[nsel];
+        int[] selected = new int[nsel];
         System.arraycopy(sel, 0, selected, 0, nsel);
         return selected;
     }
@@ -147,7 +147,7 @@
         setMultipleSelections(li.isMultipleMode());
 
         // select the item if necessary.
-        int sel[] = li.getSelectedIndexes();
+        int[] sel = li.getSelectedIndexes();
         for (int i = 0 ; i < sel.length ; i++) {
             select(sel[i]);
         }
--- a/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1735,7 +1735,7 @@
 
     /** MediaSizeName / dmPaper */
     private int[] getWin32MediaAttrib() {
-        int wid_ht[] = {0, 0};
+        int[] wid_ht = {0, 0};
         if (attributes != null) {
             Media media = (Media)attributes.get(Media.class);
             if (media instanceof MediaSizeName) {
--- a/src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -75,10 +75,10 @@
 
     @Override
     public int [] getRGBPixels(Rectangle bounds) {
-        int pixelArray[] = new int[bounds.width*bounds.height];
+        int[] pixelArray = new int[bounds.width*bounds.height];
         getRGBPixels(bounds.x, bounds.y, bounds.width, bounds.height, pixelArray);
         return pixelArray;
     }
 
-    private native void getRGBPixels(int x, int y, int width, int height, int pixelArray[]);
+    private native void getRGBPixels(int x, int y, int width, int height, int[] pixelArray);
 }
--- a/src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -157,7 +157,7 @@
     void createNativeImage(BufferedImage bimage) {
         Raster raster = bimage.getRaster();
         byte[] andMask = new byte[TRAY_ICON_MASK_SIZE];
-        int  pixels[] = ((DataBufferInt)raster.getDataBuffer()).getData();
+        int[]  pixels = ((DataBufferInt)raster.getDataBuffer()).getData();
         int npixels = pixels.length;
         int ficW = raster.getWidth();
 
--- a/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -540,7 +540,7 @@
         Win32GraphicsDevice oldDev = winGraphicsConfig.getDevice();
 
         Win32GraphicsDevice newDev;
-        GraphicsDevice devs[] = GraphicsEnvironment
+        GraphicsDevice[] devs = GraphicsEnvironment
             .getLocalGraphicsEnvironment()
             .getScreenDevices();
         // Occasionally during device addition/removal getScreenImOn can return
--- a/src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -428,7 +428,7 @@
             }
 
             // make a copy to avoid synchronization during the loop
-            D3DWindowSurfaceData surfaces[] = new D3DWindowSurfaceData[] {};
+            D3DWindowSurfaceData[] surfaces = new D3DWindowSurfaceData[] {};
             synchronized (this) {
                 surfaces = d3dwSurfaces.toArray(surfaces);
             }
--- a/src/java.desktop/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -112,7 +112,7 @@
         }
 
         long cfginfo = 0;
-        final String ids[] = new String[1];
+        final String[] ids = new String[1];
         OGLRenderQueue rq = OGLRenderQueue.getInstance();
         rq.lock();
         try {
--- a/src/java.desktop/windows/classes/sun/java2d/windows/GDIRenderer.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.desktop/windows/classes/sun/java2d/windows/GDIRenderer.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -141,7 +141,7 @@
                            int npoints, boolean isclosed);
 
     public void drawPolyline(SunGraphics2D sg2d,
-                             int xpoints[], int ypoints[],
+                             int[] xpoints, int[] ypoints,
                              int npoints)
     {
         try {
@@ -154,7 +154,7 @@
     }
 
     public void drawPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[],
+                            int[] xpoints, int[] ypoints,
                             int npoints)
     {
         try {
@@ -243,7 +243,7 @@
                            int npoints);
 
     public void fillPolygon(SunGraphics2D sg2d,
-                            int xpoints[], int ypoints[],
+                            int[] xpoints, int[] ypoints,
                             int npoints)
     {
         try {
@@ -291,7 +291,7 @@
     // by a native FillSpans method or a getHintedStrokeGeneralPath()
     // method that could be filled by the doShape method more quickly.
     public void doFillSpans(SunGraphics2D sg2d, SpanIterator si) {
-        int box[] = new int[4];
+        int[] box = new int[4];
         GDIWindowSurfaceData sd;
         try {
             sd = (GDIWindowSurfaceData)sg2d.surfaceData;
--- a/src/java.management/share/classes/sun/management/LockInfoCompositeData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.management/share/classes/sun/management/LockInfoCompositeData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -26,6 +26,7 @@
 package sun.management;
 
 import java.lang.management.LockInfo;
+import java.util.Map;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeDataSupport;
@@ -57,17 +58,13 @@
     }
 
     protected CompositeData getCompositeData() {
-        // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH
-        // LOCK_INFO_ATTRIBUTES!
-        final Object[] lockInfoItemValues = {
-            new String(lock.getClassName()),
-            lock.getIdentityHashCode(),
-        };
+        Map<String,Object> items = Map.of(
+            CLASS_NAME,         lock.getClassName(),
+            IDENTITY_HASH_CODE, lock.getIdentityHashCode()
+        );
 
         try {
-            return new CompositeDataSupport(LOCK_INFO_COMPOSITE_TYPE,
-                                            LOCK_INFO_ATTRIBUTES,
-                                            lockInfoItemValues);
+            return new CompositeDataSupport(LOCK_INFO_COMPOSITE_TYPE, items);
         } catch (OpenDataException e) {
             // Should never reach here
             throw Util.newException(e);
@@ -91,10 +88,6 @@
 
     private static final String CLASS_NAME         = "className";
     private static final String IDENTITY_HASH_CODE = "identityHashCode";
-    private static final String[] LOCK_INFO_ATTRIBUTES = {
-        CLASS_NAME,
-        IDENTITY_HASH_CODE,
-    };
 
     /*
      * Returns a LockInfo object mapped from the given CompositeData.
--- a/src/java.management/share/classes/sun/management/MonitorInfoCompositeData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.management/share/classes/sun/management/MonitorInfoCompositeData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -26,6 +26,8 @@
 package sun.management;
 
 import java.lang.management.MonitorInfo;
+import java.util.HashMap;
+import java.util.Map;
 import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeDataSupport;
@@ -54,31 +56,18 @@
     }
 
     protected CompositeData getCompositeData() {
-        // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH
-        // MONITOR_INFO_ATTRIBUTES!
-
-        int len = MONITOR_INFO_ATTRIBUTES.length;
-        Object[] values = new Object[len];
-        CompositeData li = LockInfoCompositeData.toCompositeData(lock);
-
-        for (int i = 0; i < len; i++) {
-            String item = MONITOR_INFO_ATTRIBUTES[i];
-            if (item.equals(LOCKED_STACK_FRAME)) {
-                StackTraceElement ste = lock.getLockedStackFrame();
-                values[i] = (ste != null ? StackTraceElementCompositeData.
-                                               toCompositeData(ste)
-                                         : null);
-            } else if (item.equals(LOCKED_STACK_DEPTH)) {
-                values[i] = lock.getLockedStackDepth();
-            } else {
-                values[i] = li.get(item);
-            }
-        }
+        StackTraceElement ste = lock.getLockedStackFrame();
+        CompositeData steCData = ste != null ? StackTraceElementCompositeData.toCompositeData(ste)
+                                             : null;
+        // values may be null; can't use Map.of
+        Map<String,Object> items = new HashMap<>();
+        items.put(CLASS_NAME,         lock.getClassName());
+        items.put(IDENTITY_HASH_CODE, lock.getIdentityHashCode());
+        items.put(LOCKED_STACK_FRAME, steCData);
+        items.put(LOCKED_STACK_DEPTH, lock.getLockedStackDepth());
 
         try {
-            return new CompositeDataSupport(MONITOR_INFO_COMPOSITE_TYPE,
-                                            MONITOR_INFO_ATTRIBUTES,
-                                            values);
+            return new CompositeDataSupport(MONITOR_INFO_COMPOSITE_TYPE, items);
         } catch (OpenDataException e) {
             // Should never reach here
             throw new AssertionError(e);
@@ -126,10 +115,6 @@
         return V6_COMPOSITE_TYPE;
     }
 
-    static CompositeType compositeType() {
-        return MONITOR_INFO_COMPOSITE_TYPE;
-    }
-
     public static String getClassName(CompositeData cd) {
         return getString(cd, CLASS_NAME);
     }
--- a/src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.management/share/classes/sun/management/StackTraceElementCompositeData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -31,6 +31,8 @@
 import javax.management.openmbean.OpenDataException;
 import javax.management.openmbean.OpenType;
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.stream.Stream;
 
 /**
@@ -75,24 +77,19 @@
     }
 
     protected CompositeData getCompositeData() {
-        // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH
-        // STACK_TRACE_ELEMENT_ATTRIBUTES!
-        final Object[] stackTraceElementItemValues = {
-            // JDK 5 attributes
-            ste.getClassName(),
-            ste.getMethodName(),
-            ste.getFileName(),
-            ste.getLineNumber(),
-            ste.isNativeMethod(),
-            // JDK 9 attributes
-            ste.getClassLoaderName(),
-            ste.getModuleName(),
-            ste.getModuleVersion(),
-        };
+        // values may be null; so can't use Map.of
+        Map<String,Object> items = new HashMap<>();
+        items.put(CLASS_LOADER_NAME, ste.getClassLoaderName());
+        items.put(MODULE_NAME,       ste.getModuleName());
+        items.put(MODULE_VERSION,    ste.getModuleVersion());
+        items.put(CLASS_NAME,        ste.getClassName());
+        items.put(METHOD_NAME,       ste.getMethodName());
+        items.put(FILE_NAME,         ste.getFileName());
+        items.put(LINE_NUMBER,       ste.getLineNumber());
+        items.put(NATIVE_METHOD,     ste.isNativeMethod());
+
         try {
-            return new CompositeDataSupport(STACK_TRACE_ELEMENT_COMPOSITE_TYPE,
-                                            STACK_TRACE_ELEMENT_ATTRIBUTES,
-                                            stackTraceElementItemValues);
+            return new CompositeDataSupport(STACK_TRACE_ELEMENT_COMPOSITE_TYPE, items);
         } catch (OpenDataException e) {
             // Should never reach here
             throw new AssertionError(e);
@@ -123,10 +120,6 @@
         MODULE_VERSION,
     };
 
-    private static final String[] STACK_TRACE_ELEMENT_ATTRIBUTES =
-        Stream.of(V5_ATTRIBUTES, V9_ATTRIBUTES).flatMap(Arrays::stream)
-              .toArray(String[]::new);
-
     private static final CompositeType STACK_TRACE_ELEMENT_COMPOSITE_TYPE;
     private static final CompositeType V5_COMPOSITE_TYPE;
     static {
@@ -153,9 +146,6 @@
     static CompositeType v5CompositeType() {
         return V5_COMPOSITE_TYPE;
     }
-    static CompositeType compositeType() {
-        return STACK_TRACE_ELEMENT_COMPOSITE_TYPE;
-    }
 
     /**
      * Validate if the input CompositeData has the expected
--- a/src/java.management/share/classes/sun/management/ThreadInfoCompositeData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.management/share/classes/sun/management/ThreadInfoCompositeData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -75,8 +75,7 @@
     protected CompositeData getCompositeData() {
         // Convert StackTraceElement[] to CompositeData[]
         StackTraceElement[] stackTrace = threadInfo.getStackTrace();
-        CompositeData[] stackTraceData =
-            new CompositeData[stackTrace.length];
+        CompositeData[] stackTraceData = new CompositeData[stackTrace.length];
         for (int i = 0; i < stackTrace.length; i++) {
             StackTraceElement ste = stackTrace[i];
             stackTraceData[i] = StackTraceElementCompositeData.toCompositeData(ste);
@@ -88,48 +87,42 @@
 
         // Convert LockInfo[] and MonitorInfo[] to CompositeData[]
         LockInfo[] lockedSyncs = threadInfo.getLockedSynchronizers();
-        CompositeData[] lockedSyncsData =
-            new CompositeData[lockedSyncs.length];
+        CompositeData[] lockedSyncsData = new CompositeData[lockedSyncs.length];
         for (int i = 0; i < lockedSyncs.length; i++) {
             LockInfo li = lockedSyncs[i];
             lockedSyncsData[i] = LockInfoCompositeData.toCompositeData(li);
         }
 
         MonitorInfo[] lockedMonitors = threadInfo.getLockedMonitors();
-        CompositeData[] lockedMonitorsData =
-            new CompositeData[lockedMonitors.length];
+        CompositeData[] lockedMonitorsData = new CompositeData[lockedMonitors.length];
         for (int i = 0; i < lockedMonitors.length; i++) {
             MonitorInfo mi = lockedMonitors[i];
             lockedMonitorsData[i] = MonitorInfoCompositeData.toCompositeData(mi);
         }
 
-        // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH
-        // THREAD_INFO_ATTRIBUTES!
-        final Object[] threadInfoItemValues = {
-            threadInfo.getThreadId(),
-            threadInfo.getThreadName(),
-            threadInfo.getThreadState().name(),
-            threadInfo.getBlockedTime(),
-            threadInfo.getBlockedCount(),
-            threadInfo.getWaitedTime(),
-            threadInfo.getWaitedCount(),
-            lockInfoData,
-            threadInfo.getLockName(),
-            threadInfo.getLockOwnerId(),
-            threadInfo.getLockOwnerName(),
-            stackTraceData,
-            threadInfo.isSuspended(),
-            threadInfo.isInNative(),
-            lockedMonitorsData,
-            lockedSyncsData,
-            threadInfo.isDaemon(),
-            threadInfo.getPriority(),
-        };
+        // values may be null; can't use Map.of
+        Map<String,Object> items = new HashMap<>();
+        items.put(THREAD_ID,        threadInfo.getThreadId());
+        items.put(THREAD_NAME,      threadInfo.getThreadName());
+        items.put(THREAD_STATE,     threadInfo.getThreadState().name());
+        items.put(BLOCKED_TIME,     threadInfo.getBlockedTime());
+        items.put(BLOCKED_COUNT,    threadInfo.getBlockedCount());
+        items.put(WAITED_TIME,      threadInfo.getWaitedTime());
+        items.put(WAITED_COUNT,     threadInfo.getWaitedCount());
+        items.put(LOCK_INFO,        lockInfoData);
+        items.put(LOCK_NAME,        threadInfo.getLockName());
+        items.put(LOCK_OWNER_ID,    threadInfo.getLockOwnerId());
+        items.put(LOCK_OWNER_NAME,  threadInfo.getLockOwnerName());
+        items.put(STACK_TRACE,      stackTraceData);
+        items.put(SUSPENDED,        threadInfo.isSuspended());
+        items.put(IN_NATIVE,        threadInfo.isInNative());
+        items.put(LOCKED_MONITORS,  lockedMonitorsData);
+        items.put(LOCKED_SYNCS,     lockedSyncsData);
+        items.put(DAEMON,           threadInfo.isDaemon());
+        items.put(PRIORITY,         threadInfo.getPriority());
 
         try {
-            return new CompositeDataSupport(compositeType(),
-                                            THREAD_INFO_ATTRIBTUES,
-                                            threadInfoItemValues);
+            return new CompositeDataSupport(ThreadInfoCompositeTypes.ofVersion(RUNTIME_VERSION), items);
         } catch (OpenDataException e) {
             // Should never reach here
             throw new AssertionError(e);
@@ -183,10 +176,6 @@
         PRIORITY,
     };
 
-    private static final String[] THREAD_INFO_ATTRIBTUES =
-        Stream.of(V5_ATTRIBUTES, V6_ATTRIBUTES, V9_ATTRIBUTES)
-              .flatMap(Arrays::stream).toArray(String[]::new);
-
     public long threadId() {
         return getLong(cdata, THREAD_ID);
     }
@@ -365,12 +354,8 @@
         }
     }
 
-    public static CompositeType compositeType() {
-        return ThreadInfoCompositeTypes.compositeTypes.get(0);
-    }
-
+    static final int RUNTIME_VERSION =  Runtime.version().feature();
     static class ThreadInfoCompositeTypes {
-        static final int CURRENT =  Runtime.version().feature();
         static final Map<Integer, CompositeType> compositeTypes = initCompositeTypes();
         /*
          * Returns CompositeType of the given runtime version
@@ -382,7 +367,7 @@
         static Map<Integer, CompositeType> initCompositeTypes() {
             Map<Integer, CompositeType> types = new HashMap<>();
             CompositeType ctype = initCompositeType();
-            types.put(CURRENT, ctype);
+            types.put(RUNTIME_VERSION, ctype);
             types.put(5, initV5CompositeType(ctype));
             types.put(6, initV6CompositeType(ctype));
             return types;
--- a/src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/Http1Response.java	Thu Nov 01 09:01:15 2018 -0400
@@ -236,20 +236,20 @@
      * Return known fixed content length or -1 if chunked, or -2 if no content-length
      * information in which case, connection termination delimits the response body
      */
-    int fixupContentLen(int clen) {
+    long fixupContentLen(long clen) {
         if (request.method().equalsIgnoreCase("HEAD") || responseCode == HTTP_NOT_MODIFIED) {
-            return 0;
+            return 0L;
         }
-        if (clen == -1) {
+        if (clen == -1L) {
             if (headers.firstValue("Transfer-encoding").orElse("")
                        .equalsIgnoreCase("chunked")) {
-                return -1;
+                return -1L;
             }
             if (responseCode == 101) {
                 // this is a h2c or websocket upgrade, contentlength must be zero
-                return 0;
+                return 0L;
             }
-            return -2;
+            return -2L;
         }
         return clen;
     }
@@ -383,9 +383,8 @@
 
         final CompletableFuture<U> cf = new MinimalFuture<>();
 
-        int clen0 = (int)headers.firstValueAsLong("Content-Length").orElse(-1);
-
-        final int clen = fixupContentLen(clen0);
+        long clen0 = headers.firstValueAsLong("Content-Length").orElse(-1L);
+        final long clen = fixupContentLen(clen0);
 
         // expect-continue reads headers and body twice.
         // if we reach here, we must reset the headersReader state.
--- a/src/java.net.http/share/classes/jdk/internal/net/http/ResponseContent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/ResponseContent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -46,7 +46,7 @@
 class ResponseContent {
 
     final HttpResponse.BodySubscriber<?> pusher;
-    final int contentLength;
+    final long contentLength;
     final HttpHeaders headers;
     // this needs to run before we complete the body
     // so that connection can be returned to pool
@@ -54,7 +54,7 @@
     private final String dbgTag;
 
     ResponseContent(HttpConnection connection,
-                    int contentLength,
+                    long contentLength,
                     HttpHeaders h,
                     HttpResponse.BodySubscriber<?> userSubscriber,
                     Runnable onFinished)
@@ -474,14 +474,14 @@
     }
 
     class FixedLengthBodyParser implements BodyParser {
-        final int contentLength;
+        final long contentLength;
         final Consumer<Throwable> onComplete;
         final Logger debug = Utils.getDebugLogger(this::dbgString, Utils.DEBUG);
         final String dbgTag = ResponseContent.this.dbgTag + "/FixedLengthBodyParser";
-        volatile int remaining;
+        volatile long remaining;
         volatile Throwable closedExceptionally;
         volatile AbstractSubscription sub;
-        FixedLengthBodyParser(int contentLength, Consumer<Throwable> onComplete) {
+        FixedLengthBodyParser(long contentLength, Consumer<Throwable> onComplete) {
             this.contentLength = this.remaining = contentLength;
             this.onComplete = onComplete;
         }
@@ -527,7 +527,7 @@
             }
             boolean completed = false;
             try {
-                int unfulfilled = remaining;
+                long unfulfilled = remaining;
                 if (debug.on())
                     debug.log("Parser got %d bytes (%d remaining / %d)",
                               b.remaining(), unfulfilled, contentLength);
@@ -541,7 +541,7 @@
                     // demand.
                     boolean hasDemand = sub.demand().tryDecrement();
                     assert hasDemand;
-                    int amount = Math.min(b.remaining(), unfulfilled);
+                    int amount = (int)Math.min(b.remaining(), unfulfilled); // safe cast
                     unfulfilled = remaining -= amount;
                     ByteBuffer buffer = Utils.sliceWithLimitedCapacity(b, amount);
                     pusher.onNext(List.of(buffer.asReadOnlyBuffer()));
--- a/src/java.xml/share/classes/javax/xml/validation/package-info.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/java.xml/share/classes/javax/xml/validation/package-info.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,13 +53,13 @@
  *         and an <a href="http://www.iso.org">ISO (International Organization
  *         for Standardization)</a> standard.
  *     </li>
- *     <li><strong><a href="http://www.schematron.com/">Schematron</a></strong> -
+ *     <li><strong><a href="http://standards.iso.org/ittf/PubliclyAvailableStandards/c055982_ISO_IEC_19757-3_2016.zip">Schematron</a></strong> -
  *         a rules-based XML schema language. Whereas DTD, WXS, and RNG are designed
  *         to express the structure of a content model, Schematron is designed to
  *         enforce individual rules that are difficult or impossible to express
  *         with other schema languages. Schematron is intended to supplement a
  *         schema written in structural schema language such as the aforementioned.
- *         Schematron is in the process of becoming an ISO standard.
+ *         Schematron is <a href="http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html">an ISO standard</a>.
  *     </li>
  * </ul>
  * <p>
--- a/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -669,7 +669,7 @@
          * @see AWTEventMonitor
          */
         protected void installListeners() {
-            Window topLevelWindows[] = EventQueueMonitor.getTopLevelWindows();
+            Window[] topLevelWindows = EventQueueMonitor.getTopLevelWindows();
             if (topLevelWindows != null) {
                 for (int i = 0; i < topLevelWindows.length; i++) {
                     installListeners(topLevelWindows[i]);
@@ -685,7 +685,7 @@
          * @see EventID
          */
         protected void installListeners(int eventID) {
-            Window topLevelWindows[] = EventQueueMonitor.getTopLevelWindows();
+            Window[] topLevelWindows = EventQueueMonitor.getTopLevelWindows();
             if (topLevelWindows != null) {
                 for (int i = 0; i < topLevelWindows.length; i++) {
                     installListeners(topLevelWindows[i], eventID);
@@ -943,7 +943,7 @@
          * @see EventID
          */
         protected void removeListeners(int eventID) {
-            Window topLevelWindows[] = EventQueueMonitor.getTopLevelWindows();
+            Window[] topLevelWindows = EventQueueMonitor.getTopLevelWindows();
             if (topLevelWindows != null) {
                 for (int i = 0; i < topLevelWindows.length; i++) {
                     removeListeners(topLevelWindows[i], eventID);
--- a/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -128,7 +128,7 @@
          * @see AWTEventMonitor
          */
         protected void installListeners() {
-            Window topLevelWindows[] = EventQueueMonitor.getTopLevelWindows();
+            Window[] topLevelWindows = EventQueueMonitor.getTopLevelWindows();
             if (topLevelWindows != null) {
                 for (int i = 0; i < topLevelWindows.length; i++) {
                     if (topLevelWindows[i] instanceof Accessible) {
@@ -206,7 +206,7 @@
          * @see EventID
          */
         protected void removeListeners() {
-            Window topLevelWindows[] = EventQueueMonitor.getTopLevelWindows();
+            Window[] topLevelWindows = EventQueueMonitor.getTopLevelWindows();
             if (topLevelWindows != null) {
                 for (int i = 0; i < topLevelWindows.length; i++) {
                     if (topLevelWindows[i] instanceof Accessible) {
--- a/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/Translator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/Translator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -318,7 +318,7 @@
         if (source instanceof Component) {
             Container parent = ((Component) source).getParent();
             if (parent != null) {
-                Component ca[] = parent.getComponents();
+                Component[] ca = parent.getComponents();
                 for (int i = 0; i < ca.length; i++) {
                     if (source.equals(ca[i])) {
                         return i;
--- a/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -291,9 +291,9 @@
      * map an HWND to an AWT Component
      */
     private void initHWNDcalls() {
-        Class<?> integerParemter[] = new Class<?>[1];
+        Class<?>[] integerParemter = new Class<?>[1];
         integerParemter[0] = Integer.TYPE;
-        Class<?> componentParemter[] = new Class<?>[1];
+        Class<?>[] componentParemter = new Class<?>[1];
         try {
             componentParemter[0] = Class.forName("java.awt.Component");
         } catch (ClassNotFoundException e) {
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1297,15 +1297,26 @@
             super.visitTypeParameter(tree);
         }
 
-        private void copyNewClassAnnotationsToOwner(JCNewClass tree) {
+        private void propagateNewClassAnnotationsToOwner(JCNewClass tree) {
             Symbol sym = tree.def.sym;
-            final TypeAnnotationPosition pos =
-                TypeAnnotationPosition.newObj(tree.pos);
+            // The anonymous class' synthetic class declaration is itself an inner class,
+            // so the type path is one INNER_TYPE entry deeper than that of the
+            // lexically enclosing class.
+            List<TypePathEntry> depth =
+                    locateNestedTypes(sym.owner.enclClass().type, new ListBuffer<>())
+                            .append(TypePathEntry.INNER_TYPE).toList();
+            TypeAnnotationPosition pos =
+                    TypeAnnotationPosition.newObj(depth, /* currentLambda= */ null, tree.pos);
+
             ListBuffer<Attribute.TypeCompound> newattrs = new ListBuffer<>();
-
+            List<TypePathEntry> expectedLocation =
+                    locateNestedTypes(tree.clazz.type, new ListBuffer<>()).toList();
             for (Attribute.TypeCompound old : sym.getRawTypeAttributes()) {
-                newattrs.append(new Attribute.TypeCompound(old.type, old.values,
-                                                           pos));
+                // Only propagate type annotations from the top-level supertype,
+                // (including if the supertype is an inner class).
+                if (old.position.location.equals(expectedLocation)) {
+                    newattrs.append(new Attribute.TypeCompound(old.type, old.values, pos));
+                }
             }
 
             sym.owner.appendUniqueTypeAttributes(newattrs.toList());
@@ -1313,27 +1324,8 @@
 
         @Override
         public void visitNewClass(JCNewClass tree) {
-            if (tree.def != null &&
-                    !tree.def.mods.annotations.isEmpty()) {
-                JCClassDecl classdecl = tree.def;
-                TypeAnnotationPosition pos;
-
-                if (classdecl.extending == tree.clazz) {
-                    pos = TypeAnnotationPosition.classExtends(tree.pos);
-                } else if (classdecl.implementing.contains(tree.clazz)) {
-                    final int index = classdecl.implementing.indexOf(tree.clazz);
-                    pos = TypeAnnotationPosition.classExtends(index, tree.pos);
-                } else {
-                    // In contrast to CLASS elsewhere, typarams cannot occur here.
-                    throw new AssertionError("Could not determine position of tree " + tree);
-                }
-                Type before = classdecl.sym.type;
-                separateAnnotationsKinds(classdecl, tree.clazz.type, classdecl.sym, pos);
-                copyNewClassAnnotationsToOwner(tree);
-                // classdecl.sym.type now contains an annotated type, which
-                // is not what we want there.
-                // TODO: should we put this type somewhere in the superclass/interface?
-                classdecl.sym.type = before;
+            if (tree.def != null && tree.def.sym != null) {
+                propagateNewClassAnnotationsToOwner(tree);
             }
 
             scan(tree.encl);
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Annotate.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1115,7 +1115,9 @@
         public void visitNewClass(JCNewClass tree) {
             scan(tree.encl);
             scan(tree.typeargs);
-            scan(tree.clazz);
+            if (tree.def == null) {
+                scan(tree.clazz);
+            }
             scan(tree.args);
             // the anonymous class instantiation if any will be visited separately.
         }
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Nov 01 09:01:15 2018 -0400
@@ -2255,25 +2255,11 @@
             }
             return e;
         } else if (token.kind == LPAREN) {
-            JCNewClass newClass = classCreatorRest(newpos, null, typeArgs, t);
-            if (newClass.def != null) {
-                assert newClass.def.mods.annotations.isEmpty();
-                if (newAnnotations.nonEmpty()) {
-                    // Add type and declaration annotations to the new class;
-                    // com.sun.tools.javac.code.TypeAnnotations.TypeAnnotationPositions.visitNewClass(JCNewClass)
-                    // will later remove all type annotations and only leave the
-                    // declaration annotations.
-                    newClass.def.mods.pos = earlier(newClass.def.mods.pos, newAnnotations.head.pos);
-                    newClass.def.mods.annotations = newAnnotations;
-                }
-            } else {
-                // handle type annotations for instantiations
-                if (newAnnotations.nonEmpty()) {
-                    t = insertAnnotationsToMostInner(t, newAnnotations, false);
-                    newClass.clazz = t;
-                }
+            // handle type annotations for instantiations and anonymous classes
+            if (newAnnotations.nonEmpty()) {
+                t = insertAnnotationsToMostInner(t, newAnnotations, false);
             }
-            return newClass;
+            return classCreatorRest(newpos, null, typeArgs, t);
         } else {
             setErrorEndPos(token.pos);
             reportSyntaxError(token.pos, Errors.Expected2(LPAREN, LBRACKET));
--- a/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -127,7 +127,9 @@
 
         try {
 
-            return deriveKey(s, publicValue, encodedParams);
+            byte[] result = deriveKey(s, publicValue, encodedParams);
+            publicValue = null;
+            return result;
 
         } catch (GeneralSecurityException e) {
             throw new ProviderException("Could not derive key", e);
--- a/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -72,17 +72,6 @@
   public static String getCPU() throws UnsupportedPlatformException {
     String cpu = System.getProperty("os.arch");
 
-    // Let any additional CPU mangling fire first
-    try {
-      Class pic = Class.forName("sun.jvm.hotspot.utilities.PlatformInfoClosed");
-      AltPlatformInfo api = (AltPlatformInfo) pic.newInstance();
-      if (api.knownCPU(cpu)) {
-        return api.getCPU(cpu);
-      }
-    } catch (Exception e) {
-       // Ignored
-    }
-
     // Check that CPU is supported
     if (!knownCPU(cpu)) {
        throw new UnsupportedPlatformException("CPU type " + cpu + " not yet supported");
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaFieldImpl.java	Thu Nov 01 09:01:15 2018 -0400
@@ -125,7 +125,7 @@
         if (currentType instanceof UnresolvedJavaType) {
             // Don't allow unresolved types to hang around forever
             UnresolvedJavaType unresolvedType = (UnresolvedJavaType) currentType;
-            ResolvedJavaType resolved = unresolvedType.resolve(holder);
+            ResolvedJavaType resolved = holder.lookupType(unresolvedType, false);
             if (resolved != null) {
                 type = resolved;
             }
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java	Thu Nov 01 09:01:15 2018 -0400
@@ -725,7 +725,7 @@
             return config().invalidVtableIndex;
         }
         if (holder.isInterface()) {
-            if (resolved.isInterface()) {
+            if (resolved.isInterface() || !resolved.isLinked()) {
                 return config().invalidVtableIndex;
             }
             return getVtableIndexForInterfaceMethod(resolved);
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotSpeculationLog.java	Thu Nov 01 09:01:15 2018 -0400
@@ -51,7 +51,7 @@
     private Set<SpeculationReason> failedSpeculations;
 
     /** Strong references to all reasons embedded in the current nmethod. */
-    private Map<Long, SpeculationReason> speculations;
+    private HashMap<SpeculationReason, JavaConstant> speculations;
 
     private long currentSpeculationID;
 
@@ -62,7 +62,7 @@
                 failedSpeculations = new HashSet<>(2);
             }
             if (speculations != null) {
-                SpeculationReason lastFailedSpeculation = speculations.get(lastFailed);
+                SpeculationReason lastFailedSpeculation = lookupSpeculation(this.lastFailed);
                 if (lastFailedSpeculation != null) {
                     failedSpeculations.add(lastFailedSpeculation);
                 }
@@ -72,6 +72,15 @@
         }
     }
 
+    private SpeculationReason lookupSpeculation(long value) {
+        for (Map.Entry<SpeculationReason, JavaConstant> entry : speculations.entrySet()) {
+            if (value == entry.getValue().asLong()) {
+                return entry.getKey();
+            }
+        }
+        return null;
+    }
+
     @Override
     public synchronized boolean maySpeculate(SpeculationReason reason) {
         if (failedSpeculations != null && failedSpeculations.contains(reason)) {
@@ -85,8 +94,12 @@
         if (speculations == null) {
             speculations = new HashMap<>();
         }
-        speculations.put(++currentSpeculationID, reason);
-        return new HotSpotSpeculation(reason, JavaConstant.forLong(currentSpeculationID));
+        JavaConstant id = speculations.get(reason);
+        if (id == null) {
+            id = JavaConstant.forLong(++currentSpeculationID);
+            speculations.put(reason, id);
+        }
+        return new HotSpotSpeculation(reason, id);
     }
 
     @Override
@@ -99,7 +112,7 @@
         if (constant.isDefaultForKind()) {
             return NO_SPECULATION;
         }
-        SpeculationReason reason = speculations.get(constant.asLong());
+        SpeculationReason reason = lookupSpeculation(constant.asLong());
         assert reason != null : "Speculation should have been registered";
         return new HotSpotSpeculation(reason, constant);
     }
--- a/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/SpeculationLog.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/SpeculationLog.java	Thu Nov 01 09:01:15 2018 -0400
@@ -58,6 +58,20 @@
         public String toString() {
             return reason.toString();
         }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj instanceof Speculation) {
+                Speculation other = (Speculation) obj;
+                return reason.equals(other.reason);
+            }
+            return false;
+        }
+
+        @Override
+        public int hashCode() {
+            return getReason().hashCode();
+        }
     }
 
     Speculation NO_SPECULATION = new Speculation(new NoSpeculationReason());
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ValueTaglet.java	Thu Nov 01 09:01:15 2018 -0400
@@ -61,9 +61,7 @@
      * Construct a new ValueTaglet.
      */
     public ValueTaglet() {
-        super(VALUE.tagName, true,
-                EnumSet.of(Site.OVERVIEW, Site.PACKAGE, Site.TYPE, Site.CONSTRUCTOR,
-                    Site.METHOD, Site.FIELD)); // not Site.MODULE at this time!
+        super(VALUE.tagName, true, EnumSet.allOf(Site.class));
     }
 
     /**
--- a/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java	Thu Nov 01 09:01:15 2018 -0400
@@ -100,6 +100,17 @@
     public void breakpointEvent(BreakpointEvent be)  {
         Thread.yield();  // fetch output
         MessageOutput.lnprint("Breakpoint hit:");
+        // Print breakpoint location and prompt if suspend policy is
+        // SUSPEND_NONE or SUSPEND_EVENT_THREAD. In case of SUSPEND_ALL
+        // policy this is handled by vmInterrupted() method.
+        int suspendPolicy = be.request().suspendPolicy();
+        switch (suspendPolicy) {
+            case EventRequest.SUSPEND_EVENT_THREAD:
+            case EventRequest.SUSPEND_NONE:
+                printBreakpointLocation(be);
+                MessageOutput.printPrompt();
+                break;
+        }
     }
 
     @Override
@@ -227,6 +238,10 @@
                                              Commands.locationString(loc)});
     }
 
+    private void printBreakpointLocation(BreakpointEvent be) {
+        printLocationWithSourceLine(be.thread().name(), be.location());
+    }
+
     private void printCurrentLocation() {
         ThreadInfo threadInfo = ThreadInfo.getCurrentThreadInfo();
         StackFrame frame;
@@ -239,24 +254,27 @@
         if (frame == null) {
             MessageOutput.println("No frames on the current call stack");
         } else {
-            Location loc = frame.location();
-            printBaseLocation(threadInfo.getThread().name(), loc);
-            // Output the current source line, if possible
-            if (loc.lineNumber() != -1) {
-                String line;
-                try {
-                    line = Env.sourceLine(loc, loc.lineNumber());
-                } catch (java.io.IOException e) {
-                    line = null;
-                }
-                if (line != null) {
-                    MessageOutput.println("source line number and line",
-                                          new Object [] {loc.lineNumber(),
-                                                         line});
-                }
+            printLocationWithSourceLine(threadInfo.getThread().name(), frame.location());
+        }
+        MessageOutput.println();
+    }
+
+    private void printLocationWithSourceLine(String threadName, Location loc) {
+        printBaseLocation(threadName, loc);
+        // Output the current source line, if possible
+        if (loc.lineNumber() != -1) {
+            String line;
+            try {
+                line = Env.sourceLine(loc, loc.lineNumber());
+            } catch (java.io.IOException e) {
+                line = null;
+            }
+            if (line != null) {
+                MessageOutput.println("source line number and line",
+                                           new Object [] {loc.lineNumber(),
+                                                          line});
             }
         }
-        MessageOutput.println();
     }
 
     private void printLocationOfEvent(LocatableEvent theEvent) {
@@ -488,6 +506,7 @@
                             showPrompt = false;
                             evaluator.commandNext();
                         } else if (cmd.equals("kill")) {
+                            showPrompt = false;        // asynchronous command
                             evaluator.commandKill(t);
                         } else if (cmd.equals("interrupt")) {
                             evaluator.commandInterrupt(t);
--- a/src/jdk.jfr/share/classes/jdk/jfr/Event.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/Event.java	Thu Nov 01 09:01:15 2018 -0400
@@ -88,7 +88,7 @@
 @Enabled(true)
 @StackTrace(true)
 @Registered(true)
-abstract public class Event {
+abstract public class Event extends jdk.internal.event.Event {
     /**
      * Sole constructor, for invocation by subclass constructors, typically
      * implicit.
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/EventControl.java	Thu Nov 01 09:01:15 2018 -0400
@@ -41,7 +41,6 @@
 import jdk.internal.module.Modules;
 import jdk.jfr.AnnotationElement;
 import jdk.jfr.Enabled;
-import jdk.jfr.Event;
 import jdk.jfr.Name;
 import jdk.jfr.Period;
 import jdk.jfr.SettingControl;
@@ -109,7 +108,7 @@
         }
     }
 
-    EventControl(PlatformEventType es, Class<? extends Event> eventClass) {
+    EventControl(PlatformEventType es, Class<? extends jdk.internal.event.Event> eventClass) {
         this(es);
         defineSettings(eventClass);
     }
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/EventHandlerCreator.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/EventHandlerCreator.java	Thu Nov 01 09:01:15 2018 -0400
@@ -93,11 +93,11 @@
         return EventHandler.class.getName() + id + SUFFIX;
     }
 
-    public EventHandlerCreator(long id, List<SettingInfo> settingInfos, EventType type, Class<? extends Event> eventClass) {
+    public EventHandlerCreator(long id, List<SettingInfo> settingInfos, EventType type, Class<? extends jdk.internal.event.Event> eventClass) {
         this(id, settingInfos, createFieldInfos(eventClass, type));
     }
 
-    private static List<FieldInfo> createFieldInfos(Class<? extends Event> eventClass, EventType type) throws Error {
+    private static List<FieldInfo> createFieldInfos(Class<? extends jdk.internal.event.Event> eventClass, EventType type) throws Error {
         List<FieldInfo> fieldInfos = new ArrayList<>();
         for (ValueDescriptor v : type.getFields()) {
             // Only value descriptors that are not fields on the event class.
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/EventInstrumentation.java	Thu Nov 01 09:01:15 2018 -0400
@@ -102,6 +102,7 @@
     private static final Type ANNOTATION_TYPE_ENABLED = Type.getType(Enabled.class);
     private static final Type TYPE_EVENT_HANDLER = Type.getType(EventHandler.class);
     private static final Type TYPE_SETTING_CONTROL = Type.getType(SettingControl.class);
+    private static final Type TYPE_OBJECT  = Type.getType(Object.class);
     private static final Method METHOD_COMMIT = new Method("commit", Type.VOID_TYPE, new Type[0]);
     private static final Method METHOD_BEGIN = new Method("begin", Type.VOID_TYPE, new Type[0]);
     private static final Method METHOD_END = new Method("end", Type.VOID_TYPE, new Type[0]);
@@ -117,6 +118,7 @@
     private final Method writeMethod;
     private final String eventHandlerXInternalName;
     private final String eventName;
+    private final boolean untypedEventHandler;
     private boolean guardHandlerReference;
     private Class<?> superClass;
 
@@ -125,11 +127,20 @@
         this.classNode = createClassNode(bytes);
         this.settingInfos = buildSettingInfos(superClass, classNode);
         this.fieldInfos = buildFieldInfos(superClass, classNode);
+        this.untypedEventHandler = hasUntypedHandler();
         this.writeMethod = makeWriteMethod(fieldInfos);
         this.eventHandlerXInternalName = ASMToolkit.getInternalName(EventHandlerCreator.makeEventHandlerName(id));
         String n =  annotationValue(classNode, ANNOTATION_TYPE_NAME.getDescriptor(), String.class);
         this.eventName = n == null ? classNode.name.replace("/", ".") : n;
+    }
 
+    private boolean hasUntypedHandler() {
+        for (FieldNode field : classNode.fields) {
+            if (FIELD_EVENT_HANDLER.equals(field.name)) {
+                return field.desc.equals(TYPE_OBJECT.getDescriptor());
+            }
+        }
+        throw new InternalError("Class missing handler field");
     }
 
     public String getClassName() {
@@ -225,7 +236,7 @@
                 }
             }
         }
-        for (Class<?> c = superClass; c != Event.class; c = c.getSuperclass()) {
+        for (Class<?> c = superClass; c != jdk.internal.event.Event.class; c = c.getSuperclass()) {
             for (java.lang.reflect.Method method : c.getDeclaredMethods()) {
                 if (!methodSet.contains(method.getName())) {
                     // skip private method in base classes
@@ -249,7 +260,6 @@
             }
         }
         return settingInfos;
-
     }
 
     private static List<FieldInfo> buildFieldInfos(Class<?> superClass, ClassNode classNode) {
@@ -264,14 +274,13 @@
         fieldInfos.add(new FieldInfo("startTime", Type.LONG_TYPE.getDescriptor(), classNode.name));
         fieldInfos.add(new FieldInfo("duration", Type.LONG_TYPE.getDescriptor(), classNode.name));
         for (FieldNode field : classNode.fields) {
-            String className = Type.getType(field.desc).getClassName();
-            if (!fieldSet.contains(field.name) && isValidField(field.access, className)) {
+            if (!fieldSet.contains(field.name) && isValidField(field.access, Type.getType(field.desc).getClassName())) {
                 FieldInfo fi = new FieldInfo(field.name, field.desc, classNode.name);
                 fieldInfos.add(fi);
                 fieldSet.add(field.name);
             }
         }
-        for (Class<?> c = superClass; c != Event.class; c = c.getSuperclass()) {
+        for (Class<?> c = superClass; c != jdk.internal.event.Event.class; c = c.getSuperclass()) {
             for (Field field : c.getDeclaredFields()) {
                 // skip private field in base classes
                 if (!Modifier.isPrivate(field.getModifiers())) {
@@ -321,10 +330,10 @@
         updateMethod(METHOD_IS_ENABLED, methodVisitor -> {
             Label nullLabel = new Label();
             if (guardHandlerReference) {
-                methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, TYPE_EVENT_HANDLER.getDescriptor());
+                getEventHandler(methodVisitor);
                 methodVisitor.visitJumpInsn(Opcodes.IFNULL, nullLabel);
             }
-            methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, TYPE_EVENT_HANDLER.getDescriptor());
+            getEventHandler(methodVisitor);
             ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_IS_ENABLED);
             methodVisitor.visitInsn(Opcodes.IRETURN);
             if (guardHandlerReference) {
@@ -408,7 +417,7 @@
                 // eventHandler.write(...);
                 // }
                 methodVisitor.visitJumpInsn(Opcodes.IFEQ, end);
-                methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, Type.getDescriptor(EventHandler.class));
+                getEventHandler(methodVisitor);
 
                 methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, eventHandlerXInternalName);
                 for (FieldInfo fi : fieldInfos) {
@@ -426,8 +435,8 @@
         // MyEvent#shouldCommit()
         updateMethod(METHOD_EVENT_SHOULD_COMMIT, methodVisitor -> {
             Label fail = new Label();
-            // if (!eventHandler.shoouldCommit(duration) goto fail;
-            methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, Type.getDescriptor(EventHandler.class));
+            // if (!eventHandler.shouldCommit(duration) goto fail;
+            getEventHandler(methodVisitor);
             methodVisitor.visitVarInsn(Opcodes.ALOAD, 0);
             methodVisitor.visitFieldInsn(Opcodes.GETFIELD, getInternalClassName(), FIELD_DURATION, "J");
             ASMToolkit.invokeVirtual(methodVisitor, TYPE_EVENT_HANDLER.getInternalName(), METHOD_EVENT_HANDLER_SHOULD_COMMIT);
@@ -435,7 +444,11 @@
             for (SettingInfo si : settingInfos) {
                 // if (!settingsMethod(eventHandler.settingX)) goto fail;
                 methodVisitor.visitIntInsn(Opcodes.ALOAD, 0);
-                methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, Type.getDescriptor(EventHandler.class));
+                if (untypedEventHandler) {
+                    methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, TYPE_OBJECT.getDescriptor());
+                } else {
+                    methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, Type.getDescriptor(EventHandler.class));
+                }
                 methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, eventHandlerXInternalName);
                 methodVisitor.visitFieldInsn(Opcodes.GETFIELD, eventHandlerXInternalName, si.fieldName, TYPE_SETTING_CONTROL.getDescriptor());
                 methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, si.internalSettingName);
@@ -452,6 +465,15 @@
         });
     }
 
+    private void getEventHandler(MethodVisitor methodVisitor) {
+        if (untypedEventHandler) {
+            methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, TYPE_OBJECT.getDescriptor());
+            methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, TYPE_EVENT_HANDLER.getInternalName());
+        } else {
+            methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, getInternalClassName(), FIELD_EVENT_HANDLER, Type.getDescriptor(EventHandler.class));
+        }
+    }
+
     private void makeUninstrumented() {
         updateExistingWithReturnFalse(METHOD_EVENT_SHOULD_COMMIT);
         updateExistingWithReturnFalse(METHOD_IS_ENABLED);
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java	Thu Nov 01 09:01:15 2018 -0400
@@ -106,11 +106,11 @@
     public native void endRecording();
 
     /**
-     * Return a list of all classes deriving from {@link Event}
+     * Return a list of all classes deriving from {@link jdk.internal.event.Event}
      *
      * @return list of event classes.
      */
-    public native List<Class<? extends Event>> getAllEventClasses();
+    public native List<Class<? extends jdk.internal.event.Event>> getAllEventClasses();
 
     /**
      * Return a count of the number of unloaded classes deriving from {@link Event}
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/JVMUpcalls.java	Thu Nov 01 09:01:15 2018 -0400
@@ -26,7 +26,6 @@
 
 import java.lang.reflect.Modifier;
 
-import jdk.jfr.Event;
 import jdk.jfr.internal.handlers.EventHandler;
 import jdk.jfr.internal.instrument.JDKEvents;
 
@@ -53,8 +52,8 @@
      */
     static byte[] onRetransform(long traceId, boolean dummy, Class<?> clazz, byte[] oldBytes) throws Throwable {
         try {
-            if (Event.class.isAssignableFrom(clazz) && !Modifier.isAbstract(clazz.getModifiers())) {
-                EventHandler handler = Utils.getHandler(clazz.asSubclass(Event.class));
+            if (jdk.internal.event.Event.class.isAssignableFrom(clazz) && !Modifier.isAbstract(clazz.getModifiers())) {
+                EventHandler handler = Utils.getHandler(clazz.asSubclass(jdk.internal.event.Event.class));
                 if (handler == null) {
                     Logger.log(LogTag.JFR_SYSTEM, LogLevel.INFO, "No event handler found for " + clazz.getName() + ". Ignoring instrumentation request.");
                     // Probably triggered by some other agent
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/MetadataRepository.java	Thu Nov 01 09:01:15 2018 -0400
@@ -33,6 +33,7 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -56,6 +57,7 @@
     private final List<EventControl> nativeControls = new ArrayList<EventControl>(100);
     private final TypeLibrary typeLibrary = TypeLibrary.getInstance();
     private final SettingsManager settingsManager = new SettingsManager();
+    private final Map<String, Class<? extends Event>> mirrors = new HashMap<>();
     private boolean staleMetadata = true;
     private boolean unregistered;
     private long lastUnloaded = -1;
@@ -105,7 +107,7 @@
         return eventTypes;
     }
 
-    public synchronized EventType getEventType(Class<? extends Event> eventClass) {
+    public synchronized EventType getEventType(Class<? extends jdk.internal.event.Event> eventClass) {
         EventHandler h = getHandler(eventClass);
         if (h != null && h.isRegistered()) {
             return h.getEventType();
@@ -121,15 +123,20 @@
         }
         // never registered, ignore call
     }
-    public synchronized EventType register(Class<? extends Event> eventClass) {
+    public synchronized EventType register(Class<? extends jdk.internal.event.Event> eventClass) {
         return register(eventClass, Collections.emptyList(), Collections.emptyList());
     }
 
-    public synchronized EventType register(Class<? extends Event> eventClass, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields) {
+    public synchronized EventType register(Class<? extends jdk.internal.event.Event> eventClass, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields) {
         Utils.checkRegisterPermission();
         EventHandler handler = getHandler(eventClass);
         if (handler == null) {
-            handler = makeHandler(eventClass, dynamicAnnotations, dynamicFields);
+            if (eventClass.getAnnotation(MirrorEvent.class) != null) {
+                // don't register mirrors
+                return null;
+            }
+            PlatformEventType pe = findMirrorType(eventClass);
+            handler = makeHandler(eventClass, pe, dynamicAnnotations, dynamicFields);
         }
         handler.setRegistered(true);
         typeLibrary.addType(handler.getPlatformEventType());
@@ -143,16 +150,32 @@
         return handler.getEventType();
     }
 
-    private EventHandler getHandler(Class<? extends Event> eventClass) {
+    private PlatformEventType findMirrorType(Class<? extends jdk.internal.event.Event> eventClass) throws InternalError {
+        String fullName = eventClass.getModule().getName() + ":" + eventClass.getName();
+        Class<? extends Event> mirrorClass = mirrors.get(fullName);
+        if (mirrorClass == null) {
+            return null; // not a mirror
+        }
+        Utils.verifyMirror(mirrorClass, eventClass);
+        PlatformEventType et = (PlatformEventType) TypeLibrary.createType(mirrorClass);
+        typeLibrary.removeType(et.getId());
+        long id = Type.getTypeId(eventClass);
+        et.setId(id);
+        return et;
+    }
+
+    private EventHandler getHandler(Class<? extends jdk.internal.event.Event> eventClass) {
         Utils.ensureValidEventSubclass(eventClass);
         SecuritySupport.makeVisibleToJFR(eventClass);
         Utils.ensureInitialized(eventClass);
         return Utils.getHandler(eventClass);
     }
 
-    private EventHandler makeHandler(Class<? extends Event> eventClass, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields) throws InternalError {
+    private EventHandler makeHandler(Class<? extends jdk.internal.event.Event> eventClass, PlatformEventType pEventType, List<AnnotationElement> dynamicAnnotations, List<ValueDescriptor> dynamicFields) throws InternalError {
         SecuritySupport.addHandlerExport(eventClass);
-        PlatformEventType pEventType = (PlatformEventType) TypeLibrary.createType(eventClass, dynamicAnnotations, dynamicFields);
+        if (pEventType == null) {
+            pEventType = (PlatformEventType) TypeLibrary.createType(eventClass, dynamicAnnotations, dynamicFields);
+        }
         EventType eventType = PrivateAccess.getInstance().newEventType(pEventType);
         EventControl ec = new EventControl(pEventType, eventClass);
         Class<? extends EventHandler> handlerClass = null;
@@ -198,9 +221,9 @@
     }
 
     private static List<EventHandler> getEventHandlers() {
-        List<Class<? extends Event>> allEventClasses = jvm.getAllEventClasses();
+        List<Class<? extends jdk.internal.event.Event>> allEventClasses = jvm.getAllEventClasses();
         List<EventHandler> eventHandlers = new ArrayList<>(allEventClasses.size());
-        for (Class<? extends Event> clazz : allEventClasses) {
+        for (Class<? extends jdk.internal.event.Event> clazz : allEventClasses) {
             EventHandler eh = Utils.getHandler(clazz);
             if (eh != null) {
                 eventHandlers.add(eh);
@@ -252,9 +275,9 @@
         long unloaded = jvm.getUnloadedEventClassCount();
         if (this.lastUnloaded != unloaded) {
             this.lastUnloaded = unloaded;
-            List<Class<? extends Event>> eventClasses = jvm.getAllEventClasses();
+            List<Class<? extends jdk.internal.event.Event>> eventClasses = jvm.getAllEventClasses();
             HashSet<Long> knownIds = new HashSet<>(eventClasses.size());
-            for (Class<? extends Event>  ec: eventClasses) {
+            for (Class<? extends jdk.internal.event.Event>  ec: eventClasses) {
                 knownIds.add(Type.getTypeId(ec));
             }
             for (Type type : typeLibrary.getTypes()) {
@@ -270,8 +293,18 @@
         }
     }
 
-    synchronized public void setUnregistered() {
+    synchronized void setUnregistered() {
        unregistered = true;
     }
 
+    public synchronized void registerMirror(Class<? extends Event> eventClass) {
+        MirrorEvent me = eventClass.getAnnotation(MirrorEvent.class);
+        if (me != null) {
+            String fullName = me.module() + ":" + me.className();
+            mirrors.put(fullName, eventClass);
+            return;
+        }
+        throw new InternalError("Mirror class must have annotation " + MirrorEvent.class.getName());
+    }
+
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/MirrorEvent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,25 @@
+package jdk.jfr.internal;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.ElementType;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE })
+public @interface MirrorEvent {
+    /**
+     * Fully qualified name of the class to mirror metadata for (for example,
+     * {@code "jdk.internal.event.Example"})
+     *
+     * @return the fully qualified class name of the event
+     */
+    String className();
+
+    /**
+     * The module where the event is located, by default {@code "java.base"}.
+     *
+     * @return the module name
+     */
+    String module() default "java.base";
+}
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java	Thu Nov 01 09:01:15 2018 -0400
@@ -81,9 +81,7 @@
         Logger.log(JFR_SYSTEM, INFO, "Registered JDK events");
         JDKEvents.addInstrumentation();
         startDiskMonitor();
-        SecuritySupport.registerEvent(ActiveRecordingEvent.class);
         activeRecordingEvent = EventType.getEventType(ActiveRecordingEvent.class);
-        SecuritySupport.registerEvent(ActiveSettingEvent.class);
         activeSettingEvent = EventType.getEventType(ActiveSettingEvent.class);
         shutdownHook = SecuritySupport.createThreadWitNoPermissions("JFR: Shutdown Hook", new ShutdownHook(this));
         SecuritySupport.setUncaughtExceptionHandler(shutdownHook, new ShutdownHook.ExceptionHandler());
@@ -91,6 +89,7 @@
         timer = createTimer();
     }
 
+
     private static Timer createTimer() {
         try {
             List<Timer> result = new CopyOnWriteArrayList<>();
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java	Thu Nov 01 09:01:15 2018 -0400
@@ -262,8 +262,12 @@
         Modules.addExports(JFR_MODULE, Utils.HANDLERS_PACKAGE_NAME, clazz.getModule());
     }
 
-    public static void registerEvent(Class<? extends Event> eventClass) {
-        doPrivileged(() -> FlightRecorder.register(eventClass), new FlightRecorderPermission(Utils.REGISTER_EVENT));
+    public static void registerEvent(Class<? extends jdk.internal.event.Event> eventClass) {
+        doPrivileged(() ->  MetadataRepository.getInstance().register(eventClass), new FlightRecorderPermission(Utils.REGISTER_EVENT));
+    }
+
+    public static void registerMirror(Class<? extends Event> eventClass) {
+        doPrivileged(() ->  MetadataRepository.getInstance().registerMirror(eventClass), new FlightRecorderPermission(Utils.REGISTER_EVENT));
     }
 
     static boolean getBooleanProperty(String propertyName) {
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/SettingsManager.java	Thu Nov 01 09:01:15 2018 -0400
@@ -37,7 +37,6 @@
 import java.util.Set;
 import java.util.StringJoiner;
 
-import jdk.jfr.Event;
 import jdk.jfr.internal.handlers.EventHandler;
 
 final class SettingsManager {
@@ -152,9 +151,9 @@
         }
     }
 
-    public void updateRetransform(List<Class<? extends Event>> eventClasses) {
+    public void updateRetransform(List<Class<? extends jdk.internal.event.Event>> eventClasses) {
         List<Class<?>> classes = new ArrayList<>();
-        for(Class<? extends Event> eventClass: eventClasses) {
+        for(Class<? extends jdk.internal.event.Event> eventClass: eventClasses) {
             EventHandler eh = Utils.getHandler(eventClass);
             if (eh != null ) {
                 PlatformEventType eventType = eh.getPlatformEventType();
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/Type.java	Thu Nov 01 09:01:15 2018 -0400
@@ -71,10 +71,11 @@
     private final String name;
     private final String superType;
     private final boolean constantPool;
-    private final long id;
     private final ArrayList<ValueDescriptor> fields = new ArrayList<>();
     private Boolean simpleType; // calculated lazy
     private boolean remove = true;
+    private long id;
+
     /**
      * Creates a type
      *
@@ -318,4 +319,8 @@
     public boolean getRemove() {
         return remove;
     }
+
+    public void setId(long id) {
+        this.id = id;
+    }
 }
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/TypeLibrary.java	Thu Nov 01 09:01:15 2018 -0400
@@ -49,7 +49,6 @@
 
 import jdk.jfr.AnnotationElement;
 import jdk.jfr.Description;
-import jdk.jfr.Event;
 import jdk.jfr.Label;
 import jdk.jfr.MetadataDefinition;
 import jdk.jfr.Name;
@@ -240,7 +239,7 @@
         // STRUCT
         String superType = null;
         boolean eventType = false;
-        if (Event.class.isAssignableFrom(clazz)) {
+        if (jdk.internal.event.Event.class.isAssignableFrom(clazz)) {
             superType = Type.SUPER_TYPE_EVENT;
             eventType= true;
         }
@@ -489,4 +488,8 @@
             aQ.addAll(ae.getAnnotationElements());
         }
     }
+
+    public void removeType(long id) {
+        types.remove(id);
+    }
 }
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java	Thu Nov 01 09:01:15 2018 -0400
@@ -267,7 +267,7 @@
         return (long) (nanos * JVM.getJVM().getTimeConversionFactor());
     }
 
-    static synchronized EventHandler getHandler(Class<? extends Event> eventClass) {
+    static synchronized EventHandler getHandler(Class<? extends jdk.internal.event.Event> eventClass) {
         Utils.ensureValidEventSubclass(eventClass);
         try {
             Field f = eventClass.getDeclaredField(EventInstrumentation.FIELD_EVENT_HANDLER);
@@ -278,7 +278,7 @@
         }
     }
 
-    static synchronized void setHandler(Class<? extends Event> eventClass, EventHandler handler) {
+    static synchronized void setHandler(Class<? extends jdk.internal.event.Event> eventClass, EventHandler handler) {
         Utils.ensureValidEventSubclass(eventClass);
         try {
             Field field = eventClass.getDeclaredField(EventInstrumentation.FIELD_EVENT_HANDLER);
@@ -322,7 +322,7 @@
     static List<Field> getVisibleEventFields(Class<?> clazz) {
         Utils.ensureValidEventSubclass(clazz);
         List<Field> fields = new ArrayList<>();
-        for (Class<?> c = clazz; c != Event.class; c = c.getSuperclass()) {
+        for (Class<?> c = clazz; c != jdk.internal.event.Event.class; c = c.getSuperclass()) {
             for (Field field : c.getDeclaredFields()) {
                 // skip private field in base classes
                 if (c == clazz || !Modifier.isPrivate(field.getModifiers())) {
@@ -334,10 +334,10 @@
     }
 
     public static void ensureValidEventSubclass(Class<?> eventClass) {
-        if (Event.class.isAssignableFrom(eventClass) && Modifier.isAbstract(eventClass.getModifiers())) {
+        if (jdk.internal.event.Event.class.isAssignableFrom(eventClass) && Modifier.isAbstract(eventClass.getModifiers())) {
             throw new IllegalArgumentException("Abstract event classes are not allowed");
         }
-        if (eventClass == Event.class || !Event.class.isAssignableFrom(eventClass)) {
+        if (eventClass == Event.class || eventClass == jdk.internal.event.Event.class || !jdk.internal.event.Event.class.isAssignableFrom(eventClass)) {
             throw new IllegalArgumentException("Must be a subclass to " + Event.class.getName());
         }
     }
@@ -366,7 +366,7 @@
         }
     }
 
-    public static void ensureInitialized(Class<? extends Event> eventClass) {
+    public static void ensureInitialized(Class<? extends jdk.internal.event.Event> eventClass) {
         SecuritySupport.ensureClassIsInitialized(eventClass);
     }
 
@@ -499,6 +499,50 @@
         return eventName;
     }
 
+    public static void verifyMirror(Class<?> mirror, Class<?> real) {
+        Class<?> cMirror = Objects.requireNonNull(mirror);
+        Class<?> cReal = Objects.requireNonNull(real);
+
+        while (cReal != null) {
+            Map<String, Field> mirrorFields = new HashMap<>();
+            if (cMirror != null) {
+                for (Field f : cMirror.getDeclaredFields()) {
+                    if (isSupportedType(f.getType())) {
+                        mirrorFields.put(f.getName(), f);
+                    }
+                }
+            }
+            for (Field realField : cReal.getDeclaredFields()) {
+                if (isSupportedType(realField.getType())) {
+                    String fieldName = realField.getName();
+                    Field mirrorField = mirrorFields.get(fieldName);
+                    if (mirrorField == null) {
+                        throw new InternalError("Missing mirror field for " + cReal.getName() + "#" + fieldName);
+                    }
+                    if (realField.getModifiers() != mirrorField.getModifiers()) {
+                        throw new InternalError("Incorrect modifier for mirror field "+ cMirror.getName() + "#" + fieldName);
+                    }
+                    mirrorFields.remove(fieldName);
+                }
+            }
+            if (!mirrorFields.isEmpty()) {
+                throw new InternalError(
+                        "Found additional fields in mirror class " + cMirror.getName() + " " + mirrorFields.keySet());
+            }
+            if (cMirror != null) {
+                cMirror = cMirror.getSuperclass();
+            }
+            cReal = cReal.getSuperclass();
+        }
+    }
+
+    private static boolean isSupportedType(Class<?> type) {
+        if (Modifier.isTransient(type.getModifiers()) || Modifier.isStatic(type.getModifiers())) {
+            return false;
+        }
+        return Type.isValidJavaFieldType(type.getName());
+    }
+
     public static String makeFilename(Recording recording) {
         String pid = JVM.getJVM().getPid();
         String date = Repository.REPO_DATE_FORMAT.format(LocalDateTime.now());
--- a/src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java	Thu Nov 01 09:01:15 2018 -0400
@@ -51,6 +51,9 @@
 
 public final class JDKEvents {
 
+    private static final Class<?>[] mirrorEventClasses = {
+    };
+
     private static final Class<?>[] eventClasses = {
         FileForceEvent.class,
         FileReadEvent.class,
@@ -90,6 +93,9 @@
                 Modules.addExports(jdkJfrModule, Utils.EVENTS_PACKAGE_NAME, javaBaseModule);
                 Modules.addExports(jdkJfrModule, Utils.INSTRUMENT_PACKAGE_NAME, javaBaseModule);
                 Modules.addExports(jdkJfrModule, Utils.HANDLERS_PACKAGE_NAME, javaBaseModule);
+                for (Class<?> mirrorEventClass : mirrorEventClasses) {
+                    SecuritySupport.registerMirror(((Class<? extends Event>)mirrorEventClass));
+                }
                 for (Class<?> eventClass : eventClasses) {
                     SecuritySupport.registerEvent((Class<? extends Event>) eventClass);
                 }
--- a/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/JShellTool.java	Thu Nov 01 09:01:15 2018 -0400
@@ -2936,7 +2936,7 @@
                         }
                         String tsrc = trimNewlines(an.source());
                         if (!failed && !currSrcs.contains(tsrc)) {
-                            failed = processSource(tsrc);
+                            failed = !processSource(tsrc);
                         }
                         nextSrcs.add(tsrc);
                         if (an.remaining().isEmpty()) {
--- a/src/jdk.jshell/share/classes/jdk/jshell/Eval.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jshell/share/classes/jdk/jshell/Eval.java	Thu Nov 01 09:01:15 2018 -0400
@@ -361,6 +361,33 @@
                 winit = winit == null ? Wrap.rangeWrap(compileSource, rinit) : winit;
                 nameMax = rinit.begin - 1;
             } else {
+                String sinit;
+                switch (typeName) {
+                    case "byte":
+                    case "short":
+                    case "int":
+                        sinit = "0";
+                        break;
+                    case "long":
+                        sinit = "0L";
+                        break;
+                    case "float":
+                        sinit = "0.0f";
+                        break;
+                    case "double":
+                        sinit = "0.0d";
+                        break;
+                    case "boolean":
+                        sinit = "false";
+                        break;
+                    case "char":
+                        sinit = "'\\u0000'";
+                        break;
+                    default:
+                        sinit = "null";
+                        break;
+                }
+                winit = Wrap.simpleWrap(sinit);
                 subkind = SubKind.VAR_DECLARATION_SUBKIND;
             }
             int nameStart = compileSource.lastIndexOf(name, nameMax);
@@ -861,28 +888,6 @@
                     state.debug(ex, "termination");
                     state.closeDown();
                 }
-            } else if (si.subKind() == SubKind.VAR_DECLARATION_SUBKIND) {
-                switch (((VarSnippet) si).typeName()) {
-                    case "byte":
-                    case "short":
-                    case "int":
-                    case "long":
-                        value = "0";
-                        break;
-                    case "float":
-                    case "double":
-                        value = "0.0";
-                        break;
-                    case "boolean":
-                        value = "false";
-                        break;
-                    case "char":
-                        value = "''";
-                        break;
-                    default:
-                        value = "null";
-                        break;
-                }
             }
         }
         return events(c, outs, value, exception);
--- a/src/jdk.jshell/share/classes/jdk/jshell/Snippet.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/jdk.jshell/share/classes/jdk/jshell/Snippet.java	Thu Nov 01 09:01:15 2018 -0400
@@ -250,7 +250,7 @@
          * @jls 8.3. VariableDeclarator without VariableInitializer in
          * FieldDeclaration.
          */
-        VAR_DECLARATION_SUBKIND(Kind.VAR),
+        VAR_DECLARATION_SUBKIND(Kind.VAR, true, true),
 
         /**
          * A variable declaration with an initializer expression. A
--- a/src/linux/doc/man/ja/java.1	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/linux/doc/man/ja/java.1	Thu Nov 01 09:01:15 2018 -0400
@@ -1246,11 +1246,6 @@
 .PP
 ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Ç¼Â¹Ô¤µ¤ì¤ëưŪ¤Êjust\-in\-time (JIT)¥³¥ó¥Ñ¥¤¥é¤òÀ©¸æ¤·¤Þ¤¹¡£
 .PP
-\-XX:+AggressiveOpts
-.RS 4
-ÀѶËŪ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½µ¡Ç½¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ïº£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢»î¸³Åª¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹µ¡Ç½¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-.RE
-.PP
 \-XX:AllocateInstancePrefetchLines=\fIlines\fR
 .RS 4
 ¥¤¥ó¥¹¥¿¥ó¥¹³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
@@ -2641,7 +2636,7 @@
 .RS 4
 .\}
 .nf
-\fBjava \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
+\fBjava \-d64 \-server \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
  
 .fi
 .if n \{\
--- a/src/linux/doc/man/java.1	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/linux/doc/man/java.1	Thu Nov 01 09:01:15 2018 -0400
@@ -1601,11 +1601,6 @@
 .PP
 These options control the dynamic just\-in\-time (JIT) compilation performed by the Java HotSpot VM\&.
 .PP
-\-XX:+AggressiveOpts
-.RS 4
-Enables the use of aggressive performance optimization features, which are expected to become default in upcoming releases\&. By default, this option is disabled and experimental performance features are not used\&.
-.RE
-.PP
 \-XX:AllocateInstancePrefetchLines=\fIlines\fR
 .RS 4
 Sets the number of lines to prefetch ahead of the instance allocation pointer\&. By default, the number of lines to prefetch is set to 1:
@@ -3439,7 +3434,7 @@
 .RS 4
 .\}
 .nf
-\fBjava \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
+\fBjava \-d64 \-server \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
  
 .fi
 .if n \{\
--- a/src/solaris/doc/sun/man/man1/ja/java.1	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/solaris/doc/sun/man/man1/ja/java.1	Thu Nov 01 09:01:15 2018 -0400
@@ -1246,11 +1246,6 @@
 .PP
 ¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Java HotSpot VM¤Ç¼Â¹Ô¤µ¤ì¤ëưŪ¤Êjust\-in\-time (JIT)¥³¥ó¥Ñ¥¤¥é¤òÀ©¸æ¤·¤Þ¤¹¡£
 .PP
-\-XX:+AggressiveOpts
-.RS 4
-ÀѶËŪ¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹ºÇŬ²½µ¡Ç½¤Î»ÈÍѤòÍ­¸ú¤Ë¤·¤Þ¤¹¡£¤³¤ì¤Ïº£¸å¤Î¥ê¥ê¡¼¥¹¤Ç¥Ç¥Õ¥©¥ë¥È¤Ë¤Ê¤ëͽÄê¤Ç¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï̵¸ú¤Ç¤¢¤ê¡¢»î¸³Åª¤Ê¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹µ¡Ç½¤Ï»ÈÍѤµ¤ì¤Þ¤»¤ó¡£
-.RE
-.PP
 \-XX:AllocateInstancePrefetchLines=\fIlines\fR
 .RS 4
 ¥¤¥ó¥¹¥¿¥ó¥¹³äÅö¤Æ¥Ý¥¤¥ó¥¿¤ÎÁ°¤Ë¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤òÀßÄꤷ¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥ê¥Õ¥§¥Ã¥Á¤¹¤ë¹Ô¿ô¤Ï1¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
@@ -2641,7 +2636,7 @@
 .RS 4
 .\}
 .nf
-\fBjava \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
+\fBjava \-d64 \-server \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
  
 .fi
 .if n \{\
--- a/src/solaris/doc/sun/man/man1/java.1	Thu Nov 01 08:52:50 2018 -0400
+++ b/src/solaris/doc/sun/man/man1/java.1	Thu Nov 01 09:01:15 2018 -0400
@@ -1601,11 +1601,6 @@
 .PP
 These options control the dynamic just\-in\-time (JIT) compilation performed by the Java HotSpot VM\&.
 .PP
-\-XX:+AggressiveOpts
-.RS 4
-Enables the use of aggressive performance optimization features, which are expected to become default in upcoming releases\&. By default, this option is disabled and experimental performance features are not used\&.
-.RE
-.PP
 \-XX:AllocateInstancePrefetchLines=\fIlines\fR
 .RS 4
 Sets the number of lines to prefetch ahead of the instance allocation pointer\&. By default, the number of lines to prefetch is set to 1:
@@ -3439,7 +3434,7 @@
 .RS 4
 .\}
 .nf
-\fBjava \-d64 \-server \-XX:+AggressiveOpts \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
+\fBjava \-d64 \-server \-XX:+UseLargePages \-Xmn10g  \-Xms26g \-Xmx26g\fR
  
 .fi
 .if n \{\
--- a/test/Makefile	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/Makefile	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,11 +27,16 @@
 # Makefile to run tests from multiple sibling directories
 #
 
+$(info WARNING: This way of running tests ("cd test && make") is deprecated)
+$(info Please use "make test TEST=..." instead. See doc/testing.md for details)
+
 # Macro to run a test target in a subdir
 define SUBDIR_TEST # subdirectory target
 if [ -d $1 ] ; then \
   if [ -r $1/Makefile ] ; then \
     $(MAKE) --no-print-directory -k -C $1 $2 ; \
+    echo 'WARNING: This way of running tests ("cd test && make") is deprecated' ; \
+    echo 'Please use "make test TEST=..." instead. See doc/testing.md for details' ; \
   else \
     echo "ERROR: File does not exist: $1/Makefile"; \
     exit 1; \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/compiler/test_directivesParser.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "precompiled.hpp"
+
+#include <locale.h>
+
+#include "compiler/directivesParser.hpp"
+#include "runtime/interfaceSupport.inline.hpp"
+#include "runtime/thread.hpp"
+#include "unittest.hpp"
+
+class DirectivesParserTest : public ::testing::Test{
+ protected:
+  const char* const _locale;
+  ResourceMark rm;
+  stringStream stream;
+  // These tests require the "C" locale to correctly parse decimal values
+  DirectivesParserTest() : _locale(setlocale(LC_NUMERIC, NULL)) {
+    setlocale(LC_NUMERIC, "C");
+  }
+  ~DirectivesParserTest() {
+    setlocale(LC_NUMERIC, _locale);
+  }
+
+  void test_negative(const char* text) {
+    JavaThread* THREAD = JavaThread::current();
+    ThreadInVMfromNative ThreadInVMfromNative(THREAD);
+    DirectivesParser cd(text, &stream, false);
+    cd.clean_tmp();
+    EXPECT_FALSE(cd.valid()) << "text: " << std::endl << text << std::endl << stream.as_string();
+  }
+
+  void test_positive(const char* text) {
+    JavaThread* THREAD = JavaThread::current();
+    ThreadInVMfromNative ThreadInVMfromNative(THREAD);
+    DirectivesParser cd(text, &stream, false);
+    cd.clean_tmp();
+    EXPECT_TRUE(cd.valid()) << "text: " << std::endl << text << std::endl << stream.as_string();
+  }
+};
+
+TEST_VM_F(DirectivesParserTest, empty_object) {
+  test_negative("{}");
+}
+
+TEST_VM_F(DirectivesParserTest, empty_array) {
+  test_positive("[]");
+}
+
+TEST_VM_F(DirectivesParserTest, empty_object_in_array) {
+  test_negative("[{}]");
+}
+
+TEST_VM_F(DirectivesParserTest, empty_objects_in_array) {
+  test_negative("[{},{}]");
+}
+
+TEST_VM_F(DirectivesParserTest, empty_objects) {
+  test_negative("{},{}");
+}
+
+TEST_VM_F(DirectivesParserTest, simple_match) {
+  test_positive(
+      "[" "\n"
+      "  {" "\n"
+      "    match: \"foo/bar.*\"," "\n"
+      "    inline : \"+java/util.*\"," "\n"
+      "    PrintAssembly: true," "\n"
+      "    BreakAtExecute: true," "\n"
+      "  }" "\n"
+      "]" "\n");
+
+}
+
+TEST_VM_F(DirectivesParserTest, nesting_arrays) {
+  test_negative(
+      "[" "\n"
+      "  [" "\n"
+      "    {" "\n"
+      "      match: \"foo/bar.*\"," "\n"
+      "      inline : \"+java/util.*\"," "\n"
+      "      PrintAssembly: true," "\n"
+      "      BreakAtExecute: true," "\n"
+      "    }" "\n"
+      "  ]" "\n"
+      "]" "\n");
+}
+
+TEST_VM_F(DirectivesParserTest, c1_block) {
+  test_positive(
+    "[" "\n"
+    "  {" "\n"
+    "    match: \"foo/bar.*\"," "\n"
+    "    c1: {"
+    "      PrintInlining: false," "\n"
+    "    }" "\n"
+    "  }" "\n"
+    "]" "\n");
+}
+
+TEST_VM_F(DirectivesParserTest, c2_block) {
+  test_positive(
+      "[" "\n"
+      "  {" "\n"
+      "    match: \"foo/bar.*\"," "\n"
+      "    c2: {" "\n"
+      "      PrintInlining: false," "\n"
+      "    }" "\n"
+      "  }" "\n"
+      "]" "\n");
+}
+
+TEST_VM_F(DirectivesParserTest, boolean_array) {
+  test_negative(
+      "[" "\n"
+      "  {" "\n"
+      "    match: \"foo/bar.*\"," "\n"
+      "    PrintInlining: [" "\n"
+      "      true," "\n"
+      "      false" "\n"
+      "    ]," "\n"
+      "  }" "\n"
+      "]" "\n");
+}
+
+TEST_VM_F(DirectivesParserTest, multiple_objects) {
+  test_positive(
+      "[" "\n"
+      "  {"
+      "    // pattern to match against class+method+signature" "\n"
+      "    // leading and trailing wildcard (*) allowed" "\n"
+      "    match: \"foo/bar.*\"," "\n"
+      "" "\n"
+      "    // override defaults for specified compiler" "\n"
+      "    // we may differentiate between levels too. TBD." "\n"
+      "    c1:  {" "\n"
+      "      //override c1 presets " "\n"
+      "      DumpReplay: false," "\n"
+      "      BreakAtCompile: true," "\n"
+      "    }," "\n"
+      "" "\n"
+      "    c2: {" "\n"
+      "        // control inlining of method" "\n"
+      "        // + force inline, - dont inline" "\n"
+      "        inline : \"+java/util.*\"," "\n"
+      "        PrintInlining: true," "\n"
+      "    }," "\n"
+      "" "\n"
+      "    // directives outside a specific preset applies to all compilers" "\n"
+      "    inline : [ \"+java/util.*\", \"-com/sun.*\"]," "\n"
+      "    BreakAtExecute: true," "\n"
+      "    Log: true," "\n"
+      "  }," "\n"
+      "  {" "\n"
+      "    // matching several patterns require an array" "\n"
+      "    match: [\"baz.*\",\"frob.*\"]," "\n"
+      "" "\n"
+      "    // applies to all compilers" "\n"
+      "    // + force inline, - dont inline" "\n"
+      "    inline : [ \"+java/util.*\", \"-com/sun.*\" ]," "\n"
+      "    PrintInlining: true," "\n"
+      "" "\n"
+      "    // force matching compiles to be blocking/syncronous" "\n"
+      "    PrintNMethods: true" "\n"
+      "  }," "\n"
+      "]" "\n");
+}
+
+// Test max stack depth
+TEST_VM_F(DirectivesParserTest, correct_max_stack_depth) {
+  test_positive(
+      "[" "\n"              // depth 1: type_dir_array
+      "  {" "\n"            // depth 2: type_directives
+      "    match: \"*.*\"," // match required
+      "    c1:" "\n"        // depth 3: type_c1
+      "    {" "\n"
+      "      inline:" "\n"  // depth 4: type_inline
+      "      [" "\n"        // depth 5: type_value_array
+      "        \"foo\"," "\n"
+      "        \"bar\"," "\n"
+      "      ]" "\n"        // depth 3: pop type_value_array and type_inline keys
+      "    }" "\n"          // depth 2: pop type_c1 key
+      "  }" "\n"            // depth 1: pop type_directives key
+      "]" "\n");            // depth 0: pop type_dir_array key
+}
+
+// Test max stack depth
+TEST_VM_F(DirectivesParserTest, incorrect_max_stack_depth) {
+  test_negative("[{c1:{c1:{c1:{c1:{c1:{c1:{c1:{}}}}}}}}]");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/gc/shared/test_gcTimer.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,238 @@
+/*
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "precompiled.hpp"
+#include "gc/shared/gcTimer.hpp"
+#include "utilities/ticks.hpp"
+#include "unittest.hpp"
+
+class GCTimerTest {
+ public:
+  static void register_gc_start(GCTimer* const timer, jlong ticks) {
+    timer->register_gc_start(Ticks(ticks));
+  }
+  static void register_gc_end(GCTimer* const timer, jlong ticks) {
+    timer->register_gc_end(Ticks(ticks));
+  }
+};
+
+TEST(GCTimer, start) {
+  GCTimer gc_timer;
+  GCTimerTest::register_gc_start(&gc_timer, 1);
+
+  EXPECT_EQ(1, gc_timer.gc_start().value());
+}
+
+TEST(GCTimer, end) {
+  GCTimer gc_timer;
+
+  GCTimerTest::register_gc_start(&gc_timer, 1);
+  GCTimerTest::register_gc_end(&gc_timer, 2);
+
+  EXPECT_EQ(2, gc_timer.gc_end().value());
+}
+
+class TimePartitionPhasesIteratorTest {
+ public:
+
+  static void validate_gc_phase(GCPhase* phase, int level, const char* name, const jlong& start, const jlong& end) {
+    EXPECT_EQ(level, phase->level());
+    EXPECT_STREQ(name, phase->name());
+    EXPECT_EQ(start, phase->start().value());
+    EXPECT_EQ(end, phase->end().value());
+  }
+
+  static void validate_pauses(const TimePartitions& time_partitions, const Tickspan& expected_sum_of_pauses, const Tickspan& expected_longest_pause) {
+    EXPECT_EQ(expected_sum_of_pauses, time_partitions.sum_of_pauses());
+    EXPECT_EQ(expected_longest_pause, time_partitions.longest_pause());
+  }
+  static void validate_pauses(const TimePartitions& time_partitions, const Tickspan& expected_pause) {
+    TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, expected_pause, expected_pause);
+  }
+  static void validate_pauses(const TimePartitions& time_partitions, jlong end, jlong start) {
+    TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, Ticks(end) - Ticks(start));
+  }
+  static void validate_pauses(const TimePartitions& time_partitions, jlong all_end, jlong all_start, jlong longest_end, jlong longest_start) {
+    TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, Ticks(all_end) - Ticks(all_start), Ticks(longest_end) - Ticks(longest_start));
+  }
+
+  static void report_gc_phase_start(TimePartitions* const partitions, const char* name, jlong ticks, GCPhase::PhaseType type=GCPhase::PausePhaseType) {
+    partitions->report_gc_phase_start(name, Ticks(ticks), type);
+  }
+
+  static void report_gc_phase_end(TimePartitions* const partitions, jlong ticks, GCPhase::PhaseType type=GCPhase::PausePhaseType) {
+    partitions->report_gc_phase_end(Ticks(ticks), type);
+  }
+};
+
+TEST(TimePartitionPhasesIterator, one_pause) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase", 2);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 8);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase", 2, 8));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 8, 2));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, two_pauses) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase1", 2);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 3);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase2", 4);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 6);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase1", 2, 3));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase2", 4, 6));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 3, 0, 2, 0));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, one_sub_pause_phase) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase", 2);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase", 3);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 4);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 5);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase", 2, 5));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase", 3, 4));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 3, 0));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, max_nested_pause_phases) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase", 2);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase1", 3);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase2", 4);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase3", 5);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 6);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 7);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 8);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 9);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase", 2, 9));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 2, "SubPhase2", 4, 7));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 3, "SubPhase3", 5, 6));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 7, 0));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, many_sub_pause_phases) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase", 2);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase1", 3);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 4);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase2", 5);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 6);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase3", 7);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 8);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase4", 9);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 10);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 11);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase", 2, 11));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 4));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase2", 5, 6));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase3", 7, 8));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase4", 9, 10));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 9, 0));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, many_sub_pause_phases2) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "PausePhase", 2);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase1", 3);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase11", 4);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 5);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase12", 6);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 7);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 8);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase2", 9);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase21", 10);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 11);
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase22", 12);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 13);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 14);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "SubPhase3", 15);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 16);
+
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 17);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "PausePhase", 2, 17));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 2, "SubPhase11", 4, 5));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 2, "SubPhase12", 6, 7));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase2", 9, 14));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 2, "SubPhase21", 10, 11));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 2, "SubPhase22", 12, 13));
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 1, "SubPhase3", 15, 16));
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, 15, 0));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
+
+TEST(TimePartitionPhasesIterator, one_concurrent) {
+  TimePartitions time_partitions;
+  TimePartitionPhasesIteratorTest::report_gc_phase_start(&time_partitions, "ConcurrentPhase", 2, GCPhase::ConcurrentPhaseType);
+  TimePartitionPhasesIteratorTest::report_gc_phase_end(&time_partitions, 8, GCPhase::ConcurrentPhaseType);
+
+  TimePartitionPhasesIterator iter(&time_partitions);
+
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_gc_phase(iter.next(), 0, "ConcurrentPhase", 2, 8));
+  // ConcurrentPhaseType should not affect to both 'sum_of_pauses()' and 'longest_pause()'.
+  EXPECT_NO_FATAL_FAILURE(TimePartitionPhasesIteratorTest::validate_pauses(time_partitions, Tickspan()));
+
+  EXPECT_FALSE(iter.has_next()) << "Too many elements";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/memory/test_metaspace.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "precompiled.hpp"
+#include "memory/metaspace.hpp"
+#include "memory/metaspace/virtualSpaceList.hpp"
+#include "runtime/mutexLocker.hpp"
+#include "runtime/os.hpp"
+#include "unittest.hpp"
+
+using namespace metaspace;
+
+TEST_VM(MetaspaceUtils, reserved) {
+  size_t reserved = MetaspaceUtils::reserved_bytes();
+  EXPECT_GT(reserved, 0UL);
+
+  size_t reserved_metadata = MetaspaceUtils::reserved_bytes(Metaspace::NonClassType);
+  EXPECT_GT(reserved_metadata, 0UL);
+  EXPECT_LE(reserved_metadata, reserved);
+}
+
+TEST_VM(MetaspaceUtils, reserved_compressed_class_pointers) {
+  if (!UseCompressedClassPointers) {
+    return;
+  }
+  size_t reserved = MetaspaceUtils::reserved_bytes();
+  EXPECT_GT(reserved, 0UL);
+
+  size_t reserved_class = MetaspaceUtils::reserved_bytes(Metaspace::ClassType);
+  EXPECT_GT(reserved_class, 0UL);
+  EXPECT_LE(reserved_class, reserved);
+}
+
+TEST_VM(MetaspaceUtils, committed) {
+  size_t committed = MetaspaceUtils::committed_bytes();
+  EXPECT_GT(committed, 0UL);
+
+  size_t reserved  = MetaspaceUtils::reserved_bytes();
+  EXPECT_LE(committed, reserved);
+
+  size_t committed_metadata = MetaspaceUtils::committed_bytes(Metaspace::NonClassType);
+  EXPECT_GT(committed_metadata, 0UL);
+  EXPECT_LE(committed_metadata, committed);
+}
+
+TEST_VM(MetaspaceUtils, committed_compressed_class_pointers) {
+  if (!UseCompressedClassPointers) {
+    return;
+  }
+  size_t committed = MetaspaceUtils::committed_bytes();
+  EXPECT_GT(committed, 0UL);
+
+  size_t committed_class = MetaspaceUtils::committed_bytes(Metaspace::ClassType);
+  EXPECT_GT(committed_class, 0UL);
+  EXPECT_LE(committed_class, committed);
+}
+
+TEST_VM(MetaspaceUtils, virtual_space_list_large_chunk) {
+  VirtualSpaceList* vs_list = new VirtualSpaceList(os::vm_allocation_granularity());
+  MutexLockerEx cl(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
+  // A size larger than VirtualSpaceSize (256k) and add one page to make it _not_ be
+  // vm_allocation_granularity aligned on Windows.
+  size_t large_size = (size_t)(2*256*K + (os::vm_page_size() / BytesPerWord));
+  large_size += (os::vm_page_size() / BytesPerWord);
+  vs_list->get_new_chunk(large_size, 0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/memory/test_virtualSpaceNode.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "precompiled.hpp"
+#include "memory/metaspace/virtualSpaceList.hpp"
+#include "memory/metaspace/chunkManager.hpp"
+#include "runtime/mutexLocker.hpp"
+#include "utilities/formatBuffer.hpp"
+#include "unittest.hpp"
+
+using namespace metaspace;
+
+namespace {
+  static void chunk_up(size_t words_left, size_t& num_medium_chunks,
+                                          size_t& num_small_chunks,
+                                          size_t& num_specialized_chunks) {
+    num_medium_chunks = words_left / MediumChunk;
+    words_left = words_left % MediumChunk;
+
+    num_small_chunks = words_left / SmallChunk;
+    words_left = words_left % SmallChunk;
+    // how many specialized chunks can we get?
+    num_specialized_chunks = words_left / SpecializedChunk;
+    ASSERT_EQ(0UL, words_left % SpecializedChunk) << "should be nothing left"
+       << ", words_left = " << words_left
+       << ", SpecializedChunk = " << SpecializedChunk;
+  }
+  static const size_t vsn_test_size_words = MediumChunk * 4;
+  static const size_t vsn_test_size_bytes = vsn_test_size_words * BytesPerWord;
+  class MetachunkRemover {
+    Metachunk* const _m;
+    ChunkManager* const _c;
+   public:
+    MetachunkRemover(Metachunk* m, ChunkManager* c) : _m(m), _c(c) { }
+    ~MetachunkRemover() { _c->remove_chunk(_m); }
+  };
+}
+
+class ChunkManagerTest {
+ public:
+  static size_t sum_free_chunks(ChunkManager* cm) {
+      return cm->sum_free_chunks();
+  }
+  static size_t sum_free_chunks_count(ChunkManager* cm) {
+      return cm->sum_free_chunks_count();
+  }
+  static ChunkList* free_chunks(ChunkManager* cm, ChunkIndex i) {
+    return cm->free_chunks(i);
+  }
+};
+
+// removes all the chunks added to the ChunkManager since creation of ChunkManagerRestorer
+class ChunkManagerRestorer {
+  ChunkManager* const _cm;
+  Metachunk* _chunks[NumberOfFreeLists];
+ public:
+  ChunkManagerRestorer(ChunkManager* cm) : _cm(cm) {
+    for (ChunkIndex i = ZeroIndex; i < NumberOfFreeLists; i = next_chunk_index(i)) {
+      ChunkList* l = ChunkManagerTest::free_chunks(_cm, i);
+      _chunks[i] = l->tail();
+    }
+  }
+  ~ChunkManagerRestorer() {
+    for (ChunkIndex i = ZeroIndex; i < NumberOfFreeLists; i = next_chunk_index(i)) {
+      ChunkList* l = ChunkManagerTest::free_chunks(_cm, i);
+      Metachunk* t = l->tail();
+      while (t != _chunks[i]) {
+        _cm->remove_chunk(t);
+        t = l->tail();
+      }
+    }
+  }
+};
+
+TEST_VM(VirtualSpaceNodeTest, sanity) {
+  // The chunk sizes must be multiples of eachother, or this will fail
+  STATIC_ASSERT(MediumChunk % SmallChunk == 0);
+  STATIC_ASSERT(SmallChunk % SpecializedChunk == 0);
+
+  // just in case STATIC_ASSERT doesn't work
+  EXPECT_EQ(0, MediumChunk % SmallChunk);
+  EXPECT_EQ(0, SmallChunk % SpecializedChunk);
+}
+
+TEST_VM(VirtualSpaceNodeTest, four_pages_vsn_is_committed_some_is_used_by_chunks) {
+  const size_t page_chunks = 4 * (size_t)os::vm_page_size() / BytesPerWord;
+  if (page_chunks >= MediumChunk) {
+    SUCCEED() << "SKIP: This doesn't work for systems with vm_page_size >= 16K";
+    return;
+  }
+  MutexLockerEx ml(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
+  ChunkManager cm(false);
+  VirtualSpaceNode vsn(false, vsn_test_size_bytes);
+  ChunkManagerRestorer c(Metaspace::get_chunk_manager(false));
+
+  vsn.initialize();
+  EXPECT_TRUE(vsn.expand_by(page_chunks, page_chunks));
+  vsn.get_chunk_vs(SmallChunk);
+  vsn.get_chunk_vs(SpecializedChunk);
+  vsn.retire(&cm);
+
+  // committed - used = words left to retire
+  const size_t words_left = page_chunks - SmallChunk - SpecializedChunk;
+
+  size_t num_medium_chunks, num_small_chunks, num_spec_chunks;
+  chunk_up(words_left, num_medium_chunks, num_small_chunks, num_spec_chunks);
+
+  EXPECT_EQ(0UL, num_medium_chunks) << "should not get any medium chunks";
+  // DISABLED: checks started to fail after 8198423
+  // EXPECT_EQ((num_small_chunks + num_spec_chunks), ChunkManagerTest::sum_free_chunks_count(&cm)) << "should be space for 3 chunks";
+  // EXPECT_EQ(words_left, ChunkManagerTest::sum_free_chunks(&cm)) << "sizes should add up";
+}
+
+TEST_VM(VirtualSpaceNodeTest, half_vsn_is_committed_humongous_chunk_is_used) {
+  MutexLockerEx ml(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
+  ChunkManager cm(false);
+  VirtualSpaceNode vsn(false, vsn_test_size_bytes);
+  ChunkManagerRestorer c(Metaspace::get_chunk_manager(false));
+
+  vsn.initialize();
+  EXPECT_TRUE(vsn.expand_by(MediumChunk * 2, MediumChunk * 2));
+  // Humongous chunks will be aligned up to MediumChunk + SpecializedChunk
+  vsn.get_chunk_vs(MediumChunk + SpecializedChunk);
+  vsn.retire(&cm);
+
+  const size_t words_left = MediumChunk * 2 - (MediumChunk + SpecializedChunk);
+  size_t num_medium_chunks, num_small_chunks, num_spec_chunks;
+  ASSERT_NO_FATAL_FAILURE(chunk_up(words_left, num_medium_chunks, num_small_chunks, num_spec_chunks));
+
+  EXPECT_EQ(0UL, num_medium_chunks) << "should not get any medium chunks";
+  // DISABLED: checks started to fail after 8198423
+  // EXPECT_EQ((num_small_chunks + num_spec_chunks), ChunkManagerTest::sum_free_chunks_count(&cm)) << "should be space for 3 chunks";
+  // EXPECT_EQ(words_left, ChunkManagerTest::sum_free_chunks(&cm)) << "sizes should add up";
+}
+
+TEST_VM(VirtualSpaceNodeTest, all_vsn_is_committed_half_is_used_by_chunks) {
+  MutexLockerEx ml(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
+
+  ChunkManager cm(false);
+  VirtualSpaceNode vsn(false, vsn_test_size_bytes);
+  ChunkManagerRestorer c(Metaspace::get_chunk_manager(false));
+
+  vsn.initialize();
+  EXPECT_TRUE(vsn.expand_by(vsn_test_size_words, vsn_test_size_words));
+  vsn.get_chunk_vs(MediumChunk);
+  vsn.get_chunk_vs(MediumChunk);
+  vsn.retire(&cm);
+  // DISABLED: checks started to fail after 8198423
+  // EXPECT_EQ(2UL, ChunkManagerTest::sum_free_chunks_count(&cm)) << "should have been memory left for 2 chunks";
+  // EXPECT_EQ(2UL * MediumChunk, ChunkManagerTest::sum_free_chunks(&cm)) << "sizes should add up";
+}
+
+TEST_VM(VirtualSpaceNodeTest, no_committed_memory) {
+  MutexLockerEx ml(MetaspaceExpand_lock, Mutex::_no_safepoint_check_flag);
+
+  ChunkManager cm(false);
+  VirtualSpaceNode vsn(false, vsn_test_size_bytes);
+  ChunkManagerRestorer c(Metaspace::get_chunk_manager(false));
+
+  vsn.initialize();
+  vsn.retire(&cm);
+  ASSERT_EQ(0UL, ChunkManagerTest::sum_free_chunks_count(&cm)) << "did not commit any memory in the VSN";
+}
+
+TEST_VM(VirtualSpaceNodeTest, is_available_positive) {
+  // Reserve some memory.
+  VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
+  ASSERT_TRUE(vsn.initialize()) << "Failed to setup VirtualSpaceNode";
+
+  // Commit some memory.
+  size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
+  ASSERT_TRUE(vsn.expand_by(commit_word_size, commit_word_size))
+      << "Failed to commit, commit_word_size = " << commit_word_size;
+
+  SCOPED_TRACE(err_msg("VirtualSpaceNode [" PTR_FORMAT ", " PTR_FORMAT ")",
+      p2i(vsn.bottom()), p2i(vsn.end())).buffer());
+
+  // Check that is_available accepts the committed size.
+  EXPECT_TRUE(vsn.is_available(commit_word_size)) << " commit_word_size = " << commit_word_size;
+
+  // Check that is_available accepts half the committed size.
+  size_t expand_word_size = commit_word_size / 2;
+  EXPECT_TRUE(vsn.is_available(expand_word_size)) << " expand_word_size = " << expand_word_size;
+}
+
+TEST_VM(VirtualSpaceNodeTest, is_available_negative) {
+  // Reserve some memory.
+  VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
+  ASSERT_TRUE(vsn.initialize()) << "Failed to setup VirtualSpaceNode";
+
+  // Commit some memory.
+  size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
+  ASSERT_TRUE(vsn.expand_by(commit_word_size, commit_word_size))
+      << "Failed to commit, commit_word_size = " << commit_word_size;
+
+  SCOPED_TRACE(err_msg("VirtualSpaceNode [" PTR_FORMAT ", " PTR_FORMAT ")",
+      p2i(vsn.bottom()), p2i(vsn.end())).buffer());
+
+  // Check that is_available doesn't accept a too large size.
+  size_t two_times_commit_word_size = commit_word_size * 2;
+  EXPECT_FALSE(vsn.is_available(two_times_commit_word_size)) << " two_times_commit_word_size = " << two_times_commit_word_size;
+}
+
+TEST_VM(VirtualSpaceNodeTest, is_available_overflow) {
+  // Reserve some memory.
+  VirtualSpaceNode vsn(false, os::vm_allocation_granularity());
+  ASSERT_TRUE(vsn.initialize()) << "Failed to setup VirtualSpaceNode";
+
+  // Commit some memory.
+  size_t commit_word_size = os::vm_allocation_granularity() / BytesPerWord;
+  ASSERT_TRUE(vsn.expand_by(commit_word_size, commit_word_size))
+      << "Failed to commit, commit_word_size = " << commit_word_size;
+
+  SCOPED_TRACE(err_msg("VirtualSpaceNode [" PTR_FORMAT ", " PTR_FORMAT ")",
+      p2i(vsn.bottom()), p2i(vsn.end())).buffer());
+
+  // Calculate a size that will overflow the virtual space size.
+  void* virtual_space_max = (void*)(uintptr_t)-1;
+  size_t bottom_to_max = pointer_delta(virtual_space_max, vsn.bottom(), 1);
+  size_t overflow_size = bottom_to_max + BytesPerWord;
+  size_t overflow_word_size = overflow_size / BytesPerWord;
+
+  EXPECT_FALSE(vsn.is_available(overflow_word_size)) << " overflow_word_size = " << overflow_word_size;
+}
--- a/test/hotspot/gtest/utilities/test_globalCounter.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/gtest/utilities/test_globalCounter.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,11 +47,11 @@
   void main_run() {
     _wrt_start->signal();
     while (!_exit) {
-      GlobalCounter::critical_section_begin(this);
+      GlobalCounter::CSContext cs_context = GlobalCounter::critical_section_begin(this);
       volatile TestData* test = OrderAccess::load_acquire(_test);
       long value = OrderAccess::load_acquire(&test->test_value);
       ASSERT_EQ(value, GOOD_VALUE);
-      GlobalCounter::critical_section_end(this);
+      GlobalCounter::critical_section_end(this, cs_context);
       {
         GlobalCounter::CriticalSection cs(this);
         volatile TestData* test = OrderAccess::load_acquire(_test);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/gtest/utilities/test_globalCounter_nested.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "precompiled.hpp"
+#include "metaprogramming/isRegisteredEnum.hpp"
+#include "runtime/atomic.hpp"
+#include "runtime/orderAccess.hpp"
+#include "runtime/os.hpp"
+#include "utilities/globalCounter.hpp"
+#include "utilities/globalCounter.inline.hpp"
+#include "utilities/spinYield.hpp"
+#include "threadHelper.inline.hpp"
+
+enum NestedTestState {
+  START,
+  START_WAIT,
+  OUTER_ENTERED,
+  INNER_ENTERED,
+  INNER_EXITED,
+  OUTER_EXITED,
+  SYNCHRONIZING,
+  SYNCHRONIZED
+};
+template<> struct IsRegisteredEnum<NestedTestState> : public TrueType {};
+
+class RCUNestedThread : public JavaTestThread {
+  volatile NestedTestState _state;
+  volatile bool _proceed;
+
+protected:
+  RCUNestedThread(Semaphore* post) :
+    JavaTestThread(post),
+    _state(START),
+    _proceed(false)
+  {}
+
+  ~RCUNestedThread() {}
+
+  void set_state(NestedTestState new_state) {
+    OrderAccess::release_store(&_state, new_state);
+  }
+
+  void wait_with_state(NestedTestState new_state) {
+    SpinYield spinner;
+    OrderAccess::release_store(&_state, new_state);
+    while (!OrderAccess::load_acquire(&_proceed)) {
+      spinner.wait();
+    }
+    OrderAccess::release_store(&_proceed, false);
+  }
+
+public:
+  NestedTestState state() const {
+    return OrderAccess::load_acquire(&_state);
+  }
+
+  void wait_for_state(NestedTestState goal) {
+    SpinYield spinner;
+    while (state() != goal) {
+      spinner.wait();
+    }
+  }
+
+  void proceed() {
+    OrderAccess::release_store(&_proceed, true);
+  }
+};
+
+class RCUNestedReaderThread : public RCUNestedThread {
+public:
+  RCUNestedReaderThread(Semaphore* post) :
+    RCUNestedThread(post)
+  {}
+
+  virtual void main_run();
+};
+
+void RCUNestedReaderThread::main_run() {
+  wait_with_state(START_WAIT);
+  {
+    GlobalCounter::CriticalSection outer(Thread::current());
+    wait_with_state(OUTER_ENTERED);
+    {
+      GlobalCounter::CriticalSection inner(Thread::current());
+      wait_with_state(INNER_ENTERED);
+    }
+    wait_with_state(INNER_EXITED);
+  }
+  wait_with_state(OUTER_EXITED);
+}
+
+
+class RCUNestedWriterThread : public RCUNestedThread {
+public:
+  RCUNestedWriterThread(Semaphore* post) :
+    RCUNestedThread(post)
+  {}
+
+  virtual void main_run();
+};
+
+void RCUNestedWriterThread::main_run() {
+  wait_with_state(START_WAIT);
+  set_state(SYNCHRONIZING);
+  GlobalCounter::write_synchronize();
+  wait_with_state(SYNCHRONIZED);
+}
+
+TEST_VM(GlobalCounter, nested_critical_section) {
+  Semaphore post;
+  RCUNestedReaderThread* reader = new RCUNestedReaderThread(&post);
+  RCUNestedWriterThread* outer = new RCUNestedWriterThread(&post);
+  RCUNestedWriterThread* inner = new RCUNestedWriterThread(&post);
+
+  reader->doit();
+  outer->doit();
+  inner->doit();
+
+  reader->wait_for_state(START_WAIT);
+  outer->wait_for_state(START_WAIT);
+  inner->wait_for_state(START_WAIT);
+  EXPECT_EQ(START_WAIT, reader->state());
+  EXPECT_EQ(START_WAIT, outer->state());
+  EXPECT_EQ(START_WAIT, inner->state());
+
+  reader->proceed();
+  reader->wait_for_state(OUTER_ENTERED);
+  EXPECT_EQ(OUTER_ENTERED, reader->state());
+  EXPECT_EQ(START_WAIT, outer->state());
+  EXPECT_EQ(START_WAIT, inner->state());
+
+  outer->proceed();
+  outer->wait_for_state(SYNCHRONIZING);
+  EXPECT_EQ(OUTER_ENTERED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(START_WAIT, inner->state());
+
+  os::naked_short_sleep(100);   // Give outer time in synchronization.
+  EXPECT_EQ(OUTER_ENTERED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(START_WAIT, inner->state());
+
+  reader->proceed();
+  reader->wait_for_state(INNER_ENTERED);
+  EXPECT_EQ(INNER_ENTERED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(START_WAIT, inner->state());
+
+  inner->proceed();
+  inner->wait_for_state(SYNCHRONIZING);
+  EXPECT_EQ(INNER_ENTERED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(SYNCHRONIZING, inner->state());
+
+  os::naked_short_sleep(100); // Give writers time in synchronization.
+  EXPECT_EQ(INNER_ENTERED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(SYNCHRONIZING, inner->state());
+
+  reader->proceed();
+  reader->wait_for_state(INNER_EXITED);
+  // inner does *not* complete synchronization here.
+  EXPECT_EQ(INNER_EXITED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(SYNCHRONIZING, inner->state());
+
+  os::naked_short_sleep(100); // Give writers more time in synchronization.
+  EXPECT_EQ(INNER_EXITED, reader->state());
+  EXPECT_EQ(SYNCHRONIZING, outer->state());
+  EXPECT_EQ(SYNCHRONIZING, inner->state());
+
+  reader->proceed();
+  reader->wait_for_state(OUTER_EXITED);
+  // Both inner and outer can synchronize now.
+  outer->wait_for_state(SYNCHRONIZED);
+  inner->wait_for_state(SYNCHRONIZED);
+  EXPECT_EQ(OUTER_EXITED, reader->state());
+  EXPECT_EQ(SYNCHRONIZED, outer->state());
+  EXPECT_EQ(SYNCHRONIZED, inner->state());
+
+  // Wait for reader, outer, and inner to complete.
+  reader->proceed();
+  outer->proceed();
+  inner->proceed();
+  for (uint i = 0; i < 3; ++i) {
+    post.wait();
+  }
+}
--- a/test/hotspot/jtreg/ProblemList-graal.txt	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/ProblemList-graal.txt	Thu Nov 01 09:01:15 2018 -0400
@@ -43,6 +43,8 @@
 
 compiler/jvmci/SecurityRestrictionsTest.java                    8181837   generic-all
 
+compiler/jsr292/RedefineMethodUsedByMultipleMethodHandles.java  8204521   windows-all
+
 compiler/unsafe/UnsafeGetConstantField.java                     8181833   generic-all
 compiler/unsafe/UnsafeGetStableArrayElement.java                8181833   generic-all
 compiler/unsafe/UnsafeOffHeapBooleanTest.java                   8181833   generic-all
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaField.java	Thu Nov 01 09:01:15 2018 -0400
@@ -33,10 +33,15 @@
 
 package jdk.vm.ci.runtime.test;
 
-import jdk.vm.ci.meta.ResolvedJavaField;
-import jdk.vm.ci.meta.ResolvedJavaMethod;
-import org.junit.Test;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
@@ -45,10 +50,13 @@
 import java.util.Map;
 import java.util.Set;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import org.junit.Assert;
+import org.junit.Test;
+
+import jdk.vm.ci.meta.ResolvedJavaField;
+import jdk.vm.ci.meta.ResolvedJavaMethod;
+import jdk.vm.ci.meta.ResolvedJavaType;
+import jdk.vm.ci.runtime.test.TestResolvedJavaField.TestClassLoader;
 
 /**
  * Tests for {@link ResolvedJavaField}.
@@ -134,4 +142,89 @@
             }
         }
     }
+    static class TestClassLoader extends ClassLoader {
+
+        @Override
+        protected Class<?> findClass(final String name) {
+            if (!name.equals(TypeWithUnresolvedFieldType.class.getName())) {
+                try {
+                    return super.findClass(name);
+                } catch (ClassNotFoundException e) {
+                    throw new AssertionError("unexpected: " + e);
+                }
+            }
+            // copy classfile to byte array
+            byte[] classData = null;
+            try {
+                String simpleName = TypeWithUnresolvedFieldType.class.getSimpleName();
+                InputStream is = TypeWithUnresolvedFieldType.class.getResourceAsStream(simpleName + ".class");
+                assert is != null;
+                ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
+                byte[] buf = new byte[1024];
+                int size;
+                while ((size = is.read(buf, 0, buf.length)) != -1) {
+                    baos.write(buf, 0, size);
+                }
+                baos.flush();
+                classData = baos.toByteArray();
+            } catch (IOException e) {
+                Assert.fail("can't access class: " + name);
+            }
+
+            // replace all occurrences of "PrintStream" in classfile
+            int index = -1;
+
+            while ((index = indexOf(classData, index + 1, "PrintStream")) != -1) {
+                replace(classData, index, "XXXXXXXXXXX");
+            }
+
+            Class<?> c = defineClass(null, classData, 0, classData.length);
+            return c;
+        }
+
+        private static int indexOf(byte[] b, int index, String find) {
+            for (int i = index; i < b.length; i++) {
+                boolean match = true;
+                for (int j = i; j < i + find.length(); j++) {
+                    if (b[j] != (byte) find.charAt(j - i)) {
+                        match = false;
+                        break;
+                    }
+                }
+                if (match) {
+                    return i;
+                }
+            }
+            return -1;
+        }
+
+        private static void replace(byte[] b, int index, String replace) {
+            for (int i = index; i < index + replace.length(); i++) {
+                b[i] = (byte) replace.charAt(i - index);
+            }
+        }
+    }
+
+    /**
+     * Tests that calling {@link ResolvedJavaField#getType()} does not cause a linkage error if the
+     * type of the field is not resolvable.
+     */
+    @Test
+    public void testGetType() {
+        Class<?> c = new TestClassLoader().findClass(TypeWithUnresolvedFieldType.class.getName());
+        ResolvedJavaType type = metaAccess.lookupJavaType(c);
+        for (ResolvedJavaField field : type.getInstanceFields(false)) {
+            assertTrue(field.getName().equals("fieldWithUnresolvableType"));
+            field.getType();
+            field.toString();
+        }
+    }
 }
+
+class TypeWithUnresolvedFieldType {
+    /**
+     * {@link TestClassLoader} will rewrite the type of this field to "Ljava/io/XXXXXXXXXXX;".
+     */
+    PrintStream fieldWithUnresolvableType;
+}
--- a/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaMethod.java	Thu Nov 01 09:01:15 2018 -0400
@@ -429,11 +429,24 @@
         }
     }
 
+    static class UnlinkedType {
+    }
+
     /**
      * All public non-final methods should be available in the vtable.
      */
     @Test
     public void testVirtualMethodTableAccess() {
+        ResolvedJavaType unlinkedType = metaAccess.lookupJavaType(UnlinkedType.class);
+        assertTrue(!unlinkedType.isLinked());
+        for (Class<?> c : classes) {
+            if (c.isInterface()) {
+                for (Method m : c.getDeclaredMethods()) {
+                    ResolvedJavaMethod method = metaAccess.lookupJavaMethod(m);
+                    method.isInVirtualMethodTable(unlinkedType);
+                }
+            }
+        }
         for (Class<?> c : classes) {
             if (c.isPrimitive() || c.isInterface()) {
                 continue;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestSpeculationLog.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package jdk.vm.ci.runtime.test;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import jdk.vm.ci.meta.JavaConstant;
+import jdk.vm.ci.meta.SpeculationLog;
+
+public class TestSpeculationLog extends MethodUniverse {
+
+    static class Dummy implements SpeculationLog.SpeculationReason {
+
+    }
+
+    @Test
+    public void testSpeculationIdentity() {
+        Dummy spec = new Dummy();
+        SpeculationLog log = methods.entrySet().iterator().next().getValue().getSpeculationLog();
+        SpeculationLog.Speculation s1 = log.speculate(spec);
+        SpeculationLog.Speculation s2 = log.speculate(spec);
+        Assert.assertTrue("Speculation should maintain identity", s1.equals(s2));
+        JavaConstant e1 = metaAccess.encodeSpeculation(s1);
+        JavaConstant e2 = metaAccess.encodeSpeculation(s2);
+        Assert.assertTrue("speculation encoding should maintain identity", e1.equals(e2));
+    }
+}
--- a/test/hotspot/jtreg/gc/TestNUMAPageSize.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/TestNUMAPageSize.java	Thu Nov 01 09:01:15 2018 -0400
@@ -26,7 +26,6 @@
  * @key gc regression
  * @summary Make sure that start up with NUMA support does not cause problems.
  * @bug 8061467
- * @requires vm.opt.AggressiveOpts != true
  * @requires vm.gc != "Z"
  * @run main/othervm -Xmx128m -XX:+UseNUMA -XX:+UseLargePages TestNUMAPageSize
  */
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData00.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData00.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData05.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData05.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData10.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData10.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData15.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData15.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData20.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData20.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
   *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData25.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData25.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData30.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/TestShrinkAuxiliaryData30.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,7 +27,6 @@
  * @summary Checks that decommitment occurs for JVM with different
  * G1ConcRSLogCacheSize and ObjectAlignmentInBytes options values
  * @requires vm.gc.G1
- * @requires vm.opt.AggressiveOpts != true
  * @library /test/lib
  * @modules java.base/jdk.internal.misc
  *          java.management
--- a/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,29 +56,29 @@
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  *                                sun.hotspot.WhiteBox$WhiteBoxPermission
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=30000 -XX:G1MixedGCLiveThresholdPercent=100 -XX:G1HeapWastePercent=0
  * -XX:G1HeapRegionSize=1M -Xlog:gc=info:file=TestObjectGraphAfterGC_MIXED_GC.gc.log -XX:MaxTenuringThreshold=1
  * -XX:G1MixedGCCountTarget=1  -XX:G1OldCSetRegionThresholdPercent=100 -XX:SurvivorRatio=1 -XX:InitiatingHeapOccupancyPercent=0
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC MIXED_GC
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:G1HeapRegionSize=1M -Xlog:gc*=debug:file=TestObjectGraphAfterGC_YOUNG_GC.gc.log
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC YOUNG_GC
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:G1HeapRegionSize=1M -Xlog:gc=info:file=TestObjectGraphAfterGC_FULL_GC.gc.log
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC FULL_GC
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:G1HeapRegionSize=1M -Xlog:gc=info:file=TestObjectGraphAfterGC_FULL_GC_MEMORY_PRESSURE.gc.log
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC FULL_GC_MEMORY_PRESSURE
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:G1HeapRegionSize=1M -Xlog:gc=info:file=TestObjectGraphAfterGC_CMC.gc.log -XX:MaxTenuringThreshold=16
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC CMC
  *
- * @run main/othervm -Xms200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
+ * @run main/othervm -Xms200M -Xmx200M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
  * -XX:G1HeapRegionSize=1M -Xlog:gc=info:file=TestObjectGraphAfterGC_CMC_NO_SURV_ROOTS.gc.log -XX:MaxTenuringThreshold=1
  * gc.g1.humongousObjects.objectGraphTest.TestObjectGraphAfterGC CMC_NO_SURV_ROOTS
  *
--- a/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java	Thu Nov 01 09:01:15 2018 -0400
@@ -103,6 +103,5 @@
 
     public static void main(String[] args) throws Throwable {
         testDeprecated(DEPRECATED_OPTIONS);  // Make sure that each deprecated option is mentioned in the output.
-        testDeprecatedDiagnostic("IgnoreUnverifiableClassesDuringDump", "false");
     }
 }
--- a/test/hotspot/jtreg/runtime/ErrorHandling/NestedThreadsListHandleInErrorHandlingTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ErrorHandling/NestedThreadsListHandleInErrorHandlingTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -49,11 +49,15 @@
   public static void main(String[] args) throws Exception {
 
     // The -XX:ErrorHandlerTest=N option requires debug bits.
+    // Need to disable ShowRegistersOnAssert: that flag causes registers to be shown, which calls os::print_location,
+    // which - as part of its checks - will iterate the threads list under a ThreadListHandle, changing the max nesting
+    // counters and confusing this test.
     ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
         "-XX:+UnlockDiagnosticVMOptions",
         "-Xmx100M",
         "-XX:ErrorHandlerTest=17",
         "-XX:-CreateCoredumpOnCrash",
+        "-XX:-ShowRegistersOnAssert",
         "-version");
 
     OutputAnalyzer output_detail = new OutputAnalyzer(pb.start());
--- a/test/hotspot/jtreg/runtime/ErrorHandling/ThreadsListHandleInErrorHandlingTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ErrorHandling/ThreadsListHandleInErrorHandlingTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -49,11 +49,15 @@
   public static void main(String[] args) throws Exception {
 
     // The -XX:ErrorHandlerTest=N option requires debug bits.
+    // Need to disable ShowRegistersOnAssert: that flag causes registers to be shown, which calls os::print_location,
+    // which - as part of its checks - will iterate the threads list under a ThreadListHandle, changing the max nesting
+    // counters and confusing this test.
     ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
         "-XX:+UnlockDiagnosticVMOptions",
         "-Xmx100M",
         "-XX:ErrorHandlerTest=16",
         "-XX:-CreateCoredumpOnCrash",
+        "-XX:-ShowRegistersOnAssert",
         "-version");
 
     OutputAnalyzer output_detail = new OutputAnalyzer(pb.start());
--- a/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -233,19 +233,16 @@
     }
 
     private static boolean isAlwaysSupportedPlatform() {
-        // Note: To date Aarch64 is the only platform that we don't statically
-        // know if it supports the reserved stack area. This is because the
-        // open Aarch64 port supports it and the Oracle arm64 port does not.
         return Platform.isAix() ||
             (Platform.isLinux() &&
              (Platform.isPPC() || Platform.isS390x() || Platform.isX64() ||
-              Platform.isX86())) ||
+              Platform.isX86() || Platform.isAArch64())) ||
             Platform.isOSX() ||
             Platform.isSolaris();
     }
 
     private static boolean isNeverSupportedPlatform() {
-        return !isAlwaysSupportedPlatform() && !Platform.isAArch64();
+        return !isAlwaysSupportedPlatform();
     }
 
     private static boolean isSupportedPlatform;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/*
+ * @test
+ * @summary Tests how CDS works when critical library classes are replaced with JVMTI ClassFileLoadHook
+ * @library /test/lib
+ * @requires vm.cds
+ * @build sun.hotspot.WhiteBox
+ * @run driver ClassFileInstaller -jar whitebox.jar sun.hotspot.WhiteBox
+ * @run main/othervm/native ReplaceCriticalClasses
+ */
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import jdk.test.lib.cds.CDSTestUtils;
+import jdk.test.lib.cds.CDSOptions;
+import jdk.test.lib.process.OutputAnalyzer;
+import sun.hotspot.WhiteBox;
+
+public class ReplaceCriticalClasses {
+    public static void main(String args[]) throws Throwable {
+        if (args.length == 0) {
+            launchChildProcesses();
+        } else if (args.length == 3 && args[0].equals("child")) {
+            Class klass = Class.forName(args[2].replace("/", "."));
+            if (args[1].equals("-shared")) {
+                testInChild(true, klass);
+            } else if (args[1].equals("-notshared")) {
+                testInChild(false, klass);
+            } else {
+                throw new RuntimeException("Unknown child exec option " + args[1]);
+            }
+            return;
+        } else {
+            throw new RuntimeException("Usage: @run main/othervm/native ReplaceCriticalClasses");
+        }
+    }
+
+    static void launchChildProcesses() throws Throwable {
+        String tests[] = {
+            // CDS should be disabled -- these critical classes will be replaced
+            // because JvmtiExport::early_class_hook_env() is true.
+            "-early -notshared java/lang/Object",
+            "-early -notshared java/lang/String",
+            "-early -notshared java/lang/Cloneable",
+            "-early -notshared java/io/Serializable",
+
+            // CDS should not be disabled -- these critical classes cannot be replaced because
+            // JvmtiExport::early_class_hook_env() is false.
+            "java/lang/Object",
+            "java/lang/String",
+            "java/lang/Cloneable",
+            "java/io/Serializable",
+
+            // Try to replace classes that are used by the archived subgraph graphs.
+            "-subgraph java/util/ArrayList",
+            "-subgraph java/lang/module/ResolvedModule",
+
+            // Replace classes that are loaded after JVMTI_PHASE_PRIMORDIAL. It's OK to replace such
+            // classes even when CDS is enabled. Nothing bad should happen.
+            "-notshared jdk/internal/vm/PostVMInitHook",
+            "-notshared java/util/Locale",
+            "-notshared sun/util/locale/BaseLocale",
+            "-notshared java/lang/Readable",
+        };
+
+        int n = 0;
+        for (String s : tests) {
+            System.out.println("Test case[" + (n++) + "] = \"" + s + "\"");
+            String args[] = s.split("\\s+"); // split by space character
+            launchChild(args);
+        }
+    }
+
+    static void launchChild(String args[]) throws Throwable {
+        if (args.length < 1) {
+            throw new RuntimeException("Invalid test case. Should be <-early> <-subgraph> <-notshared> klassName");
+        }
+        String klassName = null;
+        String early = "";
+        boolean subgraph = false;
+        String shared = "-shared";
+
+        for (int i=0; i<args.length-1; i++) {
+            String opt = args[i];
+            if (opt.equals("-early")) {
+                early = "-early,";
+            } else if (opt.equals("-subgraph")) {
+                subgraph = true;
+            } else if (opt.equals("-notshared")) {
+                shared = opt;
+            } else {
+                throw new RuntimeException("Unknown option: " + opt);
+            }
+        }
+        klassName = args[args.length-1];
+        Class.forName(klassName.replace("/", ".")); // make sure it's a valid class
+
+        // We will pass an option like "-agentlib:SimpleClassFileLoadHook=java/util/Locale,XXX,XXX".
+        // The SimpleClassFileLoadHook agent would attempt to hook the java/util/Locale class
+        // but leave the class file bytes unchanged (it replaces all bytes "XXX" with "XXX", i.e.,
+        // a no-op). JVMTI doesn't check the class file bytes returned by the agent, so as long
+        // as the agent returns a buffer, it will not load the class from CDS, and will instead
+        // load the class by parsing the buffer.
+        //
+        // Note that for safety we don't change the contents of the class file bytes. If in the
+        // future JVMTI starts checking the contents of the class file bytes, this test would need
+        // to be updated. (You'd see the test case with java/util/Locale staring to fail).
+        String agent = "-agentlib:SimpleClassFileLoadHook=" + early + klassName + ",XXX,XXX";
+
+        CDSOptions opts = (new CDSOptions())
+            .setXShareMode("auto")
+            .setUseSystemArchive(true)
+            .setUseVersion(false)
+            .addSuffix("-showversion",
+                       "-Xlog:cds",
+                       "-XX:+UnlockDiagnosticVMOptions",
+                       agent,
+                       "-XX:+WhiteBoxAPI",
+                       "-Xbootclasspath/a:" + ClassFileInstaller.getJarPath("whitebox.jar"));
+
+        if (subgraph) {
+            opts.addSuffix("-Xlog:cds+heap",
+                           "-Xlog:class+load");
+        }
+
+        opts.addSuffix("ReplaceCriticalClasses",
+                       "child",
+                       shared,
+                       klassName);
+
+        final boolean expectDisable = !early.equals("");
+        final boolean checkSubgraph = subgraph;
+        CDSTestUtils.run(opts).assertNormalExit(out -> {
+                if (expectDisable) {
+                    out.shouldContain("UseSharedSpaces: CDS is disabled because early JVMTI ClassFileLoadHook is in use.");
+                    System.out.println("CDS disabled as expected");
+                }
+                if (checkSubgraph) {
+                    // As of 2018/10/21 the classes in the archived subgraphs won't be
+                    // replaced because all archived subgraphs were loaded in JVMTI_PHASE_PRIMORDIAL.
+                    //
+                    // This is the first class to be loaded after JVMTI has exited JVMTI_PHASE_PRIMORDIAL.
+                    // Make sure no subgraphs are loaded afterwards.
+                    //
+                    // Can't use out.shouldNotMatch() because that doesn't match across multiple lines.
+                    String firstNonPrimordialClass = "jdk.jfr.internal.EventWriter";
+                    String regexp = firstNonPrimordialClass + ".*initialize_from_archived_subgraph";
+                    Pattern regex = Pattern.compile(regexp, Pattern.DOTALL);
+                    Matcher matcher = regex.matcher(out.getStdout());
+                    if (matcher.find()) {
+                        out.reportDiagnosticSummary();
+                        throw new RuntimeException("'" + regexp
+                                                   + "' found in stdout: '" + matcher.group() + "' \n");
+                    }
+                }
+            });
+    }
+
+    static void testInChild(boolean shouldBeShared, Class klass) {
+        WhiteBox wb = WhiteBox.getWhiteBox();
+
+        if (shouldBeShared && !wb.isSharedClass(klass)) {
+            throw new RuntimeException(klass + " should be shared but but actually is not.");
+        }
+        if (!shouldBeShared && wb.isSharedClass(klass)) {
+            throw new RuntimeException(klass + " should not be shared but actually is.");
+        }
+        System.out.println("wb.isSharedClass(klass): " + wb.isSharedClass(klass) + " == " + shouldBeShared);
+
+        String strings[] = {
+            // interned strings from j.l.Object
+            "@",
+            "nanosecond timeout value out of range",
+            "timeoutMillis value is negative",
+
+            // interned strings from j.l.Integer
+            "0",
+            "0X",
+            "0x",
+            "int"
+        };
+
+        // Make sure the interned string table is same
+        for (String s : strings) {
+            String i = s.intern();
+            if (s != i) {
+                throw new RuntimeException("Interned string mismatch: \"" + s + "\" @ " + System.identityHashCode(s) +
+                                           " vs \"" + i + "\" @ " + System.identityHashCode(i));
+            }
+        }
+        // We have tried to use ClassFileLoadHook to replace critical library classes (which may
+        // may not have succeeded, depending on whether the agent has requested
+        // can_generate_all_class_hook_events/can_generate_early_class_hook_events capabilities).
+        //
+        // In any case, the JVM should have started properly (perhaps with CDS disabled) and
+        // the above operations should succeed.
+        System.out.println("If I can come to here without crashing, things should be OK");
+    }
+}
--- a/test/hotspot/jtreg/runtime/appcds/VerifierTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/VerifierTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -102,17 +102,17 @@
     }
 
     static void testset_0(String jar, String[] noAppClasses, String[] appClasses) throws Exception {
-        // Dumping should fail if the IgnoreUnverifiableClassesDuringDump
-        // option is not enabled.
-        OutputAnalyzer output = TestCommon.dump(jar, appClasses,
-                            CDS_LOGGING,
-                            "-XX:+UnlockDiagnosticVMOptions",
-                            "-XX:-IgnoreUnverifiableClassesDuringDump");
-        output.shouldContain("Please remove the unverifiable classes");
-        output.shouldHaveExitValue(1);
-
-        // By default, bad classes should be ignored during dumping.
-        TestCommon.testDump(jar, appClasses);
+        // Unverifiable classes won't be included in the CDS archive.
+        // Dumping should not fail.
+        OutputAnalyzer output = TestCommon.dump(jar, appClasses);
+        output.shouldHaveExitValue(0);
+        if (output.getStdout().contains("Loading clases to share")) {
+            // last entry in appClasses[] is a verifiable class
+            for (int i = 0; i < (appClasses.length - 1); i++) {
+                output.shouldContain("Verification failed for " + appClasses[i]);
+                output.shouldContain("Removed error class: " + appClasses[i]);
+            }
+        }
     }
 
     static void checkRuntimeOutput(OutputAnalyzer output, String expected) throws Exception {
--- a/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/cacheObject/CheckArchivedModuleApp.java	Thu Nov 01 09:01:15 2018 -0400
@@ -52,7 +52,8 @@
         boolean expectArchivedConfiguration = "yes".equals(args[1]);
         // -XX:+EnableJVMCI adds extra system modules, in which case the system
         // module objects are not archived.
-        if (wb.getBooleanVMFlag("EnableJVMCI")) {
+        Boolean enableJVMCI = wb.getBooleanVMFlag("EnableJVMCI");
+        if (enableJVMCI != null && enableJVMCI) {
             expectArchivedDescriptors = false;
             expectArchivedConfiguration = false;
         }
--- a/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/JvmtiAddPath.java	Thu Nov 01 09:01:15 2018 -0400
@@ -33,7 +33,7 @@
  * @build sun.hotspot.WhiteBox
  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  * @compile ../../test-classes/JvmtiApp.java
- * @run driver JvmtiAddPath
+ * @run driver/timeout=240 JvmtiAddPath
  */
 
 import java.io.File;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+/*
+ * @test HandshakeWalkSuspendExitTest
+ * @summary This test tries to stress the handshakes with new and exiting threads while suspending them.
+ * @library /testlibrary /test/lib
+ * @build HandshakeWalkSuspendExitTest
+ * @run driver ClassFileInstaller sun.hotspot.WhiteBox
+ *                              sun.hotspot.WhiteBox$WhiteBoxPermission
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI HandshakeWalkSuspendExitTest
+ */
+
+import jdk.test.lib.Asserts;
+import sun.hotspot.WhiteBox;
+
+public class HandshakeWalkSuspendExitTest  implements Runnable {
+
+    static final int _test_threads = 8;
+    static final int _test_exit_threads = 128;
+    static Thread[] _threads = new Thread[_test_threads];
+    static volatile boolean exit_now = false;
+    static java.util.concurrent.Semaphore _sem = new java.util.concurrent.Semaphore(0);
+
+    @Override
+    public void run() {
+        WhiteBox wb = WhiteBox.getWhiteBox();
+        while (!exit_now) {
+            _sem.release();
+            // We only suspend threads on even index and not ourself.
+            // Otherwise we can accidentially suspend all threads.
+            for (int i = 0; i < _threads.length; i += 2) {
+                wb.handshakeWalkStack(null /* ignored */, true /* stackwalk all threads */);
+                if (Thread.currentThread() != _threads[i]) {
+                    _threads[i].suspend();
+                    _threads[i].resume();
+                }
+            }
+            for (int i = 0; i < _threads.length; i += 2) {
+                wb.handshakeWalkStack(_threads[i] /* thread to stackwalk */, false /* stackwalk one thread */);
+                if (Thread.currentThread() != _threads[i]) {
+                    _threads[i].suspend();
+                    _threads[i].resume();
+                }
+            }
+        }
+    }
+
+    public static void main(String... args) throws Exception {
+        HandshakeWalkSuspendExitTest test = new HandshakeWalkSuspendExitTest();
+
+        for (int i = 0; i < _threads.length; i++) {
+            _threads[i] = new Thread(test);
+            _threads[i].start();
+        }
+        for (int i = 0; i < _test_threads; i++) {
+            _sem.acquire();
+        }
+        Thread[] exit_threads = new Thread[_test_exit_threads];
+        for (int i = 0; i < _test_exit_threads; i++) {
+            exit_threads[i] = new Thread(new Runnable() { public void run() {} });
+            exit_threads[i].start();
+        }
+        exit_now = true;
+        for (int i = 0; i < _threads.length; i++) {
+            _threads[i].join();
+        }
+        for (int i = 0; i < exit_threads.length; i++) {
+            exit_threads[i].join();
+        }
+    }
+}
--- a/test/hotspot/jtreg/testlibrary/jvmti/libSimpleClassFileLoadHook.c	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/testlibrary/jvmti/libSimpleClassFileLoadHook.c	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -91,17 +91,23 @@
         *new_class_data_len = class_data_len;
         *new_class_data = new_data;
 
-        fprintf(stderr, "Rewriting done. Replaced %d occurrence(s)\n", count);
+        fprintf(stderr, "Rewriting done. Replaced %d occurrence(s) of \"%s\" to \"%s\"\n", count, FROM, TO);
       }
     }
 }
 
+static int early = 0;
+
 static jint init_options(char *options) {
   char* class_name;
   char* from;
   char* to;
 
   fprintf(stderr, "Agent library loaded with options = %s\n", options);
+  if (options != NULL && strncmp(options, "-early,", 7) == 0) {
+    early = 1;
+    options += 7;
+  }
   if ((class_name = options) != NULL &&
       (from = strchr(class_name, ',')) != NULL && (from[1] != 0)) {
     *from = 0;
@@ -132,6 +138,7 @@
 
 static jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
   int rc;
+  jvmtiCapabilities caps;
 
   if ((rc = (*jvm)->GetEnv(jvm, (void **)&jvmti, JVMTI_VERSION_1_1)) != JNI_OK) {
     fprintf(stderr, "Unable to create jvmtiEnv, GetEnv failed, error = %d\n", rc);
@@ -141,6 +148,19 @@
     return JNI_ERR;
   }
 
+  memset(&caps, 0, sizeof(caps));
+
+  caps.can_redefine_classes = 1;
+  if (early) {
+    fprintf(stderr, "can_generate_all_class_hook_events/can_generate_early_vmstart/can_generate_early_class_hook_events == 1\n");
+    caps.can_generate_all_class_hook_events = 1;
+    caps.can_generate_early_class_hook_events = 1;
+  }
+  if ((rc = (*jvmti)->AddCapabilities(jvmti, &caps)) != JNI_OK) {
+    fprintf(stderr, "AddCapabilities failed, error = %d\n", rc);
+    return JNI_ERR;
+  }
+
   (void) memset(&callbacks, 0, sizeof(callbacks));
   callbacks.ClassFileLoadHook = &ClassFileLoadHook;
   if ((rc = (*jvmti)->SetEventCallbacks(jvmti, &callbacks, sizeof(callbacks))) != JNI_OK) {
--- a/test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/metaspace/stressDictionary/StressDictionary.java	Thu Nov 01 09:01:15 2018 -0400
@@ -29,7 +29,7 @@
  *
  * @library /vmTestbase /test/lib
  * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm metaspace.stressDictionary.StressDictionary -stressTime 30
+ * @run main/othervm/timeout=300 metaspace.stressDictionary.StressDictionary -stressTime 30
  */
 
 package metaspace.stressDictionary;
@@ -123,11 +123,54 @@
             tasks.add(this.new RegularWorker());
         }
         ExecutorService executorService = Executors.newCachedThreadPool();
+        List<Future<Object>> results = null;
         try {
-            executorService.invokeAll(tasks);
+            results = executorService.invokeAll(tasks);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
+
+        int act_results = results.size();
+        int exp_results = NUMBER_OF_CORRUPTING_THREADS +
+                          NUMBER_OF_NOT_CORRUPTING_THREADS;
+        if (act_results == exp_results) {
+            System.err.println("INFO: There are " + act_results + " results.");
+        } else {
+            throw new RuntimeException("Wrong # of results from invokeAll(); "
+                                       + "exp_results=" + exp_results + "; "
+                                       + "act_results=" + act_results + ".");
+        }
+
+        int cancelled_cnt = 0;
+        int not_done_cnt = 0;
+        for (int i = 0; i < act_results; i++) {
+            if (!results.get(i).isDone()) {
+                not_done_cnt++;
+                System.err.println("ERROR: task #" + i + " is not done.");
+            }
+            if (results.get(i).isCancelled()) {
+                cancelled_cnt++;
+                System.err.println("ERROR: task #" + i + " was canceled.");
+            }
+        }
+
+        if (cancelled_cnt == 0) {
+            System.err.println("INFO: no tasks were cancelled.");
+        }
+        if (not_done_cnt == 0) {
+            System.err.println("INFO: all tasks are done.");
+        }
+        if (cancelled_cnt != 0 && not_done_cnt != 0) {
+            throw new RuntimeException(cancelled_cnt
+                                       + " tasks were cancelled and "
+                                       + not_done_cnt
+                                       + " tasks are not done.");
+        } else if (cancelled_cnt != 0) {
+            throw new RuntimeException(cancelled_cnt
+                                       + " tasks were cancelled.");
+        } else if (not_done_cnt != 0) {
+            throw new RuntimeException(not_done_cnt + " tasks are not done.");
+        }
     }
 
     private byte[] generateAndCompile() {
--- a/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/aod/VirtualMachine/VirtualMachine09/agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -48,12 +48,14 @@
     Options* options = NULL;
     const char* agentName;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
     NSK_DISPLAY1("%s: initialization was done\n", agentName);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -73,8 +73,8 @@
             {(char*) "agentGotCapabilities", (char*) "()Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach002_attach002Target_agentGotCapabilities}};
     jint nativeMethodsNumber = 1;
 
-    if (!NSK_JNI_VERIFY(jni, (appClass =
-        jni->FindClass(ATTACH002_TARGET_APP_CLASS_NAME)) != NULL)) {
+    appClass = jni->FindClass(ATTACH002_TARGET_APP_CLASS_NAME);
+    if (!NSK_JNI_VERIFY(jni, appClass != NULL)) {
         return NSK_FALSE;
     }
 
@@ -187,15 +187,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_VERIFY(registerNativeMethods(jni))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002a/attach002aAgent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -92,15 +92,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&caps, 0, sizeof(caps));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach008/attach008Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -110,15 +110,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&caps, 0, sizeof(caps));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach009/attach009Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -128,15 +128,18 @@
     jvmtiEventCallbacks eventCallbacks;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach012/attach012Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,15 +54,18 @@
     const char* agentName;
     jvmtiCapabilities caps;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->GetPotentialCapabilities(&caps))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach014/attach014Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -91,15 +91,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -84,15 +84,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach015/attach015Agent01.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -84,15 +84,18 @@
     jvmtiEnv* jvmti = NULL;
     JNIEnv* jni = NULL;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -115,7 +115,8 @@
 int startAuxiliaryThread(jvmtiEnv* jvmti, JNIEnv* jni) {
     jthread thread;
 
-    if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThread(jni)) != NULL))
+    thread = nsk_jvmti_aod_createThread(jni);
+    if (!NSK_VERIFY(thread != NULL))
         return NSK_FALSE;
 
     if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, auxiliaryThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY))) {
@@ -145,15 +146,18 @@
     jvmtiCapabilities caps;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("GCFinishMonitor", &gcFinishMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -94,8 +94,8 @@
             {(char*) "shutdownAgent", (char*) "()V", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_shutdownAgent}};
     jint nativeMethodsNumber = 2;
 
-    if (!NSK_JNI_VERIFY(jni, (appClass =
-        jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME)) != NULL)) {
+    appClass = jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME);
+    if (!NSK_JNI_VERIFY(jni, appClass != NULL)) {
         return NSK_FALSE;
     }
 
@@ -124,15 +124,18 @@
     jvmtiCapabilities caps;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_VERIFY(registerNativeMethods(jni))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -104,8 +104,8 @@
             (void*) Java_nsk_jvmti_AttachOnDemand_attach022_attach022Target_shutdownAgent}};
     jint nativeMethodsNumber = 1;
 
-    if (!NSK_JNI_VERIFY(jni, (appClass =
-        jni->FindClass(ATTACH022_TARGET_APP_CLASS_NAME)) != NULL)) {
+    appClass = jni->FindClass(ATTACH022_TARGET_APP_CLASS_NAME);
+    if (!NSK_JNI_VERIFY(jni, appClass != NULL)) {
         return NSK_FALSE;
     }
 
@@ -176,15 +176,18 @@
     jvmtiCapabilities caps;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_VERIFY(registerNativeMethods(jni))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach037/attach037Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -109,15 +109,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&caps, 0, sizeof(caps));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach038/attach038Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -105,15 +105,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach039/attach039Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -65,7 +65,8 @@
 int startNewThread(jvmtiEnv* jvmti, JNIEnv* jni) {
     jthread thread;
 
-    if (!NSK_VERIFY((thread = nsk_jvmti_aod_createThreadWithName(jni, STARTED_THREAD_NAME)) != NULL))
+    thread = nsk_jvmti_aod_createThreadWithName(jni, STARTED_THREAD_NAME);
+    if (!NSK_VERIFY(thread != NULL))
         return NSK_FALSE;
 
     if (!NSK_JVMTI_VERIFY(jvmti->RunAgentThread(thread, startedThreadFunction, NULL, JVMTI_THREAD_NORM_PRIORITY))) {
@@ -140,15 +141,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach040/attach040Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -133,15 +133,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("threadsCounterMonitor", &threadsCounterMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach041/attach041Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -159,15 +159,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach042/attach042Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -123,15 +123,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&eventCallbacks,0, sizeof(eventCallbacks));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -97,15 +97,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent00-eventsCounterMonitor", &eventsCounterMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent01.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -108,15 +108,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent01-eventsCounterMonitor", &eventsCounterMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent02.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -128,15 +128,18 @@
     jvmtiEnv* jvmti;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent02-eventsCounterMonitor", &eventsCounterMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach045/attach045Agent03.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -118,15 +118,18 @@
     jvmtiCapabilities caps;
     JNIEnv* jni;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("attach045-agent03-eventsCounterMonitor", &eventsCounterMonitor))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach046/attach046Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,7 +51,8 @@
     const char* agentName;
     Options* options;
 
-    if (!NSK_VERIFY((options = nsk_jvmti_aod_getMultiagentsOptions(jvmti)) != NULL)) {
+    options = nsk_jvmti_aod_getMultiagentsOptions(jvmti);
+    if (!NSK_VERIFY(options != NULL)) {
         NSK_COMPLAIN0("Failed to get agents's options\n");
         nsk_jvmti_aod_disableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD);
         // can't call nsk_aod_agentFinished because of without options can't get agent's name
@@ -100,15 +101,18 @@
     Options* options;
     const char* agentName;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     memset(&caps, 0, sizeof(caps));
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach050/attach050Agent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -58,15 +58,18 @@
     Options* options = NULL;
     const char* agentName;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     NSK_DISPLAY1("%s: initialization was done\n", agentName);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/sharedAgents/simpleAgent00.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,15 +54,18 @@
     Options* options = NULL;
     const char* agentName;
 
-    if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
+    options = (Options*) nsk_aod_createOptions(optionsString);
+    if (!NSK_VERIFY(options != NULL))
         return JNI_ERR;
 
     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 
-    if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
+    jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
+    if (jni == NULL)
         return JNI_ERR;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     NSK_DISPLAY1("%s: initialization was done\n", agentName);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/abort/Abort.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -126,7 +126,8 @@
   jvmtiCapabilities caps;
   jvmtiEventCallbacks event_callbacks;
 
-  if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
+  jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+  if (!NSK_VERIFY(jvmti != NULL)) {
     return JNI_ERR;
   }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/callbacks/Callbacks.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -585,7 +585,8 @@
   jvmtiCapabilities caps;
   jvmtiEventCallbacks event_callbacks;
 
-  if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
+  jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+  if (!NSK_VERIFY(jvmti != NULL)) {
     return JNI_ERR;
   }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/concrete-klass-filter/ConcreteKlassFilter.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -268,7 +268,8 @@
   jvmtiCapabilities caps;
   jvmtiEventCallbacks event_callbacks;
 
-  if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
+  jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+  if (!NSK_VERIFY(jvmti != NULL)) {
     return JNI_ERR;
   }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/filter-tagged/HeapFilter.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -529,7 +529,8 @@
   jvmtiEventCallbacks event_callbacks;
   const char *type;
 
-  if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
+  jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+  if (!NSK_VERIFY(jvmti != NULL)) {
     return JNI_ERR;
   }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/IterateThroughHeap/non-concrete-klass-filter/NonConcreteKlassFilter.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -208,7 +208,8 @@
   jvmtiCapabilities caps;
   jvmtiEventCallbacks event_callbacks;
 
-  if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
+  jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+  if (!NSK_VERIFY(jvmti != NULL)) {
     return JNI_ERR;
   }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/ThreadEnd/threadend002/threadend002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -144,7 +144,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!setCallBacks()) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t002/ap04t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -102,10 +102,10 @@
 /***********************************************************************/
 
 jvmtiIterationControl JNICALL
-heapObjectCallback( jlong  class_tag,
-                    jlong  size,
-                    jlong* tag_ptr,
-                    void*  user_data) {
+heapObjectCallback(jlong  class_tag,
+                   jlong  size,
+                   jlong* tag_ptr,
+                   void*  user_data) {
 
     int count = 0;
 
@@ -126,11 +126,11 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
 
     int count = 0;
 
@@ -151,15 +151,15 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
 
     int count = 0;
 
@@ -181,13 +181,13 @@
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     int count = 0;
 
@@ -210,16 +210,16 @@
 /***********************************************************************/
 
 void JNICALL
-FieldModification( jvmtiEnv    *jvmti_env,
-                   JNIEnv      *env,
-                   jthread     thr,
-                   jmethodID   method,
-                   jlocation   location,
-                   jclass      field_klass,
-                   jobject     obj,
-                   jfieldID    field,
-                   char        sig,
-                   jvalue      new_value ) {
+FieldModification(jvmtiEnv    *jvmti_env,
+                  JNIEnv      *env,
+                  jthread     thr,
+                  jmethodID   method,
+                  jlocation   location,
+                  jclass      field_klass,
+                  jobject     obj,
+                  jfieldID    field,
+                  char        sig,
+                  jvalue      new_value) {
 
     increaseCounter(&modificationCount);
 }
@@ -227,10 +227,10 @@
 /***********************************************************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_setTag( JNIEnv* jni,
-                                                          jclass  klass,
-                                                          jobject target, /* object to be tagged */
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_setTag(JNIEnv* jni,
+                                                         jclass  klass,
+                                                         jobject target, /* object to be tagged */
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -238,8 +238,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverHeap( JNIEnv* jni,
-                                                                      jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverHeap(JNIEnv* jni,
+                                                                     jclass  klass) {
     int count = 0;
 
     setCounter(&errorCount, 0);
@@ -267,8 +267,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverReachableObjects( JNIEnv* jni,
-                                                                                  jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverReachableObjects(JNIEnv* jni,
+                                                                                 jclass  klass) {
     int count = 0;
 
     setCounter(&errorCount, 0);
@@ -297,8 +297,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverInstancesOfClass( JNIEnv* jni,
-                                                                                  jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverInstancesOfClass(JNIEnv* jni,
+                                                                                 jclass  klass) {
     int count = 0;
 
     setCounter(&errorCount, 0);
@@ -327,13 +327,13 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverObjectsReachableFromObject( JNIEnv* jni,
-                                                                                            jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t002_runIterateOverObjectsReachableFromObject(JNIEnv* jni,
+                                                                                           jclass  klass) {
     jobject root = NULL;
     int count = 0;
 
     if (!NSK_JNI_VERIFY(jni, (root =
-                jni->GetStaticObjectField(debugeeClass, rootFieldID)) != NULL )) {
+                jni->GetStaticObjectField(debugeeClass, rootFieldID)) != NULL)) {
         NSK_COMPLAIN0("GetStaticObjectField returned NULL for 'root' field value\n\n");
         nsk_jvmti_setFailStatus();
         return;
@@ -382,14 +382,14 @@
 
     NSK_DISPLAY1("Find ID of 'root' field: %s\n", ROOT_SIGNATURE);
     if (!NSK_JNI_VERIFY(jni, (rootFieldID =
-            jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE)) != NULL )) {
+            jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE)) != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
 
     NSK_DISPLAY0("Find ID of 'modified' field\n");
     if (!NSK_JNI_VERIFY(jni, (modifiedFieldID =
-            jni->GetStaticFieldID(debugeeClass, "modified", "I")) != NULL )) {
+            jni->GetStaticFieldID(debugeeClass, "modified", "I")) != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t003/ap04t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -120,10 +120,10 @@
 }
 
 jvmtiIterationControl JNICALL
-heapObjectCallback( jlong  class_tag,
-                    jlong  size,
-                    jlong* tag_ptr,
-                    void*  user_data) {
+heapObjectCallback(jlong  class_tag,
+                   jlong  size,
+                   jlong* tag_ptr,
+                   void*  user_data) {
 
     if (getCounter(&iterationCount) == 0) {
         notifyThread();
@@ -139,11 +139,11 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
 
     if (getCounter(&iterationCount) == 0) {
         notifyThread();
@@ -159,15 +159,15 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
 
     if (getCounter(&iterationCount) == 0) {
         notifyThread();
@@ -184,13 +184,13 @@
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (getCounter(&iterationCount) == 0) {
         notifyThread();
@@ -339,17 +339,20 @@
     jmethodID cid;
     jthread result = NULL;
 
-    if (!NSK_JNI_VERIFY(jni, (thrClass = jni->FindClass("java/lang/Thread")) != NULL )) {
+    thrClass = jni->FindClass("java/lang/Thread");
+    if (!NSK_JNI_VERIFY(jni, thrClass != NULL)) {
         nsk_jvmti_setFailStatus();
         return result;
     }
 
-    if (!NSK_JNI_VERIFY(jni, (cid = jni->GetMethodID(thrClass, "<init>", "()V")) != NULL )) {
+    cid = jni->GetMethodID(thrClass, "<init>", "()V");
+    if (!NSK_JNI_VERIFY(jni, cid != NULL)) {
         nsk_jvmti_setFailStatus();
         return result;
     }
 
-    if (!NSK_JNI_VERIFY(jni, (result = jni->NewObject(thrClass, cid)) != NULL )) {
+    result = jni->NewObject(thrClass, cid);
+    if (!NSK_JNI_VERIFY(jni, result != NULL)) {
         nsk_jvmti_setFailStatus();
         return result;
     }
@@ -366,7 +369,8 @@
     setCounter(&iterationCount, 0);
     setCounter(&objectCount, 0);
 
-    if (!NSK_VERIFY((threadObj = newThreadObj(jni)) != NULL)) {
+    threadObj = newThreadObj(jni);
+    if (!NSK_VERIFY(threadObj != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
@@ -402,10 +406,10 @@
 /***********************************************************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_setTag( JNIEnv* jni,
-                                                          jclass  klass,
-                                                          jobject target, /* object to be tagged */
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_setTag(JNIEnv* jni,
+                                                         jclass  klass,
+                                                         jobject target, /* object to be tagged */
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -413,8 +417,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverHeap( JNIEnv* jni,
-                                                                      jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverHeap(JNIEnv* jni,
+                                                                     jclass  klass) {
     int modified = 0;
     int found = 0;
 
@@ -443,8 +447,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverReachableObjects( JNIEnv* jni,
-                                                                                  jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverReachableObjects(JNIEnv* jni,
+                                                                                 jclass  klass) {
     int modified = 0;
     int found = 0;
 
@@ -474,8 +478,8 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverInstancesOfClass( JNIEnv* jni,
-                                                                                  jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverInstancesOfClass(JNIEnv* jni,
+                                                                                 jclass  klass) {
     int modified = 0;
     int found = 0;
 
@@ -505,14 +509,14 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverObjectsReachableFromObject( JNIEnv* jni,
-                                                                                            jclass  klass ) {
+Java_nsk_jvmti_scenarios_allocation_AP04_ap04t003_runIterateOverObjectsReachableFromObject(JNIEnv* jni,
+                                                                                           jclass  klass) {
     jobject root = NULL;
     int modified = 0;
     int found = 0;
 
-    if (!NSK_JNI_VERIFY(jni, (root =
-            jni->GetStaticObjectField(debugeeClass, rootFieldID)) != NULL )) {
+    root = jni->GetStaticObjectField(debugeeClass, rootFieldID);
+    if (!NSK_JNI_VERIFY(jni, root != NULL)) {
         NSK_COMPLAIN0("GetStaticObjectField returned NULL for 'root' field value\n\n");
         nsk_jvmti_setFailStatus();
         return;
@@ -556,12 +560,13 @@
         return;
     }
 
-    if (!NSK_JNI_VERIFY(jni, (debugeeClass = (jclass)jni->NewGlobalRef(debugeeClass)) != NULL))
+    debugeeClass = (jclass) jni->NewGlobalRef(debugeeClass);
+    if (!NSK_JNI_VERIFY(jni, debugeeClass != NULL))
         return;
 
     NSK_DISPLAY1("Find ID of 'root' field: %s\n", ROOT_SIGNATURE);
-    if (!NSK_JNI_VERIFY(jni, (rootFieldID =
-            jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE)) != NULL )) {
+    rootFieldID = jni->GetStaticFieldID(debugeeClass, "root", ROOT_SIGNATURE);
+    if (!NSK_JNI_VERIFY(jni, rootFieldID != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
@@ -602,8 +607,8 @@
         return JNI_ERR;
 
     /* create JVMTI environment */
-    if (!NSK_VERIFY((jvmti =
-            nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("counterMonitor", &counterMonitor_ptr))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t001/ap05t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,38 +51,38 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
     return JVMTI_ITERATION_CONTINUE;
 }
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
     return JVMTI_ITERATION_CONTINUE;
 }
 
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (*tag_ptr == REFERREE_TAG && (referrer_tag == CLS_TAG || referrer_tag == REFERRER_TAG)) {
         NSK_DISPLAY4("objectReferenceCallback: reference kind=%s, referrer_index=%d, referrer_tag=%d, referree_tag=%d\n",
@@ -100,10 +100,10 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP05_ap05t001_setTag( JNIEnv* jni,
-                                                          jobject obj,
-                                                          jobject target,
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP05_ap05t001_setTag(JNIEnv* jni,
+                                                         jobject obj,
+                                                         jobject target,
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -111,7 +111,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP05_ap05t001_setReferrer( JNIEnv* jni, jclass klass, jobject ref) {
+Java_nsk_jvmti_scenarios_allocation_AP05_ap05t001_setReferrer(JNIEnv* jni, jclass klass, jobject ref) {
     if (!NSK_JNI_VERIFY(jni, (referrer = jni->NewGlobalRef(ref)) != NULL))
         nsk_jvmti_setFailStatus();
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP05/ap05t002/ap05t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -48,7 +48,7 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
+heapRootCallback(jvmtiHeapRootKind root_kind,
                   jlong class_tag,
                   jlong size,
                   jlong* tag_ptr,
@@ -58,28 +58,28 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
     return JVMTI_ITERATION_CONTINUE;
 }
 
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (*tag_ptr != 0 && referrer_tag != 0) {
         NSK_DISPLAY4("objectReferenceCallback: reference kind=%s, referrer_index=%d, referrer_tag=%d, referree_tag=%d\n",
@@ -98,10 +98,10 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP05_ap05t002_setTag( JNIEnv* jni,
-                                                          jobject obj,
-                                                          jobject target,
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP05_ap05t002_setTag(JNIEnv* jni,
+                                                         jobject obj,
+                                                         jobject target,
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -109,7 +109,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP05_ap05t002_setReferrer( JNIEnv* jni, jclass klass, jobject ref, jint caseNum) {
+Java_nsk_jvmti_scenarios_allocation_AP05_ap05t002_setReferrer(JNIEnv* jni, jclass klass, jobject ref, jint caseNum) {
     caseNumber = caseNum;
     if (!NSK_JNI_VERIFY(jni, (referrer = jni->NewGlobalRef(ref)) != NULL))
         nsk_jvmti_setFailStatus();
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP06/ap06t001/ap06t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -50,7 +50,7 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
+heapRootCallback(jvmtiHeapRootKind root_kind,
                   jlong class_tag,
                   jlong size,
                   jlong* tag_ptr,
@@ -75,15 +75,15 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
 
     if (*tag_ptr == threadTag) {
         NSK_DISPLAY4("stackReferenceCallback: root kind=%s, "
@@ -107,13 +107,13 @@
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     return JVMTI_ITERATION_ABORT;
 }
@@ -122,7 +122,7 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP06_ap06t001Thread_setTag( JNIEnv* jni, jobject obj) {
+Java_nsk_jvmti_scenarios_allocation_AP06_ap06t001Thread_setTag(JNIEnv* jni, jobject obj) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, threadTag))) {
         nsk_jvmti_setFailStatus();
@@ -180,19 +180,19 @@
         if (rootJNILocalCount != 1) {
             nsk_jvmti_setFailStatus();
             NSK_COMPLAIN1("JVMTI_HEAP_ROOT_JNI_LOCAL root kind was returned wrong %d times "
-                          "while iteration with IterateOverReachableObjects.\n\n", rootJNILocalCount );
+                          "while iteration with IterateOverReachableObjects.\n\n", rootJNILocalCount);
         }
 
         if (rootJNIGlobalCount != 1) {
             nsk_jvmti_setFailStatus();
             NSK_COMPLAIN1("JVMTI_HEAP_ROOT_JNI_GLOBAL root kind was returned wrong %d times "
-                          "while iteration with IterateOverReachableObjects.\n\n", rootJNIGlobalCount );
+                          "while iteration with IterateOverReachableObjects.\n\n", rootJNIGlobalCount);
         }
 
         if (rootThreadCount != 1) {
             nsk_jvmti_setFailStatus();
             NSK_COMPLAIN1("JVMTI_HEAP_ROOT_THREAD root kind was returned wrong %d times "
-                          "while iteration with IterateOverReachableObjects.\n\n", rootThreadCount );
+                          "while iteration with IterateOverReachableObjects.\n\n", rootThreadCount);
         }
 
     } while (0);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t001/ap07t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,11 +47,11 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("heapRootCallback: root kind=%s, tag=%d\n", TranslateRootKind(root_kind), (long)*tag_ptr);
@@ -61,15 +61,15 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("stackReferenceCallback: root kind=%s, tag=%d\n", TranslateRootKind(root_kind), (long)*tag_ptr);
@@ -80,13 +80,13 @@
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("objectReferenceCallback: reference kind=%s, tag=%d\n", TranslateObjectRefKind(reference_kind), (long)*tag_ptr);
@@ -106,10 +106,10 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP07_ap07t001_setTag( JNIEnv* jni,
-                                                          jobject obj,
-                                                          jobject target,
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP07_ap07t001_setTag(JNIEnv* jni,
+                                                         jobject obj,
+                                                         jobject target,
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -117,7 +117,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP07_ap07t001_setRoot( JNIEnv* jni, jobject obj) {
+Java_nsk_jvmti_scenarios_allocation_AP07_ap07t001_setRoot(JNIEnv* jni, jobject obj) {
     if (!NSK_JNI_VERIFY(jni, (root = jni->NewGlobalRef(obj)) != NULL))
         nsk_jvmti_setFailStatus();
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP07/ap07t002/ap07t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -47,11 +47,11 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("heapRootCallback: root kind=%s, tag=%d\n", TranslateRootKind(root_kind), (long)*tag_ptr);
@@ -61,15 +61,15 @@
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("stackReferenceCallback: root kind=%s, tag=%d\n", TranslateRootKind(root_kind), (long)*tag_ptr);
@@ -84,13 +84,13 @@
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (*tag_ptr > 0) {
         NSK_DISPLAY2("objectReferenceCallback: reference kind=%s, tag=%d\n", TranslateObjectRefKind(reference_kind), (long)*tag_ptr);
@@ -106,10 +106,10 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP07_ap07t002_setTag( JNIEnv* jni,
-                                                          jobject obj,
-                                                          jobject target,
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP07_ap07t002_setTag(JNIEnv* jni,
+                                                         jobject obj,
+                                                         jobject target,
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP09/ap09t001/ap09t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -61,38 +61,38 @@
 
 /* jvmtiHeapRootCallback */
 jvmtiIterationControl JNICALL
-heapRootCallback( jvmtiHeapRootKind root_kind,
-                  jlong class_tag,
-                  jlong size,
-                  jlong* tag_ptr,
-                  void* user_data) {
+heapRootCallback(jvmtiHeapRootKind root_kind,
+                 jlong class_tag,
+                 jlong size,
+                 jlong* tag_ptr,
+                 void* user_data) {
     return JVMTI_ITERATION_CONTINUE;
 }
 
 /* jvmtiStackReferenceCallback */
 jvmtiIterationControl JNICALL
-stackReferenceCallback( jvmtiHeapRootKind root_kind,
-                        jlong     class_tag,
-                        jlong     size,
-                        jlong*    tag_ptr,
-                        jlong     thread_tag,
-                        jint      depth,
-                        jmethodID method,
-                        jint      slot,
-                        void*     user_data) {
+stackReferenceCallback(jvmtiHeapRootKind root_kind,
+                       jlong     class_tag,
+                       jlong     size,
+                       jlong*    tag_ptr,
+                       jlong     thread_tag,
+                       jint      depth,
+                       jmethodID method,
+                       jint      slot,
+                       void*     user_data) {
     return JVMTI_ITERATION_CONTINUE;
 }
 
 
 /* jvmtiObjectReferenceCallback */
 jvmtiIterationControl JNICALL
-objectReferenceCallback( jvmtiObjectReferenceKind reference_kind,
-                         jlong  class_tag,
-                         jlong  size,
-                         jlong* tag_ptr,
-                         jlong  referrer_tag,
-                         jint   referrer_index,
-                         void*  user_data) {
+objectReferenceCallback(jvmtiObjectReferenceKind reference_kind,
+                        jlong  class_tag,
+                        jlong  size,
+                        jlong* tag_ptr,
+                        jlong  referrer_tag,
+                        jint   referrer_index,
+                        void*  user_data) {
 
     if (*tag_ptr != 0 && referrer_tag != 0) {
         NSK_DISPLAY4("objectReferenceCallback: reference kind=%s, referrer_index=%d, referrer_tag=%d, referree_tag=%d\n",
@@ -127,10 +127,10 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP09_ap09t001_setTag( JNIEnv* jni,
-                                                          jobject obj,
-                                                          jobject target,
-                                                          jlong   tag ) {
+Java_nsk_jvmti_scenarios_allocation_AP09_ap09t001_setTag(JNIEnv* jni,
+                                                         jobject obj,
+                                                         jobject target,
+                                                         jlong   tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(target, tag))) {
         nsk_jvmti_setFailStatus();
@@ -138,7 +138,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP09_ap09t001_setReferrer( JNIEnv* jni, jclass klass, jobject ref) {
+Java_nsk_jvmti_scenarios_allocation_AP09_ap09t001_setReferrer(JNIEnv* jni, jclass klass, jobject ref) {
     if (!NSK_JNI_VERIFY(jni, (referrer = jni->NewGlobalRef(ref)) != NULL))
         nsk_jvmti_setFailStatus();
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001/ap12t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -77,7 +77,7 @@
 /************************/
 
 JNIEXPORT void JNICALL
-Java_nsk_jvmti_scenarios_allocation_AP12_ap12t001_setTag( JNIEnv* jni, jobject obj, jlong tag) {
+Java_nsk_jvmti_scenarios_allocation_AP12_ap12t001_setTag(JNIEnv* jni, jobject obj, jlong tag) {
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, tag))) {
          nsk_jvmti_setFailStatus();
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t001/bi01t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -52,14 +52,15 @@
     jbyte* elements;
     jboolean isCopy;
 
-    if (!NSK_JNI_VERIFY(jni_env, (newClassSize = jni_env->GetArrayLength(byteCode)) > 0)) {
+    newClassSize = jni_env->GetArrayLength(byteCode);
+    if (!NSK_JNI_VERIFY(jni_env, newClassSize > 0)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
     NSK_DISPLAY1("\t... got array size: %d\n", newClassSize);
 
-    if (!NSK_JNI_VERIFY(jni_env, (elements =
-            jni_env->GetByteArrayElements(byteCode, &isCopy)) != NULL)) {
+    elements = jni_env->GetByteArrayElements(byteCode, &isCopy);
+    if (!NSK_JNI_VERIFY(jni_env, elements != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
@@ -94,8 +95,8 @@
 Java_nsk_jvmti_scenarios_bcinstr_BI01_bi01t001_setClass(JNIEnv *jni_env,
                         jobject o, jclass cls) {
 
-    if (!NSK_JNI_VERIFY(jni_env, (oldClassDef.klass = (jclass)
-             jni_env->NewGlobalRef(cls)) != NULL)) {
+    oldClassDef.klass = (jclass) jni_env->NewGlobalRef(cls);
+    if (!NSK_JNI_VERIFY(jni_env, oldClassDef.klass != NULL)) {
         nsk_jvmti_setFailStatus();
     }
 }
@@ -110,7 +111,7 @@
             const unsigned char* class_data, jint* new_class_data_len,
             unsigned char** new_class_data) {
 
-    if ( name == NULL || strcmp(name, TESTED_CLASS_NAME) ) {
+    if (name == NULL || strcmp(name, TESTED_CLASS_NAME)) {
         return;
     }
 
@@ -242,7 +243,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI01/bi01t002/bi01t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,14 +54,15 @@
     jbyte* elements;
     jboolean isCopy;
 
-    if (!NSK_JNI_VERIFY(jni_env, (newClassSize[ind] = jni_env->GetArrayLength(byteCode)) > 0)) {
+    newClassSize[ind] = jni_env->GetArrayLength(byteCode);
+    if (!NSK_JNI_VERIFY(jni_env, newClassSize[ind] > 0)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
     NSK_DISPLAY1("\t... got array size: %d\n", newClassSize[ind]);
 
-    if (!NSK_JNI_VERIFY(jni_env, (elements =
-            jni_env->GetByteArrayElements(byteCode, &isCopy)) != NULL)) {
+    elements = jni_env->GetByteArrayElements(byteCode, &isCopy);
+    if (!NSK_JNI_VERIFY(jni_env, elements != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
@@ -96,8 +97,8 @@
 Java_nsk_jvmti_scenarios_bcinstr_BI01_bi01t002_setClass(JNIEnv *jni_env,
                         jobject o, jint ind, jclass cls) {
 
-    if (!NSK_JNI_VERIFY(jni_env, (oldClassDef[ind].klass = (jclass)
-             jni_env->NewGlobalRef(cls)) != NULL)) {
+    oldClassDef[ind].klass = (jclass) jni_env->NewGlobalRef(cls);
+    if (!NSK_JNI_VERIFY(jni_env, oldClassDef[ind].klass != NULL)) {
         nsk_jvmti_setFailStatus();
     }
 }
@@ -112,7 +113,7 @@
             const unsigned char* class_data, jint* new_class_data_len,
             unsigned char** new_class_data) {
 
-    if ( name == NULL || strcmp(name, TESTED_CLASS_NAME) ) {
+    if (name == NULL || strcmp(name, TESTED_CLASS_NAME)) {
         return;
     }
 
@@ -255,7 +256,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/bcinstr/BI04/bi04t002/bi04t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -97,13 +97,14 @@
         return;
 
     NSK_DISPLAY1("Find class: %s\n", TESTED_CLASS_NAME);
-    if (!NSK_JNI_VERIFY(jni, (classDef.klass = jni->FindClass(TESTED_CLASS_NAME)) != NULL)) {
+    classDef.klass = jni->FindClass(TESTED_CLASS_NAME);
+    if (!NSK_JNI_VERIFY(jni, classDef.klass != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
 
-    if (!NSK_JNI_VERIFY(jni, (classDef.klass = (jclass)
-            jni->NewGlobalRef(classDef.klass)) != NULL)) {
+    classDef.klass = (jclass) jni->NewGlobalRef(classDef.klass);
+    if (!NSK_JNI_VERIFY(jni, classDef.klass != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
@@ -150,7 +151,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t001/em01t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -141,7 +141,8 @@
     jvmtiPhase phase;
 
 
-    if (!NSK_JNI_VERIFY(jni_env, (classObject = jni_env->GetObjectClass(thread)) != NULL)) {
+    classObject = jni_env->GetObjectClass(thread);
+    if (!NSK_JNI_VERIFY(jni_env, classObject != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
@@ -428,7 +429,8 @@
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
     classLoaderCount = nsk_jvmti_findOptionIntValue(CLASS_LOADER_COUNT_PARAM, 10);
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM01/em01t002/em01t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -65,20 +65,21 @@
     jmethodID methodID;
     jclass loadedClass;
 
-    if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(loader)) != NULL)) {
+    klass = jni_env->GetObjectClass(loader);
+    if (!NSK_JNI_VERIFY(jni_env, klass != NULL)) {
         nsk_jvmti_setFailStatus();
         return NULL;
     }
 
-    if (!NSK_JNI_VERIFY(jni_env,
-            (methodID = jni_env->GetMethodID(
-                klass, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;")) != NULL)) {
+    methodID = jni_env->GetMethodID(
+            klass, "loadClass", "(Ljava/lang/String;)Ljava/lang/Class;");
+    if (!NSK_JNI_VERIFY(jni_env, methodID != NULL)) {
         nsk_jvmti_setFailStatus();
         return NULL;
     }
 
-    if (!NSK_JNI_VERIFY(jni_env, (loadedClass = (jclass)
-            jni_env->CallObjectMethod(loader, methodID, className)) != NULL)) {
+    loadedClass = (jclass) jni_env->CallObjectMethod(loader, methodID, className);
+    if (!NSK_JNI_VERIFY(jni_env, loadedClass != NULL)) {
         nsk_jvmti_setFailStatus();
         return NULL;
     }
@@ -96,8 +97,8 @@
                         jobject o, jclass klass) {
     jfieldID fieldID;
 
-    if (!NSK_JNI_VERIFY(jni_env, (fieldID =
-            jni_env->GetStaticFieldID(klass, "toProvokePreparation", "I")) != NULL)) {
+    fieldID = jni_env->GetStaticFieldID(klass, "toProvokePreparation", "I");
+    if (!NSK_JNI_VERIFY(jni_env, fieldID != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
@@ -116,18 +117,19 @@
     jclass klass;
     jmethodID methodID;
 
-    if (!NSK_JNI_VERIFY(jni_env, (klass = jni_env->GetObjectClass(thread)) != NULL)) {
+    klass = jni_env->GetObjectClass(thread);
+    if (!NSK_JNI_VERIFY(jni_env, klass != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
 
-    if (!NSK_JNI_VERIFY(jni_env, (methodID =
-            jni_env->GetMethodID(klass, "start", "()V")) != NULL)) {
+    methodID = jni_env->GetMethodID(klass, "start", "()V");
+    if (!NSK_JNI_VERIFY(jni_env, methodID != NULL)) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
 
-    if (!NSK_JNI_VERIFY_VOID(jni_env,jni_env->CallVoidMethod(thread, methodID)) ) {
+    if (!NSK_JNI_VERIFY_VOID(jni_env,jni_env->CallVoidMethod(thread, methodID))) {
         nsk_jvmti_setFailStatus();
         return NSK_FALSE;
     }
@@ -228,7 +230,8 @@
     jvmtiPhase phase;
 
 
-    if (!NSK_JNI_VERIFY(jni_env, (classObject = jni_env->GetObjectClass(thread)) != NULL)) {
+    classObject = jni_env->GetObjectClass(thread);
+    if (!NSK_JNI_VERIFY(jni_env, classObject != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
@@ -521,7 +524,8 @@
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
     classLoaderCount = nsk_jvmti_findOptionIntValue(CLASS_LOADER_COUNT_PARAM, 10);
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t001/em02t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -105,11 +105,12 @@
     jfieldID fieldID;
     jclass klass = NULL;
 
-    if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass(className)) != NULL))
+    klass = jni->FindClass(className);
+    if (!NSK_JNI_VERIFY(jni, klass != NULL))
         return NULL;
 
-    if (!NSK_JNI_VERIFY(jni, (fieldID =
-            jni->GetStaticFieldID(klass, objFieldName, signature)) != NULL))
+    fieldID = jni->GetStaticFieldID(klass, objFieldName, signature);
+    if (!NSK_JNI_VERIFY(jni, fieldID != NULL))
         return NULL;
 
     return jni->GetStaticObjectField(klass, fieldID);
@@ -119,42 +120,46 @@
 
 static int prepare() {
 
-    if (!NSK_VERIFY((mainThread = findThread(MAIN_THREAD_NAME))!= NULL)) {
+    mainThread = findThread(MAIN_THREAD_NAME);
+    if (!NSK_VERIFY(mainThread != NULL)) {
         NSK_COMPLAIN1("<%s> thread not found\n", MAIN_THREAD_NAME);
         return NSK_FALSE;
     }
 
     /* make thread accessable for a long time */
-    if (!NSK_JNI_VERIFY(jni, (mainThread = jni->NewGlobalRef(mainThread)) != NULL))
+    mainThread = jni->NewGlobalRef(mainThread);
+    if (!NSK_JNI_VERIFY(jni, mainThread != NULL))
         return NSK_FALSE;
 
-    if (!NSK_VERIFY((startObject =
-            getStaticObjField(DEBUGEE_CLASS_NAME, START_FIELD_NAME,
-                                    OBJECT_FIELD_SIG)) != NULL))
+    startObject = getStaticObjField(DEBUGEE_CLASS_NAME, START_FIELD_NAME, OBJECT_FIELD_SIG);
+    if (!NSK_VERIFY(startObject != NULL))
         return NSK_FALSE;
 
     /*make object accessable for a long time*/
-    if (!NSK_JNI_VERIFY(jni, (startObject = jni->NewGlobalRef(startObject)) != NULL))
+    startObject = jni->NewGlobalRef(startObject);
+    if (!NSK_JNI_VERIFY(jni, startObject != NULL))
         return NSK_FALSE;
 
 
-    if (!NSK_VERIFY((endObject =
-            getStaticObjField(DEBUGEE_CLASS_NAME, END_FIELD_NAME,
-                                    OBJECT_FIELD_SIG)) != NULL))
+    endObject = getStaticObjField(DEBUGEE_CLASS_NAME, END_FIELD_NAME, OBJECT_FIELD_SIG);
+    if (!NSK_VERIFY(endObject != NULL))
         return NSK_FALSE;
 
     /*make object accessable for a long time*/
-    if (!NSK_JNI_VERIFY(jni, (endObject = jni->NewGlobalRef(endObject)) != NULL))
+    endObject = jni->NewGlobalRef(endObject);
+    if (!NSK_JNI_VERIFY(jni, endObject != NULL))
         return NSK_FALSE;
 
 
-    if (!NSK_VERIFY((debuggeeThread =
-            (jthread)getStaticObjField(DEBUGEE_CLASS_NAME, THREAD_FIELD_NAME,
-                                    THREAD_FIELD_SIG)) != NULL))
+    debuggeeThread = (jthread) getStaticObjField(DEBUGEE_CLASS_NAME,
+                                                 THREAD_FIELD_NAME,
+                                                 THREAD_FIELD_SIG);
+    if (!NSK_VERIFY(debuggeeThread != NULL))
         return NSK_FALSE;
 
     /* make thread accessable for a long time */
-    if (!NSK_JNI_VERIFY(jni, (debuggeeThread = jni->NewGlobalRef(debuggeeThread)) != NULL))
+    debuggeeThread = jni->NewGlobalRef(debuggeeThread);
+    if (!NSK_JNI_VERIFY(jni, debuggeeThread != NULL))
         return NSK_FALSE;
 
     return NSK_TRUE;
@@ -751,7 +756,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t002/em02t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -509,7 +509,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t003/em02t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -548,7 +548,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t004/em02t004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -554,7 +554,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t005/em02t005.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -534,7 +534,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t006/em02t006.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -485,7 +485,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t007/em02t007.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -521,7 +521,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t008/em02t008.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -533,7 +533,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t009/em02t009.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -540,7 +540,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t010/em02t010.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -459,15 +459,16 @@
     if (!nsk_jvmti_waitForSync(timeout))
         return;
 
-    if (!NSK_JNI_VERIFY(agentJNI, (cls = agentJNI->FindClass(CLASS_NAME)) != NULL))
+    cls = agentJNI->FindClass(CLASS_NAME);
+    if (!NSK_JNI_VERIFY(agentJNI, cls != NULL))
         return;
 
-    if (!NSK_JNI_VERIFY(agentJNI, (field_accID =
-            agentJNI->GetStaticFieldID(cls, FIELD_ACC_NAME, "I")) != NULL))
+    field_accID = agentJNI->GetStaticFieldID(cls, FIELD_ACC_NAME, "I");
+    if (!NSK_JNI_VERIFY(agentJNI, field_accID != NULL))
         return;
 
-    if (!NSK_JNI_VERIFY(agentJNI, (field_modID =
-            agentJNI->GetStaticFieldID(cls, FIELD_MOD_NAME, "I")) != NULL))
+    field_modID = agentJNI->GetStaticFieldID(cls, FIELD_MOD_NAME, "I");
+    if (!NSK_JNI_VERIFY(agentJNI, field_modID != NULL))
         return;
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetFieldModificationWatch(cls, field_modID)))
@@ -521,7 +522,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t011/em02t011.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -444,11 +444,12 @@
     if (!nsk_jvmti_waitForSync(timeout))
         return;
 
-    if (!NSK_JNI_VERIFY(agentJNI, (cls = agentJNI->FindClass(CLASS_NAME)) != NULL))
+    cls = agentJNI->FindClass(CLASS_NAME);
+    if (!NSK_JNI_VERIFY(agentJNI, cls != NULL))
         return;
 
-    if (!NSK_JNI_VERIFY(agentJNI, (methodID =
-            agentJNI->GetStaticMethodID(cls, METHOD_NAME, "()I")) != NULL))
+    methodID = agentJNI->GetStaticMethodID(cls, METHOD_NAME, "()I");
+    if (!NSK_JNI_VERIFY(agentJNI, methodID != NULL))
         return;
 
     if (!NSK_JVMTI_VERIFY(jvmti->SetBreakpoint(methodID, 0)))
@@ -499,7 +500,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM02/em02t012/em02t012.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -52,7 +52,8 @@
                         jobject o, jthread thrd) {
 
     /* make thread accessable for a long time */
-    NSK_JNI_VERIFY(jni_env, (testedThread = jni_env->NewGlobalRef(thrd)) != NULL);
+    testedThread = jni_env->NewGlobalRef(thrd);
+    NSK_JNI_VERIFY(jni_env, testedThread != NULL);
 }
 
 static void
@@ -502,7 +503,8 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
     if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -199,10 +199,12 @@
 
     timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
 
-    if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
+    jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
+    if (!NSK_VERIFY(jvmti != NULL))
         return JNI_ERR;
 
-    if (!NSK_VERIFY((plist = (const void *)nsk_list_create()) != NULL))
+    plist = (const void *)nsk_list_create();
+    if (!NSK_VERIFY(plist != NULL))
         return JNI_ERR;
 
     NSK_DISPLAY1("plist = 0x%p\n", plist);
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM06/em06t001/em06t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -75,7 +75,7 @@
 
     className = jni_env->GetStringUTFChars(jclassName, 0);
 
-    if ( className != NULL && (strcmp(className, EXPECTED_CLASS_NAME)==0) ) {
+    if (className != NULL && (strcmp(className, EXPECTED_CLASS_NAME)==0)) {
 
         if (!NSK_JVMTI_VERIFY(jvmti->RawMonitorEnter(syncLock)))
             nsk_jvmti_setFailStatus();
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/extension/EX03/ex03t001/ex03t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -124,7 +124,7 @@
 
             if (!NSK_JVMTI_VERIFY(
                     jvmti->SetExtensionEventCallback(extList[i].extension_event_index,
-                                                     enable ? (jvmtiExtensionEvent)ClassUnload : NULL ))) {
+                                                     enable ? (jvmtiExtensionEvent)ClassUnload : NULL))) {
                 nsk_jvmti_setFailStatus();
                 return JNI_FALSE;
             }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS103/hs103t002/hs103t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -73,7 +73,7 @@
   nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
   for(i = 0; i < 30; i++) {
     nsk_printf(" Inside the redefine method..\n");
-    if ( nsk_jvmti_redefineClass(jvmti, cla,fileName) == NSK_TRUE) {
+    if (nsk_jvmti_redefineClass(jvmti, cla,fileName) == NSK_TRUE) {
       nsk_printf("\nMyClass :: Successfully redefined..\n");
     } else {
       nsk_printf("\nMyClass :: Failed to redefine ..\n");
@@ -112,12 +112,12 @@
   nsk_printf("Agent:: VM.. Started..\n");
 
   rc = vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-  if (rc != JNI_OK ) {
+  if (rc != JNI_OK) {
     nsk_printf("Agent:: Could not load JVMTI interface \n");
     return JNI_ERR;
   } else {
     jvmtiCapabilities caps;
-    if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+    if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
       nsk_printf("# error agent Failed to parse options \n");
       return JNI_ERR;
     }
@@ -154,7 +154,7 @@
   if (err == JVMTI_ERROR_INVALID_PRIORITY) {
     nsk_printf(" JVMTI_ERROR_INVALID_PRIORITY ..\n");
     return JNI_ERR;
-  } else if ( err == JVMTI_ERROR_INVALID_THREAD) {
+  } else if (err == JVMTI_ERROR_INVALID_THREAD) {
     nsk_printf(" JVMTI_ERROR_INVALID_THREAD ..\n");
     return JNI_ERR;
   } else if (err == JVMTI_ERROR_NULL_POINTER) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t001/hs104t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -46,9 +46,9 @@
         char fileName[512];
         nsk_jvmti_getFileName(0, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti, klass, fileName ) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
             nsk_printf("Agent:: Successfully redefined..");
-            if ( nsk_jvmti_disableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+            if (nsk_jvmti_disableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
                 nsk_printf(" Agent :: NOTIFICATIONS ARE DISABLED \n");
             } else {
                 nsk_printf(" Agent :: Failed to disabled \n");
@@ -75,13 +75,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -96,8 +96,8 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti,
-                    JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti,
+                    JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf("Agent :: NOTIFICATIONS ARE ENABLED \n");
         } else {
             nsk_printf(" Error in Eanableing Notifications..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS104/hs104t002/hs104t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -49,18 +49,18 @@
 }
 #endif
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved){
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf("#error Agent :: Could not load JVMTI interface.\n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
         memset(&caps, 0, sizeof(caps));
         caps.can_redefine_classes = 1;
-        if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) )) {
+        if (!NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps))) {
             nsk_printf("#error Agent :: occured while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -74,14 +74,14 @@
     jclass cla;
     char fileName[512];
 
-    if ( ! NSK_JNI_VERIFY(jni, ( cla = jni->FindClass(SEARCH_NAME) ) != NULL ) ) {
+    if (!NSK_JNI_VERIFY(jni, (cla = jni->FindClass(SEARCH_NAME)) != NULL)) {
         nsk_printf(" Agent :: Failed to get class.\n");
         nsk_jvmti_agentFailed();
         return;
     }
     nsk_jvmti_getFileName(0, FILE_NAME, fileName,
             sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass( jvmti, cla, fileName) == NSK_TRUE ) {
+    if (nsk_jvmti_redefineClass(jvmti, cla, fileName) == NSK_TRUE) {
         nsk_printf(" Agent :: Redefine successfull.\n");
     } else {
         nsk_printf("# error Agent :: Redefine failed.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t001/hs202t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -63,7 +63,7 @@
             jlocation end;
             jvmtiError err ;
             err=jvmti->GetMethodLocation(method, &start, &end);
-            if ( err != JVMTI_ERROR_NONE ) {
+            if (err != JVMTI_ERROR_NONE) {
                 nsk_printf(" ## Error occured %s \n",TranslateError(err));
             }else {
                 nsk_printf("\n Start = %d and end = %d ", start , end);
@@ -73,7 +73,7 @@
                     nsk_printf(" ## Error occured %s \n",TranslateError(err));
                 } else  {
                     nsk_printf(" NO ERRORS ");
-                    if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_BREAKPOINT, NULL) == NSK_TRUE ) {
+                    if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_BREAKPOINT, NULL) == NSK_TRUE) {
                         nsk_printf(" Enabled.. notification event ..\n");
                     }
                 }
@@ -116,8 +116,8 @@
         jlocation location) {
     jvmtiError err;
     err = JVMTI_ERROR_NONE;
-    if ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP, NULL)
-            == NSK_TRUE ) {
+    if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP, NULL)
+            == NSK_TRUE) {
         nsk_printf(" Enabled.. notification event ..");
     }
     err= jvmti->SetEventNotificationMode(JVMTI_DISABLE,
@@ -145,14 +145,14 @@
     jint code;
     nsk_printf("Agent:: VM.. Started..\n");
     code = vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( code != JNI_OK ) {
+    if (code != JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
         memset(&caps, 0, sizeof(caps));
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -173,7 +173,7 @@
             nsk_printf(" ## Error occured %s \n",TranslateError(rc));
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf("Agent :: NOTIFICATIONS ARE ENABLED \n");
         } else {
             nsk_printf(" Error in Eanableing Notifications..");
@@ -192,7 +192,7 @@
     nsk_printf("Agent:: POPING THE FRAME....\n");
     retvalue = JNI_FALSE;
     jvmti->GetThreadState(thread, &state);
-    if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+    if (state & JVMTI_THREAD_STATE_SUSPENDED) {
         err = jvmti->PopFrame(thread);
         if (err == JVMTI_ERROR_NONE) {
             nsk_printf("Agent:: NO Errors poped very well ..\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS202/hs202t002/hs202t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -57,7 +57,7 @@
                                 jmethodID method,
                                 jboolean was_popped_by_exception,
                                 jvalue return_value) {
-    if ( was_popped_by_exception ) {
+    if (was_popped_by_exception) {
         char * name;
         char * signature;
         char * generic ;
@@ -70,7 +70,7 @@
             nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                                   sizeof(fileName)/sizeof(char));
             jvmti_env->GetMethodDeclaringClass(method, &cls);
-            if ( nsk_jvmti_redefineClass(jvmti_env, cls,fileName) == NSK_TRUE ) {
+            if (nsk_jvmti_redefineClass(jvmti_env, cls,fileName) == NSK_TRUE) {
                 nsk_printf(" Agent:: redefine class success ..\n");
                 nsk_printf("Agent::SUSPENDING>> \n");
                 err=jvmti_env->SuspendThread(thread);
@@ -102,14 +102,14 @@
     nsk_printf("Agent:: VM.. Started..\n");
     redefineNumber=0;
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
         memset(&caps, 0, sizeof(caps));
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -143,7 +143,7 @@
     jint state;
     nsk_printf("Agent:: POPPING THE FRAME..\n");
     jvmti->GetThreadState(thread, &state);
-    if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+    if (state & JVMTI_THREAD_STATE_SUSPENDED) {
         err = jvmti->PopFrame(thread);
         if (err == JVMTI_ERROR_NONE) {
             nsk_printf("Agent:: PopFrame succeeded..\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t001/hs203t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -71,7 +71,7 @@
                 if (err == JVMTI_ERROR_NONE) {
                     nsk_printf("Agent:: NO ERRORS FOUND \n");
                     err= jvmti->SetBreakpoint(method, start);
-                    if ( err == JVMTI_ERROR_NONE) {
+                    if (err == JVMTI_ERROR_NONE) {
                         nsk_printf(" Class Name %s \n", className);
                         nsk_printf("Agent:: Breakpoint set \n");
                     } else {
@@ -97,7 +97,7 @@
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                     sizeof(fileName)/sizeof(char));
     nsk_printf(" %d..",redefineNumber);
-    if ( nsk_jvmti_redefineClass(jvmti, threadClass, fileName) == NSK_TRUE) {
+    if (nsk_jvmti_redefineClass(jvmti, threadClass, fileName) == NSK_TRUE) {
         nsk_printf("\nMyClass :: Successfully redefined..\n");
     } else {
         nsk_printf("\nMyClass :: Failed to redefine ..\n");
@@ -118,7 +118,7 @@
         jmethodID method,
         jlocation location) {
     nsk_printf("Agent::... BreakPoint Reached..\n");
-    if ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP,thread) == NSK_TRUE ) {
+    if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP,thread) == NSK_TRUE) {
         nsk_printf(" ....   Enabled..\n");
     }
     return;
@@ -139,13 +139,13 @@
     jint rc ;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -166,8 +166,8 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_LOAD, NULL) == NSK_TRUE ) &&
-                (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_BREAKPOINT,NULL) == NSK_TRUE) ) {
+        if ((nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_LOAD, NULL) == NSK_TRUE) &&
+                (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_BREAKPOINT,NULL) == NSK_TRUE)) {
             nsk_printf("Agent :: NOTIFICATIONS ARE ENABLED \n");
         } else {
             nsk_printf(" Error in Eanableing Notifications..");
@@ -189,7 +189,7 @@
     nsk_printf(" Here ");
     jvmti->GetThreadState(thread, &state);
     nsk_printf(" Here ");
-    if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+    if (state & JVMTI_THREAD_STATE_SUSPENDED) {
         err = jvmti->PopFrame(thread);
         if (err == JVMTI_ERROR_NONE) {
             nsk_printf("Agent:: NO Errors poped very well ..\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t002/hs203t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -73,7 +73,7 @@
             if (err == JVMTI_ERROR_NONE) {
                 nsk_printf("Agent:: NO ERRORS FOUND \n");
                 err= jvmti->SetBreakpoint(method, start);
-                if ( err == JVMTI_ERROR_NONE) {
+                if (err == JVMTI_ERROR_NONE) {
                     nsk_printf("Agent:: Breakpoint set \n");
                 } else {
                     nsk_printf("Agent:: ***ERROR OCCURED ... in SET BREAK POINT ERROR \n");
@@ -98,14 +98,14 @@
     nsk_printf(" %d..",redefineNumber);
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
 
-    if( nsk_jvmti_redefineClass(jvmti, threadClass,fileName) == NSK_TRUE ) {
+    if(nsk_jvmti_redefineClass(jvmti, threadClass,fileName) == NSK_TRUE) {
         nsk_printf("Agent:: Redefined..\n");
     } else {
         nsk_printf(" Failed to redefine..\n");
         return;
     }
     err=jvmti->SuspendThread(thread);
-    if ( err ==  JVMTI_ERROR_NONE ) {
+    if (err ==  JVMTI_ERROR_NONE) {
         nsk_printf("Agent:: Succeded in suspending..\n");
     } else {
         nsk_printf(" ## Error occured %s \n",TranslateError(err));
@@ -118,7 +118,7 @@
                                                                 jmethodID method,
                                                                 jlocation location) {
     nsk_printf("Agent::... BreakPoint Reached..\n");
-    if ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP,thread) == JNI_OK ) {
+    if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_SINGLE_STEP,thread) == JNI_OK) {
         nsk_printf(" ....   Enabled..\n");
     }
     return;
@@ -140,13 +140,13 @@
         jint rc ;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -168,10 +168,10 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_LOAD,
+        if ((nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_LOAD,
                         NULL) == NSK_TRUE) &&
                 (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_BREAKPOINT,
-                                              NULL) == NSK_TRUE ) ) {
+                                              NULL) == NSK_TRUE)) {
             nsk_printf("Agent :: NOTIFICATIONS ARE ENABLED \n");
         } else {
             nsk_printf(" Error in Eanableing Notifications..");
@@ -191,7 +191,7 @@
     nsk_printf("Agent:: POPING THE FRAME....\n");
     retvalue = JNI_FALSE;
     jvmti->GetThreadState(thread, &state);
-    if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+    if (state & JVMTI_THREAD_STATE_SUSPENDED) {
         err = jvmti->PopFrame(thread);
         if (err == JVMTI_ERROR_NONE) {
             nsk_printf("Agent:: NO Errors poped very well ..\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t003/hs203t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -60,18 +60,18 @@
     redefineNumber=0;
     className=NULL;
     generic=NULL;
-    if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetClassSignature(klass, &className, &generic) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
         nsk_printf("#error Agent :: while getting classname Signature.\n");
         nsk_jvmti_agentFailed();
     } else {
         if (strcmp(className,CLASS_NAME) == 0) {
             jfieldID field;
             /* get the field id and set watch on that .*/
-            if (! NSK_JNI_VERIFY(jni, (field = jni->GetFieldID(klass, FIELDNAME, TYPE)) != NULL) ) {
-                nsk_printf(" Agent :: (*JNI)->GetFieldID(jni, ... ) returns `null`.\n");
+            if (!NSK_JNI_VERIFY(jni, (field = jni->GetFieldID(klass, FIELDNAME, TYPE)) != NULL)) {
+                nsk_printf(" Agent :: (*JNI)->GetFieldID(jni, ...) returns `null`.\n");
                 nsk_jvmti_agentFailed();
-            } else  if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, field) ) ) {
-                nsk_printf("#error Agent :: occured while jvmti->SetFieldAccessWatch(... ) .\n");
+            } else  if (!NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, field))) {
+                nsk_printf("#error Agent :: occured while jvmti->SetFieldAccessWatch(...) .\n");
                 nsk_jvmti_agentFailed();
             }
         }
@@ -93,20 +93,20 @@
         return;
     }
     redefineNumber=0;
-    if (! NSK_JNI_VERIFY(jni, (clas = jni->FindClass(SEARCH_NAME)) != NULL) ) {
+    if (!NSK_JNI_VERIFY(jni, (clas = jni->FindClass(SEARCH_NAME)) != NULL)) {
         nsk_printf(" Agent :: (*JNI)->FindClass(jni, %s) returns `null`.\n",SEARCH_NAME);
         nsk_jvmti_agentFailed();
     } else  {
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                                 sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, clas, fileName ) != NSK_TRUE) {
+        if (nsk_jvmti_redefineClass(jvmti_env, clas, fileName) != NSK_TRUE) {
             nsk_printf(" Agent :: Failed to redefine.\n");
             nsk_jvmti_agentFailed();
         } else {
             nsk_printf(" Agent :: Redefined.\n");
             nsk_printf(" Agent :: Suspendeding thread.\n");
             /* pop the current working frame. */
-            if ( ! NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread) ) ) {
+            if (!NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread))) {
                 nsk_printf("#error Agent :: occured suspending Thread.\n");
                 nsk_jvmti_agentFailed();
             } else {
@@ -128,13 +128,13 @@
 }
 #endif
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY(JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf(" Agent :: Could not load JVMTI interface.\n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("#error Agent :: Failed to parse options.\n");
             return JNI_ERR;
         }
@@ -144,7 +144,7 @@
         caps.can_pop_frame=1;
         caps.can_generate_all_class_hook_events=1;
         caps.can_generate_field_access_events=1;
-        if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) ) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
             nsk_printf("#error Agent :: while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -155,10 +155,10 @@
             nsk_printf("#error Agent :: while setting event callbacks.\n");
             return JNI_ERR;
         }
-        if ( ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL)
-                    == NSK_TRUE ) &&
-                ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_FIELD_ACCESS, NULL)
-                  == NSK_TRUE )  ) {
+        if ((nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL)
+                    == NSK_TRUE) &&
+                (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_FIELD_ACCESS, NULL)
+                  == NSK_TRUE)) {
             nsk_printf(" Agent :: Notifications are enabled.\n");
         } else {
             nsk_printf("#error Agent :: Eanableing Notifications.\n");
@@ -175,11 +175,11 @@
     jboolean retvalue;
     jint state;
     retvalue = JNI_FALSE;
-    if ( ! NSK_JVMTI_VERIFY( jvmti->GetThreadState(thread, &state) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
         nsk_printf(" Agent :: Error while getting thread state.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+        if (state & JVMTI_THREAD_STATE_SUSPENDED) {
           retvalue = JNI_TRUE;
         }
     }
@@ -193,18 +193,18 @@
     jboolean retvalue;
     jint state;
     retvalue = JNI_FALSE;
-    if ( ! NSK_JVMTI_VERIFY( jvmti->GetThreadState(thread, &state) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
         nsk_printf(" Agent :: Error while getting thread state.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
-            if ( ! NSK_JVMTI_VERIFY ( jvmti->PopFrame(thread) ) ) {
+        if (state & JVMTI_THREAD_STATE_SUSPENDED) {
+            if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
                 nsk_printf("#error Agent :: while poping thread's frame.\n");
                 nsk_jvmti_agentFailed();
             } else {
                 nsk_printf(" Agent :: poped thread frame.\n");
-                if ( ! NSK_JVMTI_VERIFY (
-                        jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_FIELD_ACCESS, NULL) ) ) {
+                if (!NSK_JVMTI_VERIFY(
+                        jvmti->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_FIELD_ACCESS, NULL))) {
                     nsk_printf("#error Agent :: failed to disable notification JVMTI_EVENT_FIELD ACCESS.\n");
                     nsk_jvmti_agentFailed();
                 } else {
@@ -226,7 +226,7 @@
         jthread thread) {
     jboolean retvalue;
     retvalue = JNI_FALSE;
-    if ( !NSK_JVMTI_VERIFY( jvmti->ResumeThread(thread) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
         nsk_printf("#error Agent :: while resuming thread.\n");
         nsk_jvmti_agentFailed();
     } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS203/hs203t004/hs203t004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -45,14 +45,14 @@
     char * className;
     className=NULL;
 
-    if (!NSK_JVMTI_VERIFY (jvmti_env->GetClassSignature(klass, &className, NULL) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, NULL))) {
         NSK_COMPLAIN0("#error Agent :: while getting classname.\n");
         nsk_jvmti_agentFailed();
     } else {
         if (strcmp(className, CLASS_NAME) == 0) {
             if (nsk_jvmti_enableNotification(jvmti_env, JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) == NSK_TRUE) {
                 NSK_DISPLAY0(" Agent :: notification enabled for COMPILED_METHOD_LOAD.\n");
-                if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GenerateEvents(JVMTI_EVENT_COMPILED_METHOD_LOAD) ) ) {
+                if (!NSK_JVMTI_VERIFY(jvmti_env->GenerateEvents(JVMTI_EVENT_COMPILED_METHOD_LOAD))) {
                     NSK_COMPLAIN0("#error Agent :: occured while enabling compiled method events.\n");
                     nsk_jvmti_agentFailed();
                 }
@@ -76,7 +76,7 @@
         const void* compile_info) {
     jclass threadClass;
     if (redefineNumber == 0) {
-        if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetMethodDeclaringClass(method, &threadClass) ) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &threadClass))) {
             NSK_COMPLAIN0("#error Agent :: while geting the declaring class.\n");
             nsk_jvmti_agentFailed();
         } else {
@@ -86,13 +86,13 @@
             className = NULL;
             methodName = NULL;
 
-            if ( ! NSK_JVMTI_VERIFY (jvmti_env->GetClassSignature(threadClass, &className, NULL) ) ) {
+            if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(threadClass, &className, NULL))) {
                 NSK_COMPLAIN0("#error Agent :: while getting classname.\n");
                 nsk_jvmti_agentFailed();
                 return;
             }
 
-            if ( ! NSK_JVMTI_VERIFY (jvmti_env->GetMethodName(method, &methodName, NULL, NULL) ) ) {
+            if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodName(method, &methodName, NULL, NULL))) {
                 NSK_COMPLAIN0("#error Agent :: while getting methodname.\n");
                 nsk_jvmti_agentFailed();
                 return;
@@ -106,7 +106,7 @@
 
                 nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
 
-                if ( nsk_jvmti_redefineClass(jvmti_env, threadClass, fileName) == NSK_TRUE) {
+                if (nsk_jvmti_redefineClass(jvmti_env, threadClass, fileName) == NSK_TRUE) {
                     NSK_DISPLAY0(" Agent :: Successfully redefined.\n");
                     redefineNumber++;
                 } else {
@@ -115,13 +115,13 @@
                 }
             }
 
-            if ( className != NULL ) {
+            if (className != NULL) {
                 if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
                     NSK_COMPLAIN1("#error Agent :: failed to Deallocate className = %s.", className);
                     nsk_jvmti_agentFailed();
                 }
             }
-            if ( methodName != NULL ) {
+            if (methodName != NULL) {
                 if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)methodName))) {
                     NSK_COMPLAIN1("#error Agent :: failed to Deallocate methodName = %s.", methodName);
                     nsk_jvmti_agentFailed();
@@ -144,14 +144,14 @@
 #endif
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
     redefineNumber=0;
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY(JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         NSK_DISPLAY0("#error Agent :: Could not load JVMTI interface.\n");
         return JNI_ERR;
         } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
         memset(&caps, 0, sizeof(caps));
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             NSK_DISPLAY0("#error Agent ::  Failed to parse options.\n");
             return JNI_ERR;
         }
@@ -160,7 +160,7 @@
         caps.can_pop_frame = 1;
         caps.can_generate_all_class_hook_events = 1;
         caps.can_generate_compiled_method_load_events = 1;
-        if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) ) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
             NSK_DISPLAY0("#error Agent :: occured while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -171,7 +171,7 @@
             NSK_COMPLAIN0("#error Agent :: occured while setting event callback.\n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
+        if (nsk_jvmti_enableNotification(jvmti,JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             NSK_DISPLAY0(" Agent :: Notifications are enabled.\n");
         } else {
             NSK_COMPLAIN0("#error Agent :: Error in enableing Notifications.\n");
@@ -186,7 +186,7 @@
         jobject clas,
         jthread thread) {
     NSK_DISPLAY0(" Agent :: Suspending Thread.\n");
-    if (  NSK_JVMTI_VERIFY( jvmti->SuspendThread(thread) ) ) {
+    if (NSK_JVMTI_VERIFY(jvmti->SuspendThread(thread))) {
         NSK_DISPLAY0(" Agent :: Succeded in suspending.\n");
     } else {
         NSK_COMPLAIN0("#error Agent :: occured while suspending thread.\n");
@@ -201,20 +201,20 @@
     jboolean retvalue;
     jint state;
 
-    NSK_DISPLAY0(" Agent :: nsk.jvmti.scenarios.hotswap.HS203.hs203t004.popThreadFrame(... ).\n");
+    NSK_DISPLAY0(" Agent :: nsk.jvmti.scenarios.hotswap.HS203.hs203t004.popThreadFrame(...).\n");
     retvalue = JNI_FALSE;
-    if ( ! NSK_JVMTI_VERIFY (jvmti->GetThreadState(thread, &state) ) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
         NSK_COMPLAIN0("#error Agent :: while getting thread's state.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
-            if ( ! NSK_JVMTI_VERIFY( jvmti->PopFrame(thread) ) ) {
+        if (state & JVMTI_THREAD_STATE_SUSPENDED) {
+            if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
                 NSK_DISPLAY0("#error Agent :: occured while poping thread's frame.\n");
                 nsk_jvmti_agentFailed();
             } else {
-                if ( NSK_JVMTI_VERIFY(
+                if (NSK_JVMTI_VERIFY(
                         jvmti->SetEventNotificationMode(JVMTI_DISABLE,
-                                                        JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL) ) ) {
+                                                        JVMTI_EVENT_COMPILED_METHOD_LOAD, NULL))) {
                     NSK_DISPLAY0(" Agent :: Disabled JVMTI_EVENT_COMPILED_METHOD_LOAD.\n");
                     retvalue = JNI_TRUE;
                 } else {
@@ -237,7 +237,7 @@
     jboolean retvalue;
 
     retvalue = JNI_FALSE;
-    if ( NSK_JVMTI_VERIFY (jvmti->ResumeThread(thread))) {
+    if (NSK_JVMTI_VERIFY(jvmti->ResumeThread(thread))) {
         NSK_DISPLAY0(" Agent :: Thread resumed.\n");
         retvalue= JNI_TRUE;
     } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,7 +51,7 @@
 char *getClassName(jvmtiEnv *jvmti, jclass  klass) {
     char * className;
     char * generic;
-    if( !NSK_JVMTI_VERIFY(jvmti->GetClassSignature(klass, &className, &generic))) {
+    if(!NSK_JVMTI_VERIFY(jvmti->GetClassSignature(klass, &className, &generic))) {
         nsk_jvmti_setFailStatus();
     }
     return className;
@@ -64,18 +64,18 @@
         jclass klass) {
     char * name;
     name = getClassName(jvmti_env,klass);
-    if( (strcmp(name,CLASS_NAME ) == 0) && (redefineNumber== 1) ) {
+    if((strcmp(name,CLASS_NAME) == 0) && (redefineNumber== 1)) {
        char fileName[512];
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
         NSK_DISPLAY1(">>>>>>CallbackClassLoad ... Name=%s...  >>\n",name);
-        if ( nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
+        if (nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
             NSK_DISPLAY0("\nMyClass :: Successfully redefined..\n");
             redefineNumber++;
         } else {
             NSK_COMPLAIN0("\nMyClass :: Failed to redefine ..\n");
         }
-        /* if ( (myTestClass = jni_env->NewGlobalRef(klass) ) == NULL) {
+        /* if ((myTestClass = jni_env->NewGlobalRef(klass)) == NULL) {
            NSK_COMPLAIN0("Failed to create global ref...");
            }
          */
@@ -89,18 +89,18 @@
         jclass klass) {
     char *  name;
     name = getClassName(jvmti_env, klass);
-    if ( (strcmp(name, CLASS_NAME) ==0 ) && (redefineNumber == 0) ) {
+    if ((strcmp(name, CLASS_NAME) ==0) && (redefineNumber == 0)) {
         char fileName[512];
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
         NSK_DISPLAY1(">>>>>>callbackClassPrepare ... Name=%s...  >>\n",name);
-        if ( nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
+        if (nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
             NSK_DISPLAY0("\nMyClass :: Successfully redefined..\n");
             redefineNumber++;
         } else {
             NSK_COMPLAIN0("\nMyClass :: Failed to redefine ..\n");
         }
-        if( (myTestClass = (jclass) jni_env->NewGlobalRef(klass)) == NULL) {
+        if((myTestClass = (jclass) jni_env->NewGlobalRef(klass)) == NULL) {
             NSK_COMPLAIN0("Failed to create global ref...");
         }
     }
@@ -117,7 +117,7 @@
         const unsigned char* class_data,
         jint* new_class_data_len,
         unsigned char** new_class_data) {
-    if (name != NULL && strcmp(name, NAME)==0 && (redefineNumber == 1 )) {
+    if (name != NULL && strcmp(name, NAME)==0 && (redefineNumber == 1)) {
         NSK_DISPLAY1(">>>>>>callbackClassFileLoadHock ... Name=%s...  >>\n",name);
         /*redefineClass(jvmti_env, myTestClass);*/
     }
@@ -174,7 +174,7 @@
     jint rc ;
     NSK_DISPLAY0(" VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         NSK_COMPLAIN0(" Could not load JVMTI interface \n");
     } else {
         /* Open simple block for better memor usage. */
@@ -262,7 +262,7 @@
                 nsk_jvmti_setFailStatus();
                 return NSK_FALSE;
             } else {
-                NSK_DISPLAY0(" Sucessfully suspended Thread..\n" );
+                NSK_DISPLAY0(" Sucessfully suspended Thread..\n");
             }
         } else {
             NSK_COMPLAIN0("Was not able to suspend a thread..\n");
@@ -280,7 +280,7 @@
     NSK_DISPLAY0("Inside pop_Frame method.....\n");
     if (jvmti->GetThreadState(thread, &state) == JVMTI_ERROR_NONE) {
         NSK_DISPLAY0(" Got the state of thread \n");
-        if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+        if (state & JVMTI_THREAD_STATE_SUSPENDED) {
             NSK_DISPLAY0(" Thread is already in suspended mode..\n");
             if (!NSK_JVMTI_VERIFY(jvmti->PopFrame(thread))) {
                 NSK_COMPLAIN0(" TEST FAILED: UNABLE TO POP FRAME \n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t002/hs204t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -54,7 +54,7 @@
     redefineNumber=0;
     jvmti->GetClassSignature(klass, &className, &generic);
     /* printf("Agent::Class Name %s \n",className); */
-    if( (strcmp(className, CLASS_NAME) == 0 ) ) {
+    if((strcmp(className, CLASS_NAME) == 0)) {
         jclass cls;
         cls = jni->FindClass(SEARCH_NAME);
         if (cls == NULL) {
@@ -69,7 +69,7 @@
                 jlocation end;
                 jvmtiError err ;
                 err=jvmti->GetMethodLocation(method, &start, &end);
-                if ( err != JVMTI_ERROR_NONE) {
+                if (err != JVMTI_ERROR_NONE) {
                     printf("Agent::Errors in finding start and end for the method \n");
                 } else {
                     printf("Agent Start = %" LL "d and end = %" LL "d \n", start , end);
@@ -77,11 +77,11 @@
                     err= jvmti->SetBreakpoint(method, start+1);
                     if (err == JVMTI_ERROR_DUPLICATE) {
                         printf("Agent::JVMTI_ERROR_DUPLICATE");
-                    } else if (err ==JVMTI_ERROR_INVALID_METHODID ) {
+                    } else if (err ==JVMTI_ERROR_INVALID_METHODID) {
                         printf("Agent::JVMTI_ERROR_INVALID_METHODID ");
-                    } else if ( err == JVMTI_ERROR_INVALID_LOCATION) {
+                    } else if (err == JVMTI_ERROR_INVALID_LOCATION) {
                         printf("Agent::JVMTI_ERROR_INVALID_LOCATION ");
-                    } else if ( err == JVMTI_ERROR_NONE) {
+                    } else if (err == JVMTI_ERROR_NONE) {
                         printf("Agent::NO ERRORS ");
                     } else {
                         printf("Agent::VERY VERY INVALID STATE ");
@@ -104,7 +104,7 @@
                         sizeof(fileName)/sizeof(char));
     cls = jni->FindClass(SEARCH_NAME);
     printf("Agent::  Break Pont Reached..");
-    if ( nsk_jvmti_redefineClass(jvmti, cls, fileName ) == NSK_TRUE) {
+    if (nsk_jvmti_redefineClass(jvmti, cls, fileName) == NSK_TRUE) {
         nsk_printf("\nMyClass :: Successfully redefined..\n");
     } else {
         nsk_printf("\nMyClass :: Failed to redefine ..\n");
@@ -128,7 +128,7 @@
     jint rc ;
     printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t003/hs204t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,25 +51,22 @@
     className = NULL;
     generic   = NULL;
     redefineNumber=0;
-    if ( !NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic)) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
         NSK_DISPLAY0(" Agent :: Failed get class signature.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if( (strcmp(className, CLASS_NAME) == 0 ) ) {
+        if((strcmp(className, CLASS_NAME) == 0)) {
             jfieldID fieldId;
-            if ( ! NSK_JNI_VERIFY(jni, (fieldId = jni->GetStaticFieldID(klass, FIELDNAME, TYPE) ) != NULL ) ) {
+            if (!NSK_JNI_VERIFY(jni, (fieldId = jni->GetStaticFieldID(klass, FIELDNAME, TYPE)) != NULL)) {
                     NSK_DISPLAY0(" Agent :: Failed to get FieldId.\n");
                     nsk_jvmti_agentFailed();
             } else {
-                if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, fieldId) )  ) {
+                if (!NSK_JVMTI_VERIFY(jvmti_env->SetFieldAccessWatch(klass, fieldId))) {
                     NSK_DISPLAY0(" Agent :: Failed to set watch point on a field.\n");
                     nsk_jvmti_agentFailed();
                 } else {
                     nsk_jvmti_enableNotification(jvmti_env, JVMTI_EVENT_FIELD_ACCESS, NULL);
-                    if (! NSK_JNI_VERIFY(jni,
-                                ( watchFieldClass = (jclass)
-                                  jni->NewGlobalRef(klass) )
-                                != NULL ) ) {
+                    if (!NSK_JNI_VERIFY(jni, (watchFieldClass = (jclass) jni->NewGlobalRef(klass)) != NULL)) {
                         NSK_DISPLAY0(" Agent :: Failed to get global reference for class.\n");
                         nsk_jvmti_agentFailed();
                     }
@@ -80,14 +77,14 @@
         }
     }
 
-    if ( className != NULL ) {
+    if (className != NULL) {
         if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
             NSK_DISPLAY1(" Agent :: #error failed to Deallocate className = %s.", className);
             nsk_jvmti_agentFailed();
         }
     }
 
-    if ( generic != NULL ) {
+    if (generic != NULL) {
         if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)generic))) {
             NSK_DISPLAY1(" Agent :: #error failed to Deallocate class signature = %s.", generic);
             nsk_jvmti_agentFailed();
@@ -110,18 +107,18 @@
 
     className = NULL;
     generic   = NULL;
-    if (redefineNumber != 0 ) {
+    if (redefineNumber != 0) {
         return;
     }
-    if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(field_klass, &className, &generic)) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(field_klass, &className, &generic))) {
         NSK_DISPLAY0(" Agent :: Failed get class signature.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if( (strcmp(className, CLASS_NAME) == 0 ) ) {
+        if((strcmp(className, CLASS_NAME) == 0)) {
             jvmtiThreadInfo info;
             nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                     sizeof(fileName)/sizeof(char));
-            if ( nsk_jvmti_redefineClass(jvmti_env, field_klass, fileName) == NSK_TRUE ) {
+            if (nsk_jvmti_redefineClass(jvmti_env, field_klass, fileName) == NSK_TRUE) {
                 NSK_DISPLAY0(" Agent :: Successfully redefined.\n");
                 redefineNumber++;
             } else {
@@ -129,27 +126,27 @@
                 nsk_jvmti_agentFailed();
             }
             NSK_DISPLAY0(" Agent :: Before attempting thread suspend.\n");
-            if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info))) {
+            if (!NSK_JVMTI_VERIFY(jvmti_env->GetThreadInfo(thread, &info))) {
                 NSK_DISPLAY0(" Agent :: error getting thread info ");
                 nsk_jvmti_agentFailed();
             } else {
                 NSK_DISPLAY1(" Agent :: Thread Name = %s .\n", info.name);
             }
-            if ( ! NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread))) {
+            if (!NSK_JVMTI_VERIFY(jvmti_env->SuspendThread(thread))) {
                 NSK_DISPLAY0(" Agent :: Failed to suspend thread.\n");
                 nsk_jvmti_agentFailed();
             }
         }
     }
 
-    if ( className != NULL ) {
+    if (className != NULL) {
         if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)className))) {
             NSK_DISPLAY1(" Agent :: #error failed to Deallocate className = %s.", className);
             nsk_jvmti_agentFailed();
         }
     }
 
-    if ( generic != NULL ) {
+    if (generic != NULL) {
         if (!NSK_JVMTI_VERIFY(jvmti_env->Deallocate((unsigned char *)generic))) {
             NSK_DISPLAY1(" Agent :: #error failed to Deallocate class signature = %s.", generic);
             nsk_jvmti_agentFailed();
@@ -169,7 +166,7 @@
 }
 #endif
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         NSK_DISPLAY0("Agent :: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
@@ -184,14 +181,14 @@
         caps.can_generate_field_access_events = 1;
         caps.can_pop_frame                    = 1;
         caps.can_suspend                      = 1;
-        if ( ! NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
             NSK_DISPLAY0(" Agent :: Failed add required capabilities\n.");
             return JNI_ERR;
         }
         memset(&eventCallbacks, 0, sizeof(eventCallbacks));
         eventCallbacks.ClassPrepare = callbackClassPrepare;
         eventCallbacks.FieldAccess  = callbackFieldAccess;
-        if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks) ) ) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
             NSK_DISPLAY0(" Agent :: Error occured while setting event call back \n");
             return JNI_ERR;
         }
@@ -207,26 +204,26 @@
     jboolean retvalue;
     jint state;
     retvalue = JNI_FALSE;
-    if (! NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
+    if (!NSK_JVMTI_VERIFY(jvmti->GetThreadState(thread, &state))) {
         NSK_DISPLAY0(" Agent :: Error getting thread state.\n");
         nsk_jvmti_agentFailed();
     } else {
-        if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+        if (state & JVMTI_THREAD_STATE_SUSPENDED) {
             NSK_DISPLAY0(" Agent :: Thread state = JVMTI_THREAD_STATE_SUSPENDED.\n");
-            if ( ! NSK_JVMTI_VERIFY ( jvmti->PopFrame(thread) ) ) {
+            if (!NSK_JVMTI_VERIFY (jvmti->PopFrame(thread))) {
                 NSK_DISPLAY0("#error Agent :: Jvmti failed to do popFrame.\n");
                 nsk_jvmti_agentFailed();
             } else {
-                if ( ! NSK_JVMTI_VERIFY ( jvmti->ResumeThread(thread) ) ) {
+                if (!NSK_JVMTI_VERIFY (jvmti->ResumeThread(thread))) {
                     NSK_DISPLAY0(" Agent :: Error occured in resuming a thread.\n");
                     nsk_jvmti_agentFailed();
                 } else {
                     jfieldID fieldId = jni->GetStaticFieldID(watchFieldClass, FIELDNAME, TYPE);
-                    if ( ! NSK_JNI_VERIFY(jni, fieldId != NULL ) ) {
+                    if (!NSK_JNI_VERIFY(jni, fieldId != NULL)) {
                         NSK_DISPLAY0(" Agent :: Failed to get FieldId before droping watchers.\n");
                         nsk_jvmti_agentFailed();
                     } else {
-                        if ( ! NSK_JVMTI_VERIFY ( jvmti->ClearFieldAccessWatch(watchFieldClass, fieldId) ) ) {
+                        if (!NSK_JVMTI_VERIFY (jvmti->ClearFieldAccessWatch(watchFieldClass, fieldId))) {
                             NSK_DISPLAY0(" Agent :: failed to drop field watces.\n");
                             nsk_jvmti_agentFailed();
                         } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t004/hs204t004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -67,7 +67,7 @@
                 if (err == JVMTI_ERROR_NONE) {
                     nsk_printf("Agent:: NO ERRORS FOUND \n");
                     err= jvmti->SetBreakpoint(method, start+1);
-                    if ( err == JVMTI_ERROR_NONE) {
+                    if (err == JVMTI_ERROR_NONE) {
                         nsk_printf("Agent:: Breakpoint set \n");
                     } else {
                         nsk_printf("Agent:: ***ERROR OCCURED ... in SET BREAK POINT ERROR \n");
@@ -97,7 +97,7 @@
     /* Redefine the class loader and then pop the
        frame and resume the thread..*/
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass( jvmti_env, clas, fileName) == NSK_TRUE) {
+    if (nsk_jvmti_redefineClass(jvmti_env, clas, fileName) == NSK_TRUE) {
         nsk_printf("\nMyClass :: Successfully redefined..\n");
     } else {
         nsk_printf("\nMyClass :: Failed to redefine ..\n");
@@ -108,9 +108,9 @@
         nsk_printf("Agent:: Succeded in suspending..\n");
     } else if (err == JVMTI_ERROR_THREAD_SUSPENDED) {
         nsk_printf("Agent:: JVMTI_ERROR_THREAD_SUSPENDED \n");
-    } else if ( err == JVMTI_ERROR_INVALID_THREAD) {
+    } else if (err == JVMTI_ERROR_INVALID_THREAD) {
         nsk_printf("Agent:: JVMTI_ERROR_INVALID_THREAD \n");
-    } else if ( err == JVMTI_ERROR_THREAD_NOT_ALIVE) {
+    } else if (err == JVMTI_ERROR_THREAD_NOT_ALIVE) {
         nsk_printf("Agent:: JVMTI_ERROR_THREAD_NOT_ALIVE \n");
     } else {
         nsk_printf(" Else error ");
@@ -133,7 +133,7 @@
       jint rc ;
       nsk_printf("Agent:: VM.. Started..\n");
       rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-      if ( rc!= JNI_OK ) {
+      if (rc!= JNI_OK) {
           nsk_printf("Agent:: Could not load JVMTI interface \n");
           return JNI_ERR;
       } else {
@@ -174,10 +174,10 @@
     nsk_printf("Agent:: POPING THE FRAME....\n");
     retvalue = JNI_FALSE;
     jvmti->GetThreadState(thread, &state);
-    if ( state & JVMTI_THREAD_STATE_IN_NATIVE) nsk_printf("JVMTI_THREAD_STATE_IN_NATIVE");
-    if ( state & JVMTI_THREAD_STATE_INTERRUPTED) nsk_printf( "JVMTI_THREAD_STATE_INTERRUPTED");
-    if ( state & JVMTI_THREAD_STATE_WAITING) nsk_printf(" JVMTI_THREAD_STATE_WAITING");
-    if ( state & JVMTI_THREAD_STATE_SUSPENDED) {
+    if (state & JVMTI_THREAD_STATE_IN_NATIVE) nsk_printf("JVMTI_THREAD_STATE_IN_NATIVE");
+    if (state & JVMTI_THREAD_STATE_INTERRUPTED) nsk_printf("JVMTI_THREAD_STATE_INTERRUPTED");
+    if (state & JVMTI_THREAD_STATE_WAITING) nsk_printf(" JVMTI_THREAD_STATE_WAITING");
+    if (state & JVMTI_THREAD_STATE_SUSPENDED) {
         nsk_printf("Agent:: Thread state .. JVMTI_THREAD_STATE_SUSPENDED \n");
         err = jvmti->PopFrame(thread);
         if (err == JVMTI_ERROR_NONE) {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t001/hs301t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -49,19 +49,19 @@
 #endif
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
     nsk_printf("Agent:: Agent_OnLoad .\n");
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf("Agent:: Could not load JVMTI interface.\n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options.\n");
             return JNI_ERR;
         }
         memset(&caps, 0, sizeof(caps));
         caps.can_redefine_classes = 1;
-        if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) )) {
+        if (!NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps))) {
             nsk_printf(" Agent:: Error occured while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -84,13 +84,13 @@
 
     redefineNumber=0;
     cls = jni->FindClass(SEARCH_NAME);
-    if (! NSK_JNI_VERIFY(jni, cls != NULL) ) {
+    if (!NSK_JNI_VERIFY(jni, cls != NULL)) {
         nsk_printf("Agent:: (*JNI)->FindClass(jni, %s) returns `null`.\n",SEARCH_NAME);
         return NSK_FALSE;
     }
     ret = JNI_FALSE;
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass(jvmti, cls, fileName) == NSK_TRUE ) {
+    if (nsk_jvmti_redefineClass(jvmti, cls, fileName) == NSK_TRUE) {
         nsk_printf("Agent:: Redefine successful.\n");
         ret = JNI_TRUE;
     } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t002/hs301t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -52,18 +52,18 @@
 #endif
 jint Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
     nsk_printf(" Agent:: VM Started.\n");
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf(" Agent ::Agent failed to get jvmti env.\n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf(" Agent:: ## error agent Failed to parse options.\n");
             return JNI_ERR;
         }
         memset(&caps, 0, sizeof(caps));
         caps.can_redefine_classes = 1;
-        if ( ! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) ) ) {
+        if (!NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps))) {
             nsk_printf(" Agent:: Error occured while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -90,7 +90,7 @@
     }
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass(jvmti, cls, fileName) == NSK_TRUE) {
+    if (nsk_jvmti_redefineClass(jvmti, cls, fileName) == NSK_TRUE) {
         nsk_printf("Agent:: MyClass :: Successfully redefined.\n");
         ret = JNI_TRUE;
     } else {
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t003/hs301t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -36,16 +36,16 @@
                                jclass klass) {
   char * className;
   char * generic;
-  if ( ! NSK_JVMTI_VERIFY ( jvmti_env->GetClassSignature(klass, &className, &generic) ) ) {
+  if (!NSK_JVMTI_VERIFY (jvmti_env->GetClassSignature(klass, &className, &generic))) {
     nsk_printf(" Agent:: Error while getting ClassFileName Signature ");
   } else {
-      if (strcmp(className, CLASS_NAME ) == 0) {
+      if (strcmp(className, CLASS_NAME) == 0) {
           int redefineNumber =0;
           char fileName[512];
           nsk_jvmti_getFileName(redefineNumber, FILE_NAME,
                   fileName, sizeof(fileName)/sizeof(char));
           nsk_jvmti_disableNotification(jvmti_env,
-                  JVMTI_EVENT_CLASS_LOAD, NULL );
+                  JVMTI_EVENT_CLASS_LOAD, NULL);
           if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
               nsk_printf("\n Redefine successful.\n");
           } else {
@@ -69,20 +69,20 @@
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: Agent_OnLoad.\n");
-    if ( ! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf("Agent:: Could not load JVMTI interface.\n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options.\n");
             return JNI_ERR;
         }
         memset(&caps, 0, sizeof(caps));
         caps.can_redefine_classes = 1;
         caps.can_generate_all_class_hook_events=1;
-        if (! NSK_JVMTI_VERIFY ( jvmti->AddCapabilities(&caps) ) )  {
+        if (!NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps)))  {
             nsk_printf(" Agent:: Error occured while adding capabilities.\n");
             return JNI_ERR;
         }
@@ -92,7 +92,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back.\n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Agent:: Enabled notification.\n");
         } else {
             nsk_printf(" Agent:: Failed to enable notification.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t004/hs301t004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -37,17 +37,17 @@
     char * className;
     char * generic;
     int redefineNumber=0;
-    if (! NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic)) ) {
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &className, &generic))) {
         nsk_printf(" Agent :: Error occured in getting class signature.\n");
         return;
     } else {
         if (strcmp(className, CLASS_NAME) == 0) {
             int redefineNumber =0;
             char fileName[512];
-            nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+            nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
             nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                     sizeof(fileName)/sizeof(char));
-            if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName)  == NSK_TRUE ) {
+            if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName)  == NSK_TRUE) {
                 nsk_printf("Agent:: Redefine successful.\n");
             } else {
                 nsk_printf("Agent:: Redefine failed.\n");
@@ -70,30 +70,30 @@
 jint  Agent_Initialize(JavaVM *vm, char *options, void *reserved) {
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM Started.\n");
-    if (! NSK_VERIFY ( JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1) ) ) {
+    if (!NSK_VERIFY (JNI_OK == vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1))) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
         memset(&caps, 0, sizeof(caps));
         caps.can_redefine_classes = 1;
         caps.can_generate_all_class_hook_events=1;
-        if ( ! NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps) ))  {
+        if (!NSK_JVMTI_VERIFY (jvmti->AddCapabilities(&caps)))  {
             nsk_printf(" Agent:: Error occured while adding capabilities.\n");
             return JNI_ERR;
         }
         memset(&eventCallbacks, 0, sizeof(eventCallbacks));
         eventCallbacks.ClassPrepare = &callbackClassPrepare;
-        if ( ! NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)) ) ) {
+        if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled notification.\n");
         } else {
             nsk_printf(" Failed to enable notifications.\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS301/hs301t005/hs301t005.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,7 +41,7 @@
     if (strcmp(className,CLASS_NAME) == 0) {
         int redefineNumber =0;
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti, JVMTI_EVENT_CLASS_LOAD, NULL );
+        nsk_jvmti_disableNotification(jvmti, JVMTI_EVENT_CLASS_LOAD, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
         if (nsk_jvmti_redefineClass(jvmti, klass, fileName) == NSK_TRUE) {
             nsk_printf("\n Redefine successful ..\n");
@@ -67,13 +67,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -88,7 +88,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t001/hs302t001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -39,11 +39,11 @@
   char * generic;
   int redefineNumber=0;
   jvmti_env->GetClassSignature(klass, &className, &generic);
-  if (strcmp(className,CLASS_NAME) == 0 ) {
+  if (strcmp(className,CLASS_NAME) == 0) {
     char fileName[512];
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
-    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
-    if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
+    if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
       nsk_printf("Redefine successful ..\n");
     } else {
       nsk_printf("# error :: Redefine failed..\n");
@@ -67,13 +67,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -88,7 +88,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t002/hs302t002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -42,9 +42,9 @@
   jvmti_env->GetClassSignature(klass, &className, &generic);
   if (strcmp(className,CLASS_NAME) == 0) {
       char fileName[512];
-      nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+      nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
       nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
-      if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName ) == NSK_TRUE ) {
+      if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
           nsk_printf("Redefine successful ..\n");
       } else {
           nsk_printf("Redefine failed ..     \n");
@@ -69,14 +69,14 @@
 
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
 
-        if ( nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -94,8 +94,8 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE,
-                    NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE,
+                    NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t003/hs302t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -39,12 +39,12 @@
   char * generic;
   int redefineNumber=0;
   jvmti_env->GetClassSignature(klass, &className, &generic);
-  if ( strcmp(className,CLASS_NAME) == 0 ) {
+  if (strcmp(className,CLASS_NAME) == 0) {
       char fileName[512];
 
       nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName, sizeof(fileName)/sizeof(char));
-      nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
-      if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+      nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
+      if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
           nsk_printf("Redefine successful ..\n");
       } else {
           nsk_printf("Redefine failed ..     \n");
@@ -70,14 +70,14 @@
 
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
 
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -93,7 +93,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t004/hs302t004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -42,8 +42,8 @@
     char fileName[512];
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
-    if ( nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE ) {
+    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
+    if (nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE) {
       nsk_printf("Redefine successful ..\n");
     } else {
       nsk_printf("# error :: Redefine failed..\n");
@@ -67,13 +67,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -88,7 +88,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t005/hs302t005.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -42,10 +42,10 @@
   jvmti_env->GetClassSignature(klass, &className, &generic);
   if (strcmp(className,CLASS_NAME) == 0) {
     char fileName[512];
-    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE ) {
+    if (nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE) {
       nsk_printf("Redefine successful ..\n");
     } else {
       nsk_printf("# error :: Redefine failed..\n");
@@ -69,13 +69,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -90,7 +90,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t006/hs302t006.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,10 +41,10 @@
     jvmti_env->GetClassSignature(klass, &className, &generic);
     if (strcmp(className,CLASS_NAME) == 0) {
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -68,13 +68,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -89,7 +89,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t007/hs302t007.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -38,10 +38,10 @@
     jvmti_env->GetClassSignature(klass, &className, &generic);
     if (strcmp(className,CLASS_NAME) == 0) {
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -65,13 +65,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -86,7 +86,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t008/hs302t008.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,10 +41,10 @@
   jvmti_env->GetClassSignature(klass, &className, &generic);
   if (strcmp(className,CLASS_NAME) == 0) {
     char fileName[512];
-    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+    nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
     nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-    if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+    if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
       nsk_printf("Redefine successful ..\n");
     } else {
       nsk_printf("# error :: Redefine failed..\n");
@@ -68,13 +68,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -89,7 +89,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t009/hs302t009.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -42,10 +42,10 @@
     if (strcmp(className,CLASS_NAME) == 0) {
 
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass,fileName) == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -68,13 +68,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -89,7 +89,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t010/hs302t010.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,10 +41,10 @@
     jvmti_env->GetClassSignature(klass, &className, &generic);
     if (strcmp(className,CLASS_NAME) == 0) {
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -67,13 +67,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -88,7 +88,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t011/hs302t011.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,10 +41,10 @@
     jvmti_env->GetClassSignature(klass, &className, &generic);
     if (strcmp(className,CLASS_NAME) == 0) {
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName) == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -68,13 +68,13 @@
     jvmtiEnv * jvmti;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -89,7 +89,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/hotswap/HS302/hs302t012/hs302t012.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -43,10 +43,10 @@
     jvmti_env->GetClassSignature(klass, &className, &generic);
     if (strcmp(className,CLASS_NAME) == 0) {
         char fileName[512];
-        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL );
+        nsk_jvmti_disableNotification(jvmti_env, JVMTI_EVENT_CLASS_PREPARE, NULL);
         nsk_jvmti_getFileName(redefineNumber, FILE_NAME, fileName,
                         sizeof(fileName)/sizeof(char));
-        if ( nsk_jvmti_redefineClass(jvmti_env, klass, fileName)  == NSK_TRUE ) {
+        if (nsk_jvmti_redefineClass(jvmti_env, klass, fileName)  == NSK_TRUE) {
             nsk_printf("Redefine successful ..\n");
         } else {
             nsk_printf("# error :: Redefine failed..\n");
@@ -70,13 +70,13 @@
     jint rc ;
     nsk_printf("Agent:: VM.. Started..\n");
     rc=vm->GetEnv((void **)&jvmti, JVMTI_VERSION_1_1);
-    if ( rc!= JNI_OK ) {
+    if (rc!= JNI_OK) {
         nsk_printf("Agent:: Could not load JVMTI interface \n");
         return JNI_ERR;
     } else {
         jvmtiCapabilities caps;
         jvmtiEventCallbacks eventCallbacks;
-        if (nsk_jvmti_parseOptions(options) == NSK_FALSE ) {
+        if (nsk_jvmti_parseOptions(options) == NSK_FALSE) {
             nsk_printf("# error agent Failed to parse options \n");
             return JNI_ERR;
         }
@@ -91,7 +91,7 @@
             nsk_printf(" Agent:: Error occured while setting event call back \n");
             return JNI_ERR;
         }
-        if ( nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE ) {
+        if (nsk_jvmti_enableNotification(jvmti, JVMTI_EVENT_CLASS_PREPARE, NULL) == NSK_TRUE) {
             nsk_printf(" Enabled. noftification..");
         } else {
             nsk_printf(" Failed to Enable ..");
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/sampling/SP02/sp02t003/sp02t003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -327,7 +327,7 @@
                             (void*)frameStack[j].method, (void*)qMethod);
                 nsk_jvmti_setFailStatus();
             }
-            if ( (suspended == NSK_TRUE) && (frameStack[j].location != qLocation) ) {
+            if ((suspended == NSK_TRUE) && (frameStack[j].location != qLocation)) {
                 NSK_COMPLAIN6("Different location in stack frame #%d for %s thread #%d (%s):\n"
                             "#   GetStackTrace():    %ld\n"
                             "#   GetFrameLocation(): %ld\n",
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref001/followref001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -681,7 +681,7 @@
                ref_kind_str[reference_kind],
                (long) class_tag,
                (long) DEREF(tag_ptr),
-               (int ) value_type);
+               (int) value_type);
     fflush(0);
     return 0;
 } /* primitiveFieldCallback */
@@ -700,8 +700,8 @@
            " tag=%-3ld, len=%d, type=%c\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) element_count,
-           (int ) element_type);
+           (int) element_count,
+           (int) element_type);
     fflush(0);
     return 0;
 } /* arrayPrimitiveValueCallback */
@@ -718,7 +718,7 @@
     printf("stringPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_length);
+           (int) value_length);
     fflush(0);
     return 0;
 } /* stringPrimitiveValueCallback */
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -457,7 +457,7 @@
            (long) tag,
            (long) size,
            (long) ref_tag,
-           (int ) referrer_index);
+           (int) referrer_index);
     fflush(0);
 
     if (tag_ptr == NULL) {
@@ -557,7 +557,7 @@
            ref_kind_str[reference_kind],
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_type);
+           (int) value_type);
     fflush(0);
     return 0;
 }
@@ -574,8 +574,8 @@
     printf(" arrayPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d, type=%c\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) element_count,
-           (int ) element_type);
+           (int) element_count,
+           (int) element_type);
     fflush(0);
     return 0;
 }
@@ -591,7 +591,7 @@
     printf("stringPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_length);
+           (int) value_length);
     fflush(0);
     return 0;
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref003/followref003.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -661,13 +661,13 @@
            (long) class_tag,
            (long) tag,
            (long) size,
-           (int ) length,
+           (int) length,
            ref_tag,
            (long) thr_tag,
            thr_id,
            method,
            (long) location,
-           (int ) index);
+           (int) index);
     fflush(0);
 
     if (tag_ptr == NULL) {
@@ -842,7 +842,7 @@
            ref_kind_str[ref_kind],
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_type);
+           (int) value_type);
     fflush(0);
     return 0;
 }
@@ -854,8 +854,8 @@
     printf(" arrayPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d, type=%c\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) element_count,
-           (int ) element_type);
+           (int) element_count,
+           (int) element_type);
     fflush(0);
     return 0;
 }
@@ -867,7 +867,7 @@
     printf("stringPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_length);
+           (int) value_length);
     fflush(0);
     return 0;
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref004/followref004.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -84,7 +84,7 @@
                g_refKindStr[reference_kind],
                (long) class_tag,
                (long) DEREF(tag_ptr),
-               (int ) value_type);
+               (int) value_type);
 
     fflush(0);
 
@@ -109,8 +109,8 @@
     printf("    arrayPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d, type=%c\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) element_count,
-           (int ) element_type);
+           (int) element_count,
+           (int) element_type);
     fflush(0);
 
     markTagVisited(DEREF(tag_ptr));
@@ -131,7 +131,7 @@
     printf("stringPrimitiveValueCallback: class_tag=%-3ld, tag=%-3ld, len=%d\n",
            (long) class_tag,
            (long) DEREF(tag_ptr),
-           (int ) value_length);
+           (int) value_length);
     fflush(0);
 
     markTagVisited(DEREF(tag_ptr));
@@ -146,16 +146,16 @@
 {
     jclass klass;
 
-    if  ( ! NSK_JNI_VERIFY(jni, (klass = jni->FindClass(JAVA_LANG_STRING_CLASS_NAME)) != NULL) ) {
+    if  (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass(JAVA_LANG_STRING_CLASS_NAME)) != NULL)) {
         nsk_jvmti_setFailStatus();
         return;
     }
 
-    if ( ! NSK_JNI_VERIFY(jni, (g_jniGlobalRef = jni->NewGlobalRef(klass)) != NULL) ) {
+    if (!NSK_JNI_VERIFY(jni, (g_jniGlobalRef = jni->NewGlobalRef(klass)) != NULL)) {
         nsk_jvmti_setFailStatus();
     }
 
-    if ( ! NSK_JNI_VERIFY(jni, (g_jniWeakGlobalRef = jni->NewWeakGlobalRef(klass)) != NULL) ) {
+    if (!NSK_JNI_VERIFY(jni, (g_jniWeakGlobalRef = jni->NewWeakGlobalRef(klass)) != NULL)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -185,7 +185,7 @@
                                       &g_heapCallbacks,
                                       (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_NONE)) {
         nsk_jvmti_setFailStatus();
     }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref005/followref005.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,7 +51,7 @@
                                       &g_wrongHeapCallbacks,
                                       (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY)) {
         NSK_COMPLAIN1("FollowReferences() returned %i", retCode);
         nsk_jvmti_setFailStatus();
     }
@@ -61,28 +61,28 @@
                                         &g_wrongHeapCallbacks,
                                         (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY)) {
         NSK_COMPLAIN1("IterateThroughHeap() returned %i", retCode);
         nsk_jvmti_setFailStatus();
     }
 
     retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks, &tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY)) {
         NSK_COMPLAIN1("GetTag() returned %i", retCode);
         nsk_jvmti_setFailStatus();
     }
 
     retCode = jvmti->SetTag((jobject) &g_wrongHeapCallbacks, tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY)) {
         NSK_COMPLAIN1("SetTag() returned %i", retCode);
         nsk_jvmti_setFailStatus();
     }
 
     retCode = jvmti->GetObjectsWithTags(1, &tag, &cnt, &pObjs, &pObjTags);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_MUST_POSSESS_CAPABILITY)) {
         NSK_COMPLAIN1("GetObjectsWithTags() returned %i", retCode);
         nsk_jvmti_setFailStatus();
     }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref006/followref006.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -55,7 +55,7 @@
                                       &g_wrongHeapCallbacks,
                                       (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_CLASS ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_CLASS)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -80,7 +80,7 @@
                                       (const void *) &g_fakeUserData);
 
     // Accept both JVMTI_ERROR_INVALID_OBJECT and JVMTI_ERROR_NONE
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT || retCode == JVMTI_ERROR_NONE ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT || retCode == JVMTI_ERROR_NONE)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -92,7 +92,7 @@
                                       NULL,
                                       (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -101,7 +101,7 @@
     retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks,  /* invalid inital object */
                             &tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -109,7 +109,7 @@
 
     retCode = jvmti->GetTag(NULL, &tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -117,7 +117,7 @@
 
     retCode = jvmti->GetTag((jobject) &g_wrongHeapCallbacks, NULL);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_NULL_POINTER)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -127,7 +127,7 @@
     retCode = jvmti->SetTag((jobject) &g_wrongHeapCallbacks,  /* invalid inital object */
                             tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -135,7 +135,7 @@
 
     retCode = jvmti->GetTag(NULL, &tag);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_INVALID_OBJECT)) {
         nsk_jvmti_setFailStatus();
     }
 
@@ -162,7 +162,7 @@
                                       &g_wrongHeapCallbacks,
                                       (const void *) &g_fakeUserData);
 
-    if ( ! NSK_VERIFY(retCode == JVMTI_ERROR_NONE ) ) {
+    if (!NSK_VERIFY(retCode == JVMTI_ERROR_NONE)) {
         nsk_jvmti_setFailStatus();
     }
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/MethodBind/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/MethodBind/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,12 +29,12 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 2000
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/StackTrace/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/StackTrace/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -32,12 +32,12 @@
 
 extern "C" {
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 2000
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/clsldrclss00x/clsldrclss00x.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/clsldrclss00x/clsldrclss00x.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -130,7 +130,7 @@
     found = JNI_FALSE;
     for (i = 0; i < classCount; ++i) {
       jclass k = classes[i];
-      if ( env->IsSameObject(k, appCls) ) {
+      if (env->IsSameObject(k, appCls)) {
         if (printdump) {
           printf(">>> found app class in app class loader\n");
         }
@@ -154,7 +154,7 @@
     found = JNI_FALSE;
     for (i = 0; i < classCount; ++i) {
       jclass k = classes[i];
-      if ( env->IsSameObject(k, objCls) ) {
+      if (env->IsSameObject(k, objCls)) {
         if (printdump) {
           printf(">>> found Object class in bootstrap class loader\n");
         }
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/AddToBootstrapClassLoaderSearch/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/AddToBootstrapClassLoaderSearch/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,12 +29,12 @@
 
 extern "C" {
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 static jvmtiEnv *jvmti;
 static jint iGlobalStatus = 0;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/Dispose/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/Dispose/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,12 +29,12 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf(" unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf(" unexpected error %d\n",res); iGlobalStatus = 2; }
 
 
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/ForceGarbageCollection/gc/gc.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/ForceGarbageCollection/gc/gc.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,8 +29,8 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 8
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/environment/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/environment/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,12 +29,12 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendMonitorInfo/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendMonitorInfo/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -29,12 +29,12 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 2000
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendStackTrace/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/nosuspendStackTrace/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -28,12 +28,12 @@
 
 extern "C" {
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 2000
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/rawmonitor/rawmonitor.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/functions/rawmonitor/rawmonitor.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -51,12 +51,12 @@
 extern "C" {
 
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf(" unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf(" unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf(" %d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf(" unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf(" unexpected error %d\n",res); iGlobalStatus = 2; }
 
 #define THREADS_LIMIT 8
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/setNullVMInit/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/setNullVMInit/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -38,12 +38,12 @@
 
 extern "C" {
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;}
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); return res;}
 
-#define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_VOID(str,res) if (res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; }
 
-#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
+#define JVMTI_ERROR_CHECK_EXPECTED_ERROR_VOID(str,res,err) if (res != err) { printf(str); printf("unexpected error %d\n",res); iGlobalStatus = 2; }
 
 jvmtiEnv *jvmti;
 jint iGlobalStatus = 0;
--- a/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/JvmtiTest/JvmtiTest.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -41,11 +41,11 @@
 
 extern "C" {
 
-#define JVMTI_ERROR_CHECK_DURING_ONLOAD(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Fatal error: %s - %d\n", str, res); return JNI_ERR; }
+#define JVMTI_ERROR_CHECK_DURING_ONLOAD(str,res) if (res != JVMTI_ERROR_NONE) { printf("Fatal error: %s - %d\n", str, res); return JNI_ERR; }
 
-#define JVMTI_ERROR_CHECK_RETURN(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Error: %s - %d\n", str, res); return; }
+#define JVMTI_ERROR_CHECK_RETURN(str,res) if (res != JVMTI_ERROR_NONE) { printf("Error: %s - %d\n", str, res); return; }
 
-#define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Error: %s - %d\n", str, res); }
+#define JVMTI_ERROR_CHECK(str,res) if (res != JVMTI_ERROR_NONE) { printf("Error: %s - %d\n", str, res); }
 
 #define THREADS_LIMIT 200
 
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/aod/jvmti_aod.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -161,18 +161,18 @@
     jmethodID threadConstructor;
     jthread thread;
 
-    if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL )) {
+    if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL)) {
         NSK_COMPLAIN0("Failed to get the java.lang.Thread class\n");
         return NULL;
     }
     if (!NSK_JNI_VERIFY(jni,
-            (threadConstructor = jni->GetMethodID(klass, "<init>", "()V") )  != NULL )) {
+            (threadConstructor = jni->GetMethodID(klass, "<init>", "()V"))  != NULL)) {
         NSK_COMPLAIN0("Failed to get java.lang.Thread constructor\n");
         return NULL;
     }
 
     if (!NSK_JNI_VERIFY (jni,
-            (thread = jni->NewObject(klass, threadConstructor, NULL)) != NULL ) ) {
+            (thread = jni->NewObject(klass, threadConstructor, NULL)) != NULL)) {
         NSK_COMPLAIN0("Failed to create Thread object\n");
         return NULL;
     }
@@ -194,18 +194,18 @@
     if (!NSK_JNI_VERIFY(jni, (threadNameString = jni->NewStringUTF(threadName)) != NULL))
         return NULL;
 
-    if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL )) {
+    if (!NSK_JNI_VERIFY(jni, (klass = jni->FindClass("java/lang/Thread")) != NULL)) {
         NSK_COMPLAIN0("Failed to get the java.lang.Thread class\n");
         return NULL;
     }
     if (!NSK_JNI_VERIFY(jni,
-            (threadConstructor = jni->GetMethodID(klass, "<init>", "(Ljava/lang/String;)V") )  != NULL )) {
+            (threadConstructor = jni->GetMethodID(klass, "<init>", "(Ljava/lang/String;)V"))  != NULL)) {
         NSK_COMPLAIN0("Failed to get java.lang.Thread constructor\n");
         return NULL;
     }
 
     if (!NSK_JNI_VERIFY(jni,
-            (thread = jni->NewObject(klass, threadConstructor, threadNameString)) != NULL ) ) {
+            (thread = jni->NewObject(klass, threadConstructor, threadNameString)) != NULL)) {
         NSK_COMPLAIN0("Failed to create Thread object\n");
         return NULL;
     }
@@ -250,7 +250,7 @@
 
             bytecode = fopen(file, "rb");
             error= JVMTI_ERROR_NONE;
-            if ( bytecode == NULL ) {
+            if (bytecode == NULL) {
                 NSK_COMPLAIN1("Error opening file '%s'\n", file);
                 return NSK_FALSE;
             }
@@ -261,12 +261,12 @@
             NSK_DISPLAY1("File size= %ld\n", ftell(bytecode));
             rewind(bytecode);
             error = jvmti->Allocate(size, &classBytes);
-            if ( error != JVMTI_ERROR_NONE) {
+            if (error != JVMTI_ERROR_NONE) {
                 NSK_DISPLAY1("Failed to create memory %s\n", TranslateError(error));
                 return NSK_FALSE;
             }
 
-            if ( ((jint) fread( classBytes, 1, size, bytecode )) != size ) {
+            if (((jint) fread(classBytes, 1, size, bytecode)) != size) {
                 NSK_COMPLAIN0("Failed to read all the bytes, could be less or more\n");
                 fclose(bytecode);
                 return NSK_FALSE;
@@ -281,9 +281,9 @@
                 classDef.class_bytes = classBytes;
                 NSK_DISPLAY0("Redefining\n");
                 error = jvmti->RedefineClasses(1, &classDef);
-                if ( error != JVMTI_ERROR_NONE ) {
+                if (error != JVMTI_ERROR_NONE) {
                     NSK_DISPLAY1("# error occured while redefining %s ",
-                            TranslateError(error) );
+                            TranslateError(error));
                     return NSK_FALSE;
                 }
             }
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_FollowRefObjects.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -69,13 +69,13 @@
 
 void markTagSet(jlong tag_val)
 {
-    if ( tag_val > 0 && tag_val < MAX_TAG )
+    if (tag_val > 0 && tag_val < MAX_TAG)
         g_tagFlags[tag_val] |= FLAG_TAG_SET;
 }
 
 void markTagVisited(jlong tag_val)
 {
-    if ( tag_val > 0 && tag_val < MAX_TAG ) {
+    if (tag_val > 0 && tag_val < MAX_TAG) {
         g_tagVisitCount[tag_val]++;
     }
 }
@@ -87,11 +87,11 @@
 
     NSK_DISPLAY0("Checking that all set tags have been visited\n");
 
-    for ( i = 1; i < MAX_TAG; i++ ) {
+    for (i = 1; i < MAX_TAG; i++) {
         char flags = g_tagFlags[i];
 
-        if ( (g_tagFlags[i] & FLAG_TAG_SET) ) {
-            if ( g_tagVisitCount[i] == 0 ) {
+        if ((g_tagFlags[i] & FLAG_TAG_SET)) {
+            if (g_tagVisitCount[i] == 0) {
                 NSK_COMPLAIN1("Tag %" LL "d has not been visited: %x\n", i);
                 ok = JNI_FALSE;
             }
@@ -115,28 +115,28 @@
     jvmtiEnv * jvmti = nsk_jvmti_getAgentJVMTIEnv();
     jint hashCode;
 
-    if ( ! NSK_VERIFY(jvmti->SetTag(o, tag) == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY(jvmti->SetTag(o, tag) == JVMTI_ERROR_NONE)) {
         NSK_COMPLAIN2("Can't set tag %li for object %lx\n", tag, o);
         return JNI_FALSE;
     }
 
-    if ( ! NSK_VERIFY(jvmti->GetObjectHashCode(o, &hashCode) == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY(jvmti->GetObjectHashCode(o, &hashCode) == JVMTI_ERROR_NONE)) {
         NSK_COMPLAIN1("Can't get hash object %lx\n", o);
         return JNI_FALSE;
     }
 
     NSK_DISPLAY2("setTag: %08x <- % 3li", hashCode, tag);
 
-    if ( tag > 0 && tag < MAX_TAG ) {
+    if (tag > 0 && tag < MAX_TAG) {
         jboolean fCopy;
         const char * s;
 
-        if ( ! NSK_VERIFY((s = jni->GetStringUTFChars(sInfo, &fCopy)) != NULL) ) {
+        if (!NSK_VERIFY((s = jni->GetStringUTFChars(sInfo, &fCopy)) != NULL)) {
             NSK_COMPLAIN1("Can't get string at %#p\n", sInfo);
             return JNI_FALSE;
         }
 
-        if ( ! s ) {
+        if (!s) {
             NSK_COMPLAIN1("Can't get string at %#p: NULL\n", sInfo);
             return JNI_FALSE;
         }
@@ -160,7 +160,7 @@
 
     jlong tag;
     jvmtiError r;
-    if ( ! NSK_VERIFY((r = jvmti->GetTag(o, &tag)) == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY((r = jvmti->GetTag(o, &tag)) == JVMTI_ERROR_NONE)) {
         NSK_COMPLAIN2("Can't GetTag for object %lx. Return code: %i\n", o, r);
         return -1;
     }
@@ -186,9 +186,9 @@
     int i;
     RefToVerify * pRefRec = g_refsToVerify;
 
-    for ( i = g_refsToVerifyCnt; i > 0; i--, pRefRec++ ) {
+    for (i = g_refsToVerifyCnt; i > 0; i--, pRefRec++) {
         pRefRec = &g_refsToVerify[i];
-        if ( pRefRec->_tagFrom == tagFrom && pRefRec->_tagTo == tagTo && pRefRec->_refKind == refKind ) {
+        if (pRefRec->_tagFrom == tagFrom && pRefRec->_tagTo == tagTo && pRefRec->_refKind == refKind) {
             return pRefRec;
         }
     }
@@ -200,7 +200,7 @@
 {
     RefToVerify * pRefRec;
 
-    if ( g_refsToVerifyCnt >= MAX_REFS ) {
+    if (g_refsToVerifyCnt >= MAX_REFS) {
         NSK_COMPLAIN0("TEST_BUG: Max. number of refs reached!");
         nsk_jvmti_setFailStatus();
         return JNI_FALSE;
@@ -224,20 +224,20 @@
     jlong tagFrom, tagTo;
     RefToVerify * pRefRec;
 
-    if ( ! NSK_VERIFY((r = jvmti->GetTag(from, &tagFrom)) == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY((r = jvmti->GetTag(from, &tagFrom)) == JVMTI_ERROR_NONE)) {
         NSK_COMPLAIN2("TEST_BUG: Can't GetTag for object %lx. Return code: %i\n", from, r);
         nsk_jvmti_setFailStatus();
         return JNI_FALSE;
     }
 
 
-    if ( ! NSK_VERIFY((r = jvmti->GetTag(to, &tagTo)) == JVMTI_ERROR_NONE) ) {
+    if (!NSK_VERIFY((r = jvmti->GetTag(to, &tagTo)) == JVMTI_ERROR_NONE)) {
         NSK_COMPLAIN2("TEST_BUG: Can't GetTag for object %lx. Return code: %i\n", to, r);
         nsk_jvmti_setFailStatus();
         return JNI_FALSE;
     }
 
-    if ( (pRefRec = findRefToVerify(tagFrom, tagTo, refKind)) != NULL ) {
+    if ((pRefRec = findRefToVerify(tagFrom, tagTo, refKind)) != NULL) {
         pRefRec->_expectedCount += count;
         return JNI_TRUE;
     }
@@ -249,7 +249,7 @@
 {
     RefToVerify * pRefRec;
 
-    if ( (pRefRec = findRefToVerify(tagFrom, tagTo, refKind)) != NULL ) {
+    if ((pRefRec = findRefToVerify(tagFrom, tagTo, refKind)) != NULL) {
         pRefRec->_actualCount++;
         return JNI_TRUE;
     }
@@ -299,8 +299,8 @@
     NSK_DISPLAY2("   tag: %" LL "d, referrer_tag: %" LL "d\n",
                      tag_val, DEREF(referrer_tag_ptr));
 
-    szInfo = ( tag_val > 0 && tag_val < MAX_TAG ) ? g_szTagInfo[tag_val] : "<none>";
-    szRefInfo = ( referrer_tag_ptr && *referrer_tag_ptr > 0 && *referrer_tag_ptr < MAX_TAG ) ? g_szTagInfo[*referrer_tag_ptr] : "<none>";
+    szInfo = (tag_val > 0 && tag_val < MAX_TAG) ? g_szTagInfo[tag_val] : "<none>";
+    szRefInfo = (referrer_tag_ptr && *referrer_tag_ptr > 0 && *referrer_tag_ptr < MAX_TAG) ? g_szTagInfo[*referrer_tag_ptr] : "<none>";
 
     NSK_DISPLAY3("   summary: %s: %s <- %s\n",
                      g_refKindStr[reference_kind], szInfo, szRefInfo);
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/jvmti_tools.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -232,12 +232,12 @@
     context.options.string[len] = '\0';
     context.options.string[len+1] = '\0';
 
-    for (opt = context.options.string; ; ) {
+    for (opt = context.options.string; ;) {
         const char* opt_end;
         const char* val_sep;
         int opt_len=0;
         int val_len=0;
-                int exit=1;
+        int exit=1;
 
         while (*opt != '\0' && isOptSep(*opt)) opt++;
         if (*opt == '\0') break;
@@ -489,15 +489,13 @@
         jclass classToRedefine,
         const char * fileName) {
     redefineAttempted = NSK_TRUE;
-    if ( nsk_jvmti_findOptionValue(NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE)
-            == NULL  ) {
-        nsk_printf("#   error expected: %s \n",
-                NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE );
+    if (nsk_jvmti_findOptionValue(NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE) == NULL) {
+        nsk_printf("#   error expected: %s \n", NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE);
         nsk_printf("Hint :: missing java -agentlib:agentlib=%s=DirName, ($TESTBASE/bin) \n",
-                NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE );
+                   NSK_JVMTI_OPT_PATH_TO_NEW_BYTE_CODE);
         return NSK_FALSE;
     }
-    if ( fileName == NULL) {
+    if (fileName == NULL) {
         nsk_printf("# error file name expected did not found \n");
         return NSK_FALSE;
     }
@@ -517,7 +515,7 @@
 
             bytecode = fopen(file, "rb");
             error= JVMTI_ERROR_NONE;
-            if ( bytecode == NULL ) {
+            if (bytecode == NULL) {
                 nsk_printf("# error **Agent::error opening file %s \n",file);
                 return NSK_FALSE;
             }
@@ -528,12 +526,12 @@
             nsk_printf("# info file size= %ld\n",ftell(bytecode));
             rewind(bytecode);
             error = jvmti->Allocate(size,&classBytes);
-            if ( error != JVMTI_ERROR_NONE) {
+            if (error != JVMTI_ERROR_NONE) {
                 nsk_printf(" Failed to create memory %s \n",TranslateError(error));
                 return NSK_FALSE;
             }
 
-            if ( ((jint) fread( classBytes, 1,size,bytecode )) != size ) {
+            if (((jint) fread(classBytes, 1,size,bytecode)) != size) {
                 nsk_printf(" # error failed to read all the bytes , could be less or more \n");
                 return NSK_FALSE;
             } else {
@@ -546,9 +544,9 @@
                 classDef.class_byte_count= size;
                 classDef.class_bytes = classBytes;
                 error = jvmti->RedefineClasses(1,&classDef);
-                if ( error != JVMTI_ERROR_NONE ) {
+                if (error != JVMTI_ERROR_NONE) {
                     nsk_printf("# error occured while redefining %s ",
-                            TranslateError(error) );
+                            TranslateError(error));
                     return NSK_FALSE;
                 }
             }
@@ -570,7 +568,7 @@
 
 
 JNIEXPORT jboolean JNICALL
-Java_nsk_share_jvmti_RedefineAgent_isRedefined(JNIEnv * jni,  jobject obj ) {
+Java_nsk_share_jvmti_RedefineAgent_isRedefined(JNIEnv * jni,  jobject obj) {
 
     if (redefineSucceed == NSK_TRUE) {
         return JNI_TRUE;
@@ -582,8 +580,8 @@
  * This jni method is a Java wrapper for agent status.
  */
 JNIEXPORT jboolean JNICALL
-Java_nsk_share_jvmti_RedefineAgent_agentStatus(JNIEnv * jni,  jobject obj ) {
-    if ( agentFailed == NSK_TRUE) {
+Java_nsk_share_jvmti_RedefineAgent_agentStatus(JNIEnv * jni,  jobject obj) {
+    if (agentFailed == NSK_TRUE) {
         return JNI_FALSE;
     } else {
         return JNI_TRUE;
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_utils.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/native_utils.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -22,7 +22,7 @@
  */
 #include <stdio.h>
 
-#if (defined(WIN32) || defined (_WIN32) )
+#if (defined(WIN32) || defined (_WIN32))
 #include <process.h>
 #define getpid _getpid
 #define pidType int
--- a/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/share/native/nsk_tools.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -133,11 +133,11 @@
     char msg_buf[1024];
     nsk_context.nComplains++;
     if (!nsk_context.verbose) {
-        if ( nsk_context.nComplains > NSK_MAX_COMPLAINS_NON_VERBOSE ) {
+        if (nsk_context.nComplains > NSK_MAX_COMPLAINS_NON_VERBOSE) {
             return;
         }
 
-        if ( nsk_context.nComplains == NSK_MAX_COMPLAINS_NON_VERBOSE ) {
+        if (nsk_context.nComplains == NSK_MAX_COMPLAINS_NON_VERBOSE) {
             nsk_printf("# ...\n"
                        "# ERROR: too many complains, giving up to save disk space (CR 6341460)\n"
                        "# Please rerun the test with -verbose option to listen to the entire song\n");
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/jnihelper.h	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/jnihelper.h	Thu Nov 01 09:01:15 2018 -0400
@@ -21,6 +21,16 @@
  * questions.
  */
 
+#include <stdlib.h>
+
+// checked malloc to trap OOM conditions
+static void* c_malloc(JNIEnv* env, size_t size) {
+  void* ret = malloc(size);
+  if (ret == NULL)
+    env->FatalError("malloc failed");
+  return ret;
+}
+
 // Asserts every exception as fatal one
 #define CE {\
     if (env->ExceptionOccurred())\
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress001.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -66,11 +66,11 @@
 
     env->MonitorEnter(jobj); CE
     if (!allocs) {
-        element = (CHAR_ARRAY *)malloc(sizeof(CHAR_ARRAY));
-        element->str = (const char **)malloc(nstr*sizeof(const char *));
-        element->checkstr = (char **)malloc(nstr*sizeof(char *));
+        element = (CHAR_ARRAY *)c_malloc(env, sizeof(CHAR_ARRAY));
+        element->str = (const char **)c_malloc(env, nstr*sizeof(const char *));
+        element->checkstr = (char **)c_malloc(env, nstr*sizeof(char *));
         for (j=0;j<nstr;j++)
-            element->checkstr[j] = (char *)malloc(DIGESTLENGTH*sizeof(char));
+            element->checkstr[j] = (char *)c_malloc(env, DIGESTLENGTH*sizeof(char));
     }
     for(j=0;j<DIGESTLENGTH;j++) {
         digest[j]=0;
@@ -148,6 +148,7 @@
     static long len=0;
     static unsigned int equal=1;
     char *elem;
+    int elem_len = -1;
 
     const char *clsName = "nsk/stress/jni/JNIter001";
     const char *name="setpass";
@@ -160,30 +161,32 @@
 
     env->MonitorEnter(jobj); CE
     if (!index) {
-        javachars = (JCHAR_ARRAY *)malloc(sizeof(JCHAR_ARRAY));
-        javachars->str = (const jchar **)malloc(nstr*sizeof(const jchar *));
-        javachars->checkstr = (char **)malloc(nstr*sizeof(char *));
-        javachars->size = (int *)malloc(nstr*sizeof(int));
+        javachars = (JCHAR_ARRAY *)c_malloc(env, sizeof(JCHAR_ARRAY));
+        javachars->str = (const jchar **)c_malloc(env, nstr*sizeof(const jchar *));
+        javachars->checkstr = (char **)c_malloc(env, nstr*sizeof(char *));
+        javachars->size = (int *)c_malloc(env, nstr*sizeof(int));
         for (j=0;j<nstr;j++)
-            javachars->checkstr[j] = (char *)malloc(DIGESTLENGTH*sizeof(char));
+            javachars->checkstr[j] = (char *)c_malloc(env, DIGESTLENGTH*sizeof(char));
     }
     for(j=0;j<DIGESTLENGTH;j++) {
         digest[j]=0;
     }
     javachars->str[index] = env->GetStringChars(jstr,0); CE
     javachars->size[index] = env->GetStringUTFLength(jstr); CE
-    len += javachars->size[index];
-    elem = (char*) malloc(javachars->size[index]*sizeof(char));
-    for (j=0; j < javachars->size[index]; j++) {
+    elem_len = javachars->size[index];
+    len += elem_len;
+    elem = (char*) c_malloc(env, elem_len*sizeof(char));
+    for (j=0; j < elem_len; j++) {
         elem[j] = (char) javachars->str[index][j];
     }
+
     //memcpy(digest, elem, javachars->size[index]);
-    for(j=0;j<javachars->size[index]; j++) {
+    for(j=0;j<elem_len; j++) {
         digest[j % DIGESTLENGTH]+=elem[j];
     }
     memcpy(javachars->checkstr[index++],digest,DIGESTLENGTH);
     if (index%printperiod==0) {
-        printf("Check string sum for thread %s is ",elem);
+        printf("Check string sum for thread %.*s is ", elem_len, elem);
         for (j=0;j<DIGESTLENGTH;j++)
             printf("%02x", digest[j]);
         printf("\n");
@@ -191,9 +194,9 @@
     free(elem);
     if (index==nstr) {
         printf("JNI Unicode strings memory=%ld\n",len);
-        tmpstr=env->NewString(javachars->str[index-1],javachars->size[index-1]); CE
+        tmpstr=env->NewString(javachars->str[index-1],elem_len); CE
         for (j=0; j<nstr; j++) {
-            elem = (char*) malloc(javachars->size[j]*sizeof(char));
+            elem = (char*) c_malloc(env, javachars->size[j]*sizeof(char));
             for (i=0; i < javachars->size[j]; i++) {
                 elem[i] = (char) javachars->str[j][i];
             }
@@ -237,7 +240,7 @@
         return(tmpstr);
     }
     env->MonitorExit(jobj); CE
-    return(env->NewString(javachars->str[index-1],javachars->size[index-1]));
+    return(env->NewString(javachars->str[index-1],elem_len));
 }
 
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/jni/libjnistress007.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -35,14 +35,14 @@
     const char *str = env->GetStringUTFChars(name, 0); CE
 
     if (env->MonitorEnter(jobj))
-    printf("Error in monitor lock\n");
+        printf("Error in monitor lock\n");
     clazz = env->GetObjectClass(jobj); CE
     fld = env->GetStaticFieldID(clazz, "nativeCount", "I"); CE
     value = env->GetStaticIntField(clazz, fld); CE
     env->SetStaticIntField(clazz, fld, (jint)(++value)); CE
     env->MonitorExit(jobj); CE
-    if (value%1000 == 0 )
-    printf("in %s Count after %u\n", str, value);
+    if (value % 1000 == 0)
+        printf("in %s Count after %u\n", str, value);
 }
 
 }
--- a/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/nsk/stress/strace/strace011.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -75,7 +75,7 @@
         alltime = 0;
         GET_STATIC_BOOL_FIELD(isLocked, testClass, "isLocked");
 
-        while ( isLocked != JNI_TRUE )
+        while (isLocked != JNI_TRUE)
         {
             MONITOR_ENTER(testField);
             CALL_VOID(testField, threadClass, "wait", Slongparam, 1LL);
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/share/IndyRedefineClass.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -75,35 +75,35 @@
     NSK_DISPLAY1("Single step event fired? %i\n", gIsSingleStepWorking);
         NSK_DISPLAY0("The following value should be zero for test to pass:\n");
     NSK_DISPLAY1("Any other error occured? %i\n", gIsErrorOccured);
-    return gIsMethodEntryWorking && gIsSingleStepWorking && ! gIsErrorOccured;
+    return gIsMethodEntryWorking && gIsSingleStepWorking && !gIsErrorOccured;
 }
 
 static void popFrameLogic(jvmtiEnv * jvmti_env, jthread thread) {
 
     TLSStruct * tls = (TLSStruct *) getTLS(jvmti_env, thread, sizeof(TLSStruct));
 
-    if ( ! tls )
+    if (!tls)
         return;
 
-    if ( tls->countOfFramesToPop <= 0 ) {
+    if (tls->countOfFramesToPop <= 0) {
 
         NSK_DISPLAY0("Disabling single step\n");
-        if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) )
+        if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)))
             gIsErrorOccured = JNI_TRUE;
 
     } else {
 
         NSK_DISPLAY0("Enabling single step\n");
-        if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)) )
+        if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL)))
             gIsErrorOccured = JNI_TRUE;
 
-        if ( tls->countOfFramesToPop == 1 ) {
+        if (tls->countOfFramesToPop == 1) {
             NSK_DISPLAY0("Popping a frame\n");
-            if ( ! NSK_JVMTI_VERIFY(jvmti_env->PopFrame(thread)) )
+            if (!NSK_JVMTI_VERIFY(jvmti_env->PopFrame(thread)))
                 gIsErrorOccured = JNI_TRUE;
         } else {
             NSK_DISPLAY0("Forcing early return\n");
-            if ( ! NSK_JVMTI_VERIFY(jvmti_env->ForceEarlyReturnVoid(thread)) )
+            if (!NSK_JVMTI_VERIFY(jvmti_env->ForceEarlyReturnVoid(thread)))
                 gIsErrorOccured = JNI_TRUE;
         }
 
@@ -123,10 +123,10 @@
 
     gIsMethodEntryWorking = JNI_TRUE;
     mn = getMethodName(jvmti_env, method);
-    if ( ! mn )
+    if (!mn)
         return;
 
-    if ( strcmp(mn->methodName, gszRedefineTriggerMethodName) != 0 ) {
+    if (strcmp(mn->methodName, gszRedefineTriggerMethodName) != 0) {
         free(mn);
         return;
     }
@@ -134,17 +134,17 @@
     NSK_DISPLAY2("Entering redefine tigger method: %s.%s\n", mn->classSig, mn->methodName);
     free(mn); mn = NULL;
 
-    if ( gIsClassRedefined ) {
+    if (gIsClassRedefined) {
         NSK_DISPLAY0("Class is already redefined.\n");
         return;
     }
 
     NSK_DISPLAY1("Redefining class %s\n", gszRedefinedClassFileName);
 
-    if ( ! NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &clazz)) )
+    if (!NSK_JVMTI_VERIFY(jvmti_env->GetMethodDeclaringClass(method, &clazz)))
         return;
 
-    if ( ! NSK_VERIFY(nsk_jvmti_redefineClass(jvmti_env, clazz, gszRedefinedClassFileName)) ) {
+    if (!NSK_VERIFY(nsk_jvmti_redefineClass(jvmti_env, clazz, gszRedefinedClassFileName))) {
         gIsErrorOccured = JNI_TRUE;
         return;
     }
@@ -183,13 +183,13 @@
     jvmtiEventCallbacks callbacks;
     jvmtiCapabilities caps;
 
-    if ( ! NSK_VERIFY(nsk_jvmti_parseOptions(options)) )
+    if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
         return JNI_ERR;
 
-    if ( ! NSK_VERIFY((gJvmtiEnv = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL) )
+    if (!NSK_VERIFY((gJvmtiEnv = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
         return JNI_ERR;
 
-    if ( nsk_jvmti_findOptionValue("debuggerCompatible") ) {
+    if (nsk_jvmti_findOptionValue("debuggerCompatible")) {
         gIsDebuggerCompatible = JNI_TRUE;
     }
 
@@ -200,20 +200,20 @@
     caps.can_force_early_return = 1;
     caps.can_redefine_classes = 1;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)))
         return JNI_ERR;
 
     memset(&callbacks, 0, sizeof(callbacks));
     callbacks.MethodEntry = &MethodEntry;
     callbacks.SingleStep = &SingleStep;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))))
             return JNI_ERR;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
             return JNI_ERR;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL) ) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL)))
             return JNI_ERR;
 
     return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/indy/func/jvmti/stepBreakPopReturn/stepBreakPopReturn.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -63,7 +63,7 @@
     NSK_DISPLAY0("The following values should be non-zero for test to pass:\n");
     NSK_DISPLAY1("Method entry event fired? %i\n", gIsMethodEntryWorking);
     NSK_DISPLAY1("Single step event fired? %i\n", gIsSingleStepWorking);
-    if ( ! gIsDebuggerCompatible )
+    if (!gIsDebuggerCompatible)
         NSK_DISPLAY1("Breakpoint event fired? %i\n", gIsBreakpointWorking);
 
     return gIsMethodEntryWorking && !gErrorHappened && gIsSingleStepWorking
@@ -79,16 +79,16 @@
     struct MethodName * mn;
 
     mn = getMethodName(jvmti_env, method);
-    if ( ! mn )
+    if (!mn)
         return;
 
-    if ( strcmp(mn->classSig, gszDebuggeeClassName) == 0 ) {
+    if (strcmp(mn->classSig, gszDebuggeeClassName) == 0) {
         NSK_DISPLAY2("Entering method: %s.%s\n", mn->classSig, mn->methodName);
 
-        if ( strcmp(mn->methodName, gszDebuggeeMethodName) == 0 ) {
+        if (strcmp(mn->methodName, gszDebuggeeMethodName) == 0) {
             gIsMethodEntryWorking = JNI_TRUE;
 
-            if ( ! gIsBreakpointSet )
+            if (!gIsBreakpointSet)
                 NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_SINGLE_STEP, NULL));
         }
     }
@@ -118,8 +118,8 @@
 
     NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_SINGLE_STEP, NULL));
 
-    if ( ! gIsDebuggerCompatible ) {
-        if ( ! NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(method, location)) )
+    if (!gIsDebuggerCompatible) {
+        if (!NSK_JVMTI_VERIFY(jvmti_env->SetBreakpoint(method, location)))
             return;
 
         NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_BREAKPOINT, NULL));
@@ -128,7 +128,7 @@
         NSK_DISPLAY0("Pop a frame\n");
         NSK_JVMTI_VERIFY(gJvmtiEnv->PopFrame(thread));
     } else {
-        if ( gIsFirstCall ) {
+        if (gIsFirstCall) {
             NSK_DISPLAY0("Pop a frame\n");
             NSK_JVMTI_VERIFY(gJvmtiEnv->PopFrame(thread));
             gIsFirstCall = JNI_FALSE;
@@ -170,24 +170,24 @@
     jvmtiEventCallbacks callbacks;
     jvmtiCapabilities caps;
 
-    if ( ! NSK_VERIFY(nsk_jvmti_parseOptions(options)) )
+    if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
         return JNI_ERR;
 
-    if ( ! NSK_VERIFY((gJvmtiEnv = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL) )
+    if (!NSK_VERIFY((gJvmtiEnv = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
         return JNI_ERR;
 
-    if ( nsk_jvmti_findOptionValue("debuggerCompatible") ) {
+    if (nsk_jvmti_findOptionValue("debuggerCompatible")) {
         gIsDebuggerCompatible = JNI_TRUE;
     }
 
     memset(&caps, 0, sizeof(caps));
     caps.can_generate_method_entry_events = 1;
     caps.can_generate_single_step_events = 1;
-    caps.can_generate_breakpoint_events = ! gIsDebuggerCompatible;
+    caps.can_generate_breakpoint_events = !gIsDebuggerCompatible;
     caps.can_pop_frame = 1;
     caps.can_force_early_return = 1;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->AddCapabilities(&caps)))
         return JNI_ERR;
 
     memset(&callbacks, 0, sizeof(callbacks));
@@ -195,10 +195,10 @@
     callbacks.SingleStep = &SingleStep;
     callbacks.Breakpoint = &Breakpoint;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventCallbacks(&callbacks, sizeof(callbacks))))
         return JNI_ERR;
 
-    if ( ! NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL) ) )
+    if (!NSK_JVMTI_VERIFY(gJvmtiEnv->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_METHOD_ENTRY, NULL)))
         return JNI_ERR;
 
     return JNI_OK;
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/nativeAndMH.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/nativeAndMH.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -48,10 +48,10 @@
     jobjectArray arguments;
     jobject result;
 
-    if ( ! NSK_JNI_VERIFY(pEnv, (mhClass = pEnv->GetObjectClass(mhToCall)) != NULL) )
+    if (!NSK_JNI_VERIFY(pEnv, (mhClass = pEnv->GetObjectClass(mhToCall)) != NULL))
         return NULL;
 
-    if ( ! NSK_JNI_VERIFY(pEnv, NULL != (mid = pEnv->GetMethodID(mhClass, "invokeWithArguments", "([Ljava/lang/Object;)Ljava/lang/Object;"))) )
+    if (!NSK_JNI_VERIFY(pEnv, NULL != (mid = pEnv->GetMethodID(mhClass, "invokeWithArguments", "([Ljava/lang/Object;)Ljava/lang/Object;"))))
         return NULL;
 
     NSK_JNI_VERIFY(pEnv, NULL != (objectClass = pEnv->FindClass("java/lang/Object")));
--- a/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/mlvm/share/mlvmJvmtiUtils.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -36,7 +36,7 @@
     const char * pStr;
         jsize len;
 
-    if ( ! NSK_VERIFY((pStr = pEnv->GetStringUTFChars(src, NULL)) != NULL) ) {
+    if (!NSK_VERIFY((pStr = pEnv->GetStringUTFChars(src, NULL)) != NULL)) {
         return;
     }
 
@@ -53,16 +53,16 @@
     jclass clazz;
     struct MethodName * mn;
 
-    if ( ! NSK_JVMTI_VERIFY(pJvmtiEnv->GetMethodName(method, &szName, NULL, NULL)) ) {
+    if (!NSK_JVMTI_VERIFY(pJvmtiEnv->GetMethodName(method, &szName, NULL, NULL))) {
         return NULL;
     }
 
-    if ( ! NSK_JVMTI_VERIFY(pJvmtiEnv->GetMethodDeclaringClass(method, &clazz)) ) {
+    if (!NSK_JVMTI_VERIFY(pJvmtiEnv->GetMethodDeclaringClass(method, &clazz))) {
         NSK_JVMTI_VERIFY(pJvmtiEnv->Deallocate((unsigned char*) szName));
         return NULL;
     }
 
-    if ( ! NSK_JVMTI_VERIFY(pJvmtiEnv->GetClassSignature(clazz, &szSignature, NULL)) ) {
+    if (!NSK_JVMTI_VERIFY(pJvmtiEnv->GetClassSignature(clazz, &szSignature, NULL))) {
         NSK_JVMTI_VERIFY(pJvmtiEnv->Deallocate((unsigned char*) szName));
         return NULL;
     }
@@ -83,7 +83,7 @@
     const char * const format = "%s .%s :" JLONG_FORMAT;
 
     pMN = getMethodName(pJvmtiEnv, method);
-    if ( ! pMN )
+    if (!pMN)
         return strdup("NONE");
 
     len = snprintf(NULL, 0, format, pMN->classSig, pMN->methodName, location) + 1;
@@ -107,16 +107,16 @@
 
 void * getTLS(jvmtiEnv * pJvmtiEnv, jthread thread, jsize sizeToAllocate) {
     void * tls;
-    if ( ! NSK_JVMTI_VERIFY(pJvmtiEnv->GetThreadLocalStorage(thread, &tls)) )
+    if (!NSK_JVMTI_VERIFY(pJvmtiEnv->GetThreadLocalStorage(thread, &tls)))
         return NULL;
 
-    if ( ! tls) {
-        if ( ! NSK_VERIFY((tls = malloc(sizeToAllocate)) != NULL) )
+    if (!tls) {
+        if (!NSK_VERIFY((tls = malloc(sizeToAllocate)) != NULL))
             return NULL;
 
         memset(tls, 0, sizeToAllocate);
 
-        if ( ! NSK_JVMTI_VERIFY(pJvmtiEnv->SetThreadLocalStorage(thread, tls)) )
+        if (!NSK_JVMTI_VERIFY(pJvmtiEnv->SetThreadLocalStorage(thread, tls)))
             return NULL;
     }
 
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/README	Thu Nov 01 09:01:15 2018 -0400
@@ -131,7 +131,7 @@
     where
 
         majorVer - major version of class files for generated concrete classes
-            values: ver49, ver50, ver51, ver52
+            values: ver49, ver52
 
         methodFlags - additional access flags for methods in generated classes
             values:
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Basic_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.BasicTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/ConflictingDefaults_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.ConflictingDefaultsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/DefaultVsAbstract_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.DefaultVsAbstractTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/MethodResolution_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.MethodResolutionTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/PrivateMethods_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.PrivateMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/Redefine_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.RedefineTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v50_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 50
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_none_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 0
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_strict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2048
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_sync_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 32
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_direct_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode direct
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_invoke_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode invoke
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_noredefine.
- * VM Testbase keywords: [defmeth, jdk8, quick]
- *
- * @library /vmTestbase /test/lib
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm
- *      -XX:+IgnoreUnrecognizedVMOptions
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine/TestDescription.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-/*
- * @test
- * @modules java.base/jdk.internal.org.objectweb.asm:+open java.base/jdk.internal.org.objectweb.asm.util:+open
- *
- * @summary converted from VM Testbase vm/runtime/defmeth/scenarios/StaticMethods_v51_syncstrict_reflect_redefine.
- * VM Testbase keywords: [defmeth, jdk8, jdk_instrument, quick]
- *
- * @library /vmTestbase /test/lib
- *
- * @comment build retransform.jar in current dir
- * @run driver vm.runtime.defmeth.shared.BuildJar
- *
- * @run driver jdk.test.lib.FileInstaller . .
- * @run main/othervm/native
- *      -agentlib:redefineClasses
- *      -javaagent:retransform.jar
- *      vm.runtime.defmeth.StaticMethodsTest
- *      -ver 51
- *      -flags 2080
- *      -redefine
- *      -retransform
- *      -mode reflect
- */
-
--- a/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
-1;2c * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -332,7 +332,7 @@
                                 e.printStackTrace();
                             }
                         }
-
+                        addFailureCount(1);
                         if (failFast) {
                             throw new TestFailure(e.getCause());
                         }
--- a/test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/hotspot/jtreg/vmTestbase/vm/share/ProcessUtils.cpp	Thu Nov 01 09:01:15 2018 -0400
@@ -102,7 +102,7 @@
 }
 
 #ifdef _WIN32
-static BOOL  (WINAPI *_MiniDumpWriteDump)  ( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
+static BOOL  (WINAPI *_MiniDumpWriteDump)  (HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
                                             PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION);
 void reportLastError(const char *msg) {
         long errcode = GetLastError();
@@ -171,9 +171,10 @@
                 return JNI_FALSE;
         }
 
-        _MiniDumpWriteDump = (
-                        BOOL(WINAPI *)( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
-                                PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION)) GetProcAddress(dbghelp, "MiniDumpWriteDump");
+        _MiniDumpWriteDump =
+                        (BOOL(WINAPI *)(HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION,
+                                        PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION))
+                                        GetProcAddress(dbghelp, "MiniDumpWriteDump");
 
         if (_MiniDumpWriteDump == NULL) {
                 printf("Failed to find MiniDumpWriteDump() in module dbghelp.dll");
--- a/test/jdk/ProblemList.txt	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/ProblemList.txt	Thu Nov 01 09:01:15 2018 -0400
@@ -758,7 +758,6 @@
 javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java 8194048 windows-all
 javax/swing/text/JTextComponent/5074573/bug5074573.java 8196100 windows-all
 javax/swing/JFileChooser/6798062/bug6798062.java 8146446 windows-all
-javax/swing/plaf/basic/BasicGraphicsUtils/8132119/bug8132119.java 8196434 linux-all,solaris-all
 javax/swing/JComboBox/8032878/bug8032878.java 8196439 linux-all
 javax/swing/JComboBox/8182031/ComboPopupTest.java 8196465 linux-all,macosx-all
 javax/swing/JFileChooser/6738668/bug6738668.java 8194946 generic-all
@@ -808,7 +807,6 @@
 javax/swing/text/html/parser/Parser/8078268/bug8078268.java 8199092 generic-all
 javax/swing/PopupFactory/8048506/bug8048506.java 8202660 windows-all
 javax/swing/JTextArea/TextViewOOM/TextViewOOM.java 8167355 generic-all
-javax/swing/JEditorPane/8195095/ImageViewTest.java 8202656 windows-all
 javax/swing/text/Utilities/8142966/SwingFontMetricsTest.java 8199529 windows-all
 javax/swing/JPopupMenu/8075063/ContextMenuScrollTest.java 202880 linux-all
 javax/swing/dnd/8139050/NativeErrorsInTableDnD.java 8202765  macosx-all,linux-all
@@ -876,14 +874,6 @@
 
 ############################################################################
 
-###########################################################################
-#
-# Java EE Module Removal
-#
-com/sun/jdi/RedefineCrossEvent.java                             8194308    generic-all  Java EE Module Removal
-
-############################################################################
-
 # jdk_jfr
 
 jdk/jfr/event/io/TestInstrumentation.java                       8202142    generic-all
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/java/swing/plaf/windows/AltFocusIssueTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 8211987
+   @requires (os.family == "windows")
+   @summary Verify if Menu bar gets input focus even if Alt-released event is consumed.
+   @modules java.desktop/com.sun.java.swing.plaf.windows
+   @run main AltFocusIssueTest
+*/
+
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.lang.reflect.InvocationTargetException;
+import java.awt.Robot;
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/**
+ * Try to demonstrate the wrong behavior
+ */
+public class AltFocusIssueTest {
+
+    /**
+     * Menu inside menu bar of the frame
+     */
+    private static JMenu menu;
+
+    /**
+     * Text area to test on.
+     */
+    private static JTextArea ta;
+
+    private static JFrame frame;
+
+    /**
+     * Test that the text area loses input focus although Alt-released event is consumed.
+     *
+     * @throws InterruptedException
+     * @throws InvocationTargetException
+     */
+    public static void testAltEvents() throws Exception {
+        Robot robot = new Robot();
+        SwingUtilities.invokeAndWait(() -> {
+            try {
+                createUI();
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        });
+        robot.waitForIdle();
+        SwingUtilities.invokeAndWait(() -> ta.requestFocusInWindow());
+        robot.waitForIdle();
+        if (!ta.isFocusOwner()) {
+            throw new RuntimeException("textarea should have input focus");
+        }
+        if (menu.isSelected()) {
+            throw new RuntimeException("menu is selected...");
+        }
+
+        // Simulate an Alt-typed event
+        robot.keyPress(KeyEvent.VK_ALT);
+        robot.keyRelease(KeyEvent.VK_ALT);
+        robot.waitForIdle();
+
+        // Since the event is consumed, I expect the input focus to be in the text area
+        if (!ta.isFocusOwner()) {
+            throw new RuntimeException("textarea should still have input focus");
+        }
+        // OR
+        if (SwingUtilities.getRootPane(ta).isFocusOwner()) {
+            throw new RuntimeException("Focus should not be changed from the text area");
+        }
+        // OR
+        if (menu.isSelected()) {
+            throw new RuntimeException("Menu must not be selected");
+        }
+    }
+
+    /**
+     * Builds UI to test.
+     *
+     */
+    private static void createUI() throws Exception {
+        // Install Windows L&F
+        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+
+        frame = new JFrame();
+        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
+        JMenuBar menuBar = new JMenuBar();
+        frame.setJMenuBar(menuBar);
+
+        menu = new JMenu("Menu");
+        menu.add(new JMenuItem("Menu item"));
+        menuBar.add(menu);
+
+        ta = new JTextArea();
+        frame.getContentPane().add(ta);
+
+        ta.addKeyListener( new KeyAdapter() {
+            @Override
+            public void keyReleased(KeyEvent e) {
+                if (e.getKeyCode() == KeyEvent.VK_ALT) {
+                    /*
+                     * This is where I need to do special handling of the Alt-released event.
+                     * After, nobody else must react to this event, thus I consume it.
+                     */
+                    e.consume();
+                }
+            }
+        });
+
+        frame.setSize(400, 300);
+        frame.setVisible(true);
+    }
+
+    public static void main(String[] args) throws Exception {
+        try {
+            testAltEvents();
+        } finally {
+            SwingUtilities.invokeAndWait(() -> frame.dispose());
+        }
+    }
+}
--- a/test/jdk/com/sun/jdi/ExclusiveBind.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/ExclusiveBind.java	Thu Nov 01 09:01:15 2018 -0400
@@ -27,113 +27,39 @@
  *          at the same time.
  * @library /test/lib
  *
- * @modules java.management
- *          jdk.jdi
- * @build VMConnection ExclusiveBind HelloWorld
+ * @build ExclusiveBind HelloWorld
  * @run driver ExclusiveBind
  */
-import java.net.ServerSocket;
-import com.sun.jdi.Bootstrap;
-import com.sun.jdi.VirtualMachine;
-import com.sun.jdi.connect.Connector;
-import com.sun.jdi.connect.AttachingConnector;
-
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
-import java.util.concurrent.TimeUnit;
 
 import jdk.test.lib.process.ProcessTools;
-import jdk.test.lib.Utils;
+import lib.jdb.Debuggee;
 
 public class ExclusiveBind {
     /*
-     * Find a connector by name
-     */
-    private static Connector findConnector(String name) {
-        List connectors = Bootstrap.virtualMachineManager().allConnectors();
-        Iterator iter = connectors.iterator();
-        while (iter.hasNext()) {
-            Connector connector = (Connector)iter.next();
-            if (connector.name().equals(name)) {
-                return connector;
-            }
-        }
-        return null;
-    }
-
-    /*
-     * Launch (in server mode) a debuggee with the given address and
-     * suspend mode.
-     */
-    private static ProcessBuilder prepareLauncher(String address, boolean suspend, String class_name) throws Exception {
-        List<String> args = new ArrayList<>();
-        for(String dbgOption : VMConnection.getDebuggeeVMOptions().split(" ")) {
-            if (!dbgOption.trim().isEmpty()) {
-                args.add(dbgOption);
-            }
-        }
-        String lib = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=";
-        if (suspend) {
-            lib += "y";
-        } else {
-            lib += "n";
-        }
-        lib += ",address=" + address;
-
-        args.add(lib);
-        args.add(class_name);
-
-        return ProcessTools.createJavaProcessBuilder(args.toArray(new String[args.size()]));
-    }
-
-    /*
-     * - pick a TCP port
-     * - Launch a debuggee in server=y,suspend=y,address=${port}
-     * - Launch a second debuggee in server=y,suspend=n with the same port
+     * - Launch a debuggee with server=y,suspend=y
+     * - Parse listening port
+     * - Launch a second debuggee in server=y,suspend=n with the parsed port
      * - Second debuggee should fail with an error (address already in use)
      * - For clean-up we attach to the first debuggee and resume it.
      */
     public static void main(String args[]) throws Exception {
-        // find a free port
-        ServerSocket ss = new ServerSocket(0);
-        int port = ss.getLocalPort();
-        ss.close();
-
-        String address = String.valueOf(port);
-
         // launch the first debuggee
-        ProcessBuilder process1 = prepareLauncher(address, true, "HelloWorld");
-        // start the debuggee and wait for the "ready" message
-        Process p = ProcessTools.startProcess(
-                "process1",
-                process1,
-                line -> line.equals("Listening for transport dt_socket at address: " + address),
-                Utils.adjustTimeout(5000),
-                TimeUnit.MILLISECONDS
-        );
+        try (Debuggee process1 = Debuggee.launcher("HelloWorld").launch("process1")) {
+            // launch a second debuggee with the same address
+            ProcessBuilder process2 = Debuggee.launcher("HelloWorld")
+                    .setSuspended(false)
+                    .setAddress(process1.getAddress())
+                    .prepare();
 
-        // launch a second debuggee with the same address
-        ProcessBuilder process2 = prepareLauncher(address, false, "HelloWorld");
-
-        // get exit status from second debuggee
-        int exitCode = ProcessTools.startProcess("process2", process2).waitFor();
+            // get exit status from second debuggee
+            int exitCode = ProcessTools.startProcess("process2", process2).waitFor();
 
-        // clean-up - attach to first debuggee and resume it
-        AttachingConnector conn = (AttachingConnector)findConnector("com.sun.jdi.SocketAttach");
-        Map conn_args = conn.defaultArguments();
-        Connector.IntegerArgument port_arg =
-            (Connector.IntegerArgument)conn_args.get("port");
-        port_arg.setValue(port);
-        VirtualMachine vm = conn.attach(conn_args);
-        vm.resume();
-
-        // if the second debuggee ran to completion then we've got a problem
-        if (exitCode == 0) {
-            throw new RuntimeException("Test failed - second debuggee didn't fail to bind");
-        } else {
-            System.out.println("Test passed - second debuggee correctly failed to bind");
+            // if the second debuggee ran to completion then we've got a problem
+            if (exitCode == 0) {
+                throw new RuntimeException("Test failed - second debuggee didn't fail to bind");
+            } else {
+                System.out.println("Test passed - second debuggee correctly failed to bind");
+            }
         }
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/JdbStopThreadTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8211736
+ * @summary Tests that the breakpoint location and prompt are printed in the debugger output
+ * when breakpoint is hit and suspend policy is set to SUSPEND_EVENT_THREAD or SUSPEND_NONE
+ *
+ * @library /test/lib
+ * @run compile -g JdbStopThreadTest.java
+ * @run main/othervm JdbStopThreadTest
+ */
+
+import jdk.test.lib.process.OutputAnalyzer;
+import lib.jdb.JdbCommand;
+import lib.jdb.JdbTest;
+
+class JdbStopThreadTestTarg {
+    public static void main(String[] args) {
+        test();
+    }
+
+    private static void test() {
+        Thread thread = Thread.currentThread();
+        print(thread); // @1 breakpoint
+        String str = "test";
+        print(str); // @2 breakpoint
+    }
+
+    public static void print(Object obj) {
+        System.out.println(obj);
+    }
+}
+
+public class JdbStopThreadTest extends JdbTest {
+    public static void main(String argv[]) {
+        new JdbStopThreadTest().run();
+    }
+
+    private JdbStopThreadTest() {
+        super(DEBUGGEE_CLASS);
+    }
+
+    private static final String DEBUGGEE_CLASS = JdbStopThreadTestTarg.class.getName();
+    private static final String PATTERN1_TEMPLATE = "^Breakpoint hit: \"thread=main\", " +
+            "JdbStopThreadTestTarg\\.test\\(\\), line=%LINE_NUMBER.*\\R%LINE_NUMBER\\s+print\\(thread\\);.*\\R>\\s";
+    private static final String PATTERN2_TEMPLATE = "^Breakpoint hit: \"thread=main\", " +
+            "JdbStopThreadTestTarg\\.test\\(\\), line=%LINE_NUMBER.*\\R%LINE_NUMBER\\s+print\\(str\\);.*\\R>\\s";
+
+    @Override
+    protected void runCases() {
+        // Test suspend policy SUSPEND_EVENT_THREAD
+        int bpLine1 = parseBreakpoints(getTestSourcePath("JdbStopThreadTest.java"), 1).get(0);
+        jdb.command(JdbCommand.stopThreadAt(DEBUGGEE_CLASS, bpLine1));
+        String pattern1 = PATTERN1_TEMPLATE.replaceAll("%LINE_NUMBER", String.valueOf(bpLine1));
+        // Run to breakpoint #1
+        jdb.command(JdbCommand.run().waitForPrompt(pattern1, true));
+        new OutputAnalyzer(jdb.getJdbOutput()).shouldMatch(pattern1);
+
+
+        // Test suspend policy SUSPEND_NONE
+        jdb.command(JdbCommand.thread(1));
+        int bpLine2 = parseBreakpoints(getTestSourcePath("JdbStopThreadTest.java"), 2).get(0);
+        jdb.command(JdbCommand.stopGoAt(DEBUGGEE_CLASS, bpLine2));
+        String pattern2 = PATTERN2_TEMPLATE.replaceAll("%LINE_NUMBER", String.valueOf(bpLine2));
+        jdb.command(JdbCommand.cont().allowExit());
+        new OutputAnalyzer(jdb.getJdbOutput()).shouldMatch(pattern2);
+    }
+}
--- a/test/jdk/com/sun/jdi/RedefineCrossEvent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/RedefineCrossEvent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,9 +27,6 @@
  * @summary Test class redefinition at each event cross tested with other tests
  * @author Robert Field
  *
- * @modules java.corba
- *          jdk.jdi
- *
  * @run build TestScaffold VMConnection TargetAdapter TargetListener
  * @run compile -g AccessSpecifierTest.java
  * @run compile -g AfterThreadDeathTest.java
--- a/test/jdk/com/sun/jdi/TestScaffold.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/TestScaffold.java	Thu Nov 01 09:01:15 2018 -0400
@@ -542,7 +542,9 @@
                                 redefine(mainStartClass);
                             }
                         } else {
-                            redefine(rt);
+                            if (!name.startsWith("jdk.")) {
+                                redefine(rt);
+                            }
                         }
                     }
                 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/com/sun/jdi/lib/jdb/Debuggee.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package lib.jdb;
+
+import jdk.test.lib.Utils;
+import jdk.test.lib.process.ProcessTools;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+/**
+ * Helper class to run java debuggee and parse agent listening transport/address.
+ * Usage:
+ *   1)
+ *      Debugee debugee = Debuggee.launcher("MyClass").setTransport("dt_shmem").launch();
+ *      try {
+ *          String transport = debuggee.getTransport();
+ *          String addr = debuggee.getAddress();
+ *      } finally {
+ *          debuggee.shutdown();
+ *      }
+ *   2) (using try-with-resource)
+ *      try (Debugee debugee = Debuggee.launcher("MyClass").launch()) {
+ *          String transport = debuggee.getTransport();
+ *          String addr = debuggee.getAddress();
+ *      }
+ *   3)
+ *      ProcessBuilder pb = Debuggee.launcher("MyClass").setSuspended(false).prepare();
+ *      ProcessTools.executeProcess(pb);
+ */
+public class Debuggee implements Closeable {
+
+    public static Launcher launcher(String mainClass) {
+        return new Launcher(mainClass);
+    }
+
+    public static class Launcher {
+        private final String mainClass;
+        private final List<String> options = new LinkedList<>();
+        private String transport = "dt_socket";
+        private String address = null;
+        private boolean suspended = true;
+        private boolean addTestVmAndJavaOptions = true;
+
+        private Launcher(String mainClass) {
+            this.mainClass = mainClass;
+        }
+        public Launcher addOption(String option) {
+            options.add(option);
+            return this;
+        }
+        public Launcher addOptions(List<String> options) {
+            this.options.addAll(options);
+            return this;
+        }
+        // default is "dt_socket"
+        public Launcher setTransport(String value) {
+            transport = value;
+            return this;
+        }
+        // default is "null" (auto-generate)
+        public Launcher setAddress(String value) {
+            address = value;
+            return this;
+        }
+        // default is "true"
+        public Launcher setSuspended(boolean value) {
+            suspended = value;
+            return this;
+        }
+        // default is "true"
+        public Launcher addTestVmAndJavaOptions(boolean value) {
+            addTestVmAndJavaOptions = value;
+            return this;
+        }
+
+        public ProcessBuilder prepare() {
+            List<String> debuggeeArgs = new LinkedList<>();
+            debuggeeArgs.add("-agentlib:jdwp=transport=" + transport
+                    + (address == null ? "" : ",address=" + address)
+                    + ",server=y,suspend=" + (suspended ? "y" : "n"));
+            debuggeeArgs.addAll(options);
+            debuggeeArgs.add(mainClass);
+            return ProcessTools.createJavaProcessBuilder(addTestVmAndJavaOptions,
+                    debuggeeArgs.toArray(new String[0]));
+        }
+
+        public Debuggee launch(String name) {
+            return new Debuggee(prepare(), name);
+        }
+        public Debuggee launch() {
+            return launch("debuggee");
+        }
+    }
+
+    // starts the process, waits for "Listening for transport" output and detects transport/address
+    private Debuggee(ProcessBuilder pb, String name) {
+        // debuggeeListen[0] - transport, debuggeeListen[1] - address
+        String[] debuggeeListen = new String[2];
+        Pattern listenRegexp = Pattern.compile("Listening for transport \\b(.+)\\b at address: \\b(.+)\\b");
+        try {
+            p = ProcessTools.startProcess(name, pb,
+                    s -> output.add(s),  // output consumer
+                    s -> {  // warm-up predicate
+                        Matcher m = listenRegexp.matcher(s);
+                        if (!m.matches()) {
+                            return false;
+                        }
+                        debuggeeListen[0] = m.group(1);
+                        debuggeeListen[1] = m.group(2);
+                        return true;
+                    },
+                    30, TimeUnit.SECONDS);
+            transport = debuggeeListen[0];
+            address = debuggeeListen[1];
+        } catch (IOException | InterruptedException | TimeoutException ex) {
+            throw new RuntimeException("failed to launch debuggee", ex);
+        }
+    }
+
+    private final Process p;
+    private final List<String> output = new LinkedList<>();
+    private final String transport;
+    private final String address;
+
+    public void shutdown() {
+        try {
+            close();
+        } catch (IOException ex) {
+            // ignore
+        }
+    }
+
+    // waits until the process shutdown or crash
+    public boolean waitFor(long timeout, TimeUnit unit) {
+        try {
+            return p.waitFor(Utils.adjustTimeout(timeout), unit);
+        } catch (InterruptedException e) {
+            return false;
+        }
+    }
+
+    // returns the whole debuggee output as a string
+    public String getOutput() {
+        return output.stream().collect(Collectors.joining(Utils.NEW_LINE));
+    }
+
+    String getTransport() {
+        return transport;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    @Override
+    public void close() throws IOException {
+        if (p.isAlive()) {
+            p.destroy();
+        }
+    }
+
+}
--- a/test/jdk/com/sun/jdi/lib/jdb/Jdb.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/lib/jdb/Jdb.java	Thu Nov 01 09:01:15 2018 -0400
@@ -150,10 +150,11 @@
         # i.e., the > prompt comes out AFTER the prompt we we need to wait for.
     */
     // compile regexp once
-    private final String promptPattern = "[a-zA-Z0-9_-][a-zA-Z0-9_-]*\\[[1-9][0-9]*\\] [ >]*$";
-    private final Pattern promptRegexp = Pattern.compile(promptPattern);
+    private final static String promptPattern = "[a-zA-Z0-9_-][a-zA-Z0-9_-]*\\[[1-9][0-9]*\\] [ >]*$";
+    final static Pattern PROMPT_REGEXP = Pattern.compile(promptPattern);
+
     public List<String> waitForPrompt(int lines, boolean allowExit) {
-        return waitForPrompt(lines, allowExit, promptRegexp);
+        return waitForPrompt(lines, allowExit, PROMPT_REGEXP);
     }
 
     // jdb prompt when debuggee is not started and is not suspended after breakpoint
@@ -183,11 +184,19 @@
                 }
             }
             List<String> reply = outputHandler.get();
-            for (String line: reply.subList(Math.max(0, reply.size() - lines), reply.size())) {
-                if (promptRegexp.matcher(line).find()) {
+            if ((promptRegexp.flags() & Pattern.MULTILINE) > 0) {
+                String replyString = reply.stream().collect(Collectors.joining(lineSeparator));
+                if (promptRegexp.matcher(replyString).find()) {
                     logJdb(reply);
                     return outputHandler.reset();
                 }
+            } else {
+                for (String line : reply.subList(Math.max(0, reply.size() - lines), reply.size())) {
+                    if (promptRegexp.matcher(line).find()) {
+                        logJdb(reply);
+                        return outputHandler.reset();
+                    }
+                }
             }
             if (!jdb.isAlive()) {
                 // ensure we get the whole output
@@ -195,7 +204,7 @@
                 logJdb(reply);
                 if (!allowExit) {
                     throw new RuntimeException("waitForPrompt timed out after " + (timeout/1000)
-                            + " seconds, looking for '" + promptPattern + "', in " + lines + " lines");
+                            + " seconds, looking for '" + promptRegexp.pattern() + "', in " + lines + " lines");
                 }
                 return reply;
             }
@@ -203,7 +212,7 @@
         // timeout
         logJdb(outputHandler.get());
         throw new RuntimeException("waitForPrompt timed out after " + (timeout/1000)
-                + " seconds, looking for '" + promptPattern + "', in " + lines + " lines");
+                + " seconds, looking for '" + promptRegexp.pattern() + "', in " + lines + " lines");
     }
 
     public List<String> command(JdbCommand cmd) {
@@ -223,7 +232,7 @@
             throw new RuntimeException("Unexpected IO error while writing command '" + cmd.cmd + "' to jdb stdin stream");
         }
 
-        return waitForPrompt(1, cmd.allowExit);
+        return waitForPrompt(1, cmd.allowExit, cmd.waitForPattern);
     }
 
     public List<String> command(String cmd) {
--- a/test/jdk/com/sun/jdi/lib/jdb/JdbCommand.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/lib/jdb/JdbCommand.java	Thu Nov 01 09:01:15 2018 -0400
@@ -24,6 +24,7 @@
 package lib.jdb;
 
 import java.util.Arrays;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -118,6 +119,8 @@
 public class JdbCommand {
     final String cmd;
     boolean allowExit = false;
+    // Default pattern to wait for command to complete
+    Pattern waitForPattern = Jdb.PROMPT_REGEXP;
 
     public JdbCommand(String cmd) {
         this.cmd = cmd;
@@ -128,6 +131,11 @@
         return this;
     }
 
+    public JdbCommand waitForPrompt(String pattern, boolean isMultiline) {
+        waitForPattern = Pattern.compile(pattern, isMultiline ? Pattern.MULTILINE : 0);
+        return this;
+    }
+
 
     public static JdbCommand run(String ... params) {
         return new JdbCommand("run " + Arrays.stream(params).collect(Collectors.joining(" ")));
@@ -145,10 +153,18 @@
     public static JdbCommand stopAt(String targetClass, int lineNum) {
         return new JdbCommand("stop at " + targetClass + ":" + lineNum);
     }
+    public static JdbCommand stopThreadAt(String targetClass, int lineNum) {
+        return new JdbCommand("stop thread at " + targetClass + ":" + lineNum);
+    }
+    public static JdbCommand stopGoAt(String targetClass, int lineNum) {
+        return new JdbCommand("stop go at " + targetClass + ":" + lineNum);
+    }
     public static JdbCommand stopIn(String targetClass, String methodName) {
         return new JdbCommand("stop in " + targetClass + "." + methodName);
     }
-
+    public static JdbCommand thread(int threadNumber) {
+        return new JdbCommand("thread " + threadNumber);
+    }
     // clear <class id>:<line>   -- clear a breakpoint at a line
     public static JdbCommand clear(String targetClass, int lineNum) {
         return new JdbCommand("clear " + targetClass + ":" + lineNum);
--- a/test/jdk/com/sun/jdi/lib/jdb/JdbTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/com/sun/jdi/lib/jdb/JdbTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,9 +23,7 @@
 
 package lib.jdb;
 
-import jdk.test.lib.Utils;
 import jdk.test.lib.process.OutputAnalyzer;
-import jdk.test.lib.process.ProcessTools;
 
 import java.io.IOException;
 import java.nio.file.Files;
@@ -34,9 +32,6 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 public abstract class JdbTest {
@@ -76,8 +71,7 @@
     }
 
     protected Jdb jdb;
-    protected Process debuggee;
-    private final List<String> debuggeeOutput = new LinkedList<>();
+    protected Debuggee debuggee;
     private final LaunchOptions launchOptions;
 
     // returns the whole jdb output as a string
@@ -87,7 +81,7 @@
 
     // returns the whole debuggee output as a string
     public String getDebuggeeOutput() {
-        return debuggeeOutput.stream().collect(Collectors.joining(lineSeparator));
+        return debuggee == null ? "" : debuggee.getOutput();
     }
 
     public void run() {
@@ -106,45 +100,22 @@
 
     protected void setup() {
         /* run debuggee as:
-            java -agentlib:jdwp=transport=dt_socket,address=0,server=n,suspend=y <debuggeeClass>
+            java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y <debuggeeClass>
         it reports something like : Listening for transport dt_socket at address: 60810
         after that connect jdb by:
             jdb -connect com.sun.jdi.SocketAttach:port=60810
         */
         // launch debuggee
-        List<String> debuggeeArgs = new LinkedList<>();
-        // specify address=0 to automatically select free port
-        debuggeeArgs.add("-agentlib:jdwp=transport=dt_socket,address=0,server=y,suspend=y");
-        debuggeeArgs.addAll(launchOptions.debuggeeOptions);
-        debuggeeArgs.add(launchOptions.debuggeeClass);
-        ProcessBuilder pbDebuggee = ProcessTools.createJavaProcessBuilder(true, debuggeeArgs.toArray(new String[0]));
-
-        // debuggeeListen[0] - transport, debuggeeListen[1] - address
-        String[] debuggeeListen = new String[2];
-        Pattern listenRegexp = Pattern.compile("Listening for transport \\b(.+)\\b at address: \\b(\\d+)\\b");
-        try {
-            debuggee = ProcessTools.startProcess("debuggee", pbDebuggee,
-                    s -> debuggeeOutput.add(s),  // output consumer
-                    s -> {  // warm-up predicate
-                        Matcher m = listenRegexp.matcher(s);
-                        if (!m.matches()) {
-                            return false;
-                        }
-                        debuggeeListen[0] = m.group(1);
-                        debuggeeListen[1] = m.group(2);
-                        return true;
-                    },
-                    30, TimeUnit.SECONDS);
-        } catch (IOException | InterruptedException | TimeoutException ex) {
-            throw new RuntimeException("failed to launch debuggee", ex);
-        }
+        debuggee = Debuggee.launcher(launchOptions.debuggeeClass)
+                .addOptions(launchOptions.debuggeeOptions)
+                .launch();
 
         // launch jdb
         try {
-            jdb = new Jdb("-connect", "com.sun.jdi.SocketAttach:port=" + debuggeeListen[1]);
+            jdb = new Jdb("-connect", "com.sun.jdi.SocketAttach:port=" + debuggee.getAddress());
         } catch (Throwable ex) {
             // terminate debuggee if something went wrong
-            debuggee.destroy();
+            debuggee.shutdown();
             throw ex;
         }
         // wait while jdb is initialized
@@ -158,15 +129,9 @@
             jdb.shutdown();
         }
         // shutdown debuggee
-        if (debuggee != null && debuggee.isAlive()) {
-            try {
-                debuggee.waitFor(Utils.adjustTimeout(10), TimeUnit.SECONDS);
-            } catch (InterruptedException e) {
-                // ignore
-            } finally {
-                if (debuggee.isAlive()) {
-                    debuggee.destroy();
-                }
+        if (debuggee != null) {
+            if (!debuggee.waitFor(10, TimeUnit.SECONDS)) {
+                debuggee.shutdown();
             }
         }
     }
--- a/test/jdk/java/awt/Choice/SelectCurrentItemTest/SelectCurrentItemTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/awt/Choice/SelectCurrentItemTest/SelectCurrentItemTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -108,7 +108,7 @@
 
         robot.delay(1000);
 
-        robot.mouseMove(loc.x + size.width / 2, loc.y + size.height + size.height / 2);
+        robot.mouseMove(loc.x + size.width / 2, loc.y + size.height);
         robot.mousePress(InputEvent.BUTTON1_MASK);
         robot.mouseRelease(InputEvent.BUTTON1_MASK);
         robot.waitForIdle();
--- a/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@
 /**
  * @test
  * @key headful
- * @bug 8043869 8075244 8078082 8145173 8151787
+ * @bug 8043869 8075244 8078082 8145173 8151787 8212213
  * @summary Tests the HiDPI splash screen support for windows and MAC
  * @modules java.desktop/sun.java2d
  * @run main MultiResolutionSplashTest GENERATE_IMAGES
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/awt/print/PrinterJob/TestSaveFileWithoutPrinter.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 8211055
+   @summary Verifies "print to file" works even when there is no printer
+   @requires (os.family == "mac")
+   @run main/manual TestSaveFileWithoutPrinter
+ */
+
+import java.awt.BorderLayout;
+import java.awt.FlowLayout;
+import java.awt.Graphics;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.print.Printable;
+import java.awt.print.PageFormat;
+import java.awt.print.PrinterException;
+import java.awt.print.PrinterJob;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+import javax.swing.Timer;
+import javax.swing.WindowConstants;
+
+public class TestSaveFileWithoutPrinter implements Printable {
+    private static final CountDownLatch testEndedSignal = new CountDownLatch(1);
+    private static final int testTimeout = 300000;
+    private static volatile String testFailureMsg;
+    private static volatile boolean testPassed;
+    private static volatile boolean testFinished;
+    private static PrinterJob job;
+
+    public static void main(String[] args) {
+        job = PrinterJob.getPrinterJob();
+        if (job.getPrintService() != null) {
+            System.out.println("This test requires no printers to be installed. Exiting.");
+            return;
+        }
+        SwingUtilities.invokeLater(() -> createAndShowTestDialog());
+
+        try {
+            if (!testEndedSignal.await(testTimeout, TimeUnit.MILLISECONDS)) {
+                throw new RuntimeException(String.format(
+                    "Test timeout '%d ms' elapsed.", testTimeout));
+            }
+            if (!testPassed) {
+                String failureMsg = testFailureMsg;
+                if ((failureMsg != null) && (!failureMsg.trim().isEmpty())) {
+                    throw new RuntimeException(failureMsg);
+                } else {
+                    throw new RuntimeException("Test failed.");
+                }
+            }
+        } catch (InterruptedException ie) {
+            throw new RuntimeException(ie);
+        } finally {
+            testFinished = true;
+        }
+    }
+
+    private static void doTest() {
+        job.setPrintable(new TestSaveFileWithoutPrinter());
+        if (job.printDialog()) {
+            try {
+                job.print();
+            } catch (PrinterException pe) {
+                throw new RuntimeException(pe);
+            }
+        }
+    }
+
+    private static void pass() {
+        testPassed = true;
+        testEndedSignal.countDown();
+    }
+
+    private static void fail(String failureMsg) {
+        testFailureMsg = failureMsg;
+        testPassed = false;
+        testEndedSignal.countDown();
+    }
+
+    private static String convertMillisToTimeStr(int millis) {
+        if (millis < 0) {
+            return "00:00:00";
+        }
+        int hours = millis / 3600000;
+        int minutes = (millis - hours * 3600000) / 60000;
+        int seconds = (millis - hours * 3600000 - minutes * 60000) / 1000;
+        return String.format("%02d:%02d:%02d", hours, minutes, seconds);
+    }
+
+    private static void createAndShowTestDialog() {
+        String description =
+            " To run this test it is required to delete any installed printers.\r\n" +
+            "\r\n" +
+            " 1. Verify that saving file via \"Save as PDF\" results in saving file\r\n" +
+            " even if there is no installed printer.\r\n" +
+            " 2. Click on \"Start Test\" button.\r\n" +
+            " 3. In the shown print dialog select \"Save as PDF\" in PDF drop-down list\r\n" +
+            " 4. Another dialog opens prompting for filename, enter any filename and press \"Save\".\r\n" +
+            "\r\n" +
+            " If the file is saved without any PrinterException, click on \"PASS\"\r\n" +
+            " button, otherwise click on \"FAIL\" button.";
+
+        final JDialog dialog = new JDialog();
+        dialog.setTitle("SaveFileWithoutPrinter");
+        dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+        dialog.addWindowListener(new WindowAdapter() {
+            @Override
+            public void windowClosing(WindowEvent e) {
+                dialog.dispose();
+                fail("Main dialog was closed.");
+            }
+        });
+
+        final JLabel testTimeoutLabel = new JLabel(String.format(
+            "Test timeout: %s", convertMillisToTimeStr(testTimeout)));
+        final long startTime = System.currentTimeMillis();
+        final Timer timer = new Timer(0, null);
+        timer.setDelay(1000);
+        timer.addActionListener((e) -> {
+            int leftTime = testTimeout - (int) (System.currentTimeMillis() - startTime);
+            if ((leftTime < 0) || testFinished) {
+                timer.stop();
+                dialog.dispose();
+            }
+            testTimeoutLabel.setText(String.format(
+                "Test timeout: %s", convertMillisToTimeStr(leftTime)));
+        });
+        timer.start();
+
+        JTextArea textArea = new JTextArea(description);
+        textArea.setEditable(false);
+
+        final JButton testButton = new JButton("Start Test");
+        final JButton passButton = new JButton("PASS");
+        final JButton failButton = new JButton("FAIL");
+        testButton.addActionListener((e) -> {
+            testButton.setEnabled(false);
+            new Thread(() -> {
+                try {
+                    doTest();
+
+                    SwingUtilities.invokeLater(() -> {
+                        passButton.setEnabled(true);
+                        failButton.setEnabled(true);
+                    });
+                } catch (Throwable t) {
+                    t.printStackTrace();
+                    dialog.dispose();
+                    fail("Exception occurred in a thread executing the test.");
+                }
+            }).start();
+        });
+        passButton.setEnabled(false);
+        passButton.addActionListener((e) -> {
+            dialog.dispose();
+            pass();
+        });
+        failButton.setEnabled(false);
+        failButton.addActionListener((e) -> {
+            dialog.dispose();
+            fail("PrinterException thrown.");
+        });
+
+        JPanel mainPanel = new JPanel(new BorderLayout());
+        JPanel labelPanel = new JPanel(new FlowLayout());
+        labelPanel.add(testTimeoutLabel);
+        mainPanel.add(labelPanel, BorderLayout.NORTH);
+        mainPanel.add(textArea, BorderLayout.CENTER);
+        JPanel buttonPanel = new JPanel(new FlowLayout());
+        buttonPanel.add(testButton);
+        buttonPanel.add(passButton);
+        buttonPanel.add(failButton);
+        mainPanel.add(buttonPanel, BorderLayout.SOUTH);
+        dialog.add(mainPanel);
+
+        dialog.pack();
+        dialog.setVisible(true);
+    }
+
+    @Override
+    public int print(Graphics g, PageFormat pf, int pageIndex)
+        throws PrinterException {
+        if (pageIndex == 0) {
+            return Printable.PAGE_EXISTS;
+        } else {
+            return Printable.NO_SUCH_PAGE;
+        }
+    }
+}
--- a/test/jdk/java/lang/ProcessBuilder/Basic.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/lang/ProcessBuilder/Basic.java	Thu Nov 01 09:01:15 2018 -0400
@@ -36,6 +36,13 @@
  * @author Martin Buchholz
  */
 
+/*
+ * @test
+ * @modules java.base/java.lang:open
+ * @requires (os.family == "linux")
+ * @run main/othervm/timeout=300 -Djdk.lang.Process.launchMechanism=posix_spawn Basic
+ */
+
 import java.lang.ProcessBuilder.Redirect;
 import java.lang.ProcessHandle;
 import static java.lang.ProcessBuilder.Redirect.*;
--- a/test/jdk/java/lang/String/AlignIndent.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/lang/String/AlignIndent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -53,6 +53,7 @@
         test1();
         test2();
         test3();
+        test4();
     }
 
     /*
@@ -154,6 +155,18 @@
         }
     }
 
+    /*
+     * JDK-8212694: Using Raw String Literals with align() and Integer.MIN_VALUE causes out of memory error
+     */
+    static void test4() {
+        try {
+            String str = "\n    A\n".align(Integer.MIN_VALUE);
+        } catch (OutOfMemoryError ex) {
+            System.err.println("align(Integer.MIN_VALUE) not clipping indentation");
+            throw new RuntimeException();
+        }
+    }
+
     public static int indexOfNonWhitespace(String s) {
         int left = 0;
         while (left < s.length()) {
--- a/test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/lang/annotation/typeAnnotations/TestObjectMethods.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,17 +23,19 @@
 
 /*
  * @test
- * @bug 8058202
+ * @bug 8058202 8212081
  * @summary Test java.lang.Object methods on AnnotatedType objects.
  */
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
 import java.util.*;
+import java.util.regex.*;
 
 /**
  * Test toString, equals, and hashCode on various AnnotatedType objects.
  */
+
 public class TestObjectMethods {
     private static int errors = 0;
 
@@ -61,8 +63,8 @@
             testEquals(clazz);
         }
 
-        testToString(TypeHost.class, false);
-        testToString(AnnotatedTypeHost.class, true);
+        testToString(TypeHost.class);
+        testToString(AnnotatedTypeHost.class);
 
         testAnnotationsMatterForEquals(TypeHost.class, AnnotatedTypeHost.class);
 
@@ -80,29 +82,45 @@
      * For non-array types, verify toString version of the annotated
      * type ends with the same string as the generic type.
      */
-    static void testToString(Class<?> clazz, boolean leadingAnnotations) {
+    static void testToString(Class<?> clazz) {
         System.err.println("Testing toString on methods of class " + clazz.getName());
         Method[] methods = clazz.getDeclaredMethods();
         for (Method m : methods) {
+            // Expected information about the type annotations stored
+            // in a *declaration* annotation.
+            AnnotTypeInfo annotTypeInfo = m.getAnnotation(AnnotTypeInfo.class);
+            int expectedAnnotCount      = annotTypeInfo.count();
+            Relation relation           = annotTypeInfo.relation();
+
             AnnotatedType annotType = m.getAnnotatedReturnType();
             String annotTypeString = annotType.toString();
 
             Type type = m.getGenericReturnType();
-            String typeString = type.toString();
+            String typeString = (type instanceof Class) ?
+                type.getTypeName() :
+                type.toString();
 
             boolean isArray = annotType instanceof AnnotatedArrayType;
             boolean isVoid = "void".equals(typeString);
 
             boolean valid;
-            if (!isArray) {
-                if (leadingAnnotations && !isVoid) {
-                    valid =
-                        annotTypeString.endsWith(typeString) &&
-                        !annotTypeString.startsWith(typeString);
-                } else {
-                    valid = annotTypeString.equals(typeString);
-                }
-            } else {
+
+            switch(relation) {
+            case EQUAL:
+                valid = annotTypeString.equals(typeString);
+                break;
+
+            case POSTFIX:
+                valid = annotTypeString.endsWith(typeString) &&
+                    !annotTypeString.startsWith(typeString);
+                break;
+
+            case STRIPPED:
+                String stripped = annotationRegex.matcher(annotTypeString).replaceAll("");
+                valid = typeString.replace(" ", "").equals(stripped.replace(" ", ""));
+                break;
+
+            case ARRAY:
                 // Find final non-array component type and gets its name.
                 typeString = null;
 
@@ -114,6 +132,38 @@
 
                 String componentName = componentType.getType().getTypeName();
                 valid = annotTypeString.contains(componentName);
+                break;
+
+            case OTHER:
+                // No additional checks
+                valid = true;
+                break;
+
+            default:
+                throw new AssertionError("Shouldn't be reached");
+            }
+
+            // Verify number of type annotations matches expected value
+            Matcher matcher = annotationRegex.matcher(annotTypeString);
+            if (expectedAnnotCount > 0) {
+                int i = expectedAnnotCount;
+                int annotCount = 0;
+                while (i > 0) {
+                    boolean found = matcher.find();
+                    if (found) {
+                        i--;
+                        annotCount++;
+                    } else {
+                        errors++;
+                        System.err.println("\tExpected annotation not found: " + annotTypeString);
+                    }
+                }
+            }
+
+            boolean found = matcher.find();
+            if (found) {
+                errors++;
+                System.err.println("\tAnnotation found unexpectedly: " + annotTypeString);
             }
 
             if (!valid) {
@@ -125,6 +175,8 @@
         }
     }
 
+    private static final Pattern annotationRegex = Pattern.compile("@TestObjectMethods\\$AnnotType\\(value=(\\p{Digit})+\\)");
+
     static void testGetAnnotations(Class<?> clazz, boolean annotationsExpectedOnMethods) {
         System.err.println("Testing getAnnotations on methods of class " + clazz.getName());
         Method[] methods = clazz.getDeclaredMethods();
@@ -230,7 +282,6 @@
         }
     }
 
-
     static void testWildcards() {
         System.err.println("Testing wildcards");
         // public @AnnotType(10) Set<? extends Number> fooNumberSet() {return null;}
@@ -269,22 +320,53 @@
     // possible.
 
     static class TypeHost<E, F extends Number> {
+        @AnnotTypeInfo
         public void fooVoid() {return;}
 
+        @AnnotTypeInfo
         public int foo() {return 0;}
+
+        @AnnotTypeInfo
         public String fooString() {return null;}
 
+        @AnnotTypeInfo
         public int[] fooIntArray() {return null;}
+
+        @AnnotTypeInfo
         public String[] fooStringArray() {return null;}
+
+        @AnnotTypeInfo
         public String [][] fooStringArrayArray() {return null;}
 
+        @AnnotTypeInfo
         public Set<String> fooSetString() {return null;}
+
+        @AnnotTypeInfo
+        public Set<Number> fooSetNumber() {return null;}
+
+        @AnnotTypeInfo
         public E fooE() {return null;}
+
+        @AnnotTypeInfo
         public F fooF() {return null;}
+
+        @AnnotTypeInfo
         public <G> G fooG() {return null;}
 
+        @AnnotTypeInfo
         public  Set<? extends Number> fooNumberSet() {return null;}
+
+        @AnnotTypeInfo
         public  Set<? extends Integer> fooNumberSet2() {return null;}
+
+        @AnnotTypeInfo
+        public  Set<? extends Long> fooNumberSet3() {return null;}
+
+        @AnnotTypeInfo
+        public Set<?> fooObjectSet() {return null;}
+
+        @AnnotTypeInfo
+        public List<? extends Object> fooObjectList() {return null;}
     }
 
     @Retention(RetentionPolicy.RUNTIME)
@@ -293,22 +375,114 @@
         int value() default 0;
     }
 
+    @Retention(RetentionPolicy.RUNTIME)
+    @Target(ElementType.METHOD)
+    static @interface AnnotTypeInfo {
+        /**
+         * Expected number of @AnnotType
+         */
+        int count() default 0;
+
+        /**
+         * Relation to genericString output.
+         */
+        Relation relation() default Relation.EQUAL;
+    }
+
+    /**
+     * Expected relationship of toString output of AnnotatedType to
+     * toGenericString output of underlying type.
+     */
+    static private enum Relation {
+        EQUAL,
+
+        /**
+         * The toGenericString output is a postfix of the
+         * AnnotatedType output; a leading annotation is expected.
+         */
+        POSTFIX,
+
+        /**
+         * If the annotations are stripped from the AnnotatedType
+         * output and whitespace adjusted accordingly, it should equal
+         * the toGenericString output.
+         */
+        STRIPPED,
+
+        /**
+         * The output of AnnotatedType for arrays would require more
+         * extensive transformation to map to toGenericString output.
+         */
+        ARRAY,
+
+       /**
+         * Some other, harder to characterize, relationship. Currently
+         * used for a wildcard where Object in "extends Object" is
+         * annotated; the "extends Object" is elided in toGenericString.
+         */
+        OTHER;
+    }
+
     static class AnnotatedTypeHost<E, F extends Number> {
+        @AnnotTypeInfo
         public /*@AnnotType(0)*/ void fooVoid() {return;} // Illegal to annotate void
 
-        public @AnnotType(1) int foo() {return 0;}
-        public @AnnotType(2) String fooString() {return null;}
+        @AnnotTypeInfo(count =1, relation = Relation.POSTFIX)
+        @AnnotType(1)
+        public int foo() {return 0;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(2)
+        public  String fooString() {return null;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.ARRAY)
+        public int @AnnotType(3) [] fooIntArray() {return null;}
 
-        public  int @AnnotType(3) [] fooIntArray() {return null;}
-        public  String @AnnotType(4) [] fooStringArray() {return null;}
-        public  @AnnotType(5) String  @AnnotType(0) [] @AnnotType(1) [] fooStringArrayArray() {return null;}
+        @AnnotTypeInfo(count = 1, relation = Relation.ARRAY)
+        public String @AnnotType(4) [] fooStringArray() {return null;}
+
+        @AnnotTypeInfo(count = 3, relation = Relation.ARRAY)
+        @AnnotType(5)
+        public String  @AnnotType(0) [] @AnnotType(1) [] fooStringArrayArray() {return null;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(6)
+        public Set<String> fooSetString() {return null;}
+
+        @AnnotTypeInfo(count = 2, relation = Relation.STRIPPED)
+        @AnnotType(7)
+        public Set<@AnnotType(8) Number> fooSetNumber() {return null;}
 
-        public @AnnotType(6) Set<String> fooSetString() {return null;}
-        public @AnnotType(7) E fooE() {return null;}
-        public @AnnotType(8) F fooF() {return null;}
-        public @AnnotType(9) <G> G fooG() {return null;}
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(9)
+        public E fooE() {return null;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(10)
+        public F fooF() {return null;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(11)
+        public <G> G fooG() {return null;}
+
+        @AnnotTypeInfo(count = 1, relation = Relation.POSTFIX)
+        @AnnotType(12)
+        public Set<? extends Number> fooNumberSet() {return null;}
 
-        public @AnnotType(10) Set<? extends Number> fooNumberSet() {return null;}
-        public @AnnotType(11) Set<@AnnotType(13) ? extends Number> fooNumberSet2() {return null;}
+        @AnnotTypeInfo(count = 2, relation = Relation.STRIPPED)
+        @AnnotType(13)
+        public Set<@AnnotType(14) ? extends Number> fooNumberSet2() {return null;}
+
+        @AnnotTypeInfo(count = 2, relation = Relation.STRIPPED)
+        @AnnotType(15)
+        public Set< ? extends @AnnotType(16) Long> fooNumberSet3() {return null;}
+
+        @AnnotTypeInfo(count = 2, relation = Relation.STRIPPED)
+        @AnnotType(16)
+        public Set<@AnnotType(17) ?> fooObjectSet() {return null;}
+
+        @AnnotTypeInfo(count = 2, relation = Relation.OTHER)
+        @AnnotType(18)
+        public List<? extends @AnnotType(19) Object> fooObjectList() {return null;}
     }
 }
--- a/test/jdk/java/lang/management/CompositeData/ThreadInfoCompositeData.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/lang/management/CompositeData/ThreadInfoCompositeData.java	Thu Nov 01 09:01:15 2018 -0400
@@ -29,8 +29,9 @@
  *          the input CompositeData is invalid.
  * @author  Mandy Chung
  *
+ * @modules java.management/sun.management
  * @build ThreadInfoCompositeData OpenTypeConverter
- * @run main ThreadInfoCompositeData
+ * @run testng/othervm ThreadInfoCompositeData
  */
 
 
@@ -42,6 +43,9 @@
 import java.util.Objects;
 import java.util.stream.Stream;
 
+import org.testng.annotations.Test;
+import static org.testng.Assert.*;
+
 public class ThreadInfoCompositeData {
     private static String lockClassName = "myClass";
     private static int lockIdentityHashCode = 123456;
@@ -50,24 +54,7 @@
     private static LockInfo lockInfo =
         new LockInfo(lockClassName, lockIdentityHashCode);
 
-    public static void main(String[] argv) throws Exception {
-        // A valid CompositeData is passed to ThreadInfo
-        createGoodCompositeData();
-        // A valid CompositeData for JDK 5 ThreadInfo
-        // is passed to ThreadInfo
-        createV5ThreadInfo();
-        // ThreadInfo of version N can accept lockedMonitors of version >= N
-        withNewMonitorInfoCompositeData();
-
-        // An invalid CompositeData is passed to ThreadInfo.from()
-        badNameCompositeData();
-        badTypeCompositeData();
-        badMissingCompositeData();
-        withV5StackTraceCompositeData();
-        withInvalidMonitorInfoCompositeData();
-        System.out.println("Test passed");
-    }
-
+    @Test
     public static void createGoodCompositeData() throws Exception {
         CompositeData cd = Factory.makeThreadInfoCompositeData();
         ThreadInfo info = ThreadInfo.from(cd);
@@ -77,6 +64,7 @@
     /*
      * An invalid CompositeData with JDK 9 attributes but missing JDK 6 attributes
      */
+    @Test
     public static void badMissingCompositeData() throws Exception {
         CompositeData cd = Factory.makeCompositeDataMissingV6();
         try {
@@ -92,6 +80,7 @@
     /*
      * Current version of ThreadInfo but an older version of StackTraceElement
      */
+    @Test
     public static void withV5StackTraceCompositeData() throws Exception {
         CompositeData cd = Factory.makeThreadInfoWithV5StackTrace();
         try {
@@ -104,6 +93,7 @@
      * Current version of ThreadInfo but an older version of MonitorInfo
      * and the value of "lockedStackFrame" attribute is null.
      */
+    @Test
     public static void withInvalidMonitorInfoCompositeData() throws Exception {
         CompositeData cd = Factory.makeThreadInfoWithIncompatibleMonitorInfo();
 
@@ -128,6 +118,7 @@
     /*
      * ThreadInfo of version N can accept lockedMonitors of version >= N
      */
+    @Test
     public static void withNewMonitorInfoCompositeData() throws Exception {
         CompositeData cd = Factory.makeThreadInfoWithNewMonitorInfo();
         ThreadInfo info = ThreadInfo.from(cd);
@@ -137,11 +128,24 @@
     /*
      * Test CompositeData representing JDK 5 ThreadInfo
      */
+    @Test
     public static void createV5ThreadInfo() throws Exception {
         CompositeData cd = Factory.makeThreadInfoV5CompositeData();
         ThreadInfo info = ThreadInfo.from(cd);
         checkThreadInfoV5(info);
-   }
+    }
+
+    /*
+     * Test ThreadInfoCompositeData.toCompositeData
+     */
+    @Test
+    public static void internalToCompositeData() throws Exception {
+        CompositeData cd = Factory.makeThreadInfoCompositeData();
+        ThreadInfo info = ThreadInfo.from(cd);
+        cd = sun.management.ThreadInfoCompositeData.toCompositeData(info);
+        info = ThreadInfo.from(cd);
+        checkThreadInfo(info);
+    }
 
    static void checkThreadInfoV5(ThreadInfo info) {
        Object[] values = Factory.VALUES;
@@ -262,6 +266,7 @@
         }
     }
 
+    @Test
     public static void badNameCompositeData() throws Exception {
         CompositeData cd = Factory.makeCompositeDataWithBadNames();
         try {
@@ -270,6 +275,7 @@
         } catch (IllegalArgumentException e) { }
     }
 
+    @Test
     public static void badTypeCompositeData() throws Exception {
         CompositeData cd = Factory.makeCompositeDataWithBadTypes();
 
@@ -300,7 +306,7 @@
     private static final int DAEMON = 16;
     private static final int PRIORITY = 17;
 
-    static class Factory {
+    private static class Factory {
 
         static final CompositeType STE_COMPOSITE_TYPE;
         static final CompositeType LOCK_INFO_COMPOSITE_TYPE;
--- a/test/jdk/java/lang/management/ThreadMXBean/ResetPeakThreadCount.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/lang/management/ThreadMXBean/ResetPeakThreadCount.java	Thu Nov 01 09:01:15 2018 -0400
@@ -158,10 +158,6 @@
                 " Expected to be == previous peak = " + peak1 + " + " +
                 delta);
         }
-        // wait until the current thread count gets incremented
-        while (mbean.getThreadCount() < (current + count)) {
-            Thread.sleep(100);
-        }
         current = mbean.getThreadCount();
         System.out.println("   Live thread count before returns " + current);
         return current;
@@ -195,12 +191,6 @@
             allThreads[i].join();
         }
 
-        // there is a race in the counter update logic somewhere causing
-        // the thread counters go ff
-        // we need to give the terminated threads some extra time to really die
-        // JDK-8021335
-        Thread.sleep(500);
-
         long current = mbean.getThreadCount();
         System.out.println("   Live thread count before returns " + current);
         return current;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/net/httpclient/LargeResponseContent.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,177 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URI;
+import java.net.http.HttpClient;
+import java.net.http.HttpHeaders;
+import java.net.http.HttpRequest;
+import java.net.http.HttpResponse;
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
+import java.util.concurrent.Flow;
+
+/**
+ * @test
+ * @bug 8212926
+ * @summary Basic tests for response timeouts
+ * @run main/othervm LargeResponseContent
+ */
+
+public class LargeResponseContent {
+    final ServerSocket server;
+    final int port;
+
+    public LargeResponseContent() throws Exception {
+        server = new ServerSocket(0, 10, InetAddress.getLoopbackAddress());
+        Thread serverThread = new Thread(this::handleConnection);
+        serverThread.setDaemon(false);
+        port = server.getLocalPort();
+        serverThread.start();
+    }
+
+    void runClient() throws IOException, InterruptedException {
+        URI uri = URI.create("http://127.0.0.1:" + Integer.toString(port) + "/foo");
+        HttpClient client = HttpClient.newHttpClient();
+        HttpRequest request = HttpRequest.newBuilder(uri)
+                .GET()
+                .build();
+        HttpResponse<Long> response = client.send(request, new ClientHandler());
+        System.out.println("Response code = " + response.statusCode());
+        long blen = response.body();
+        if (blen != CONTENT_LEN)
+            throw new RuntimeException("wrong content length");
+    }
+
+    public static void main(String[] args) throws Exception {
+        System.out.println ("CONTENT_LEN = " + CONTENT_LEN);
+        System.out.println ("CLEN_STR = " + CLEN_STR);
+        LargeResponseContent test = new LargeResponseContent();
+        test.runClient();
+    }
+
+    static class ClientHandler implements HttpResponse.BodyHandler<Long> {
+
+        @Override
+        public HttpResponse.BodySubscriber<Long> apply(HttpResponse.ResponseInfo responseInfo) {
+            HttpHeaders headers = responseInfo.headers();
+            headers.firstValue("content-length");
+            long  clen = headers.firstValueAsLong("content-length").orElse(-1);
+            if (clen != CONTENT_LEN)
+                return new Subscriber(new RuntimeException("Wrong content length received"));
+            return new Subscriber(null);
+        }
+    }
+
+    static class Subscriber implements HttpResponse.BodySubscriber<Long> {
+        final CompletableFuture<Long> cf = new CompletableFuture<>();
+        volatile Flow.Subscription subscription;
+        volatile long counter = 0;
+
+        Subscriber(Throwable t) {
+            if (t != null)
+                cf.completeExceptionally(t);
+        }
+
+        @Override
+        public CompletionStage<Long> getBody() {
+            return cf;
+        }
+
+        @Override
+        public void onSubscribe(Flow.Subscription subscription) {
+            this.subscription = subscription;
+            subscription.request(Long.MAX_VALUE);
+        }
+
+        @Override
+        public void onNext(List<ByteBuffer> item) {
+            long v = 0;
+            for (ByteBuffer b : item)
+                v+= b.remaining();
+            counter += v;
+        }
+
+        @Override
+        public void onError(Throwable throwable) {
+            throwable.printStackTrace();
+        }
+
+        @Override
+        public void onComplete() {
+            cf.complete(counter);
+        }
+    }
+
+    static final long CONTENT_LEN = Integer.MAX_VALUE + 1000L;
+    static final String CLEN_STR = Long.valueOf(CONTENT_LEN).toString();
+
+    static String RESPONSE = "HTTP/1.1 200 OK\r\n" +
+            "Content-length: " + CLEN_STR + "\r\n" +
+            "\r\n";
+
+
+    void readHeaders(InputStream is) throws IOException {
+        String s = "";
+        byte[] buf = new byte[128];
+        while (!s.endsWith("\r\n\r\n")) {
+            int c = is.read(buf);
+            String f = new String(buf, 0, c, StandardCharsets.ISO_8859_1);
+            s = s + f;
+        }
+    }
+
+    public void handleConnection() {
+        long remaining = CONTENT_LEN;
+        try {
+            Socket socket = server.accept();
+            InputStream is = socket.getInputStream();
+            readHeaders(is); // read first byte
+            OutputStream os = socket.getOutputStream();
+            os.write(RESPONSE.getBytes());
+            byte[] buf = new byte[64 * 1024];
+            while (remaining > 0) {
+                int amount = (int)Math.min(remaining, buf.length);
+                os.write(buf, 0, amount);
+                remaining -= amount;
+            }
+            System.out.println("Server: finished writing");
+            os.close();
+
+        } catch (IOException e) {
+            long sent = CONTENT_LEN - remaining;
+            System.out.println("Sent " + sent);
+            e.printStackTrace();
+        }
+    }
+}
+
--- a/test/jdk/java/security/KeyAgreement/KeyAgreementTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/security/KeyAgreement/KeyAgreementTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,7 +23,7 @@
 
  /*
  * @test
- * @bug 4936763 8184359
+ * @bug 4936763 8184359 8205476
  * @summary KeyAgreement Test with all supported algorithms from JCE.
  *          Arguments order <KeyExchangeAlgorithm> <KeyGenAlgorithm> <Provider>
  *          It removes com/sun/crypto/provider/KeyAgreement/DHGenSecretKey.java
@@ -150,5 +150,17 @@
         if (!Arrays.equals(secret1, secret2)) {
             throw new Exception("KeyAgreement secret mismatch.");
         }
+
+        // ensure that a new secret cannot be produced before the next doPhase
+        try {
+            ka2.generateSecret();
+            throw new RuntimeException("state not reset");
+        } catch (IllegalStateException ex) {
+            // this is expected
+        }
+
+        // calling doPhase and then generateSecret should succeed
+        ka2.doPhase(kp1.getPublic(), true);
+        ka2.generateSecret();
     }
 }
--- a/test/jdk/java/util/Calendar/GenericTimeZoneNamesTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/Calendar/GenericTimeZoneNamesTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -21,7 +21,22 @@
  * questions.
  */
 
-import java.util.*;
+/*
+ * @test
+ * @bug 8003267
+ * @summary Unit test for generic time zone names support. This test is locale
+ *          data-dependent and assumes that both JRE and CLDR have the same
+ *          geneic time zone names in English.
+ * @modules java.base/sun.util.locale.provider
+ * @comment Locale providers: default
+ * @run main GenericTimeZoneNamesTest en-US
+ * @comment Locale providers: CLDR
+ * @run main/othervm -Djava.locale.providers=CLDR GenericTimeZoneNamesTest en-US
+*/
+
+import java.util.Locale;
+import java.util.TimeZone;
+
 import sun.util.locale.provider.TimeZoneNameUtility;
 
 public class GenericTimeZoneNamesTest {
--- a/test/jdk/java/util/Calendar/GenericTimeZoneNamesTest.sh	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-#
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# @test
-# @bug 8003267
-# @summary Unit test for generic time zone names support
-# @modules java.base/sun.util.locale.provider
-# @compile GenericTimeZoneNamesTest.java
-# @run shell GenericTimeZoneNamesTest.sh
-
-# This test is locale data-dependent and assumes that both JRE and CLDR
-# have the same geneic time zone names in English.
-
-EXTRAOPTS="--add-exports java.base/sun.util.locale.provider=ALL-UNNAMED"
-STATUS=0
-echo "Locale providers: default"
-if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} ${EXTRAOPTS} -cp "${TESTCLASSES}" GenericTimeZoneNamesTest en-US; then
-    STATUS=1
-fi
-
-echo "Locale providers: CLDR"
-if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} ${EXTRAOPTS} -cp "${TESTCLASSES}" -Djava.locale.providers=CLDR GenericTimeZoneNamesTest en-US; then
-   STATUS=1
-fi
-exit ${STATUS}
-
--- a/test/jdk/java/util/Calendar/NarrowNamesTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/Calendar/NarrowNamesTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -21,8 +21,24 @@
  * questions.
  */
 
+/*
+ * @test
+ * @bug 8000983 8008577
+ * @summary Unit test for narrow names support. This test is locale data-dependent
+ *          and assumes that both JRE and CLDR have the same narrow names.
+ * @modules jdk.localedata
+ * @comment Locale providers: JRE,SPI
+ * @run main/othervm -Djava.locale.providers=JRE,SPI NarrowNamesTest JRE,SPI
+ * @comment Locale providers: CLDR
+ * @run main/othervm -Djava.locale.providers=CLDR NarrowNamesTest CLDR
+ */
+
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.Calendar;
+import java.util.Comparator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TreeMap;
 import static java.util.GregorianCalendar.*;
 
 public class NarrowNamesTest {
--- a/test/jdk/java/util/Calendar/NarrowNamesTest.sh	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-#
-# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# @test
-# @bug 8000983 8008577
-# @summary Unit test for narrow names support
-# @build NarrowNamesTest
-# @run shell NarrowNamesTest.sh
-
-# This test is locale data-dependent and assumes that both JRE and CLDR
-# have the same narrow names.
-
-STATUS=0
-for P in "JRE,SPI" "CLDR"
-do
-    echo "Locale providers: $P"
-    if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} -cp "${TESTCLASSES}" -Djava.locale.providers="${P}" NarrowNamesTest ${P}; then
-        STATUS=1
-    fi
-done
-exit ${STATUS}
--- a/test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -32,20 +32,13 @@
 import java.util.GregorianCalendar;
 import static java.util.GregorianCalendar.*;
 import java.util.Locale;
-import java.util.TimeZone;
 
 /*
  * Usage:
- *   java SupplementalJapaneseEraTest <flag>
- *    <flag>
- *      -s   prints start time for a test era
- *      -e   prints the English name of the last predefined era
- *
  *   java -Djdk.calendar.japanese.supplemental.era=... SupplementalJapaneseEraTest <flag>
  *      -t   executes tests with a valid property value
  *      -b <eraname>
  *           executes tests with an invalid property value
- *           <eraname> must be the output with -e
  */
 
 public class SupplementalJapaneseEraTest {
@@ -57,26 +50,6 @@
     public static void main(String[] args) {
         // args[0] is a flag.
         switch (args[0]) {
-        case "-s":
-            // print the start time of the new era for testing
-            Calendar cal = new Calendar.Builder()
-                .setCalendarType("japanese")
-                .setTimeZone(TimeZone.getTimeZone("GMT"))
-                .setFields(ERA, 5)
-                .setDate(200, FEBRUARY, 11)
-                .build();
-            System.out.println(cal.getTimeInMillis());
-            break;
-
-        case "-e":
-            // print the current era name in English
-            Calendar jcal = new Calendar.Builder()
-                .setCalendarType("japanese")
-                .setFields(YEAR, 1, DAY_OF_YEAR, 1)
-                .build();
-            System.out.println(jcal.getDisplayName(ERA, LONG, Locale.US));
-            break;
-
         case "-t":
             // test with a valid property value
             testProperty();
@@ -84,7 +57,7 @@
 
         case "-b":
             // test with an invalid property value
-            // args[1] is the current era name given by -e.
+            // args[1] is the current era name.
             testValidation(args[1].replace("\r", "")); // remove any CR for Cygwin
             break;
         }
--- a/test/jdk/java/util/Calendar/SupplementalJapaneseEraTest.sh	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-#
-# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# @test
-# @bug 8048123 8054214 8173423
-# @summary Test for jdk.calendar.japanese.supplemental.era support
-# @build SupplementalJapaneseEraTest
-# @run shell SupplementalJapaneseEraTest.sh
-
-PROPERTY=jdk.calendar.japanese.supplemental.era
-STATUS=0
-
-# get the start time of the fictional next era
-SINCE=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -s`
-
-echo "Tests with valid property values..."
-for P in "name=SupEra,abbr=S.E.,since=$SINCE" \
-         "name = SupEra, abbr = S.E., since = $SINCE"
-do
-    if ${TESTJAVA}/bin/java ${TESTVMOPTS} -cp "${TESTCLASSES}" \
-           -D$PROPERTY="$P" SupplementalJapaneseEraTest -t; then
-        echo "$P: passed"
-    else
-        echo "$P: failed"
-        STATUS=1
-    fi
-done
-
-# get the name of the current era to be used to confirm that
-# invalid property values are ignored.
-ERA=`${TESTJAVA}/bin/java -cp "${TESTCLASSES}" SupplementalJapaneseEraTest -e`
-
-echo "Tests with invalid property values..."
-for P in "foo=Bar,name=SupEra,abbr=S.E.,since=$SINCE" \
-         "=SupEra,abbr=S.E.,since=$SINCE" \
-         "=,abbr=S.E.,since=$SINCE" \
-         "name,abbr=S.E.,since=$SINCE" \
-         "abbr=S.E.,since=$SINCE" \
-         "name=SupEra,since=$SINCE" \
-         "name=,abbr=S.E.,since=$SINCE" \
-         "name=SupEra,abbr=,since=$SINCE" \
-         "name=SupEra,abbr=S.E." \
-         "name=SupEra,abbr=S.E.,since=0" \
-         "name=SupEra,abbr=S.E.,since=9223372036854775808" # Long.MAX_VALUE+1
-do
-    if ${TESTJAVA}/bin/java ${TESTVMOPTS} -cp "${TESTCLASSES}" \
-           -D$PROPERTY="$P" SupplementalJapaneseEraTest -b "$ERA"; then
-        echo "$P: passed"
-    else
-        echo "$P: failed"
-        STATUS=1
-    fi
-done
-exit $STATUS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/Calendar/SupplementalJapaneseEraTestRun.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8048123 8054214 8173423
+ * @summary Test for jdk.calendar.japanese.supplemental.era support
+ * @library /test/lib
+ * @build SupplementalJapaneseEraTest
+ * @run testng/othervm SupplementalJapaneseEraTestRun
+ */
+
+import java.util.Calendar;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+import static java.util.Calendar.*;
+
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.JDKToolLauncher;
+import jdk.test.lib.Utils;
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+public class SupplementalJapaneseEraTestRun {
+    @DataProvider(name = "validprop")
+    Object[][] validPropertyData() {
+        return new Object[][] {
+                //Tests with valid property values
+                {"name=SupEra,abbr=S.E.,since="},
+                {"name = SupEra, abbr = S.E., since = "},
+        };
+    }
+
+    @DataProvider(name = "invalidprop")
+    Object[][] invalidPropertyData() {
+        return new Object[][] {
+                //Tests with invalid property values
+                {"=SupEra,abbr=S.E.,since="},
+                {"=,abbr=S.E.,since="},
+                {"name,abbr=S.E.,since="},
+                {"abbr=S.E.,since="},
+                {"name=SupEra,since="},
+                {"name=,abbr=S.E.,since"},
+                {"name=SupEra,abbr=,since="},
+                {"name=SupEra,abbr=S.E."},
+                {"name=SupEra,abbr=S.E.,since=0"},
+                //since=9223372036854775808 the number means Long.MAX_VALUE+1
+                {"name=SupEra,abbr=S.E.,since=9223372036854775808"},
+        };
+    }
+
+    @Test(dataProvider = "validprop")
+    public void ValidPropertyValuesTest(String prop)
+            throws Throwable {
+        //get the start time of the fictional next era
+        String startTime = getStartTime();
+        testRun(prop + startTime, List.of("-t"));
+    }
+
+    @Test(dataProvider = "invalidprop")
+    public void InvalidPropertyValuesTest(String prop)
+            throws Throwable {
+        //get the start time of the fictional next era
+        String startTime = getStartTime();
+        //get the name of the current era to be used to confirm that
+        //invalid property values are ignored.
+        String currentEra = getCurrentEra();
+        testRun(prop + startTime, List.of("-b", currentEra));
+    }
+
+    private static void testRun(String property, List<String> javaParam)
+            throws Throwable{
+        JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java");
+        launcher.addToolArg("-cp")
+                .addToolArg(Utils.TEST_CLASS_PATH)
+                .addToolArg("-Djdk.calendar.japanese.supplemental.era=" + property)
+                .addToolArg("SupplementalJapaneseEraTest");
+        for (String para: javaParam) {
+            launcher.addToolArg(para);
+        }
+        int exitCode = ProcessTools.executeCommand(launcher.getCommand())
+                .getExitValue();
+        System.out.println(property + ":pass");
+        if (exitCode != 0) {
+            System.out.println(property + ":fail");
+            throw new RuntimeException("Unexpected exit code: " + exitCode);
+        }
+    }
+
+    private static String getStartTime(){
+        Calendar cal = new Calendar.Builder().setCalendarType("japanese")
+                .setTimeZone(TimeZone.getTimeZone("GMT")).setFields(ERA, 5)
+                .setDate(200, FEBRUARY, 11).build();
+        return String.valueOf(cal.getTimeInMillis());
+    }
+
+    private static String getCurrentEra(){
+        Calendar jcal = new Calendar.Builder()
+                .setCalendarType("japanese")
+                .setFields(YEAR, 1, DAY_OF_YEAR, 1)
+                .build();
+        return jcal.getDisplayName(ERA, LONG, Locale.US);
+    }
+}
--- a/test/jdk/java/util/prefs/CheckUserPrefFirst.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/prefs/CheckUserPrefFirst.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,9 +24,7 @@
 import java.util.prefs.Preferences;
 
 /**
- *
- * @author khazra
- * First class called by CheckUserPrefsStorage.sh to create and
+ * First class called by CheckUserPrefsStorage.java to create and
  * store a user preference
  */
 
--- a/test/jdk/java/util/prefs/CheckUserPrefLater.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/prefs/CheckUserPrefLater.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,9 +24,8 @@
 import java.util.prefs.Preferences;
 
 /**
- * CheckUserPrefsStorage.sh uses this to check that preferences stored
+ * CheckUserPrefsStorage.java uses this to check that preferences stored
  * by CheckUserPrefFirst.java can be retrieved
- * @author khazra
  */
 
 public class CheckUserPrefLater {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/prefs/CheckUserPrefsStorage.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7198073 7197662
+ * @summary Tests that user preferences are stored in the permanent storage
+ * @library /test/lib
+ * @build jdk.test.lib.process.* CheckUserPrefFirst CheckUserPrefLater
+ * @run main CheckUserPrefsStorage
+ */
+
+import jdk.test.lib.process.ProcessTools;
+
+public class CheckUserPrefsStorage {
+
+    public static void main(String[] args) throws Throwable {
+        // First to create and store a user preference
+        run("CheckUserPrefFirst");
+        // Then check that preferences stored by CheckUserPrefFirst can be retrieved
+        run("CheckUserPrefLater");
+    }
+
+    public static void run(String testName) throws Exception {
+        ProcessTools.executeTestJvm("-Djava.util.prefs.userRoot=.", testName)
+                    .outputTo(System.out)
+                    .errorTo(System.out)
+                    .shouldHaveExitValue(0);
+    }
+}
--- a/test/jdk/java/util/prefs/CheckUserPrefsStorage.sh	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# @test
-# @bug 7198073 7197662
-# @build CheckUserPrefFirst CheckUserPrefLater
-# @run shell CheckUserPrefsStorage.sh
-# @summary Tests that user preferences are stored in the
-#          permanent storage
-#
-
-OS=`uname -s`
-case "$OS" in
-  SunOS | Linux | Darwin | AIX )
-    PS=":"
-    FS="/"
-    ;;
-  CYGWIN* )
-    PS=";"
-    FS="/"
-    ;;
-  Windows* )
-    PS=";"
-    FS="\\"
-    ;;
-  * )
-    echo "Unrecognized system!"
-    exit 1;
-    ;;
-esac
-
-# run CheckUserPrefFirst - creates and stores a user pref
-${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp ${TESTCLASSES} -Djava.util.prefs.userRoot=. CheckUserPrefFirst
-result=$?
-if [ "$result" -ne "0" ]; then
-    exit 1
-fi
-
-# run CheckUserPrefLater - Looks for the stored pref
-${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp ${TESTCLASSES} -Djava.util.prefs.userRoot=. CheckUserPrefLater
-result=$?
-if [ "$result" -ne "0" ]; then
-    exit 1
-fi
-
-# no failures, exit.
-exit 0
-
--- a/test/jdk/java/util/prefs/PrefsSpi.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/prefs/PrefsSpi.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,7 @@
 import java.util.prefs.Preferences;
 
 /*
- * main class used by regtest PrefsSpi.sh
+ * main class used by regtest PrefsSpiTest.java
  */
 public class PrefsSpi {
 
--- a/test/jdk/java/util/prefs/PrefsSpi.sh	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# @test
-# @bug 4991526 6514993 7197662
-# @summary Unit test for Preferences jar providers
-#
-# @build PrefsSpi
-# @run shell PrefsSpi.sh
-# @author Martin Buchholz
-
-# Command-line usage: sh PrefsSpi.sh /path/to/build
-
-if [ -z "$TESTJAVA" ]; then
-    if [ $# -lt 1 ]; then exit 1; fi
-    TESTJAVA="$1"; shift
-    TESTSRC="`pwd`"
-    TESTCLASSES="`pwd`"
-fi
-if [ -z "$COMPILEJAVA" ]; then
-    COMPILEJAVA="${TESTJAVA}"
-fi
-
- java="$TESTJAVA/bin/java"
-javac="$COMPILEJAVA/bin/javac"
-  jar="$COMPILEJAVA/bin/jar"
-
-Die() { printf "%s\n" "$*"; exit 1; }
-
-Sys() {
-    printf "%s\n" "$*"; "$@"; rc="$?";
-    test "$rc" -eq 0 || Die "Command \"$*\" failed with exitValue $rc";
-}
-
-cat > StubPreferences.java <<'EOF'
-import java.util.prefs.*;
-
-public class StubPreferences extends AbstractPreferences {
-    public StubPreferences() { super(null, ""); }
-    public String              getSpi(String x)           { return null; }
-    public void                putSpi(String x, String y) { }
-    public void                removeSpi(String x)        { }
-    public AbstractPreferences childSpi(String x)         { return null; }
-    public void                removeNodeSpi()            { }
-    public String[]            keysSpi()                  { return null; }
-    public String[]            childrenNamesSpi()         { return null; }
-    public void                syncSpi()                  { }
-    public void                flushSpi()                 { }
-}
-EOF
-
-cat > StubPreferencesFactory.java <<'EOF'
-import java.util.prefs.*;
-
-public class StubPreferencesFactory implements PreferencesFactory {
-    public Preferences userRoot()   { return new StubPreferences(); }
-    public Preferences systemRoot() { return new StubPreferences(); }
-}
-EOF
-
-Sys rm -rf jarDir extDir
-Sys mkdir -p jarDir/META-INF/services extDir
-echo "StubPreferencesFactory" \
-  > "jarDir/META-INF/services/java.util.prefs.PreferencesFactory"
-Sys "$javac" ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d jarDir StubPreferencesFactory.java StubPreferences.java
-
-(cd jarDir && "$jar" ${TESTTOOLVMOPTS} "cf" "../extDir/PrefsSpi.jar" ".")
-
-case "`uname`" in Windows*|CYGWIN* ) CPS=';';; *) CPS=':';; esac
-
-Sys "$java" ${TESTVMOPTS} "-cp" "$TESTCLASSES${CPS}extDir/PrefsSpi.jar" \
-    -Djava.util.prefs.PreferencesFactory=StubPreferencesFactory \
-    -Djava.util.prefs.userRoot=. \
-    PrefsSpi "StubPreferences"
-Sys "$java" ${TESTVMOPTS} "-cp" "$TESTCLASSES" \
-    -Djava.util.prefs.userRoot=. \
-    PrefsSpi "java.util.prefs.*"
-Sys "$java" ${TESTVMOPTS} "-cp" "$TESTCLASSES${CPS}extDir/PrefsSpi.jar" \
-    -Djava.util.prefs.userRoot=. \
-    PrefsSpi "StubPreferences"
-
-rm -rf jarDir extDir
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/prefs/PrefsSpiTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4991526 6514993 7197662
+ * @summary Unit test for Preferences jar providers
+ * @library /test/lib
+ * @build jdk.test.lib.util.JarUtils jdk.test.lib.process.*
+ *        PrefsSpi StubPreferencesFactory StubPreferences
+ * @run testng PrefsSpiTest
+ */
+
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.List;
+
+import jdk.test.lib.JDKToolFinder;
+import jdk.test.lib.Utils;
+import jdk.test.lib.process.ProcessTools;
+import jdk.test.lib.util.JarUtils;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+import static java.nio.file.StandardOpenOption.CREATE;
+import static java.util.Arrays.asList;
+
+import static jdk.test.lib.Utils.TEST_CLASSES;
+import static jdk.test.lib.Utils.TEST_CLASS_PATH;
+
+public class PrefsSpiTest {
+
+    private static final Path SPIJAR = Path.of("extDir", "PrefsSpi.jar");
+    private static final String SPIJAR_CP = TEST_CLASS_PATH
+            + File.pathSeparator + SPIJAR.toString();
+
+    @BeforeClass
+    public void initialize() throws Exception {
+        Path xdir = Path.of("jarDir");
+
+        Path config = xdir.resolve("META-INF/services/java.util.prefs.PreferencesFactory");
+        Files.createDirectories(config.getParent());
+        Files.write(config, "StubPreferencesFactory".getBytes(), CREATE);
+
+        String[] files = {"StubPreferencesFactory.class", "StubPreferences.class"};
+        for (String f : files) {
+            Path source = Path.of(TEST_CLASSES, f);
+            Path target = xdir.resolve(source.getFileName());
+            Files.copy(source, target, REPLACE_EXISTING);
+        }
+
+        JarUtils.createJarFile(SPIJAR, xdir);
+    }
+
+    @DataProvider
+    public Object[][] testCases() {
+        return new Object[][]{
+            // CLI options,                        runtime arguments
+            {List.of("-cp", SPIJAR_CP,
+                     "-Djava.util.prefs.PreferencesFactory=StubPreferencesFactory"),
+                                                   "StubPreferences"},
+            {List.of("-cp", TEST_CLASS_PATH),      "java.util.prefs.*"},
+            {List.of("-cp", SPIJAR_CP),            "StubPreferences"}
+        };
+    }
+
+    @Test(dataProvider = "testCases")
+    public void testProvider(List<String> opts, String pattern) throws Throwable {
+        List<String> args = new ArrayList<>();
+        args.add(JDKToolFinder.getJDKTool("java"));
+        args.addAll(asList(Utils.getTestJavaOpts()));
+        args.addAll(opts);
+        args.add("-Djava.util.prefs.userRoot=.");
+        args.add(PrefsSpi.class.getName());
+        args.add(pattern);
+
+        ProcessTools.executeCommand(args.stream()
+                                        .filter(t -> !t.isEmpty())
+                                        .toArray(String[]::new))
+                    .shouldHaveExitValue(0);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/prefs/StubPreferences.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.util.prefs.AbstractPreferences;
+
+public class StubPreferences extends AbstractPreferences {
+    public StubPreferences() { super(null, ""); }
+    public String              getSpi(String x)           { return null; }
+    public void                putSpi(String x, String y) { }
+    public void                removeSpi(String x)        { }
+    public AbstractPreferences childSpi(String x)         { return null; }
+    public void                removeNodeSpi()            { }
+    public String[]            keysSpi()                  { return null; }
+    public String[]            childrenNamesSpi()         { return null; }
+    public void                syncSpi()                  { }
+    public void                flushSpi()                 { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/java/util/prefs/StubPreferencesFactory.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.util.prefs.Preferences;
+import java.util.prefs.PreferencesFactory;
+
+public class StubPreferencesFactory implements PreferencesFactory {
+    public Preferences userRoot()   { return new StubPreferences(); }
+    public Preferences systemRoot() { return new StubPreferences(); }
+}
--- a/test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java	Thu Nov 01 08:52:50 2018 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/* @test
- * @bug 7007609 7009618
- * @summary Check that ZipFile objects are always collected
- * @key randomness
- */
-
-import java.io.*;
-import java.util.Random;
-import java.util.zip.*;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-public class FinalizeZipFile {
-
-    private static final CountDownLatch finalizersDone = new CountDownLatch(3);
-
-    private static class InstrumentedZipFile extends ZipFile {
-
-        public InstrumentedZipFile(File f) throws Exception {
-            super(f);
-            System.out.printf("Using %s%n", f.getPath());
-        }
-        @Override
-        protected void finalize() throws IOException {
-            System.out.printf("Killing %s%n", getName());
-            super.finalize();
-            finalizersDone.countDown();
-        }
-    }
-
-    private static void makeGarbage() throws Throwable {
-        final Random rnd = new Random();
-        // Create some ZipFiles.
-        // Find some .jar files in test directory.
-        final File testdir = new File(System.getProperty("test.src", "."));
-        check(testdir.isDirectory());
-        final File[] jars = testdir.listFiles(
-            new FilenameFilter() {
-                public boolean accept(File dir, String name) {
-                    return name.endsWith(".jar");}});
-        check(jars.length > 1);
-
-        new InstrumentedZipFile(jars[rnd.nextInt(jars.length)]).close();
-        new InstrumentedZipFile(jars[rnd.nextInt(jars.length)]).close();
-
-        // Create a ZipFile and get an input stream from it
-        for (int i = 0; i < jars.length + 10; i++) {
-            ZipFile zf = new InstrumentedZipFile(jars[rnd.nextInt(jars.length)]);
-            ZipEntry ze = zf.getEntry("META-INF/MANIFEST.MF");
-            if (ze != null) {
-                InputStream is = zf.getInputStream(ze);
-                break;
-            }
-        }
-    }
-
-    public static void realMain(String[] args) throws Throwable {
-        makeGarbage();
-        while (!finalizersDone.await(10, TimeUnit.MILLISECONDS)) {
-            System.gc();
-        }
-        // Not all ZipFiles were collected?
-        equal(finalizersDone.getCount(), 0L);
-    }
-
-    //--------------------- Infrastructure ---------------------------
-    static volatile int passed = 0, failed = 0;
-    static void pass() {passed++;}
-    static void fail() {failed++; Thread.dumpStack();}
-    static void fail(String msg) {System.out.println(msg); fail();}
-    static void unexpected(Throwable t) {failed++; t.printStackTrace();}
-    static void check(boolean cond) {if (cond) pass(); else fail();}
-    static void equal(Object x, Object y) {
-        if (x == null ? y == null : x.equals(y)) pass();
-        else fail(x + " not equal to " + y);}
-    public static void main(String[] args) throws Throwable {
-        try {realMain(args);} catch (Throwable t) {unexpected(t);}
-        System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed);
-        if (failed > 0) throw new AssertionError("Some tests failed");}
-}
--- a/test/jdk/java/util/zip/ZipFile/TestCleaner.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/java/util/zip/ZipFile/TestCleaner.java	Thu Nov 01 09:01:15 2018 -0400
@@ -31,8 +31,6 @@
 import java.io.*;
 import java.lang.reflect.*;
 import java.util.*;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
 import java.util.zip.*;
 import jdk.internal.vm.annotation.DontInline;
 import static java.nio.charset.StandardCharsets.US_ASCII;
@@ -56,34 +54,6 @@
         }
     }
 
-    private static class SubclassedInflater extends Inflater {
-        CountDownLatch endCountDown;
-
-        SubclassedInflater(CountDownLatch endCountDown) {
-            this.endCountDown = endCountDown;
-        }
-
-        @Override
-        public void end() {
-            super.end();
-            endCountDown.countDown();
-        }
-    }
-
-    private static class SubclassedDeflater extends Deflater {
-        CountDownLatch endCountDown;
-
-        SubclassedDeflater(CountDownLatch endCountDown) {
-            this.endCountDown = endCountDown;
-        }
-
-        @Override
-        public void end() {
-            super.end();
-            endCountDown.countDown();
-        }
-    }
-
     // verify the "native resource" of In/Deflater has been cleaned
     private static void testDeInflater() throws Throwable {
         Field zsRefDef = Deflater.class.getDeclaredField("zsRef");
@@ -124,44 +94,6 @@
         if (cnt != 0)
             throw new RuntimeException("cleaner failed to clean : " + cnt);
 
-        // test subclassed Deflater/Inflater, for behavioral compatibility.
-        // should be removed if the finalize() method is finally removed.
-        var endCountDown = new CountDownLatch(20);
-        for (int i = 0; i < 10; i++) {
-            var def = new SubclassedDeflater(endCountDown);
-            def.setInput("hello".getBytes());
-            def.finish();
-            n = def.deflate(buf1);
-
-            var inf = new SubclassedInflater(endCountDown);
-            inf.setInput(buf1, 0, n);
-            n = inf.inflate(buf2);
-            if (!"hello".equals(new String(buf2, 0, n))) {
-                throw new RuntimeException("compression/decompression failed");
-            }
-        }
-        while (!endCountDown.await(10, TimeUnit.MILLISECONDS)) {
-            System.gc();
-        }
-        if (endCountDown.getCount() != 0)
-            throw new RuntimeException("finalizer failed to clean : " +
-                endCountDown.getCount());
-    }
-
-    private static class SubclassedZipFile extends ZipFile {
-        CountDownLatch closeCountDown;
-
-        SubclassedZipFile(File f, CountDownLatch closeCountDown)
-            throws IOException {
-            super(f);
-            this.closeCountDown = closeCountDown;
-        }
-
-        @Override
-        public void close() throws IOException {
-            closeCountDown.countDown();
-            super.close();
-        }
     }
 
     @DontInline
@@ -198,27 +130,6 @@
         }
     }
 
-    @DontInline
-    private static void openAndCloseSubZipFile(File zip, CountDownLatch closeCountDown)
-        throws Throwable {
-        try {
-            try (var fos = new FileOutputStream(zip);
-                 var zos = new ZipOutputStream(fos)) {
-                zos.putNextEntry(new ZipEntry("hello"));
-                zos.write("hello".getBytes(US_ASCII));
-                zos.closeEntry();
-            }
-            var zf = new SubclassedZipFile(zip, closeCountDown);
-            var es = zf.entries();
-            while (es.hasMoreElements()) {
-                zf.getInputStream(es.nextElement()).read();
-            }
-            es = null;
-            zf = null;
-        } finally {
-            zip.delete();
-        }
-    }
 
     private static void testZipFile() throws Throwable {
         File dir = new File(System.getProperty("test.dir", "."));
@@ -241,16 +152,5 @@
                 throw new RuntimeException("cleaner failed to clean zipfile.");
             }
         }
-
-        // test subclassed ZipFile, for behavioral compatibility.
-        // should be removed if the finalize() method is finally removed.
-        var closeCountDown = new CountDownLatch(1);
-        openAndCloseSubZipFile(zip, closeCountDown);
-        while (!closeCountDown.await(10, TimeUnit.MILLISECONDS)) {
-            System.gc();
-        }
-        if (closeCountDown.getCount() != 0)
-            throw new RuntimeException("finalizer failed to clean : " +
-                closeCountDown.getCount());
     }
 }
--- a/test/jdk/javax/net/ssl/SSLSession/JSSERenegotiate.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/javax/net/ssl/SSLSession/JSSERenegotiate.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,7 @@
 
 import java.io.*;
 import java.net.*;
+import java.security.Security;
 import javax.net.ssl.*;
 
 public class JSSERenegotiate {
@@ -190,6 +191,10 @@
     volatile Exception clientException = null;
 
     public static void main(String[] args) throws Exception {
+        // reset the security property to make sure that the cipher suites
+        // used in this test are not disabled
+        Security.setProperty("jdk.tls.disabledAlgorithms", "");
+
         String keyFilename =
             System.getProperty("test.src", "./") + "/" + pathToStores +
                 "/" + keyStoreFile;
--- a/test/jdk/javax/net/ssl/ciphersuites/DisabledAlgorithms.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/javax/net/ssl/ciphersuites/DisabledAlgorithms.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8076221
+ * @bug 8076221 8211883
  * @summary Check if weak cipher suites are disabled
  * @modules jdk.crypto.ec
  * @run main/othervm DisabledAlgorithms default
@@ -60,9 +60,9 @@
             System.getProperty("test.src", "./") + "/" + pathToStores +
                 "/" + trustStoreFile;
 
-    // supported RC4 cipher suites
+    // supported RC4, NULL, and anon cipher suites
     // it does not contain KRB5 cipher suites because they need a KDC
-    private static final String[] rc4_ciphersuites = new String[] {
+    private static final String[] rc4_null_anon_ciphersuites = new String[] {
         "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
         "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
         "SSL_RSA_WITH_RC4_128_SHA",
@@ -70,7 +70,31 @@
         "TLS_ECDH_RSA_WITH_RC4_128_SHA",
         "SSL_RSA_WITH_RC4_128_MD5",
         "TLS_ECDH_anon_WITH_RC4_128_SHA",
-        "SSL_DH_anon_WITH_RC4_128_MD5"
+        "SSL_DH_anon_WITH_RC4_128_MD5",
+        "SSL_RSA_WITH_NULL_MD5",
+        "SSL_RSA_WITH_NULL_SHA",
+        "TLS_RSA_WITH_NULL_SHA256",
+        "TLS_ECDH_ECDSA_WITH_NULL_SHA",
+        "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
+        "TLS_ECDH_RSA_WITH_NULL_SHA",
+        "TLS_ECDHE_RSA_WITH_NULL_SHA",
+        "TLS_ECDH_anon_WITH_NULL_SHA",
+        "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
+        "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5",
+        "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA",
+        "SSL_DH_anon_WITH_DES_CBC_SHA",
+        "SSL_DH_anon_WITH_RC4_128_MD5",
+        "TLS_DH_anon_WITH_AES_128_CBC_SHA",
+        "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
+        "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
+        "TLS_DH_anon_WITH_AES_256_CBC_SHA",
+        "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
+        "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
+        "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
+        "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
+        "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
+        "TLS_ECDH_anon_WITH_NULL_SHA",
+        "TLS_ECDH_anon_WITH_RC4_128_SHA"
     };
 
     public static void main(String[] args) throws Exception {
@@ -89,8 +113,9 @@
                 System.out.println("jdk.tls.disabledAlgorithms = "
                         + Security.getProperty("jdk.tls.disabledAlgorithms"));
 
-                // check if RC4 cipher suites can't be used by default
-                checkFailure(rc4_ciphersuites);
+                // check if RC4, NULL, and anon cipher suites
+                // can't be used by default
+                checkFailure(rc4_null_anon_ciphersuites);
                 break;
             case "empty":
                 // reset jdk.tls.disabledAlgorithms
@@ -98,9 +123,9 @@
                 System.out.println("jdk.tls.disabledAlgorithms = "
                         + Security.getProperty("jdk.tls.disabledAlgorithms"));
 
-                // check if RC4 cipher suites can be used
+                // check if RC4, NULL, and anon cipher suites can be used
                 // if jdk.tls.disabledAlgorithms is empty
-                checkSuccess(rc4_ciphersuites);
+                checkSuccess(rc4_null_anon_ciphersuites);
                 break;
             default:
                 throw new RuntimeException("Wrong parameter: " + args[0]);
--- a/test/jdk/javax/swing/JEditorPane/8195095/ImageViewTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/javax/swing/JEditorPane/8195095/ImageViewTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -24,7 +24,7 @@
 /**
  * @test
  * @key headful
- * @bug 8195095 8206238
+ * @bug 8195095 8206238 8208638
  * @summary Tests if Images are scaled correctly in JEditorPane.
  * @run main ImageViewTest
  */
@@ -51,8 +51,11 @@
             f.add(editorPane);
             f.setSize(WIDTH + 20, HEIGHT + 40);
             f.setLocationRelativeTo(null);
-
             f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+            //This line will trigger the imageupdate, and consequently, the view
+            //will be populated with the appropriate color when the pixel color
+            //is queried by robot.
+            editorPane.getUI().getPreferredSize(editorPane);
             f.setVisible(true);
         });
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/swing/JFileChooser/ShellFolderQueries/ShellFolderQueriesSecurityManagerTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8182041
+ * @summary Tests if the files(Shortcut Panle files, FileChooser ComboBox files)
+ * are filtered out when run with SecurityManager enabled.
+ * @run main/othervm/policy=shellfolderqueries.policy ShellFolderQueriesSecurityManagerTest
+ */
+
+import javax.swing.filechooser.FileSystemView;
+import java.io.File;
+import java.util.Arrays;
+
+public class ShellFolderQueriesSecurityManagerTest {
+    static final FileSystemView fsv = FileSystemView.getFileSystemView();
+
+    public static void main(String[] args) throws Exception {
+        try {
+            File[] shortcuts = fsv.getChooserShortcutPanelFiles();
+            Arrays.asList(shortcuts).forEach(System.out::println);
+
+            if (shortcuts.length != 0) {
+                throw new RuntimeException("Shortcut panel files leaked from SecurityManager.");
+            }
+
+            File[] cbFiles = fsv.getChooserComboBoxFiles();
+            Arrays.asList(cbFiles).forEach(System.out::println);
+            if (cbFiles.length != 0) {
+                throw new RuntimeException("Combobox Files leaked from SecurityManager.");
+            }
+
+            System.out.println("ok");
+        } catch (SecurityException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
--- a/test/jdk/javax/swing/JFileChooser/ShellFolderQueries/ShellFolderQueriesTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/javax/swing/JFileChooser/ShellFolderQueries/ShellFolderQueriesTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018 Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8081722
+ * @bug 8081722 8182041
  * @summary Provide public API for file hierarchy provided by
  * sun.awt.shell.ShellFolder
  * @author Semyon Sadetsky
@@ -53,6 +53,7 @@
             System.out.println("Windows detected: will run shortcut test");
             testGet();
             testLink();
+            testShortcutPanelFiles();
         } else {
             testGet();
         }
@@ -119,4 +120,11 @@
             }
         }
     }
+
+    private static void testShortcutPanelFiles() {
+        File[] shortcuts = fsv.getChooserShortcutPanelFiles();
+        if (shortcuts.length == 0) {
+            throw new RuntimeException("No shortcut panel files found.");
+        }
+    }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/swing/JFileChooser/ShellFolderQueries/shellfolderqueries.policy	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,5 @@
+grant {
+    permission java.util.PropertyPermission "user.home", "read";
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/swing/JSpinner/WrongEditorTextFieldFont/FontSetToNull.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.awt.Font;
+
+import javax.swing.JSpinner;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.UIResource;
+
+import static javax.swing.JSpinner.DefaultEditor;
+import static javax.swing.UIManager.getInstalledLookAndFeels;
+
+/**
+ * @test
+ * @key headful
+ * @bug 8210739
+ */
+public final class FontSetToNull {
+
+    private static final Font USERS_FONT = new Font("dialog", Font.BOLD, 41);
+
+    public static void main(final String[] args) throws Exception {
+        for (final UIManager.LookAndFeelInfo laf : getInstalledLookAndFeels()) {
+            SwingUtilities.invokeAndWait(() -> setLookAndFeel(laf));
+            SwingUtilities.invokeAndWait(() -> {
+                // default spinner
+                test(new JSpinner());
+                // spinner which always uses the null font
+                test(new JSpinner(){
+                    @Override
+                    public Font getFont() {
+                        return null;
+                    }
+                });
+            });
+        }
+    }
+
+    /**
+     * A sequence of methods that test a possible NPE.
+     */
+    private static void test(JSpinner spinner) {
+        final DefaultEditor de = (DefaultEditor) spinner.getEditor();
+
+        spinner.setFont(null); // Check possible NPE
+        SwingUtilities.updateComponentTreeUI(de); // Check possible NPE
+        spinner.setFont(null); // Check possible NPE
+
+        // should not replace the font of the TextField
+        de.getTextField().setFont(USERS_FONT);
+        spinner.setFont(null);
+
+        final Font tff = de.getTextField().getFont();
+        if (tff instanceof UIResource || !tff.equals(USERS_FONT)) {
+            throw new RuntimeException("Wrong font: " + tff);
+        }
+
+        spinner.setEditor(new JSpinner().getEditor()); // Check possible NPE
+    }
+
+    private static void setLookAndFeel(final UIManager.LookAndFeelInfo laf) {
+        try {
+            UIManager.setLookAndFeel(laf.getClassName());
+            System.out.println("LookAndFeel: " + laf.getClassName());
+        } catch (ClassNotFoundException | InstantiationException |
+                UnsupportedLookAndFeelException | IllegalAccessException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/javax/swing/UIDefaults/TestUIDefaultsErrorHandling.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 6828982
+   @summary Verifies UIDefaults.getUI retains original exception
+   @run main TestUIDefaultsErrorHandling
+ */
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.UIDefaults;
+import javax.swing.UIManager;
+import javax.swing.plaf.ComponentUI;
+import javax.swing.plaf.basic.BasicLabelUI;
+
+public class TestUIDefaultsErrorHandling {
+
+    private final static String erroutput = "oops, complex problem with diagnostics";
+
+    public static void main(String[] args) {
+        final PrintStream err = System.err;
+        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
+        System.setErr(new PrintStream(bytes));
+
+        try {
+            UIDefaults defaults = UIManager.getDefaults();
+            defaults.put("BrokenUI", BrokenUI.class.getName());
+            defaults.getUI(new JLabel() {
+                public @Override String getUIClassID() {
+                    return "BrokenUI";
+                }
+            });
+            if (!(bytes.toString().contains(erroutput))) {
+                throw new RuntimeException("UIDefauls swallows exception trace");
+            }
+        } finally {
+            System.setErr(err);
+        }
+    }
+    public static class BrokenUI extends BasicLabelUI {
+        public static ComponentUI createUI(JComponent target) {
+            return new BrokenUI();
+        }
+        private BrokenUI() {
+            throw new RuntimeException(erroutput);
+        }
+    }
+}
--- a/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/jdk/jfr/event/gc/detailed/TestPromotionEventWithG1.java	Thu Nov 01 09:01:15 2018 -0400
@@ -26,6 +26,7 @@
 
 /**
  * @test
+ * @bug 8212766
  * @key jfr
  * @summary Test that events are created when an object is aged or promoted during a GC and the copying of the object requires a new PLAB or direct heap allocation
  * @requires vm.hasJFR
@@ -33,8 +34,8 @@
  * @requires (vm.gc == "G1" | vm.gc == null)
  *           & vm.opt.ExplicitGCInvokesConcurrent != true
  * @library /test/lib /test/jdk
- * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5
- * jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
+ * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
+ * @run main/othervm -Xmx32m -Xms32m -Xmn12m -XX:+UseG1GC -XX:-UseStringDeduplication -XX:MaxTenuringThreshold=5 -XX:InitialTenuringThreshold=5 -XX:MinTLABSize=576 -XX:TLABSize=576 jdk.jfr.event.gc.detailed.TestPromotionEventWithG1
  */
 public class TestPromotionEventWithG1 {
 
--- a/test/jdk/jdk/jfr/jvm/TestGetAllEventClasses.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/jdk/jfr/jvm/TestGetAllEventClasses.java	Thu Nov 01 09:01:15 2018 -0400
@@ -104,8 +104,9 @@
     }
 
     @SafeVarargs
+    @SuppressWarnings("rawtypes")
     private static void assertEvents(JVM jvm, boolean inclusion, Class<? extends Event>... targetEvents) {
-        final List<Class<? extends Event>> list = jvm.getAllEventClasses();
+        final List list = jvm.getAllEventClasses();
         for (Class<? extends Event> ev : targetEvents) {
            if (list.contains(ev)) {
                if (inclusion) {
--- a/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/sanity/client/SwingSet/src/EditorPaneDemoTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -24,7 +24,9 @@
 import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.DEMO_TITLE;
 import static com.sun.swingset3.demos.editorpane.EditorPaneDemo.SOURCE_FILES;
 import static org.jemmy2ext.JemmyExt.EXACT_STRING_COMPARATOR;
+import static org.jemmy2ext.JemmyExt.assertNotBlack;
 
+import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Insets;
 import java.awt.Point;
@@ -147,14 +149,14 @@
         final int xGap = 100, yGap = 40, columns = 2, rows = 5;
         editorPaneOperator.waitState(comp -> {
             BufferedImage capturedImage = ImageTool.getImage(imageRect);
+            assertNotBlack(capturedImage);
             int x = 0, y = 0, i = 0, j;
             for (; i < columns; i++) {
                 x += xGap;
                 y = 0;
                 for (j = 0; j < rows; j++) {
                     y += yGap;
-                    if(capturedImage.getRGB(x, y) ==
-                            editorPaneOperator.getBackground().getRGB()) {
+                    if(capturedImage.getRGB(x, y) == Color.WHITE.getRGB()) {
                         // saving image for failure case
                         JemmyExt.save(capturedImage, "capturedimage_" + pageName + "_" +
                                 UIManager.getLookAndFeel().getClass().getSimpleName() + ".png");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sanity/client/SwingSet/src/FileChooserDemoTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import org.jtregext.GuiTestListener;
+import com.sun.swingset3.demos.filechooser.FileChooserDemo;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.APPLY_FILTER_TOOLTIP;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.DEMO_TITLE;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FILE_CHOOSER_DEMO_CANCEL_TEXT;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FILE_CHOOSER_DEMO_SAVEQUESTION_TITLE;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FILE_CHOOSER_DEMO_SAVE_TEXT;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FILE_CHOOSER_DEMO_SELECT_TEXT;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FILE_CHOOSER_DEMO_SELECT_WITH_PREVIEW;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FLIP_HORIZONTAL_TOOLTIP;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.FLIP_VERTICAL_TOOLTIP;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.GRAY;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.ROTATE_LEFT_TOOLTIP;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.ROTATE_RIGHT_TOOLTIP;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.getFlipHorizontalCount;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.getFlipVerticalCount;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.getLastAppliedFilterId;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.getRotateLeftCount;
+import static com.sun.swingset3.demos.filechooser.FileChooserDemo.getRotateRightCount;
+import java.awt.Container;
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.testng.annotations.Test;
+import org.netbeans.jemmy.ClassReference;
+import org.netbeans.jemmy.operators.JFrameOperator;
+import org.netbeans.jemmy.operators.JButtonOperator;
+import org.netbeans.jemmy.operators.JComboBoxOperator;
+import org.netbeans.jemmy.operators.JToggleButtonOperator;
+import org.netbeans.jemmy.operators.JFileChooserOperator;
+import org.netbeans.jemmy.operators.JDialogOperator;
+import org.netbeans.jemmy.util.Platform;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Listeners;
+import org.jemmy2ext.JemmyExt.ByToolTipChooser;
+
+/*
+ * @test
+ * @key headful
+ * @summary Verifies SwingSet3 FileChooserDemo by selecting an image file
+ *  using Select Image and Select with preview, performing image
+ *  transformation operations on the selected image and saving it.
+ *
+ * @library /sanity/client/lib/jemmy/src
+ * @library /sanity/client/lib/Extensions/src
+ * @library /sanity/client/lib/SwingSet3/src
+ * @modules java.desktop
+ *          java.logging
+ * @build org.jemmy2ext.JemmyExt
+ * @build com.sun.swingset3.demos.filechooser.FileChooserDemo
+ * @run testng FileChooserDemoTest
+ */
+@Listeners(GuiTestListener.class)
+public class FileChooserDemoTest {
+
+    public static final Path TEST_SRC = Paths.get(System.getProperty("test.src"));
+    public static final Path TEST_WORK_DIR = Paths.get(System.getProperty("user.dir"));
+    public static final Path IMAGE_DIR = TEST_SRC.resolve("resources").resolve("images");
+    public static final String IMAGE = "duke.jpg";
+    private static final String YES = "Yes";
+    private static final String NO = "No";
+    private static final String SCRATCH = "scratch";
+    private static final String OPEN = "Open";
+    private static final String CANCEL = "Cancel";
+    private static final String USER_HOME = "user.home";
+    private static final String DESKTOP = "Desktop";
+    private static final int greyFilterID = 7;
+
+    private JFrameOperator frame;
+    private JButtonOperator selectImageButton;
+    private JButtonOperator selectWithPreviewButton;
+    private JFileChooserOperator fileChooser;
+    private JButtonOperator upLevelButton;
+    private JButtonOperator rotateLeftButton;
+    private JButtonOperator rotateRightButton;
+    private JButtonOperator flipHorizontalButton;
+    private JButtonOperator flipVerticalButton;
+    private JButtonOperator applyFilterButton;
+    private JButtonOperator saveButton;
+    private JButtonOperator cancelButton;
+    private JButtonOperator yesButton;
+    private JButtonOperator noButton;
+    private JButtonOperator openButton;
+    private JComboBoxOperator filterComboBox;
+    private JDialogOperator confirmationDialog;
+    private JToggleButtonOperator getDetailsToggleButton;
+    private JToggleButtonOperator getListToggleButton;
+    private JDialogOperator fileChooserDialog;
+
+    @BeforeTest
+    public void beforeTest() throws Exception {
+        Files.copy(IMAGE_DIR.resolve(IMAGE), TEST_WORK_DIR.resolve(IMAGE));
+    }
+
+    @Test
+    public void test() throws Exception {
+        new ClassReference(FileChooserDemo.class.getCanonicalName()).startApplication();
+        frame = new JFrameOperator(DEMO_TITLE);
+        initializeSelectImageButtons();
+        initializeImageOperationButtons();
+        checkSelectImage();
+        checkImageOperations();
+        checkSelectWithPreview();
+        checkImageOperations();
+    }
+
+    private void checkSelectImage() throws Exception {
+        selectImageButton.push();
+        fileChooser = new JFileChooserOperator(JFileChooserOperator.findJFileChooser((Container) frame.getSource()));
+        // In Mac, JFileChooser does not have "Go Home","Up One Level","Get Details","Get List" buttons.
+        if (!Platform.isOSX()) {
+            initializeFileChooserButtons();
+            File previousDirectory = fileChooser.getCurrentDirectory();
+            fileChooser.goHome();
+            // In Windows, pressing goHome navigates to Desktop inside the home directory.
+            // This seems to be the expected behavior for windows.
+            if (!Platform.isWindows()) {
+                waitCurrentPath(Paths.get(System.getProperty(USER_HOME)));
+            } else {
+                waitCurrentPath(Paths.get(System.getProperty(USER_HOME)).resolve(DESKTOP));
+            }
+            fileChooser.setCurrentDirectory(previousDirectory);
+            fileChooser.rescanCurrentDirectory();
+            upLevelButton.push();
+            waitCurrentPath(previousDirectory.getParentFile().toPath());
+            fileChooser.enterSubDir(SCRATCH);
+            getListToggleButton.push();
+            getListToggleButton.waitSelected(true);
+            getDetailsToggleButton.push();
+            getDetailsToggleButton.waitSelected(true);
+            getListToggleButton.push();
+            fileChooser.rescanCurrentDirectory();
+            // Wait for the count of number of files to be 1
+            fileChooser.waitFileCount(1);
+            fileChooser.selectFile(IMAGE);
+        } else {
+            fileChooser.setCurrentDirectory(TEST_WORK_DIR.toFile());
+            fileChooser.selectFile(IMAGE);
+        }
+        selectImageButton.push();
+        applyFilterButton.waitComponentEnabled();
+    }
+
+    private void checkSelectWithPreview() {
+        selectWithPreviewButton.pushNoBlock();
+        initializeSelectWithPreviewDialog();
+        cancelButton.push();
+        fileChooserDialog.waitClosed();
+        selectWithPreviewButton.pushNoBlock();
+        initializeSelectWithPreviewDialog();
+        fileChooser.selectFile(IMAGE);
+        openButton.push();
+        fileChooserDialog.waitClosed();
+    }
+
+    private void checkImageOperations() throws Exception {
+        // Check Rotate Left Button
+        {
+            int initialValue = getRotateLeftCount();
+            // Push Button and wait for rotateLeftCount count to increment.
+            rotateLeftButton.push();
+            rotateLeftButton.waitState(button -> getRotateLeftCount() == initialValue + 1);
+        }
+        // Check Rotate Right Button
+        {
+            int initialValue = getRotateRightCount();
+            // Push Button and wait for rotateRightCount count to increment.
+            rotateRightButton.push();
+            rotateRightButton.waitState(button -> getRotateRightCount() == initialValue + 1);
+        }
+        // Check Apply Filter Button
+        filterComboBox.selectItem(GRAY);
+        applyFilterButton.push();
+        applyFilterButton.waitState(button -> getLastAppliedFilterId() == greyFilterID);
+        // Check Save and Yes Buttons
+        initializeSaveAndCancelButton();
+        saveButton.pushNoBlock();
+        //Wait for the dialog to show and initialize it
+        waitAndinitializeConfirmationDialog();
+        yesButton.push();
+        waitButtonDisabled(saveButton);
+
+        // Check Flip Vertical Button
+        {
+            int initialValue = getFlipVerticalCount();
+            // Push Button and wait for flipVerticalCount count to increment.
+            flipVerticalButton.push();
+            flipVerticalButton.waitState(button -> getFlipVerticalCount() == initialValue + 1);
+
+        }
+        // Check Save and No Buttons
+        saveButton.pushNoBlock();
+        //Wait for the dialog to show and initialize it
+        waitAndinitializeConfirmationDialog();
+        noButton.push();
+        confirmationDialog.waitClosed();
+        saveButton.waitComponentEnabled();
+        // Check Flip Horizontal Button
+        {
+            int initialValue = getFlipHorizontalCount();
+            // Push Button and wait for flipHorizontalCount count to increment.
+            flipHorizontalButton.push();
+            flipHorizontalButton.waitState(button -> getFlipHorizontalCount() == initialValue + 1);
+        }
+        // Check Cancel Button
+        cancelButton.push();
+        waitButtonDisabled(saveButton);
+    }
+
+    private void initializeFileChooserButtons() {
+        upLevelButton = new JButtonOperator(fileChooser.getUpLevelButton());
+        getDetailsToggleButton = new JToggleButtonOperator(fileChooser.getDetailsToggleButton());
+        getListToggleButton = new JToggleButtonOperator(fileChooser.getListToggleButton());
+    }
+
+    private void initializeSelectImageButtons() {
+        selectImageButton = new JButtonOperator(frame, FILE_CHOOSER_DEMO_SELECT_TEXT);
+        selectWithPreviewButton = new JButtonOperator(frame, FILE_CHOOSER_DEMO_SELECT_WITH_PREVIEW);
+    }
+
+    private void initializeSelectWithPreviewDialog() {
+        fileChooser = new JFileChooserOperator();
+        fileChooserDialog = new JDialogOperator(OPEN);
+        openButton = new JButtonOperator(fileChooser, OPEN);
+        cancelButton = new JButtonOperator(fileChooser, CANCEL);
+    }
+
+    private void initializeImageOperationButtons() {
+        rotateLeftButton = new JButtonOperator(frame,
+                new ByToolTipChooser(ROTATE_LEFT_TOOLTIP));
+        rotateRightButton = new JButtonOperator(frame,
+                new ByToolTipChooser(ROTATE_RIGHT_TOOLTIP));
+        flipHorizontalButton = new JButtonOperator(frame,
+                new ByToolTipChooser(FLIP_HORIZONTAL_TOOLTIP));
+        flipVerticalButton = new JButtonOperator(frame,
+                new ByToolTipChooser(FLIP_VERTICAL_TOOLTIP));
+        applyFilterButton = new JButtonOperator(frame,
+                new ByToolTipChooser(APPLY_FILTER_TOOLTIP));
+        filterComboBox = new JComboBoxOperator(frame);
+    }
+
+    private void initializeSaveAndCancelButton() {
+        saveButton = new JButtonOperator(frame, FILE_CHOOSER_DEMO_SAVE_TEXT);
+        cancelButton = new JButtonOperator(frame, FILE_CHOOSER_DEMO_CANCEL_TEXT);
+    }
+
+    private void waitAndinitializeConfirmationDialog() {
+        //Wait for the dialog to show
+        JDialogOperator.waitJDialog(FILE_CHOOSER_DEMO_SAVEQUESTION_TITLE, true, true);
+        confirmationDialog = new JDialogOperator(FILE_CHOOSER_DEMO_SAVEQUESTION_TITLE);
+        yesButton = new JButtonOperator(confirmationDialog, YES);
+        noButton = new JButtonOperator(confirmationDialog, NO);
+    }
+
+    private void waitButtonDisabled(JButtonOperator button) {
+        button.waitState(b -> b.isEnabled() == false);
+    }
+
+    private void waitCurrentPath(Path expectedPath) {
+        Path currentPath = fileChooser.getCurrentDirectory().toPath();
+        //Wait for the current path to be same as expected path
+        fileChooser.waitState(chooser -> currentPath.equals(expectedPath));
+    }
+
+}
Binary file test/jdk/sanity/client/SwingSet/src/resources/images/duke.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/FileChooserDemo.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,637 @@
+/*
+ * Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   - Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   - Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ *   - Neither the name of Sun Microsystems nor the names of its
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.sun.swingset3.demos.filechooser;
+
+import java.awt.*;
+import java.awt.color.ColorSpace;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.geom.AffineTransform;
+import java.awt.image.*;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.io.File;
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.*;
+import javax.imageio.ImageIO;
+import javax.swing.*;
+import javax.swing.filechooser.FileNameExtensionFilter;
+
+import com.sun.swingset3.demos.JGridPanel;
+import com.sun.swingset3.demos.ResourceManager;
+import com.sun.swingset3.DemoProperties;
+
+/**
+ * JFileChooserDemo
+ *
+ * @author Pavel Porvatov
+ */
+@DemoProperties(
+        value = "JFileChooser Demo",
+        category = "Choosers",
+        description = "Demonstrates JFileChooser, a component which allows the user to open and save files.",
+        sourceFiles = {
+            "com/sun/swingset3/demos/filechooser/FileChooserDemo.java",
+            "com/sun/swingset3/demos/DemoUtilities.java",
+            "com/sun/swingset3/demos/filechooser/resources/FileChooserDemo.properties",
+            "com/sun/swingset3/demos/filechooser/resources/images/apply.png",
+            "com/sun/swingset3/demos/filechooser/resources/images/FileChooserDemo.gif",
+            "com/sun/swingset3/demos/filechooser/resources/images/fliphor.png",
+            "com/sun/swingset3/demos/filechooser/resources/images/flipvert.png",
+            "com/sun/swingset3/demos/filechooser/resources/images/rotateleft.png",
+            "com/sun/swingset3/demos/filechooser/resources/images/rotateright.png"
+        }
+)
+public class FileChooserDemo extends JPanel {
+
+    public static final String DEMO_TITLE = FileChooserDemo.class.getAnnotation(DemoProperties.class).value();
+    public static final String FILE_CHOOSER_DEMO_IMAGE_TEXT = "FileChooserDemo.image.text";
+    public static final String FILE_CHOOSER_DEMO_SAVEQUESTION_MESSAGE = "FileChooserDemo.savequiestion.message";
+    public static final String FILE_CHOOSER_DEMO_ERRORSAVEFILE_MESSAGE = "FileChooserDemo.errorsavefile.message";
+    public static final String FILE_CHOOSER_DEMO_ERRORSAVEFILE_TITLE = "FileChooserDemo.errorsavefile.title";
+    public static final String JPEG_IMAGES = "JPEG images";
+    public static final String ALL_SUPPORTED_IMAGES = "All supported images";
+    public static final String JPG = "jpg";
+    public static final String FILE_CHOOSER_DEMO_SELECTFILE_MESSAGE = "FileChooserDemo.selectfile.message";
+    public static final String FILE_CHOOSER_DEMO_SELECTFILE_TITLE = "FileChooserDemo.selectfile.title";
+    public static final String FILE_CHOOSER_DEMO_ERRORLOADFILE_MESSAGE = "FileChooserDemo.errorloadfile.message";
+    public static final String FILE_CHOOSER_DEMO_ERRORLOADFILE_TITLE = "FileChooserDemo.errorloadfile.title";
+    public static final String FILE_CHOOSER_DEMO_PREVIEW_EMPTY_TEXT = "FileChooserDemo.preview.emptytext";
+    public static final String FILE_CHOOSER_DEMO_PREVIEW_TYPE = "FileChooserDemo.preview.type";
+    public static final String FILE_CHOOSER_DEMO_PREVIEW_SIZE = "FileChooserDemo.preview.size";
+    public static final String FILE_CHOOSER_DEMO_FILTER_GRAY = "FileChooserDemo.filter.gray";
+    public static final String FILE_CHOOSER_DEMO_FILTER_BLUR = "FileChooserDemo.filter.blur";
+    public static final String FILE_CHOOSER_DEMO_FILTER_EDGE = "FileChooserDemo.filter.edge";
+    public static final String FILE_CHOOSER_DEMO_FILTER_SHARPEN = "FileChooserDemo.filter.sharpen";
+    public static final String FILE_CHOOSER_DEMO_FILTER_DARKEN = "FileChooserDemo.filter.darken";
+    public static final String FILE_CHOOSER_DEMO_FILTER_BRIGHTEN = "FileChooserDemo.filter.brighten";
+    public static final String FILE_CHOOSER_DEMO_FILTER_LESSCONTRAST = "FileChooserDemo.filter.lesscontrast";
+    public static final String FILE_CHOOSER_DEMO_FILTER_MORECONTRAST = "FileChooserDemo.filter.morecontrast";
+    public static final String FILE_CHOOSER_DEMO_ROTATE_LEFT_TOOLTIP = "FileChooserDemo.rotateleft.tooltip";
+    public static final String FILE_CHOOSER_DEMO_ROTATE_RIGHT_TOOLTIP = "FileChooserDemo.rotateright.tooltip";
+    public static final String FILE_CHOOSER_DEMO_FLIP_HORIZONTAL_TOOLTIP = "FileChooserDemo.fliphorizontal.tooltip";
+    public static final String FILE_CHOOSER_DEMO_FLIP_VERTICAL_TOOLTIP = "FileChooserDemo.flipvertical.tooltip";
+    public static final String FILE_CHOOSER_DEMO_APPLY_FILTER_TOOLTIP = "FileChooserDemo.applyfilter.tooltip";
+
+    private static final ResourceManager resourceManager = new ResourceManager(FileChooserDemo.class);
+
+    public static final String ROTATE_LEFT_TOOLTIP = resourceManager.getString(FILE_CHOOSER_DEMO_ROTATE_LEFT_TOOLTIP);
+    public static final String ROTATE_RIGHT_TOOLTIP = resourceManager.getString(FILE_CHOOSER_DEMO_ROTATE_RIGHT_TOOLTIP);
+    public static final String FLIP_HORIZONTAL_TOOLTIP = resourceManager.getString(FILE_CHOOSER_DEMO_FLIP_HORIZONTAL_TOOLTIP);
+    public static final String FLIP_VERTICAL_TOOLTIP = resourceManager.getString(FILE_CHOOSER_DEMO_FLIP_VERTICAL_TOOLTIP);
+    public static final String APPLY_FILTER_TOOLTIP = resourceManager.getString(FILE_CHOOSER_DEMO_APPLY_FILTER_TOOLTIP);
+    public static final String FILE_CHOOSER_DEMO_SAVE_TEXT = resourceManager.getString("FileChooserDemo.save.text");
+    public static final String FILE_CHOOSER_DEMO_CANCEL_TEXT = resourceManager.getString("FileChooserDemo.cancel.text");
+    public static final String FILE_CHOOSER_DEMO_SAVEQUESTION_TITLE = resourceManager.getString("FileChooserDemo.savequestion.title");
+    public static final String FILE_CHOOSER_DEMO_SELECT_TEXT = resourceManager.getString("FileChooserDemo.select.text");
+    public static final String FILE_CHOOSER_DEMO_SELECT_WITH_PREVIEW = resourceManager.getString("FileChooserDemo.selectwithpreview.text");
+    public static final String GRAY = resourceManager.getString(FILE_CHOOSER_DEMO_FILTER_GRAY);
+
+    private enum State {
+
+        EMPTY,
+        IMAGE_LOADED,
+        IMAGE_CHANGED
+    }
+
+    private static int rotateLeftCount = 0;
+    private static int rotateRightCount = 0;
+    private static int flipHorizontalCount = 0;
+    private static int flipVerticalCount = 0;
+    private static int lastAppliedFilterId = -1;
+
+    private static final int MIN_FILTER_ID = 0;
+
+    private static final int MAX_FILTER_ID = 7;
+
+    private static final String[] FILTER_NAMES = {
+        FILE_CHOOSER_DEMO_FILTER_BLUR,
+        FILE_CHOOSER_DEMO_FILTER_EDGE,
+        FILE_CHOOSER_DEMO_FILTER_SHARPEN,
+        FILE_CHOOSER_DEMO_FILTER_DARKEN,
+        FILE_CHOOSER_DEMO_FILTER_BRIGHTEN,
+        FILE_CHOOSER_DEMO_FILTER_LESSCONTRAST,
+        FILE_CHOOSER_DEMO_FILTER_MORECONTRAST,
+        FILE_CHOOSER_DEMO_FILTER_GRAY
+    };
+
+    private static final BufferedImageOp[] FILTER_OPERATIONS = {
+        new ConvolveOp(new Kernel(3, 3,
+        new float[]{.1111f, .1111f, .1111f, .1111f, .1111f, .1111f, .1111f, .1111f, .1111f}),
+        ConvolveOp.EDGE_NO_OP, null),
+        new ConvolveOp(new Kernel(3, 3,
+        new float[]{0.0f, -1.0f, 0.0f, -1.0f, 4.f, -1.0f, 0.0f, -1.0f, 0.0f}),
+        ConvolveOp.EDGE_NO_OP, null),
+        new ConvolveOp(new Kernel(3, 3,
+        new float[]{0.0f, -1.0f, 0.0f, -1.0f, 5.f, -1.0f, 0.0f, -1.0f, 0.0f}),
+        ConvolveOp.EDGE_NO_OP, null),
+        new RescaleOp(1, -5.0f, null),
+        new RescaleOp(1, 5.0f, null),
+        new RescaleOp(0.9f, 0, null),
+        new RescaleOp(1.1f, 0, null),
+        new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null)
+    };
+
+    private final JLabel lbImage = new JLabel(resourceManager
+            .getString(FILE_CHOOSER_DEMO_IMAGE_TEXT), JLabel.CENTER);
+
+    private final JScrollPane pnImage = new JScrollPane(lbImage);
+
+    private final JButton btnSelect = new JButton(FILE_CHOOSER_DEMO_SELECT_TEXT);
+
+    private final JButton btnSelectWithPreview = new JButton(FILE_CHOOSER_DEMO_SELECT_WITH_PREVIEW);
+
+    private final JComboBox cbFilters = new JComboBox();
+
+    private final JButton btnApplyFilter = createButton("apply.png", FILE_CHOOSER_DEMO_APPLY_FILTER_TOOLTIP);
+
+    private final JButton btnRotateLeft = createButton("rotateleft.png", FILE_CHOOSER_DEMO_ROTATE_LEFT_TOOLTIP);
+
+    private final JButton btnRotateRight = createButton("rotateright.png", FILE_CHOOSER_DEMO_ROTATE_RIGHT_TOOLTIP);
+
+    private final JButton btnFlipHorizontal = createButton("fliphor.png", FILE_CHOOSER_DEMO_FLIP_HORIZONTAL_TOOLTIP);
+
+    private final JButton btnFlipVertical = createButton("flipvert.png", FILE_CHOOSER_DEMO_FLIP_VERTICAL_TOOLTIP);
+
+    private final JButton btnSave = new JButton(FILE_CHOOSER_DEMO_SAVE_TEXT);
+
+    private final JButton btnCancel = new JButton(FILE_CHOOSER_DEMO_CANCEL_TEXT);
+
+    private final JFileChooser externalChooser = new JFileChooser(new File("."));
+
+    private final JFileChooser embeddedChooser = new JFileChooser(new File("."));
+
+    private final JGridPanel pnContent = new JGridPanel(1, 0, 0);
+
+    private State state;
+
+    private boolean fileChoosing;
+
+    private File file;
+
+    private BufferedImage image;
+
+    /**
+     * main method allows us to run as a standalone demo.
+     */
+    public static void main(String[] args) {
+        JFrame frame = new JFrame(FileChooserDemo.class.getAnnotation(DemoProperties.class).value());
+
+        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        frame.getContentPane().add(new FileChooserDemo());
+        frame.setPreferredSize(new Dimension(800, 600));
+        frame.pack();
+        frame.setLocationRelativeTo(null);
+        frame.setVisible(true);
+    }
+
+    /**
+     * FileChooserDemo Constructor
+     */
+    public FileChooserDemo() {
+        setLayout(new BorderLayout());
+
+        initUI();
+
+        embeddedChooser.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (JFileChooser.APPROVE_SELECTION.equals(e.getActionCommand())) {
+                    loadFile(embeddedChooser.getSelectedFile());
+                }
+
+                if (JFileChooser.CANCEL_SELECTION.equals(e.getActionCommand())) {
+                    setState(state, false);
+                }
+            }
+        });
+
+        btnSelect.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (fileChoosing) {
+                    loadFile(embeddedChooser.getSelectedFile());
+                } else {
+                    setState(state, true);
+                }
+            }
+        });
+
+        btnSelectWithPreview.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (externalChooser.showOpenDialog(FileChooserDemo.this) == JFileChooser.APPROVE_OPTION) {
+                    loadFile(externalChooser.getSelectedFile());
+                }
+            }
+        });
+
+        btnApplyFilter.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                lastAppliedFilterId = ((FilterItem) cbFilters.getSelectedItem()).getId();
+                doFilter(FILTER_OPERATIONS[lastAppliedFilterId]);
+
+            }
+        });
+
+        btnRotateLeft.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doAffineTransform(image.getHeight(), image.getWidth(),
+                        new AffineTransform(0, -1, 1, 0, 0, image.getWidth()));
+                rotateLeftCount++;
+            }
+        });
+
+        btnRotateRight.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doAffineTransform(image.getHeight(), image.getWidth(),
+                        new AffineTransform(0, 1, -1, 0, image.getHeight(), 0));
+                rotateRightCount++;
+            }
+        });
+
+        btnFlipHorizontal.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doAffineTransform(image.getWidth(), image.getHeight(),
+                        new AffineTransform(-1, 0, 0, 1, image.getWidth(), 0));
+                flipHorizontalCount++;
+            }
+        });
+
+        btnFlipVertical.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                doAffineTransform(image.getWidth(), image.getHeight(),
+                        new AffineTransform(1, 0, 0, -1, 0, image.getHeight()));
+                flipVerticalCount++;
+            }
+        });
+
+        btnSave.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                if (JOptionPane.showConfirmDialog(FileChooserDemo.this,
+                        resourceManager.getString(FILE_CHOOSER_DEMO_SAVEQUESTION_MESSAGE),
+                        FILE_CHOOSER_DEMO_SAVEQUESTION_TITLE,
+                        JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) {
+                    return;
+                }
+
+                String fileName = file.getName();
+
+                int i = fileName.lastIndexOf('.');
+
+                try {
+                    ImageIO.write(image, fileName.substring(i + 1), file);
+
+                    setState(State.IMAGE_LOADED, false);
+                } catch (IOException e1) {
+                    JOptionPane.showMessageDialog(FileChooserDemo.this,
+                            MessageFormat.format(resourceManager
+                                    .getString(FILE_CHOOSER_DEMO_ERRORSAVEFILE_MESSAGE), e1),
+                            resourceManager.getString(FILE_CHOOSER_DEMO_ERRORSAVEFILE_TITLE),
+                            JOptionPane.ERROR_MESSAGE);
+                }
+            }
+        });
+
+        btnCancel.addActionListener(new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                loadFile(file);
+            }
+        });
+    }
+
+    private void initUI() {
+        externalChooser.addChoosableFileFilter(new FileNameExtensionFilter(JPEG_IMAGES, JPG));
+        externalChooser.addChoosableFileFilter(new FileNameExtensionFilter(ALL_SUPPORTED_IMAGES,
+                ImageIO.getWriterFormatNames()));
+
+        final FilePreview filePreview = new FilePreview();
+
+        externalChooser.setAccessory(filePreview);
+        externalChooser.addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY,
+                new PropertyChangeListener() {
+                    public void propertyChange(PropertyChangeEvent evt) {
+                        filePreview.loadFileInfo(externalChooser.getSelectedFile());
+                    }
+                });
+
+        embeddedChooser.setControlButtonsAreShown(false);
+
+        embeddedChooser.addChoosableFileFilter(new FileNameExtensionFilter(JPEG_IMAGES, JPG));
+
+        FileNameExtensionFilter filter = new FileNameExtensionFilter(ALL_SUPPORTED_IMAGES,
+                ImageIO.getWriterFormatNames());
+
+        embeddedChooser.addChoosableFileFilter(filter);
+        embeddedChooser.setFileFilter(filter);
+
+        for (int i = MIN_FILTER_ID; i <= MAX_FILTER_ID; i++) {
+            cbFilters.addItem(new FilterItem(i, resourceManager.getString(FILTER_NAMES[i])));
+        }
+
+        JGridPanel pnFilter = new JGridPanel(2, 0);
+
+        pnFilter.cell(cbFilters).
+                cell(btnApplyFilter);
+
+        JGridPanel pnRotateButtons = new JGridPanel(4, 3);
+
+        pnRotateButtons.cell(btnRotateLeft).
+                cell(btnRotateRight).
+                cell(btnFlipHorizontal).
+                cell(btnFlipVertical);
+
+        JGridPanel pnBottom = new JGridPanel(4, 1);
+
+        pnBottom.setHGap(JGridPanel.DEFAULT_GAP * 4);
+
+        pnBottom.cell(btnSelect, JGridPanel.Layout.FILL).
+                cell().
+                cell(pnFilter).
+                cell(btnSave, JGridPanel.Layout.FILL).
+                cell(btnSelectWithPreview, JGridPanel.Layout.FILL).
+                cell().
+                cell(pnRotateButtons).
+                cell(btnCancel, JGridPanel.Layout.FILL);
+
+        pnContent.cell(pnImage);
+        pnContent.cell(pnBottom, new Insets(10, 10, 10, 10));
+
+        add(pnContent);
+
+        setState(State.EMPTY, false);
+    }
+
+    private JButton createButton(String image, String toolTip) {
+        JButton res = new JButton(resourceManager.createImageIcon(image, null));
+
+        res.setPreferredSize(new Dimension(26, 26));
+        res.setMinimumSize(new Dimension(26, 26));
+        res.setToolTipText(resourceManager.getString(toolTip));
+
+        return res;
+    }
+
+    private void doAffineTransform(int width, int height, AffineTransform transform) {
+        BufferedImage newImage = new BufferedImage(image.getColorModel(),
+                image.getRaster().createCompatibleWritableRaster(width, height),
+                image.isAlphaPremultiplied(), new Hashtable<Object, Object>());
+
+        ((Graphics2D) newImage.getGraphics()).drawRenderedImage(image, transform);
+
+        image = newImage;
+
+        lbImage.setIcon(new ImageIcon(image));
+
+        setState(State.IMAGE_CHANGED, false);
+    }
+
+    private void doFilter(BufferedImageOp imageOp) {
+        BufferedImage newImage = new BufferedImage(image.getColorModel(),
+                image.getRaster().createCompatibleWritableRaster(image.getWidth(), image.getHeight()),
+                image.isAlphaPremultiplied(), new Hashtable<Object, Object>());
+
+        imageOp.filter(image, newImage);
+
+        image = newImage;
+
+        lbImage.setIcon(new ImageIcon(image));
+
+        setState(State.IMAGE_CHANGED, false);
+    }
+
+    private void loadFile(File file) {
+        if (file == null) {
+            JOptionPane.showMessageDialog(this,
+                    resourceManager.getString(FILE_CHOOSER_DEMO_SELECTFILE_MESSAGE),
+                    resourceManager.getString(FILE_CHOOSER_DEMO_SELECTFILE_TITLE),
+                    JOptionPane.INFORMATION_MESSAGE);
+
+            return;
+        }
+
+        try {
+            image = ImageIO.read(file);
+
+            if (image != null) {
+                lbImage.setText(null);
+                lbImage.setIcon(new ImageIcon(image));
+
+                this.file = file;
+
+                setState(State.IMAGE_LOADED, false);
+
+                return;
+            }
+        } catch (IOException e1) {
+            // Do nothing
+        }
+
+        JOptionPane.showMessageDialog(this,
+                resourceManager.getString(FILE_CHOOSER_DEMO_ERRORLOADFILE_MESSAGE),
+                resourceManager.getString(FILE_CHOOSER_DEMO_ERRORLOADFILE_TITLE),
+                JOptionPane.ERROR_MESSAGE);
+    }
+
+    private void setState(State state, boolean fileChoosing) {
+        if (this.fileChoosing != fileChoosing) {
+            pnContent.setComponent(fileChoosing ? embeddedChooser : pnImage, 0, 0);
+        }
+
+        this.state = state;
+        this.fileChoosing = fileChoosing;
+
+        btnSelectWithPreview.setEnabled(!fileChoosing);
+
+        boolean isImageLoaded = !fileChoosing && state != State.EMPTY;
+
+        cbFilters.setEnabled(isImageLoaded);
+        btnApplyFilter.setEnabled(isImageLoaded);
+        btnRotateRight.setEnabled(isImageLoaded);
+        btnRotateLeft.setEnabled(isImageLoaded);
+        btnFlipHorizontal.setEnabled(isImageLoaded);
+        btnFlipVertical.setEnabled(isImageLoaded);
+
+        boolean isImageChanged = !fileChoosing && state == State.IMAGE_CHANGED;
+
+        btnSave.setEnabled(isImageChanged);
+        btnCancel.setEnabled(isImageChanged);
+    }
+
+    public static int getRotateLeftCount() {
+        return rotateLeftCount;
+    }
+
+    public static int getRotateRightCount() {
+        return rotateRightCount;
+    }
+
+    public static int getFlipHorizontalCount() {
+        return flipHorizontalCount;
+    }
+
+    public static int getFlipVerticalCount() {
+        return flipVerticalCount;
+    }
+
+    public static int getLastAppliedFilterId() {
+        return lastAppliedFilterId;
+    }
+
+    private static class FilterItem {
+
+        /**
+         * 0 - blur 1 - edge 2 - sharpen 3 - darken 4 - brighten 5 - less
+         * contrast 6 - more contrast 7 - gray
+         */
+        private final int id;
+
+        private final String name;
+
+        private FilterItem(int id, String name) {
+            assert id >= MIN_FILTER_ID && id <= MAX_FILTER_ID;
+
+            this.id = id;
+            this.name = name;
+        }
+
+        public int getId() {
+            return id;
+        }
+
+        public String toString() {
+            return name;
+        }
+    }
+
+    private enum FileType {
+
+        IMAGE
+    }
+
+    private class FilePreview extends JGridPanel {
+
+        private static final int SIZE = 200;
+
+        private final JLabel lbType = new JLabel();
+
+        private final JLabel lbSize = new JLabel();
+
+        private final JLabel lbPreview = new JLabel(resourceManager
+                .getString(FILE_CHOOSER_DEMO_PREVIEW_EMPTY_TEXT), JLabel.CENTER);
+
+        private final Map<String, FileType> knownTypes = new HashMap<String, FileType>();
+
+        public FilePreview() {
+            super(1, 0, 1);
+
+            for (String s : ImageIO.getWriterFormatNames()) {
+                knownTypes.put(s.toLowerCase(), FileType.IMAGE);
+            }
+
+            initUI();
+        }
+
+        public void loadFileInfo(File file) {
+            boolean emptyPreview = true;
+
+            if (file == null) {
+                lbType.setText(null);
+                lbSize.setText(null);
+            } else {
+                lbType.setText(externalChooser.getFileSystemView().getSystemTypeDescription(file));
+                lbSize.setText(Long.toString(file.length()));
+
+                String fileName = file.getName();
+
+                int i = fileName.lastIndexOf(".");
+
+                String ext = i < 0 ? null : fileName.substring(i + 1);
+
+                FileType fileType = knownTypes.get(ext.toLowerCase());
+
+                if (fileType != null) {
+                    switch (fileType) {
+                        case IMAGE:
+                            try {
+                                BufferedImage image = ImageIO.read(file);
+
+                                double coeff = Math.min(((double) SIZE) / image.getWidth(),
+                                        ((double) SIZE) / image.getHeight());
+
+                                BufferedImage scaledImage = new BufferedImage(
+                                        (int) Math.round(image.getWidth() * coeff),
+                                        (int) Math.round(image.getHeight() * coeff),
+                                        BufferedImage.TYPE_INT_RGB);
+
+                                Graphics2D g = (Graphics2D) scaledImage.getGraphics();
+
+                                g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
+                                g.drawImage(image, 0, 0, scaledImage.getWidth(), scaledImage.getHeight(), null);
+
+                                lbPreview.setText(null);
+                                lbPreview.setIcon(new ImageIcon(scaledImage));
+
+                                setComponent(lbPreview, 0, 1);
+
+                                emptyPreview = false;
+                            } catch (IOException e) {
+                                // Empty preview
+                            }
+
+                            break;
+                    }
+                }
+            }
+
+            if (emptyPreview) {
+                lbPreview.setIcon(null);
+                lbPreview.setText(resourceManager.getString(FILE_CHOOSER_DEMO_PREVIEW_EMPTY_TEXT));
+
+                setComponent(lbPreview, 0, 1);
+            }
+        }
+
+        private void initUI() {
+            setPreferredSize(new Dimension(SIZE, -1));
+
+            setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
+
+            JGridPanel pnInfo = new JGridPanel(2, 1);
+
+            pnInfo.cell(new JLabel(resourceManager.getString(FILE_CHOOSER_DEMO_PREVIEW_TYPE))).
+                    cell(lbType).
+                    cell(new JLabel(resourceManager.getString(FILE_CHOOSER_DEMO_PREVIEW_SIZE))).
+                    cell(lbSize);
+
+            cell(pnInfo);
+            cell(lbPreview, Layout.FILL, Layout.FILL);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/FileChooserDemo.properties	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,38 @@
+### FileChooser Demo ###
+
+FileChooserDemo.image.text = Click the Select image button to select an image
+FileChooserDemo.select.text = Select image
+FileChooserDemo.selectwithpreview.text = Select with preview
+FileChooserDemo.save.text = Save
+FileChooserDemo.cancel.text = Cancel
+
+FileChooserDemo.filter.blur = blur
+FileChooserDemo.filter.edge = edge
+FileChooserDemo.filter.sharpen = sharpen 
+FileChooserDemo.filter.darken = darken
+FileChooserDemo.filter.brighten = brighten
+FileChooserDemo.filter.lesscontrast = less contrast
+FileChooserDemo.filter.morecontrast = more contrast
+FileChooserDemo.filter.gray = gray
+
+FileChooserDemo.applyfilter.tooltip = Apply filter 
+FileChooserDemo.rotateleft.tooltip = Rotate left 
+FileChooserDemo.rotateright.tooltip = Rotate right 
+FileChooserDemo.fliphorizontal.tooltip = Flip horizontal 
+FileChooserDemo.flipvertical.tooltip = Flip vertical 
+
+FileChooserDemo.preview.type = Type:
+FileChooserDemo.preview.size = Size:
+FileChooserDemo.preview.emptytext = Preview area
+
+FileChooserDemo.selectfile.title = Information
+FileChooserDemo.selectfile.message = Select a valid image file please
+
+FileChooserDemo.savequestion.title = Confirmation
+FileChooserDemo.savequiestion.message = Do you really want to save changes?
+
+FileChooserDemo.errorloadfile.title = Error
+FileChooserDemo.errorloadfile.message = Cannot load file
+
+FileChooserDemo.errorsavefile.title = Error
+FileChooserDemo.errorsavefile.message = Cannot save file: {0}
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/FileChooserDemo.gif has changed
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/apply.png has changed
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/fliphor.png has changed
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/flipvert.png has changed
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/rotateleft.png has changed
Binary file test/jdk/sanity/client/lib/SwingSet3/src/com/sun/swingset3/demos/filechooser/resources/images/rotateright.png has changed
--- a/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -21,29 +21,20 @@
  * questions.
  */
 
- /*
+/*
  * @test
- * @bug 8189131
+ * @bug 8189131 8207059
  * @summary Interoperability tests with QuoVadis Root CA1, CA2, and CA3 CAs
  * @build ValidatePathWithParams
  * @run main/othervm -Djava.security.debug=certpath QuoVadisCA OCSP
  * @run main/othervm -Djava.security.debug=certpath QuoVadisCA CRL
  */
 
- /*
+/*
  * Obtain TLS test artifacts for QuoVadis CAs from:
  *
- * Valid TLS Certificates:
- * CA1: https://qvica1g3-v.quovadisglobal.com
- * CA2: https://qvsslicag3-v.quovadisglobal.com
- * CA2 EV: https://evsslicag3-v.quovadisglobal.com
- * CA3: https://qvica3g3-v.quovadisglobal.com
+ * https://www.quovadisglobal.com/QVRepository/TestCertificates.aspx
  *
- * Revoked TLS Certificates:
- * CA1: https://qvica1g3-r.quovadisglobal.com
- * CA2: https://qvsslicag3-r.quovadisglobal.com
- * CA2 EV: https://evsslicag3-r.quovadisglobal.com
- * CA3: https://qvica3g3-r.quovadisglobal.com
  */
 public class QuoVadisCA {
 
@@ -51,423 +42,430 @@
 
         ValidatePathWithParams pathValidator = new ValidatePathWithParams(null);
 
-        boolean ocspEnabled = true;
-
         if (args.length >= 1 && "CRL".equalsIgnoreCase(args[0])) {
             pathValidator.enableCRLCheck();
-            ocspEnabled = false;
         } else {
             // OCSP check by default
             pathValidator.enableOCSPCheck();
         }
 
-        new RootCA1().runTest(pathValidator, ocspEnabled);
-        new RootCA2().runTest(pathValidator, ocspEnabled);
-        new RootCA3().runTest(pathValidator, ocspEnabled);
+        new RootCA1G3().runTest(pathValidator);
+        new RootCA2G3().runTest(pathValidator);
+        new RootCA3G3().runTest(pathValidator);
     }
 }
 
-class RootCA1 {
+class RootCA1G3 {
 
-    // Owner: CN=QuoVadis Issuing CA 1 G3, O=QuoVadis Limited, C=BM
-    private static final String INT = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIGFTCCA/2gAwIBAgIUPybG62jqpxKYOV5MlXAGPJYDy9MwDQYJKoZIhvcNAQEL\n"
-            + "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n"
-            + "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjExMDYxNjA5NTJaFw0y\n"
-            + "MjExMDYxNjA5NTJaMEsxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\n"
-            + "aW1pdGVkMSEwHwYDVQQDExhRdW9WYWRpcyBJc3N1aW5nIENBIDEgRzMwggIiMA0G\n"
-            + "CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2Ud42yCfjYm4WlQ+nhTpZ9aPp0r8a\n"
-            + "yz+kKpPxc8ZWvEi7HDPhr7f5nWnEruHE0HbH8WyFGE+sICF788VpZLbFhL4wbIWV\n"
-            + "tHIrYan7+yL2yoNbHUBgeWxa48P96WxrW34K/OyQkJoSvY4iNk4BGI0wOYD9wsl9\n"
-            + "6wIaQFNu25Wsv0CcDSsyNjw8O8Ib6dmS6iib+KnZlKJnYqSTrzbnzf/2CU+Wb9V0\n"
-            + "yExk7shcfDpqxo9yyyEBPP1GUEb5SSr9qXYP2d4UsrRIgzKpD5feqdjk6ZGA4xeM\n"
-            + "JHo6GLjddNvVvopaKaLrDzlOXgqgbMIPQu+xkzpKW3IJOylxN55oVuH25MwbS9IL\n"
-            + "kDMv//kdiTUl1wXERZiUmcBdpWt9D9liyVxe5+HeI5VlhDuHsxDoPFmoOGTa6brX\n"
-            + "PXlNc0xji+grBQjIRNs43T5+GyYzCyjzG3dSb0BTYGLnfUAEQ1+MCC3K33DKL/me\n"
-            + "iUrWNclh85BQQigJr5HNLym3+J6Jf0OCnq4VmD1OFrhZrui02Xmz/hOECK2Mciga\n"
-            + "DxRgXBKjLebV0RW3j6libuPiKbxSinfqNqf2Q9eCfKrzgWQkuCHZvkt0Cqgzjbm1\n"
-            + "n5xu9zXR8YG5/680Nyb3tywUb6FhA8l1L/KLoK79RGjKgPotCog6Ykvy/667jlyo\n"
-            + "ZII0YUf6S3uyeQIDAQABo4HzMIHwMBIGA1UdEwEB/wQIMAYBAf8CAQEwEQYDVR0g\n"
-            + "BAowCDAGBgRVHSAAMDoGCCsGAQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDov\n"
-            + "L29jc3AucXVvdmFkaXNnbG9iYWwuY29tMA4GA1UdDwEB/wQEAwIBBjAfBgNVHSME\n"
-            + "GDAWgBSjl9bzXqIQ4atFnzwXZDzuAXCczDA7BgNVHR8ENDAyMDCgLqAshipodHRw\n"
-            + "Oi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdnJjYTFnMy5jcmwwHQYDVR0OBBYE\n"
-            + "FF0EGBL7w+p4fbRXCaH+bf6Cn2TNMA0GCSqGSIb3DQEBCwUAA4ICAQAF6qNCo3LP\n"
-            + "Qk8jthU1aiuo5WW9jQC+PqWeyVe4JjHK+5PRM+BtoErOItfZyPqoIBMedC/Ya9L1\n"
-            + "Sv0gncvifjtTD3jIBz0FVCbIMJLRp63b4qtmAGuB00XTXgCFcYoiIq5kyNedJnLe\n"
-            + "IxMqb0xx8IAqvP9kfEVNdGfvYraSswiGXADftZ3yM24zIc3Ysewi3JeTbzDhEGfb\n"
-            + "yv9eBplkfKfcoKyOds4sLcxj1QpUxcXgjX1mKTbfOSD5ac/Cjrz6Kqnl2+PNrc5N\n"
-            + "kXBVKhcCAjpqX5OyI86IUg9XY8i7Lz+tXzAQhllh+rPyTyAmieGf2iV9wrl//OZB\n"
-            + "l2nXwbgfA7QwQ2VdsmGJfW3a7Zc13GCNx0M2RUGJKLMJOavY72d41wAYPQ46AXls\n"
-            + "Ic7RJi6EWmwLi6lvw4kKFfWZ0c6vIJur1hLUUmLOt0UBZ226eIREVpmFbDGOLzfl\n"
-            + "gU0xKhqmU0aIOORzBGDfOrnctvaXORNNhCZ78zS96Egzu2w2OC47Zry7k+EOatzA\n"
-            + "5zrdJJM3UP7aMSNPvEygbcFUw2I04vpxUuPYTwCtogqNMHqFbCjLM9YxhzsGMdh/\n"
-            + "9aD1krboaSXUjrS9cOr5P2A9kFHCMsXBaDoaijQXNeyhu+oCeYsdv4S3djFwDW3+\n"
-            + "iPLo51aqZGsTZ1S22vYdkp+QFByLtArVMQ==\n"
-            + "-----END CERTIFICATE-----";
+    // Owner: CN=QuoVadis QVRCA1G3 SSL ICA, O=QuoVadis Limited, C=BM
+    private static final String INT = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGszCCBJugAwIBAgIUdJ4w/GwP08WekbUIXvYTsQrO+a8wDQYJKoZIhvcNAQEL\n" +
+            "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n" +
+            "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xNzA0MTkxNTAzMzZaFw0y\n" +
+            "NzA0MTkxNTAzMzZaMEwxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBM\n" +
+            "aW1pdGVkMSIwIAYDVQQDDBlRdW9WYWRpcyBRVlJDQTFHMyBTU0wgSUNBMIICIjAN\n" +
+            "BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqVn6XxE+YKKifggi6EPcx7mOOrhA\n" +
+            "HVxHFsFV/OR/dtQlx2oOTAGPpa8o3ZPVubtNH5QiiMBBiPDW1KqBaU+rmgUeGCj0\n" +
+            "hWKbdNGRQ5h3rV+4Vhs45BYxQcUzGTZ+oobao8gNo1LuhPIhOQComGOjZtUP0+qQ\n" +
+            "nXsWJn5004TvCzu7mmt3aTlMeyjSbpoXa3ojwU2BvUzJwcLg0BD49kNXZsM0JLbY\n" +
+            "QgfEfluWFkb5QzjnE45sBni4LJNfSodhNB+mL/VmETO+0m/A1H6in1rG1n4Ao2G6\n" +
+            "KYgtk9rXWfF3g7JqwuZUULfI0467h14oG1PzqVcLgZ1B+wrdyiBJJSpRmhf00xSB\n" +
+            "WM/p93s2xkyQZ2Uh0b0tP90S6spwwpL8PSW3J8x46LaZDEVON/Gm9H891ZgwHLaf\n" +
+            "3idGX93XHFafve8CrJFMhK2AZElwYaz2H6iJuPftyhR3oQIgLst8l+/2LoqDRyaI\n" +
+            "6c+tVnk8LcvUgDEPuA70aNthQQ6PWA7iuI2Oies6GEPm7gKVNxIrg6rp2T9RghLm\n" +
+            "vLnf6Gyn1ONLI7Ib3EyzjE8CJIAtor5KZcs8xm8iPNsDQza+1ugx8D8Zsla64vVw\n" +
+            "w2W2qNH4orutsAQKRImtbDkEnMb3nGDe0ZPohVyw3Fy+b9g6MX7wQzFjIx3UkzZG\n" +
+            "QQqGdIh940Qq3wUCAwEAAaOCAY8wggGLMBIGA1UdEwEB/wQIMAYBAf8CAQAwSQYD\n" +
+            "VR0gBEIwQDA+BgRVHSAAMDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFk\n" +
+            "aXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUF\n" +
+            "BzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKG\n" +
+            "LGh0dHA6Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2ExZzMuY3J0MA4G\n" +
+            "A1UdDwEB/wQEAwIBBjAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsG\n" +
+            "AQUFBwMJMB8GA1UdIwQYMBaAFKOX1vNeohDhq0WfPBdkPO4BcJzMMDsGA1UdHwQ0\n" +
+            "MDIwMKAuoCyGKmh0dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMWcz\n" +
+            "LmNybDAdBgNVHQ4EFgQUIAYNQkuk2dMocCdjvExpRiGBHTwwDQYJKoZIhvcNAQEL\n" +
+            "BQADggIBAEu/Bea66BZPfGNE4Np+PCRrTag/U7EBK/Yhjmf3mHtFMZzZ94QLH1km\n" +
+            "4iJ5dPKTR/+1iYYNHfO7fY2Lj/Tg/E+q2SEfA0n6Y/lYHAlbmnaYGGdtfTOjaQgL\n" +
+            "0Bf0TmLPyc/gf9uKHe230vIaN4QcodBnCmCJOAk/lvIl7b7gRNPN/HuJNQlBohNx\n" +
+            "ih9VAtLXJ6xO6Xfs5o8ZkZkHb2nG/M1yxySEyU3mqQ5PTgy8kg59szWr2ufT8PvL\n" +
+            "JuyGNQmT/PHcLp2zaCC0+5Ra65umjhG8IW2haXu8g8aRAgr9ZRPrcgg2npLBA0Qf\n" +
+            "MTEJPPptGx2GQgE+lMdn5Gff82d3Y35pDmxNTA7hy+4CnWKfmoey7ll8kwGxC+W1\n" +
+            "OUVgzfdXcpsm+HP2z4E/zw6uB0cAFgMJbxgnm6ZW9+R2yEbD6EOpqR8HqCvhVkkv\n" +
+            "CdQBNkk432pKD3+L7o6vkwONFOFWVpbXHIxDf9ys8Jr4B8qYWDUnR6jz/HG9aWPV\n" +
+            "k4vBYYWuahANZCfCKH2B9SqCdK6DjwKihYmallClwsUQnSwW8H7xqmLtAHX0ek7z\n" +
+            "1Ipj/BNS6c52cPxeAoFbUcVt6+M8xURIJ5qrobTYVaJ8AtfW+3Ml2oqT/EiItXOk\n" +
+            "W1319hZuAGD5qaG3dg9aLYUqpD948xJVhYVxwIIwvL4G9ZEVyYmE\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvica1g3-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // Owner: CN=qvsslrca1g3-ssl-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
     // ST=Pembroke, C=BM
-    private static final String VALID = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF9DCCA9ygAwIBAgIUGug3BoLw4/auIdDQ0mHS6QnPHB8wDQYJKoZIhvcNAQEL\n"
-            + "BQAwSzELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxITAf\n"
-            + "BgNVBAMTGFF1b1ZhZGlzIElzc3VpbmcgQ0EgMSBHMzAeFw0xNDExMTQxNDA1MDda\n"
-            + "Fw0xNzExMTQxNDA0NTFaMHYxCzAJBgNVBAYTAkJNMREwDwYDVQQIEwhQZW1icm9r\n"
-            + "ZTERMA8GA1UEBxMISGFtaWx0b24xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQx\n"
-            + "JjAkBgNVBAMTHXF2aWNhMWczLXYucXVvdmFkaXNnbG9iYWwuY29tMIIBIjANBgkq\n"
-            + "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwHoNPHE0C/tEwI5jeYvKJdo5SXSccB/c\n"
-            + "nCHJVs/4i9F8oRmPqNiFMD99UVylk4nn8iqi8MoxrFAhqtmplPslgRDLwyLMmnGO\n"
-            + "1cNoPKGMKxQq9EerBgSk4wqeSsSH+7qnZhCamIlvEm0PUaEH8rcjXokTs0fyjadF\n"
-            + "UmVwcmSZdmnNjseOMgm+G6C8tEPHRQl/Oezy6DzS9PQVLUFCBSyOaAgDnr4EvwGE\n"
-            + "u2fd3m+ys80XXGq4eLy1MmuC7U+bIQuupuydk/S7kVh7Rl+5nT1eTv0LEOj5gYFc\n"
-            + "C5SBnhiLibuRTOr+LsC9HpvN4vnoCaOogWxDQj/f1KRn45PNJncsbwIDAQABo4IB\n"
-            + "ozCCAZ8wdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5x\n"
-            + "dW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6Ly90cnVzdC5xdW92\n"
-            + "YWRpc2dsb2JhbC5jb20vcXZpY2ExZzMuY3J0MCgGA1UdEQQhMB+CHXF2aWNhMWcz\n"
-            + "LXYucXVvdmFkaXNnbG9iYWwuY29tMFEGA1UdIARKMEgwRgYMKwYBBAG+WAACZAEB\n"
-            + "MDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3Jl\n"
-            + "cG9zaXRvcnkwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr\n"
-            + "BgEFBQcDAjAfBgNVHSMEGDAWgBRdBBgS+8PqeH20Vwmh/m3+gp9kzTA7BgNVHR8E\n"
-            + "NDAyMDCgLqAshipodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmljYTFn\n"
-            + "My5jcmwwHQYDVR0OBBYEFJO98+S7NZMTz2JRogpUwLuxjTa0MA0GCSqGSIb3DQEB\n"
-            + "CwUAA4ICAQCq1O/BnzpQjbTbmEob/bWH/p92ZYRV0Lr01CdYkRXl4XKL2ZLusel6\n"
-            + "126AIvAK51o65wiGVaLGs49AKXOjcaAnTfwoFembqFRlBiGFSOdglTIsZUGdmhtP\n"
-            + "x1meetkOY8bY79viGkVCufAVq0hAF+AYh4nYM+/n7IijIcM5uhzIDb2Vw8+wKPTB\n"
-            + "7k2K/e1GGwbqrIAkjrZ6kpRg632RkbR18anaDVOgXuKzmZMRbIAii/N+lo7u3DhC\n"
-            + "5mJEIjP4cQXd569AfKQzvBO+syGDAJyX5PbTrd59IXZ+EjiisIq/DNQi6QalWMfS\n"
-            + "BnK97nUzH/BjAofMaUufbB8dxg+RT0QC/Yl1lmlA3CYmr6YWn06DiAuWL14ZFFwh\n"
-            + "2HQ7juU9oQ1I/HTfhVBoTzuKGCW1ZNXA64IdKlBsYp8NO9xKjBWIxwU/+S/IgoQP\n"
-            + "aTNkY4Mc353bdLi9082JwaiQ9B5eH0V9pZ17OSRU44o2TeDDT85sjF+krqCnnolR\n"
-            + "3lk7iqYDRHsvgqJqtkhhX/boF3wJAnKqaZ6j97PVqV75kwAak7XaH7C50RsPQGk2\n"
-            + "j5OFa6ioobW7tN5PfWAZPMZn98yX2Wh8Z95aGhdsHSJHsrlcUiWa+X2D1kF/dOKd\n"
-            + "R8rPqdPIPjUglrXS4yP+cJHx6fCJxW7me1R60lpuL6JNvHp54u7GGA==\n"
-            + "-----END CERTIFICATE-----";
+    private static final String VALID = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGJzCCBA+gAwIBAgIUGCzNOZhcLiPYbOjRFAp5n04dPNowDQYJKoZIhvcNAQEL\n" +
+            "BQAwTDELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxIjAg\n" +
+            "BgNVBAMMGVF1b1ZhZGlzIFFWUkNBMUczIFNTTCBJQ0EwHhcNMTcwNTAyMTcwMDA4\n" +
+            "WhcNMjAwNTAyMTcxMDAwWjB9MQswCQYDVQQGEwJCTTERMA8GA1UECAwIUGVtYnJv\n" +
+            "a2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVk\n" +
+            "MS0wKwYDVQQDDCRxdnNzbHJjYTFnMy1zc2wtdi5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCLgSX0nduUm87/qmfTdofL\n" +
+            "5P/Xtrly8Z9GaiLPLu1syNqT/Sri4ngYQGXXwF8h6gnHgEb6gDI2p3Q3gb75NthO\n" +
+            "WfWMD6FqafV47pUeNml6JvNbsYAPc8qGxMPtgQ8HhQuU+Trykx3onq/Se5HRYlve\n" +
+            "7MMJixiYQKYwwThHh9G1uGYPMQJT2TQfueIAu0MT6Ljc2YB6noXpzTzU63dvmC1Q\n" +
+            "8TMmFoJYL276lQ3p3vRKEW1nVmjeVoqvK/3Vpg440KbQL5D7Gj/pQPL4d7ljyS/I\n" +
+            "UN3q7QPS7BojsvF90u0YpvYEuBXsxdFnqivj5owSuSENG4nqcZUO8/nY+4b+NbJd\n" +
+            "AgMBAAGjggHOMIIByjB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6\n" +
+            "Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2ExZzNzc2xpY2EuY3J0MCoG\n" +
+            "CCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wHQYDVR0O\n" +
+            "BBYEFIDk6mMLdh49CFbFiUDnjZhWatYzMB8GA1UdIwQYMBaAFCAGDUJLpNnTKHAn\n" +
+            "Y7xMaUYhgR08MGkGA1UdIARiMGAwRgYMKwYBBAG+WAABZAEBMDYwNAYIKwYBBQUH\n" +
+            "AgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwCAYG\n" +
+            "Z4EMAQICMAwGCisGAQQBvlgBhFgwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny\n" +
+            "bC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2ExZzNzc2xpY2EuY3JsMA4GA1UdDwEB\n" +
+            "/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwLwYDVR0RBCgw\n" +
+            "JoIkcXZzc2xyY2ExZzMtc3NsLXYucXVvdmFkaXNnbG9iYWwuY29tMA0GCSqGSIb3\n" +
+            "DQEBCwUAA4ICAQB2XiV2msE7M8Qp0YIcihD86T8U91PJH7Pb3F/3+8fyX08/oKDo\n" +
+            "s80sE50tiI5lw+tSFQZuvpOFefejEh1uAwu1slZOlvICHOAJNG1EXPa8pEmDU2i5\n" +
+            "nd5r7rM757/+cgsPLvwegVuIL4vIYhnoKzPiXpkl8FkNrhRjqeUIAXf2sLjbbbng\n" +
+            "oYRCypkSovpijPf7Cid19wKh/ipp8DxCNnGMit55mnx7eFNAWpb9cFljd+WaABCA\n" +
+            "IcvcZhZrLKYrbUErdQzzu0sa3IlEC5QBgz+IvT62RHT+vWRiv0LYhkHVLsDQUHpJ\n" +
+            "uTa1xi0qvBVGIP1jxIQv5W3hGPLYt7B/8A8v+xOn4m1VWfGIa4V3RGpbBMw19DH+\n" +
+            "JvLjg8coDWKhqZ150V31Ve8wczSjT+KZHFRWTb4TZt8GSXa56kJV5xadPW8A3EKV\n" +
+            "kulcspO1njb73ImrwTPIOLnDAsMDrAO41FEob87bdZacpg+kHjiAP9BzpgSSX1x5\n" +
+            "b/qy2uRtsf3ZlOb1J6fCqb8lRwSU7uGUStUx4tVMpjR5LQfNVroiDEthN5BE6sye\n" +
+            "zVRq8vyGvG40jSMBZF1KyW4GW6JlgM1THr1egNFhNkHBs7pSTHJp1Ea+QJjB1uVe\n" +
+            "A8kBL0iUlI5PPOqe5KdEXcFy3L+gRh34gyckC4vrLzfNLjKHQvdRHYnQBA==\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvica1g3-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // Owner: CN=qvsslrca1g3-ssl-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
     // ST=Pembroke, C=BM
-    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF9DCCA9ygAwIBAgIUBAG4l0ZPYhEdLJSMWYCr7LHngvswDQYJKoZIhvcNAQEL\n"
-            + "BQAwSzELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxITAf\n"
-            + "BgNVBAMTGFF1b1ZhZGlzIElzc3VpbmcgQ0EgMSBHMzAeFw0xMjExMTQxMzQ4MDda\n"
-            + "Fw0xNDExMTQxMzQ4MDdaMHYxCzAJBgNVBAYTAkJNMREwDwYDVQQIEwhQZW1icm9r\n"
-            + "ZTERMA8GA1UEBxMISGFtaWx0b24xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQx\n"
-            + "JjAkBgNVBAMTHXF2aWNhMWczLXIucXVvdmFkaXNnbG9iYWwuY29tMIIBIjANBgkq\n"
-            + "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqlof1qJLTiqI7bf0IU7zOxy0HqjIn0pW\n"
-            + "lNIEVAjQRR1jnfpsMapicIGZfnnNaYpwdsIjGPwpvWXGA+30ezJNGfWMjhb/tiis\n"
-            + "qjrHdwXAob5MyXOXP5ZS8K34GwKeL45oJZZG0cf2FSta9/CSsRC9wnDUp/kA+VkH\n"
-            + "n5vlg7VpUExYO0CBXe4C4ehnvCZHjW5nqpVpm993f9i8E0W3vHPxjGuyuqVEEfma\n"
-            + "WfOV78+HF4hxALnr+73mp0i6Do2oa/v85mZzyKeBm2YHhwdQ6CC7UZtABlHyWuz9\n"
-            + "h/ocTGbX92rbUaW6icu9bKQkQ9jsomnQkU5b8CWseo2O0NXBevvCowIDAQABo4IB\n"
-            + "ozCCAZ8wdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5x\n"
-            + "dW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6Ly90cnVzdC5xdW92\n"
-            + "YWRpc2dsb2JhbC5jb20vcXZpY2ExZzMuY3J0MCgGA1UdEQQhMB+CHXF2aWNhMWcz\n"
-            + "LXIucXVvdmFkaXNnbG9iYWwuY29tMFEGA1UdIARKMEgwRgYMKwYBBAG+WAACZAEB\n"
-            + "MDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3Jl\n"
-            + "cG9zaXRvcnkwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr\n"
-            + "BgEFBQcDAjAfBgNVHSMEGDAWgBRdBBgS+8PqeH20Vwmh/m3+gp9kzTA7BgNVHR8E\n"
-            + "NDAyMDCgLqAshipodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmljYTFn\n"
-            + "My5jcmwwHQYDVR0OBBYEFNrefqnat67/DMlw0Z/xdQ478leyMA0GCSqGSIb3DQEB\n"
-            + "CwUAA4ICAQBG1TxJNbWzG4ShZefK4wEdScBzxSB7StYO3mmIP2D3LTlEk+zWjDVP\n"
-            + "ERPL41Si92asMHvMai7GcFT82XyHxsQGZIPcgIm+rC2NiSPDx2Vd6lkMaO8J9mrU\n"
-            + "3Z4Ks3G5HmszQ/gXRT3DCoNng+k+JqdZjrvMcsGTH+AzRdoinwOi+QnpphAcZRhS\n"
-            + "Io8C7w9osUPYFdDaE3Io+oYr2mWJg4n+FGsjxunQgIhLiiNaVF8zHxER7gW0YsCW\n"
-            + "vw1jX0dmfQZSdo2ybVeHuznUxtUWRHJ/nv6v2B2anUsVEbPyrpQ3i9+BzWaYolPU\n"
-            + "ZYxfMHBQ7HvncRP6rgrHF4x+iOnIxWsErYdEj5nQJkptYbVl41VzO6xMP7WvXFPa\n"
-            + "dqxwihqILRmAZrI9p/6k/HqV9xMPKprUhnWDGQ/bYnPKyXoTx6uwamaonX4DpW83\n"
-            + "b3CJTvBHwKh5eJQoBykAkakPdrmbOhe4/XWnDqQVUgJNmEvkg33AexviJo4mW3HG\n"
-            + "K2MdM60GRIC3Lcnd+Q8SnSCCxp+YtuE/C3Fu8VI/8vz9MC159GGtDzyC7OeKPCpU\n"
-            + "7H1X0X/OhBkiv7anK/oIhtSw+4DrM2eaVjdWkEa+di2jvI/2us8TXxO1LL+eeSxT\n"
-            + "E+LbdNO0jSp8azw2Aw4zL+Q41Fzt7OlH7mTkw1mxLF3aWsUNUz/p4w==\n"
-            + "-----END CERTIFICATE-----";
+    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGJzCCBA+gAwIBAgIUGeTgdhQ6UoMWie3kBh4IGxDH4AQwDQYJKoZIhvcNAQEL\n" +
+            "BQAwTDELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxIjAg\n" +
+            "BgNVBAMMGVF1b1ZhZGlzIFFWUkNBMUczIFNTTCBJQ0EwHhcNMTcwNTAyMTY1OTQ4\n" +
+            "WhcNMjAwNTAyMTcwOTAwWjB9MQswCQYDVQQGEwJCTTERMA8GA1UECAwIUGVtYnJv\n" +
+            "a2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVk\n" +
+            "MS0wKwYDVQQDDCRxdnNzbHJjYTFnMy1zc2wtci5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDR/0pcsSc4mmqVkzCO5h1m\n" +
+            "BlZ0uxmakNTNnWqeOXmMgl2KBni6MzIdxBkPmII5TI3nc+DXrWrtBCJKRtww3mbF\n" +
+            "ZoBhrscODv3OjfVqsVfhUPjqLwUEE9X/8IlxFpcsKRH1mC7weLg56kfnHuK2WHPQ\n" +
+            "dbnVgzzjk8mSi8HL3szIiojGC0ZwilrV/LCXBqETC3aMe8PtGnMW96TcvqQEdYFa\n" +
+            "4MEXuYnUwXB0WoKAJkHw/MMc0RytrICtlpaMQ7ZnloW8LvoQ1wIM7nWwCr+dieh6\n" +
+            "lZCWRN/Au+h6qdyDUDUPQFoGpp7AfE2OJmeCY30gp4GdAKtGpTG++gfJrtkc8FnZ\n" +
+            "AgMBAAGjggHOMIIByjB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6\n" +
+            "Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2ExZzNzc2xpY2EuY3J0MCoG\n" +
+            "CCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wHQYDVR0O\n" +
+            "BBYEFGffDkPGAcip01jKnnvEt1jpKNRnMB8GA1UdIwQYMBaAFCAGDUJLpNnTKHAn\n" +
+            "Y7xMaUYhgR08MGkGA1UdIARiMGAwRgYMKwYBBAG+WAABZAEBMDYwNAYIKwYBBQUH\n" +
+            "AgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwCAYG\n" +
+            "Z4EMAQICMAwGCisGAQQBvlgBhFgwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny\n" +
+            "bC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2ExZzNzc2xpY2EuY3JsMA4GA1UdDwEB\n" +
+            "/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwLwYDVR0RBCgw\n" +
+            "JoIkcXZzc2xyY2ExZzMtc3NsLXIucXVvdmFkaXNnbG9iYWwuY29tMA0GCSqGSIb3\n" +
+            "DQEBCwUAA4ICAQBI/zlzisJLwBNaVZkQDMh1gYY8uRUad6Jn7yBFQbJ796VVlD1A\n" +
+            "yxJD+y9cpwzXvwKau8jIMi96OXo6xtsTDxKY9PzW8DkrlrxqdzLI7s5M30tGu8Sk\n" +
+            "WitIWPC3FU0oZqa9jBPkfujllR5FNuYikMOFIi2+/3haEK/6kviLpe5WyK4yJ3a9\n" +
+            "7dLq0If4vhNbKsuW1ROnq5CpPy+iIuZy3CWtq8WJSHDyZzhzrW48QHmTkoAU5lAb\n" +
+            "3KLMBo/gtUTjABVauADeVZVN6GgLflSIdz1P/aMJQ88q/88w+6KYJlBtg3mWSRHc\n" +
+            "Vh+BkIiKmfTG+N9SJ5jv7VKt8PjcKgqCzOHUslLHgUDFhJ5gdYIixD24ikRHYriH\n" +
+            "UCO3ltEppIUm/xgins75F6V9YBxHA1Ks/S5MfMnI6N+fFurIwIsas5w6gTPNwbBC\n" +
+            "z6G1fu6schk73uvfK4W6PiuMTURsQ1M746K2BlV+FIclTk8jYHe+EyLFgIsgVigo\n" +
+            "JJs0DsIp0RoGvw+bxxyA9CHeFFi+MlAVEj2+qJnwrD3ZqNFFw87/HDIWW+Ue8ERs\n" +
+            "HfPDZvEQZ1BHGzD/H04F0+HwwfItxvgiQVC2L/yjmh7St311OLiK8RM3Ur0X15bZ\n" +
+            "3g4c1gsHx9Gmlk3l8YIOk0yxvLaF03YsNbrfykXHuJM9Phy8Ya3nTpsqtw==\n" +
+            "-----END CERTIFICATE-----";
 
-    public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled)
+    public void runTest(ValidatePathWithParams pathValidator)
             throws Exception {
         // Validate valid
         pathValidator.validate(new String[]{VALID, INT},
                 ValidatePathWithParams.Status.GOOD, null, System.out);
 
         // Validate Revoked
-        if (ocspEnabled) {
-            // Revoked certificates are expired in Nov 2014
-            // and backdated revocation check is only possible with OCSP
-            pathValidator.setValidationDate("Jan 01, 2014");
-        }
-
         pathValidator.validate(new String[]{REVOKED, INT},
                 ValidatePathWithParams.Status.REVOKED,
-                "Thu Jan 03 23:47:34 PST 2013", System.out);
-
-        // reset validation date back to current date
-        pathValidator.resetValidationDate();
+                "Tue May 02 10:15:37 PDT 2017", System.out);
     }
 }
 
-class RootCA2 {
+class RootCA2G3 {
 
-    // Owner: CN=QuoVadis Global SSL ICA G3, O=QuoVadis Limited, C=BM
-    private static final String INT = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIGFzCCA/+gAwIBAgIUftbnnMmtgcTIGT75XUQodw40ExcwDQYJKoZIhvcNAQEL\n"
-            + "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n"
-            + "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjExMDYxNDUwMThaFw0y\n"
-            + "MjExMDYxNDUwMThaME0xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\n"
-            + "aW1pdGVkMSMwIQYDVQQDExpRdW9WYWRpcyBHbG9iYWwgU1NMIElDQSBHMzCCAiIw\n"
-            + "DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANf8Od17be6c6lTGJDhEXpmkTs4y\n"
-            + "Q39Rr5VJyBeWCg06nSS71s6xF3sZvKcV0MbXlXCYM2ZX7cNTbJ81gs7uDsKFp+vK\n"
-            + "EymiKyEiI2SImOtECNnSg+RVR4np/xz/UlC0yFUisH75cZsJ8T1pkGMfiEouR0EM\n"
-            + "7O0uFgoboRfUP582TTWy0F7ynSA6YfGKnKj0OFwZJmGHVkLs1VevWjhj3R1fsPan\n"
-            + "H05P5moePFnpQdj1FofoSxUHZ0c7VB+sUimboHm/uHNY1LOsk77qiSuVC5/yrdg3\n"
-            + "2EEfP/mxJYT4r/5UiD7VahySzeZHzZ2OibQm2AfgfMN3l57lCM3/WPQBhMAPS1jz\n"
-            + "kE+7MjajM2f0aZctimW4Hasrj8AQnfAdHqZehbhtXaAlffNEzCdpNK584oCTVR7N\n"
-            + "UR9iZFx83ruTqpo+GcLP/iSYqhM4g7fy45sNhU+IS+ca03zbxTl3TTlkofXunI5B\n"
-            + "xxE30eGSQpDZ5+iUJcEOAuVKrlYocFbB3KF45hwcbzPWQ1DcO2jFAapOtQzeS+MZ\n"
-            + "yZzT2YseJ8hQHKu8YrXZWwKaNfyl8kFkHUBDICowNEoZvBwRCQp8sgqL6YRZy0uD\n"
-            + "JGxmnC2e0BVKSjcIvmq/CRWH7yiTk9eWm73xrsg9iIyD/kwJEnLyIk8tR5V8p/hc\n"
-            + "1H2AjDrZH12PsZ45AgMBAAGjgfMwgfAwEgYDVR0TAQH/BAgwBgEB/wIBATARBgNV\n"
-            + "HSAECjAIMAYGBFUdIAAwOgYIKwYBBQUHAQEELjAsMCoGCCsGAQUFBzABhh5odHRw\n"
-            + "Oi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wDgYDVR0PAQH/BAQDAgEGMB8GA1Ud\n"
-            + "IwQYMBaAFO3nb3Zav2DsSVvGpXe7chZxm8Q9MDsGA1UdHwQ0MDIwMKAuoCyGKmh0\n"
-            + "dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhMmczLmNybDAdBgNVHQ4E\n"
-            + "FgQUsxKJtalLNbwVAPCA6dh4h/ETfHYwDQYJKoZIhvcNAQELBQADggIBAFGm1Fqp\n"
-            + "RMiKr7a6h707M+km36PVXZnX1NZocCn36MrfRvphotbOCDm+GmRkar9ZMGhc8c/A\n"
-            + "Vn7JSCjwF9jNOFIOUyNLq0w4luk+Pt2YFDbgF8IDdx53xIo8Gv05e9xpTvQYaIto\n"
-            + "qeHbQjGXfSGc91olfX6JUwZlxxbhdJH+rxTFAg0jcbqToJoScWTfXSr1QRcNbSTs\n"
-            + "Y4CPG6oULsnhVvrzgldGSK+DxFi2OKcDsOKkV7W4IGg8Do2L/M588AfBnV8ERzpl\n"
-            + "qgMBBQxC2+0N6RdFHbmZt0HQE/NIg1s0xcjGx1XW3YTOfje31rmAXKHOehm4Bu48\n"
-            + "gr8gePq5cdQ2W9tA0Dnytb9wzH2SyPPIXRI7yNxaX9H8wYeDeeiKSSmQtfh1v5cV\n"
-            + "7RXvm8F6hLJkkco/HOW3dAUwZFcKsUH+1eUJKLN18eDGwB8yGawjHvOKqcfg5Lf/\n"
-            + "TvC7hgcx7pDYaCCaqHaekgUwXbB2Enzqr1fdwoU1c01W5YuQAtAx5wk1bf34Yq/J\n"
-            + "ph7wNXGvo88N0/EfP9AdVGmJzy7VuRXeVAOyjKAIeADMlwpjBRhcbs9m3dkqvoMb\n"
-            + "SXKJxv/hFmNgEOvOlaFsXX1dbKg1v+C1AzKAFdiuAIa62JzASiEhigqNSdqdTsOh\n"
-            + "8W8hdONuKKpe9zKedhBFAvuxhDgKmnySglYc\n"
-            + "-----END CERTIFICATE-----";
+    // Owner: CN=QuoVadis EV SSL ICA G3, O=QuoVadis Limited, C=BM
+    private static final String INT = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGuDCCBKCgAwIBAgIUUk/B8W400XArhKE/sEK7zHw8kDIwDQYJKoZIhvcNAQEL\n" +
+            "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n" +
+            "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xNjExMzAxNjIxMDFaFw0y\n" +
+            "NjExMzAxNjIxMDFaMEkxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBM\n" +
+            "aW1pdGVkMR8wHQYDVQQDDBZRdW9WYWRpcyBFViBTU0wgSUNBIEczMIICIjANBgkq\n" +
+            "hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAonyczmwRSnw5BhWIrfcD19EbE7bYu5dF\n" +
+            "tD8o/5NtQCW+XdoLX+X9uNTuvnPw9Hv2RdhYrJgeLgF2wZ52XMGknRdB8tQYrknA\n" +
+            "l/j0N5f8DD82xP2eBkCpIB0UED4zNVwwWcdWvBUgNEdNobz9vQKb7B5LlbXm9kaO\n" +
+            "uxYgcv8WsNMivSP3mkJShEOh4RZ3ZdBM/vtJyuvUyEPjyiSzfN94tZHx/H194S4D\n" +
+            "VAPgE7ny3ISzN+Aa3kjyLebP/sPzI1AY0DWx8Yg4STG1j0PJeuTb6Ago2kmx4Kqn\n" +
+            "4q4kSPL8CgITYHiKaJx6Dt8Q90ieJ7ywG4Mb/YADOIlmoXZ6kXhzGAxyWXFgolLb\n" +
+            "4UToIh6U66v3Iyq+gXyCeMXGT4nUgs3+PduzOei9668jeKQaoU5d7LjJUL+ZH2+Y\n" +
+            "1bPmMAypHFLZryziOzC5kRo4TamgAf3LHHr2C7yIUuo+avlv3cic3NUodcfMi7Ax\n" +
+            "OQFLb32CtDoDeVb5v3x88R0tIEJTizk6M1B/0pGtZiFfXtrNVfHmEYvY2rOLbgWK\n" +
+            "M831ykqZSYHUpiqgnaNJb4Qs8WcxqUw1xki64WwiPclUSn5XgGMIwxSDGjUIJHKR\n" +
+            "rzgQ9lneHOHVb8pXHNFkdBDHTb1KNmDOyLsg3q0LJP6P3nzT/aWDAj3glpJvGQ5d\n" +
+            "kjAbjx+NFk8CAwEAAaOCAZcwggGTMBIGA1UdEwEB/wQIMAYBAf8CAQAwUQYDVR0g\n" +
+            "BEowSDBGBgwrBgEEAb5YAAJkAQIwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5x\n" +
+            "dW92YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTB0BggrBgEFBQcBAQRoMGYwKgYI\n" +
+            "KwYBBQUHMAGGHmh0dHA6Ly9vY3NwLnF1b3ZhZGlzZ2xvYmFsLmNvbTA4BggrBgEF\n" +
+            "BQcwAoYsaHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdnJjYTJnMy5j\n" +
+            "cnQwDgYDVR0PAQH/BAQDAgEGMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggrBgEFBQcD\n" +
+            "AgYIKwYBBQUHAwkwHwYDVR0jBBgwFoAU7edvdlq/YOxJW8ald7tyFnGbxD0wOwYD\n" +
+            "VR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC5xdW92YWRpc2dsb2JhbC5jb20vcXZy\n" +
+            "Y2EyZzMuY3JsMB0GA1UdDgQWBBTlhFTQkEmfOLryyeEqCMVOn6BIPzANBgkqhkiG\n" +
+            "9w0BAQsFAAOCAgEAY/EHWbpNwCgGVQ1B7cIn530n6Rnht8ryN6E4Sis2GG09801s\n" +
+            "eCVMoGUB1uBCWm7uqQqydjTbjLhuub7hTjSJ1J30SOK1CZbk+c1VP9DcjY46hycy\n" +
+            "tUKQ2WbgkaY+l/tZNDKu0djc2hA5apljQCmiIzckbcHr6yRnFK7ZPjSPCAUKm20D\n" +
+            "vORQ7hsIaomsIlqXm5BPssMcxjI48Ezgv/s8ynASI8S5P2vOnBo08sJBM/a0Kbuw\n" +
+            "351SubTzjxG+o1SHe6lAzvIQMuSwxUca8YkiB19w5YZt+Ss2JXNc6F2jZwpr0hto\n" +
+            "IXe+N9/x0CohYRRa+IivRGgdDQc3w2P+pffNQP/qdPuUYyMkYWiuHH/YvwXyuDxv\n" +
+            "yGQfvKmHr1uq/qiqbK1bDSUoEq4Su8yX8YoF9TuxYraIpp9iErO5rarDO6GTNVHh\n" +
+            "1OXAJ/ePhOWzqo3flLTlAdTcs3Mq97kKW8XWCnu/cjJJglf2zVfLAlv95p56B9If\n" +
+            "0pXbN74qDkYEC8TdLOwryhcv8yyimh90/AvW9LpB7swkWnUUYNTep/XMX/RLpHLn\n" +
+            "JOVtnRpn3coVfSR/0rz0XKVXeZGnKztGdIMQhWMTxvZ1UpmRAH2Ab2QnVo1fkPVy\n" +
+            "qNSJces5Y/VKpIvLBk5Jj55fvK8ME/9ASa+LtLrIms8iYHl75cupuYZZlg8=\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvsslicag3-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
-    // ST=Pembroke, C=BM
-    private static final String VALID = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF+DCCA+CgAwIBAgIUE3XHqPhbZc2CY3aRtVHRlQwm3tcwDQYJKoZIhvcNAQEL\n"
-            + "BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh\n"
-            + "BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTE0MTExNDE0MDUz\n"
-            + "MVoXDTE3MTExNDE0MDUxM1oweDELMAkGA1UEBhMCQk0xETAPBgNVBAgTCFBlbWJy\n"
-            + "b2tlMREwDwYDVQQHEwhIYW1pbHRvbjEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRl\n"
-            + "ZDEoMCYGA1UEAxMfcXZzc2xpY2FnMy12LnF1b3ZhZGlzZ2xvYmFsLmNvbTCCASIw\n"
-            + "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK621GAU2/hywjuxi2Q9rCMncWIY\n"
-            + "FbDngS69N6+qe9NUktfs/Rlh+jKUDHyf27G79xYGmDGZ0NTYI7tUyOvRanaq8ngd\n"
-            + "NkZI4DS/Au2vpwuXucrtm3V/XRcsWHAsyevVzfiqfZzu+vU7/2KT/k7sByRzED4x\n"
-            + "B4tMGaodvzIAzhFAmnmVXSUw7zvU07G/6/mfwYy9gwegJwVby/ZPWXefzHbLGDUz\n"
-            + "xtO/6Ow9e5T2hedpo3IgfKptkzy0kA501DNaTMulW1gJwB+1duJ9OxZOAVgGCANX\n"
-            + "IzWvgbONLEdkYGK+K8EAuMaa57WlG0wBZ9Y62iuvgw4XRd90/PS2RAFf/DsCAwEA\n"
-            + "AaOCAaMwggGfMHMGCCsGAQUFBwEBBGcwZTAqBggrBgEFBQcwAYYeaHR0cDovL29j\n"
-            + "c3AucXVvdmFkaXNnbG9iYWwuY29tMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3Qu\n"
-            + "cXVvdmFkaXNnbG9iYWwuY29tL3F2c3NsZzMuY3J0MCoGA1UdEQQjMCGCH3F2c3Ns\n"
-            + "aWNhZzMtdi5xdW92YWRpc2dsb2JhbC5jb20wUQYDVR0gBEowSDBGBgwrBgEEAb5Y\n"
-            + "AAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2dsb2JhbC5j\n"
-            + "b20vcmVwb3NpdG9yeTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH\n"
-            + "AwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFLMSibWpSzW8FQDwgOnYeIfxE3x2MDoG\n"
-            + "A1UdHwQzMDEwL6AtoCuGKWh0dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2\n"
-            + "c3NsZzMuY3JsMB0GA1UdDgQWBBSSYP84MQGz6cU/fyXfebv/8zn93TANBgkqhkiG\n"
-            + "9w0BAQsFAAOCAgEAbqX71QIeoOJ36Aoiwg+oEwdDSRzXkR05kZU2y9qOCArrkgSj\n"
-            + "ycdIRQFjHYNAWJrPP17PErk6+6NDWiwxLXbeHaY7pFIDCsgcCTWpixVlpVPKKxAE\n"
-            + "uaomHo5K2AWWkJYNNPSLF411CmyN4eJjYQVrkCfJwFSUrQml8pFDedNDNuTaDsZo\n"
-            + "klvUDYWM18gFrAbNF4Wi+dvj3qPOpTVyrTk2oBXtVUesNu4JF/O6li10YJ+kdox+\n"
-            + "DUeq4Gk4B8zoWRTKa9Pp/RALI8TeNcfjBKbPtuXyfly1Cm8AXoQA5sus2SMMPQXE\n"
-            + "S1+IsdnnKb60pT1EOX571SIBKV16xpRpbC3mDU6IG/+Sjm0TJxwSGbBO5bX69+bq\n"
-            + "F8Im1QAKqVSYCtoypvieG3iGqHmj4SAaSqdmDDzmOPEtgX63ZmYVs+ey6tN+VThi\n"
-            + "eaLRs+pHeBLMhh7Npt85c+xqRlIFBp0e84EzST0oE7pjuZcFFWstFXD2Pt1JQfXo\n"
-            + "9szkw6EMhYbrgNqsh8lxkg8cZKHnP8KGLefyHajp3EIfC2MX7nUOeNmNoCxdsfBW\n"
-            + "lmzRbv7H7eeAmQYHmxUaRnDMGR6QVX8/NrF1w0hqLkIpDj+29Mvv/Gp2azJrvqrL\n"
-            + "w2bJ2mPD8rzBDmEFY317RWc8VBd8ZUxO/dYPWqsXNwBTdPMRQpYcN55po3g=\n"
-            + "-----END CERTIFICATE-----";
+    // Owner: CN=qvsslrca2g3-ev-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // ST=Pembroke, C=BM, SERIALNUMBER=28474, OID.2.5.4.15=Private Organization,
+    // OID.1.3.6.1.4.1.311.60.2.1.3=BM
+    private static final String VALID = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIH4DCCBcigAwIBAgIUUZsNAKy8C5AlCfpCZWUQY2R6VawwDQYJKoZIhvcNAQEL\n" +
+            "BQAwSTELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxHzAd\n" +
+            "BgNVBAMMFlF1b1ZhZGlzIEVWIFNTTCBJQ0EgRzMwHhcNMTcwNDE4MTg1NjEyWhcN\n" +
+            "MTkwNDE4MTkwNjAwWjCBwDETMBEGCysGAQQBgjc8AgEDEwJCTTEdMBsGA1UEDwwU\n" +
+            "UHJpdmF0ZSBPcmdhbml6YXRpb24xDjAMBgNVBAUTBTI4NDc0MQswCQYDVQQGEwJC\n" +
+            "TTERMA8GA1UECAwIUGVtYnJva2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQK\n" +
+            "DBBRdW9WYWRpcyBMaW1pdGVkMSwwKgYDVQQDDCNxdnNzbHJjYTJnMy1ldi12LnF1\n" +
+            "b3ZhZGlzZ2xvYmFsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n" +
+            "ALo9QJVNVNVfG//nZiOPX/j2O8GTVlSAfIMliEj78G0xmPZiQD3n/70KcYlsI7No\n" +
+            "ilytC8e/m4Mic9PpYfmhAwiUSmb3ba8qjekUgmBFXuQqj3fH6Na+8f5WC9cYpwlc\n" +
+            "Ew3NuL2WBs86mjM/3GIa61IXrGpRxN6UQJwSxhqlb1QqEGtuwBiy9FJQd0xekCTC\n" +
+            "GBe2zFT1WhyVSMWlxwkcy1p2LeUmlvnV6FHQYcM9te8UPhgY53O6+u0tnnnsED37\n" +
+            "UOU3MLev8T++WL7VPOrjgjXydMC9ndXKRttQFIeJ1r+W7rdMLCWkrTzvJ6GtBZZr\n" +
+            "8jjHNabWPkBslML7oGwvUHMCAwEAAaOCA0YwggNCMHgGCCsGAQUFBwEBBGwwajA5\n" +
+            "BggrBgEFBQcwAoYtaHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV2\n" +
+            "c3NsZzMuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8vZXYub2NzcC5xdW92YWRpc2ds\n" +
+            "b2JhbC5jb20wHQYDVR0OBBYEFLVK7rSs4x+DZrwYaWl2mjhhAtV/MAwGA1UdEwEB\n" +
+            "/wQCMAAwHwYDVR0jBBgwFoAU5YRU0JBJnzi68snhKgjFTp+gSD8wWgYDVR0gBFMw\n" +
+            "UTBGBgwrBgEEAb5YAAJkAQIwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92\n" +
+            "YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTAHBgVngQwBATA8BgNVHR8ENTAzMDGg\n" +
+            "L6AthitodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV2c3NsZzMuY3Js\n" +
+            "MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw\n" +
+            "LgYDVR0RBCcwJYIjcXZzc2xyY2EyZzMtZXYtdi5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggF9BgorBgEEAdZ5AgQCBIIBbQSCAWkBZwB2ALvZ37wfinG1k5Qjl6qSe0c4V5UK\n" +
+            "q1LoGpCWZDaOHtGFAAABW4J1OtsAAAQDAEcwRQIhANABKS1i5uxEm/HMivDJFyNJ\n" +
+            "gOKRrApqmx3KV0/pWMzqAiAui21HV9lVJ1OT6dEA9mlZAH4NmzklmY9WI978GMYG\n" +
+            "mgB2AFYUBpov18Ls0/XhvUSyPsdGdrm8mRFcwO+UmFXWidDdAAABW4J1Os0AAAQD\n" +
+            "AEcwRQIgTWLHrhex17UyIlr0HC9LXNUv0kyOudo7MpxoWFy1xGICIQCHFSoQGwvv\n" +
+            "zzpQ3JmHSLHy0AQQfWlbV9rFv37F4A7AaAB1AKS5CZC0GFgUh7sTosxncAo8NZgE\n" +
+            "+RvfuON3zQ7IDdwQAAABW4J1OvYAAAQDAEYwRAIgWLm8u/bcMZt5oXAPIqP9/Qqj\n" +
+            "Q61VYX+II6RFK+EJCnwCIBrXxQgngqO7X/aaeWnEjfQeSu7WCK9Md3tcqXsn+gMd\n" +
+            "MA0GCSqGSIb3DQEBCwUAA4ICAQAu0Y29voXdwt/68hwbdj8L50yecl2Z0OkOA31v\n" +
+            "UhAHgRVhQ+WiAgoeGEgjdntQ5pL7Wtr314gHpG6iR849Zr56WOliA6pfBYDk3qkH\n" +
+            "UiRgqQBUEV8oRzgp0E+Ebev+p9leM4RPYmUNsP3K4Z/BY24HNOtNKMC3clqKO35K\n" +
+            "D7B9ObYUb0+IjreKgUyQB7wMgFi7393gXDraVDhDoLrcktAkvkv3Mbt+A3IO5VrO\n" +
+            "4mQwjrLHzj8nFCmsP4RbCIKFO2QZE8sJYwplKUWOk1ngjpOvObPYpMt5M1kiRvau\n" +
+            "agkQ+WvnvuMEgAgafHtI4uu0ZNDW1ib0H+xq5X/x2w1RjEElbXCKMbnf3Pdvh9FG\n" +
+            "mLpkVITXIKzT0Jm+oIs+Vk4ktNEe8hQIzcqimmtlVl2hgMWkmIfRio1+41EY4Din\n" +
+            "QXBVsbRqftamzSpLbW54ryGJB8dSiGe4P53DOcNKiyie7une95ouZY/1DfQIlVG/\n" +
+            "9XexhqdGMKp6qUjgd9hOfHrD+mZHeBdIIONOHOhy6ESIUgpSzaAAM7QXZFqlzLzY\n" +
+            "okRp6cJKDfUmXrk80MopQMhRHJwdxfeZ/A/xAkrWlVPshG+qltSGIZWrNjhQIwk3\n" +
+            "49zFQCuDS+FrkubRueV+MB8Abp+V1nv5PNbhwfPzGSqwn9XX3vUnsp9uLv+3WlrL\n" +
+            "Kl1DeA==\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvsslicag3-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
-    // ST=Pembroke, C=BM
-    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF+DCCA+CgAwIBAgIUMJWFWsVjz9o3zQoG9bZ/IsdRWDkwDQYJKoZIhvcNAQEL\n"
-            + "BQAwTTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxIzAh\n"
-            + "BgNVBAMTGlF1b1ZhZGlzIEdsb2JhbCBTU0wgSUNBIEczMB4XDTEyMTExNDEzMTI1\n"
-            + "NFoXDTE0MTExNDEzMTI1NFoweDELMAkGA1UEBhMCQk0xETAPBgNVBAgTCFBlbWJy\n"
-            + "b2tlMREwDwYDVQQHEwhIYW1pbHRvbjEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRl\n"
-            + "ZDEoMCYGA1UEAxMfcXZzc2xpY2FnMy1yLnF1b3ZhZGlzZ2xvYmFsLmNvbTCCASIw\n"
-            + "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALlwpCyabhrQYeRzEn0O7S505Fv4\n"
-            + "ScJlJRHskcyZHBt0vt2tsDJNh2xJKJpnXzW14oGh+xrccEGeUw77qeFgfy+LTIHD\n"
-            + "YDkYVHVhfs4NJD5wdyWL9Fn3A7pMFpapPBPJdsAAwByfzYFjRJsPHMSlGcroyGNm\n"
-            + "+LquU5r965afaRkWQzZy+lY+OHO19Jis8EfUusYj2fQ3SXB8tBwFylDTnbCoM1HZ\n"
-            + "BlbksbtLjFYKtyaNeQuoA7NnB3Q9XEONNK9KZ0S87KIqEKjIWK7ThO6lvhMQy2Zk\n"
-            + "k+UVXVLpop7+Nkz3Fn08pE4OMfLjn1KVnk5l40WGabinfE6hz4vk0XREaKcCAwEA\n"
-            + "AaOCAaMwggGfMHMGCCsGAQUFBwEBBGcwZTAqBggrBgEFBQcwAYYeaHR0cDovL29j\n"
-            + "c3AucXVvdmFkaXNnbG9iYWwuY29tMDcGCCsGAQUFBzAChitodHRwOi8vdHJ1c3Qu\n"
-            + "cXVvdmFkaXNnbG9iYWwuY29tL3F2c3NsZzMuY3J0MCoGA1UdEQQjMCGCH3F2c3Ns\n"
-            + "aWNhZzMtci5xdW92YWRpc2dsb2JhbC5jb20wUQYDVR0gBEowSDBGBgwrBgEEAb5Y\n"
-            + "AAJkAQEwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92YWRpc2dsb2JhbC5j\n"
-            + "b20vcmVwb3NpdG9yeTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH\n"
-            + "AwEGCCsGAQUFBwMCMB8GA1UdIwQYMBaAFLMSibWpSzW8FQDwgOnYeIfxE3x2MDoG\n"
-            + "A1UdHwQzMDEwL6AtoCuGKWh0dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2\n"
-            + "c3NsZzMuY3JsMB0GA1UdDgQWBBSS2t3Itp/XsAppEeGyH+Ew8vEQ0zANBgkqhkiG\n"
-            + "9w0BAQsFAAOCAgEAo8MJ2ek95Cs3chn1ecEMdGkUANnCBmgdvQjFt6XVLzYWs37n\n"
-            + "j6Ac/nGj+Tzb30nTVdE2laRuTeLuGfYmd1AdBLHuRhWYG6A6jnlzqhmDRL3fvRYk\n"
-            + "wjeWQn6Kx/lOoWC1xOa2EJYOWDr/rUY2PKo9rSVdGKmU6NFI/+FOFLaUD8tU77Qq\n"
-            + "p9rfOYJwekckA2I2891lTRbnJfQhPD8mQjttd+nS46RwZxxAI5Pr6Jcr+BG3ARP5\n"
-            + "oM/ifTCLXCc4L/0nozUDSweU17TCuFXWGEpIXbOVmE3kpmHaVe1FRQ0PUr2XHCbJ\n"
-            + "H1vumQcJmOaUxiB4EzP+M+HnKg6rwhWlfgQEAnCcKkMF5ei1NAaHCwhRMC7ijJFA\n"
-            + "Wt7s0/PpP2tChU7uXctMk2d36Dpibyn6Rc5a/QJX444ZRFEGrSe4nO/MXt3iEcat\n"
-            + "fgYHOWoBunLIm7x/fd611xvyhifjqKVCPpqodpwFrXOlCQhXehhRvJSPDXWgDJeR\n"
-            + "cDLLIcit4Sn1uyebQcZafaxgYPWpaYHFd7dzkO+kTVqOVAm7LukC5QQ9qFY1z7a5\n"
-            + "IDUAFtEYg/c4XxX+pReOxydnnHeYZBrfRTTxOfMrg6dxsb1QcOeElXHgXRpHyiMh\n"
-            + "XYsZWE2WHT7of4wMfNzCUrVSN0tCGDRW0MI48RM4BYbRnz3YNKafjnszeXI=\n"
-            + "-----END CERTIFICATE-----";
+    // Owner: CN=qvsslrca2g3-ev-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // ST=Pembroke, C=BM, SERIALNUMBER=28474, OID.2.5.4.15=Private Organization,
+    // OID.1.3.6.1.4.1.311.60.2.1.3=BM
+    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIH4TCCBcmgAwIBAgIUZTuy16qm4LnioIRmiaQZuThb38gwDQYJKoZIhvcNAQEL\n" +
+            "BQAwSTELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxHzAd\n" +
+            "BgNVBAMMFlF1b1ZhZGlzIEVWIFNTTCBJQ0EgRzMwHhcNMTcwNDE4MTg1NjQ0WhcN\n" +
+            "MTkwNDE4MTkwNjAwWjCBwDETMBEGCysGAQQBgjc8AgEDEwJCTTEdMBsGA1UEDwwU\n" +
+            "UHJpdmF0ZSBPcmdhbml6YXRpb24xDjAMBgNVBAUTBTI4NDc0MQswCQYDVQQGEwJC\n" +
+            "TTERMA8GA1UECAwIUGVtYnJva2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQK\n" +
+            "DBBRdW9WYWRpcyBMaW1pdGVkMSwwKgYDVQQDDCNxdnNzbHJjYTJnMy1ldi1yLnF1\n" +
+            "b3ZhZGlzZ2xvYmFsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n" +
+            "ALXMNTuogjC2wpziEXbKztdgzBflORLxoAo5Y8HNAZVo8MgJJucshZ5S6cmRjreY\n" +
+            "fOlwo85Vu9s39EMRR+I0AZLbxw2PZxNSHUxTCzWlmJ4yValRPRZjz2LXJ+mjpkc3\n" +
+            "hsVHtCawvPqh2uNwM2qUD6zKfRGdKC27NeICjYe7RtfhLRdrZ8MNtVWMrrFt3Dzd\n" +
+            "SRJXFcLkN4rPzRFCxldU2yH6V4cZwnVz4XxV/nbljVtGyMJWGVzU0Bhy1fedAJ9x\n" +
+            "KGJbM6wackOlpUm0XMQdFxHF2tW4Sus6Mcf+2N8FgXk4PnwXarIc/Sj5Tx+Bvf5y\n" +
+            "TwBOGS02Hzs07ILV3w4dp00CAwEAAaOCA0cwggNDMHgGCCsGAQUFBwEBBGwwajA5\n" +
+            "BggrBgEFBQcwAoYtaHR0cDovL3RydXN0LnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV2\n" +
+            "c3NsZzMuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8vZXYub2NzcC5xdW92YWRpc2ds\n" +
+            "b2JhbC5jb20wHQYDVR0OBBYEFALFAuUwkAiTXc+DIW861Mu1o/7RMAwGA1UdEwEB\n" +
+            "/wQCMAAwHwYDVR0jBBgwFoAU5YRU0JBJnzi68snhKgjFTp+gSD8wWgYDVR0gBFMw\n" +
+            "UTBGBgwrBgEEAb5YAAJkAQIwNjA0BggrBgEFBQcCARYoaHR0cDovL3d3dy5xdW92\n" +
+            "YWRpc2dsb2JhbC5jb20vcmVwb3NpdG9yeTAHBgVngQwBATA8BgNVHR8ENTAzMDGg\n" +
+            "L6AthitodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV2c3NsZzMuY3Js\n" +
+            "MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw\n" +
+            "LgYDVR0RBCcwJYIjcXZzc2xyY2EyZzMtZXYtci5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB2AFYUBpov18Ls0/XhvUSyPsdGdrm8\n" +
+            "mRFcwO+UmFXWidDdAAABW4J1uUEAAAQDAEcwRQIhAK2LD7cJrN7YYjyBqFDoZva+\n" +
+            "fae1CiuYyxpREVes1c8OAiBLVt/dGKnvwY2CW2TN3/WyRM7al2sLnM+XwNUGZDrJ\n" +
+            "pgB2ALvZ37wfinG1k5Qjl6qSe0c4V5UKq1LoGpCWZDaOHtGFAAABW4J1uVQAAAQD\n" +
+            "AEcwRQIhAIA9IjxIT69JGX+sl1okMiGsXfCOPq5crSX+m04Q7LcgAiBJWUsLDtm9\n" +
+            "5TKsGZvlJRKOn1CcA94sApQ4v+1D+uz+JQB2AKS5CZC0GFgUh7sTosxncAo8NZgE\n" +
+            "+RvfuON3zQ7IDdwQAAABW4J1uWwAAAQDAEcwRQIhAIWbEqGnZSIwrI5eWCIzfMRY\n" +
+            "A+onO3IjQrVAE6ZuGu2bAiAlyoRSfH4s8+lVL225AYD45OkJJfG41T6k+wVLM5Hg\n" +
+            "ezANBgkqhkiG9w0BAQsFAAOCAgEAPwvRI5GmzR72cDoh+7VPj7PihQDG4HBYq5Ta\n" +
+            "bF7NK2v9DoaU99vv01K3WBNIydjQX4j+IK8MoGp9dXV+LDUTsebnsY+nr3O4R0pK\n" +
+            "I2TAazN7zcy3SYc/MtaW7JI+/ckjHaJw+AT+qUz+l20p9shBFlg4QvH2cx2OOCat\n" +
+            "/CRnG2Nqc5nN1xVcS3aVDrGl36XIcjV+ab+3zicm3OhWqn/hlfBBWimuhix68i/L\n" +
+            "k+qUyN6A8Bz7NwsouzG7keS17VZbLFkOuczq9KxJLHtlI1OYFNzrLEx6aXeM5VoH\n" +
+            "mlwETxagSL6fjRvcCaM6As9WVRS08p/RldUrEw+O6r3ob7FaOywwIzSMFV1GbVFG\n" +
+            "eIrSMuSVwbQRa5Duakoe5vz1vOddrZPm3kqpvyT7j51nuedrjc8YgisuyMbxkf5s\n" +
+            "8tesqxdltXjFNwpwveYlgHAi3sZvO2dm6bEZcioxLEWEpwmYXrkBJWLhcILdfY99\n" +
+            "SWFAmwGtmCqh8Sxla77o+gaZkNKf3zBn/34Q91Z96qKgqjXDAGefsZiy4tQeEUJc\n" +
+            "2qIqjb2rWi5Vo7hn2eolNXzp6ZdanicpecpqwpmW9/v6YRxKLGTsdVz82TGWPnpt\n" +
+            "q3rCll0NIAfcjekFmRzmBWF1jOn4fCcF/WOxKW1T4JcMIcNoa5iI9M1WcVKQvJKA\n" +
+            "Zd5LLu4=\n" +
+            "-----END CERTIFICATE-----";
 
-    public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled)
+    public void runTest(ValidatePathWithParams pathValidator)
             throws Exception {
         // Validate valid
         pathValidator.validate(new String[]{VALID, INT},
                 ValidatePathWithParams.Status.GOOD, null, System.out);
 
         // Validate Revoked
-        if (ocspEnabled) {
-            // Revoked certificates are expired in Nov 2014
-            // and backdated revocation check is only possible with OCSP
-            pathValidator.setValidationDate("Jan 01, 2014");
-        }
-
         pathValidator.validate(new String[]{REVOKED, INT},
                 ValidatePathWithParams.Status.REVOKED,
-                "Fri Jan 04 03:49:46 PST 2013", System.out);
-
-        // reset validation date back to current date
-        pathValidator.resetValidationDate();
+                "Tue Apr 18 12:23:14 PDT 2017", System.out);
     }
 }
 
-class RootCA3 {
+class RootCA3G3 {
 
-    // wner: CN=QuoVadis Issuing CA 3 G3, O=QuoVadis Limited, C=BM
-    private static final String INT = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIGFTCCA/2gAwIBAgIUHZxbikClihb+1PM2ck0SDEZ8/dIwDQYJKoZIhvcNAQEL\n"
-            + "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n"
-            + "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjExMDYxODM5MDVaFw0y\n"
-            + "MjExMDYxODM5MDVaMEsxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\n"
-            + "aW1pdGVkMSEwHwYDVQQDExhRdW9WYWRpcyBJc3N1aW5nIENBIDMgRzMwggIiMA0G\n"
-            + "CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCs6x3rpBdA1tTXgPYNjL1MKHuoDyb9\n"
-            + "d4mxxk41t5Cvo3BnS0/cBlRIl91oqu3Iv9goVCMStla+GW9iRdX/53jYM1rXePDa\n"
-            + "OnE/MJNLcVjmABZmEUtpzxUYLftwGEg1w/Wgi6z68vqZn7vbHJtFV8inlMIsdBVY\n"
-            + "o3VmU9h+pGZU8JrF8x8U3voX4vm56OBCAM/1osUGXsVL2AY3z2Gjyb1Hv6fqHma7\n"
-            + "PWrWV1hYS/EAnRUPO8iQqJwrbT/j7Mlo3khULV+T02M+oqs1ckIihl38n1eGvYcp\n"
-            + "z40cceA2Ej5aglyF9i+ypA4XnxKF3f+6vvEYRPCMQB8Hiwuyy6naj6lPoLZ+nolT\n"
-            + "t++xSkZ5imAoTXewA9JxyGCdiO9G4sZFIy4jjW7HBmKx6pZy3wWf48eawXPIpjop\n"
-            + "EC+Kayf3foeyq40CAOjysVkblhUBawvVjAqKJ5aoKD4Ghnv02jdVvI4W7ME/fYYb\n"
-            + "gm+XD7KJv4gHks+SIV93eXiUhYHvofJ3AG/1kp1p4tvIKCUtm2LCihmp53n9uLGA\n"
-            + "NvizEnkuQmwlXtqOquKDluwSpHVFPxePMdRICUOnoZBdHv6f3LQCOU7AczRJYh8+\n"
-            + "WYSKQy675/Itucgd+ABfY1H07F4FisCP75j8YknBdv4nfQsb0RcTg2P89dJNwAhL\n"
-            + "rpk452WD4LuvsQIDAQABo4HzMIHwMBIGA1UdEwEB/wQIMAYBAf8CAQEwEQYDVR0g\n"
-            + "BAowCDAGBgRVHSAAMDoGCCsGAQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDov\n"
-            + "L29jc3AucXVvdmFkaXNnbG9iYWwuY29tMA4GA1UdDwEB/wQEAwIBBjAfBgNVHSME\n"
-            + "GDAWgBTGF9C8qOoCQ/IbBpldK5Agudec5DA7BgNVHR8ENDAyMDCgLqAshipodHRw\n"
-            + "Oi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdnJjYTNnMy5jcmwwHQYDVR0OBBYE\n"
-            + "FBPyQfSNOURHBZ37q8ZaNQwelu9eMA0GCSqGSIb3DQEBCwUAA4ICAQAsbJU89ZB9\n"
-            + "1XVlOLmw8MaoWwOgI3DwM/g30YyIV1SERtDMKDOUnLVGTORTGv7Y8X789nGkMbKq\n"
-            + "OEEa9Hty4jwyTnt2OISpCAb4GwBtH+FxNcLkJwZU2qtpTX8zDndofE/JLGo0rte5\n"
-            + "bKchF2JTg+oby/Wpu2IO0CMd1phou3LLi8sWQGcY/f5vk+MUDnskH6NRXte4m8HW\n"
-            + "FtYb7nOgLzY5FOJDtQuUFFioNoQzUHuj3SpUjIBxXf4VRFXz+FKIQ4jqzD/SnHG6\n"
-            + "/7g/28x66LNpYjvaQ0T45EqxqPDCztfJO67GsNLXeSKq+BteqXcnKI77ZkqmwnWl\n"
-            + "cYt5qek0GBYRYVOM8dUIvDryWHZIEqbeI0DAu06dyPuvIJNQ6WweqxJ+hH++BqGh\n"
-            + "P4bViNNuP/Lqarb1RP7JiJW3wlyIUDD34JLzkusBgU++ptdYg1o0VnEB8KWDG8Of\n"
-            + "cABL+TMoUldUp9DFFgFJIfnPX5XjXyG9mw2wwiUvClo93qFvC8+rhEGeZFd29rKi\n"
-            + "dmmCc8FaCfBV9XdHHx/0ORTQp3HxnRDDiz+MN7p1Y4SXbHE3XXyQAUVTISGpPe3X\n"
-            + "TUhmoARNmBBPALDm3EAvEBikTUMBFGR63wtu0pjA2cF5nvOyY8mBSsNk0R6+ZJSl\n"
-            + "Cok3lH5oBM2H+KBk+sNZIBQ8BHcgbwlghg==\n"
-            + "-----END CERTIFICATE-----";
+    // Owner: CN=QuoVadis QVRCA3G3 SSL ICA, O=QuoVadis Limited, C=BM
+    private static final String INT = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGszCCBJugAwIBAgIURUME8OY/YBHyokbgxoTKpPcoiHYwDQYJKoZIhvcNAQEL\n" +
+            "BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\n" +
+            "BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xNzA0MTkxNDQ4NDBaFw0y\n" +
+            "NzA0MTkxNDQ4NDBaMEwxCzAJBgNVBAYTAkJNMRkwFwYDVQQKDBBRdW9WYWRpcyBM\n" +
+            "aW1pdGVkMSIwIAYDVQQDDBlRdW9WYWRpcyBRVlJDQTNHMyBTU0wgSUNBMIICIjAN\n" +
+            "BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt8UIgFvcneWgv29aR2/UV810uW9N\n" +
+            "VpvdEgQDPHao5+i3IwCH1GrV8KeC25vfJAuW2TJ5gHeN5fmWAtWU8NDaNwGxJq/w\n" +
+            "jlOe/UW0KSosuuOBltLY9fl+7lDYqBjEwmCGvZMQOzpsbm8QUYTuZmtw96sT5beZ\n" +
+            "Kwqub/NBDE59IZ+b82obreNFFOgwcHv9E00bfRW7kizNfaC8AiwgV9WfIFgvtb4+\n" +
+            "YflcgGbdWnmNvwL8aZGWpGYjw/H/0kpwfMgrVF3Q7h8Y0yTg/jj8ZdXLdaE/PQzx\n" +
+            "8RUU4xJGxply/RrNUEvm9xeXZG3ssLW56WDEhRLkORX/zF4/mVyO2DpGJs06IUSP\n" +
+            "VWe+JuJGT1UxWqIsDIIHqJNa2BYl6O/XOjE2oGxiCb9w0/kQ8tKWWynFx4XOtrjA\n" +
+            "pGktsjw66tqE08XWOuoKwAXH2Llwz+VGSMzrCDH98VHtAu/XpEjuW3iP+I7EHksm\n" +
+            "W2eLdQdvTJ5DBdLsspIG4HC9Ke+c/gCEJHvOURPXoY7j9JPcQLc+5O7kBqiIjEBU\n" +
+            "NpPX37x7z3msac/IiG/SOYl+kiBESV44QFIOl8sHYmj9HGNlkQz4B/inuGwifIux\n" +
+            "rfdvm6nrpC7jhd/5Ptk4PO1kcAtgwcB99BnRCw47Xl7hrERTpoRISReNG0JMK7Op\n" +
+            "wVFqyi7bV1U/l4MCAwEAAaOCAY8wggGLMBIGA1UdEwEB/wQIMAYBAf8CAQAwSQYD\n" +
+            "VR0gBEIwQDA+BgRVHSAAMDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFk\n" +
+            "aXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUF\n" +
+            "BzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKG\n" +
+            "LGh0dHA6Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2EzZzMuY3J0MA4G\n" +
+            "A1UdDwEB/wQEAwIBBjAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsG\n" +
+            "AQUFBwMJMB8GA1UdIwQYMBaAFMYX0Lyo6gJD8hsGmV0rkCC515zkMDsGA1UdHwQ0\n" +
+            "MDIwMKAuoCyGKmh0dHA6Ly9jcmwucXVvdmFkaXNnbG9iYWwuY29tL3F2cmNhM2cz\n" +
+            "LmNybDAdBgNVHQ4EFgQUTknx5HQLmDQSOuWxVX3EknK1r6QwDQYJKoZIhvcNAQEL\n" +
+            "BQADggIBAHfmIJkd+URmnVm0X1/43QXu08RTzUr1zjf4ZBVtzUFoEkfZm+zKlhb7\n" +
+            "QeYJ5lprX1tdRfHLI+JC7oyI5+7/0q1j2FN2g0oKYN63dIgtppoCNpBu58f69YxL\n" +
+            "Y3GPSCfgs+ld+HegNSTjQVzelr16aFo9sj1fzUwY4Xj+xEYDjYxFmNGSXY37+DdN\n" +
+            "3WPm1iahBNNCZGfXq5T4qr6+R6RWwxsaBdQfZh3efGB1WG4DVSQBoiCKjS7Eg+Mf\n" +
+            "LT+KEZgawLUVrt/sT5lNfw23XA1gxIOcNRBHjsTWbtTBHJeb8hYvXB38UGK4GfIo\n" +
+            "NxtvRyXgG/U8+OuCQPS2SpJ1VH+yZ4Tn3G4k2+WillxfpqCVgHDVuT8wigw1xUNb\n" +
+            "0Ft9F3OWftWCVILaYEcyuJrnL3jjcZXc/zG01wIGDFvlPshRifVs/69Xq9UQmMfB\n" +
+            "GUh6MteDIsN9NdiArcumSC1dNoA/9eESp1pb186lDx9KxRQ/3NJRDMOIsMYN8Lyu\n" +
+            "cDNzsnymtQyIm3YG7VmZi/6k99n9vT8Ff9PvQ49cdfPl8GIONMdYmhTtLtuC00AU\n" +
+            "550HVLnpFW8d1NX3+XKxQ5FG04nsTxUD2FtT+trEQouktPq9iFqZN+PLPi8UdrBW\n" +
+            "AGUDCnO/TNo7IPW6arQrFpYbRLStiOJw7204Mjuqco/1KcqnEiIC\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvica3g3-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // Owner: CN=qvsslrca3g3-ssl-v.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
     // ST=Pembroke, C=BM
-    private static final String VALID = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF9DCCA9ygAwIBAgIUTkK7g7zoijtiLY/YV9ASX+pEsx0wDQYJKoZIhvcNAQEL\n"
-            + "BQAwSzELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxITAf\n"
-            + "BgNVBAMTGFF1b1ZhZGlzIElzc3VpbmcgQ0EgMyBHMzAeFw0xNDExMTQxNDA1NTJa\n"
-            + "Fw0xNzExMTQxNDA1MzhaMHYxCzAJBgNVBAYTAkJNMREwDwYDVQQIEwhQZW1icm9r\n"
-            + "ZTERMA8GA1UEBxMISGFtaWx0b24xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQx\n"
-            + "JjAkBgNVBAMTHXF2aWNhM2czLXYucXVvdmFkaXNnbG9iYWwuY29tMIIBIjANBgkq\n"
-            + "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAosZjGbZtvAM45zdlTtT+uL12F5nebQrE\n"
-            + "F9Fb8z1uhRJKgXAfjlfsMIjv7Xc7F80Li39yO0CmWHTMJS41auktW8IGVEkVV2og\n"
-            + "EL7SKLjtgDJ1I3HAX02hfuOW0b/jkfPEcqTeZVE5Xew/HTAuTJMTqCEHM5hFieWL\n"
-            + "tADPm7kANu5q6HaFXndKN/k1ozZXQn9YNTpDvvH6oD0Kqn/Peezi+C+6asTMSCk0\n"
-            + "Xoi2TBHNi9dl2tfb6hu+T5VFwFsC9dGqYt07V8TbvKRAVV0MC8DnXnS89quFVmPS\n"
-            + "I3ZSKeU4dlp8FzmTrd5nk3y9GL8GTkCsSN3RZbeAbLCpzcG5weS3GQIDAQABo4IB\n"
-            + "ozCCAZ8wdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5x\n"
-            + "dW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6Ly90cnVzdC5xdW92\n"
-            + "YWRpc2dsb2JhbC5jb20vcXZpY2EzZzMuY3J0MCgGA1UdEQQhMB+CHXF2aWNhM2cz\n"
-            + "LXYucXVvdmFkaXNnbG9iYWwuY29tMFEGA1UdIARKMEgwRgYMKwYBBAG+WAACZAEB\n"
-            + "MDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3Jl\n"
-            + "cG9zaXRvcnkwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr\n"
-            + "BgEFBQcDAjAfBgNVHSMEGDAWgBQT8kH0jTlERwWd+6vGWjUMHpbvXjA7BgNVHR8E\n"
-            + "NDAyMDCgLqAshipodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmljYTNn\n"
-            + "My5jcmwwHQYDVR0OBBYEFINCE86z3wESNeL4rz3eiaYA5LIWMA0GCSqGSIb3DQEB\n"
-            + "CwUAA4ICAQBPe+Y5xDGZLYaVNOxxiyqFZrntGJGGQW1w4GtEfkH9oD8WGs5kBhMM\n"
-            + "/XPGqw2FzzrvA5GfSdh+EMuXUfJY933AxwPcNfwGHzYGAHIDFsW17y5ZdKfBMN4Y\n"
-            + "82e13iSfHQrbI0P6l8IIExfCw4HC8PxuEalg6H9fj9/1Q7mzdpwT3uG/HP6Dr2z+\n"
-            + "PGYFMaH77MsOjfANT8UIdo5SAyXiJI5Y0cyKjuXhR6eJEKwNfri27UaV5cJJuV7I\n"
-            + "fRcjb0h0Grr6gpKFb7JnhDZVGR3fDHTzuybuCqZk9TYKQ2sn1YfBFDqDpWODpykt\n"
-            + "vyFO7eugpvSUgdTKRMPCtyppYgo2RwIsMmLrU4wPzdnPi8oo+cM0f5zXrmrkOLY0\n"
-            + "PZo+K8QT/SrNT+9yZnHupLy01aYGJ4RJ047Wthr7a9S6i6DxbQ+ps4Ajh0X1bvOK\n"
-            + "KCEKq5aoivYQMLn8pjudiMjbnKU4mgpmZK15D6lLmAprW3L6F8AEBJsK1BunPWhJ\n"
-            + "nkQUyBnFgq2epmDfZ4f6SztNoLfDbatYNRb2KJfW1lks7UHDjuZ4PM20KkmmFJEE\n"
-            + "LKR76WJzKi/+aks/csdFD7+/TMXrkY+JWlT4mCoHR1ol0m3DiqApKvRFZkMARfJq\n"
-            + "npjt2cXyzDnguyQuLrHhdkKW+/LYeNckmVX+cPIxShLbuVhqMgdnWg==\n"
-            + "-----END CERTIFICATE-----";
+    private static final String VALID = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGJzCCBA+gAwIBAgIUatc95M2rfpt/opXnck37WXW2RpAwDQYJKoZIhvcNAQEL\n" +
+            "BQAwTDELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxIjAg\n" +
+            "BgNVBAMMGVF1b1ZhZGlzIFFWUkNBM0czIFNTTCBJQ0EwHhcNMTcwNTAyMTY1OTAy\n" +
+            "WhcNMjAwNTAyMTcwOTAwWjB9MQswCQYDVQQGEwJCTTERMA8GA1UECAwIUGVtYnJv\n" +
+            "a2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVk\n" +
+            "MS0wKwYDVQQDDCRxdnNzbHJjYTNnMy1zc2wtdi5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+S725uLLelMIYHWuh6fbT\n" +
+            "lGdi7wf1BlsfQY/ZnLvsFbT1KHodE407RXP0NB6AeEBOlO8xQxaZ5b38aF+HROJw\n" +
+            "TcvUAgQHmNE+ER0JCMi42jSFC2dc93PhdcUEeesxIfu1iIKXxFmlbJtJxG3l27yJ\n" +
+            "L4ufum9iQYeZeoGXAr54x6JMY29kl5t9QM018d9sA9bHY+0iVJevM3xgxVe7xApw\n" +
+            "MSKoZH/OmkX8FaEW9b7TqrWfWcAdD8fkXK8lHCDqmUzSiDGJP16YeQA/4dmFO2vr\n" +
+            "ItXY8rTPjXoaolebHxf5WG5Qosxv0mPyklUb+SVSJagv66zl/H2Uk0bLyFFmuNAd\n" +
+            "AgMBAAGjggHOMIIByjB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6\n" +
+            "Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2EzZzNzc2xpY2EuY3J0MCoG\n" +
+            "CCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wHQYDVR0O\n" +
+            "BBYEFFhZXE0P1SMuntLc7JYoHTcD8JKfMB8GA1UdIwQYMBaAFE5J8eR0C5g0Ejrl\n" +
+            "sVV9xJJyta+kMGkGA1UdIARiMGAwRgYMKwYBBAG+WAADZAEBMDYwNAYIKwYBBQUH\n" +
+            "AgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwCAYG\n" +
+            "Z4EMAQICMAwGCisGAQQBvlgBhFgwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny\n" +
+            "bC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2EzZzNzc2xpY2EuY3JsMA4GA1UdDwEB\n" +
+            "/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwLwYDVR0RBCgw\n" +
+            "JoIkcXZzc2xyY2EzZzMtc3NsLXYucXVvdmFkaXNnbG9iYWwuY29tMA0GCSqGSIb3\n" +
+            "DQEBCwUAA4ICAQB6QV56jPZzFbFNnKq4xRglTkZSLDMnyrmquWJr4xUWkWIqhQqC\n" +
+            "s+wAchy39Uuu+Nv99N1AxJhorpdbyIOd7B2NAnUXPeOa1Rm34mh2a/df0gTVrrWJ\n" +
+            "YSUd3Tv7tcGrMXa7kNaP0N3lTITC0F0fu0rLyCH5I28t4zkCXadcWTqHUKIDNS1h\n" +
+            "fwx1Y6Dq4fBhKQGpqBq4ThEpBgJdj5aGCNiYfKO/MTDrLxD1BpIjV88O+54cdtYp\n" +
+            "3K+UDN2lP03PNH4Z/0jF4K43DHpwDM0r6qP4yLqFf3K1NlzGkYgNlMrKUPSlu+M8\n" +
+            "F6R45TWkcHndk3SUxbtGsxhiLG4xJKY7Zm/0vSxNqia+UJ5wL5s+IoiXhj22RrPe\n" +
+            "kcx7u3MxB+KWSrtQd8y624J6tqbE7R+aaAX95KTQZoawjypX99P8Kir/NynFHYri\n" +
+            "RAX9qFU8nYQEAe47oxl0bIr7URiQrlz+FJ/bzJZQwROWY723JPXgv7wUMifCYvJz\n" +
+            "4pLkuc4KE+LIEqk5LUuoYGEhKhKVu8YnmDifPPrBBADNvAnnGfDZF9FRvIcD6h8H\n" +
+            "icZBXJHOgu70Rh8Zc77x+v29tKlAJVtswLlV0mVClDUk7U36XL+mAvYntnG9kH5x\n" +
+            "qQ2Fl7AkUewOd4tLeiN4fl+S+ceW9sOZPSWx5aLui9p2mmxuyxhC5egCzg==\n" +
+            "-----END CERTIFICATE-----";
 
-    // Owner: CN=qvica3g3-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
+    // Owner: CN=qvsslrca3g3-ssl-r.quovadisglobal.com, O=QuoVadis Limited, L=Hamilton,
     // ST=Pembroke, C=BM
-    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n"
-            + "MIIF9DCCA9ygAwIBAgIUSTXTLsMPxg4n9YY6GASBcJsgcaEwDQYJKoZIhvcNAQEL\n"
-            + "BQAwSzELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxITAf\n"
-            + "BgNVBAMTGFF1b1ZhZGlzIElzc3VpbmcgQ0EgMyBHMzAeFw0xMjExMTQxMzQ4MTda\n"
-            + "Fw0xNDExMTQxMzQ4MTdaMHYxCzAJBgNVBAYTAkJNMREwDwYDVQQIEwhQZW1icm9r\n"
-            + "ZTERMA8GA1UEBxMISGFtaWx0b24xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQx\n"
-            + "JjAkBgNVBAMTHXF2aWNhM2czLXIucXVvdmFkaXNnbG9iYWwuY29tMIIBIjANBgkq\n"
-            + "hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtaZUVAvasDtoFhZqL2fH+rI/IKeY0zj7\n"
-            + "hGuYpLlT32JZX8cmkWUywZt6VxA8A5o82Ay0xT9vHy4MPnmmZExEvmkaECBmOh6+\n"
-            + "WzWydYGKeeheUERJ1hLj2T7MKz/CCFY6NxD9XzvYOyhDpCUQKCOx4LMn0nMFrXrS\n"
-            + "6IVirDUmH26dpl3IfsdVXyn6N3wLSNf+UX7in/PXsfD/A6RVtqYsfx4fxFJIPIhv\n"
-            + "XG/cDOVIyfq6Oo1hthzGm8cnOSjvK/UfQV5iVBK68rqoGG+r9uBG9BfZtd7o0wrf\n"
-            + "SSJkJAPJVpWTLvnD8RYpJIBz01vNgEOCEgF54bvjhBOjx15mrH7roQIDAQABo4IB\n"
-            + "ozCCAZ8wdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUFBzABhh5odHRwOi8vb2NzcC5x\n"
-            + "dW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6Ly90cnVzdC5xdW92\n"
-            + "YWRpc2dsb2JhbC5jb20vcXZpY2EzZzMuY3J0MCgGA1UdEQQhMB+CHXF2aWNhM2cz\n"
-            + "LXIucXVvdmFkaXNnbG9iYWwuY29tMFEGA1UdIARKMEgwRgYMKwYBBAG+WAACZAEB\n"
-            + "MDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3Jl\n"
-            + "cG9zaXRvcnkwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr\n"
-            + "BgEFBQcDAjAfBgNVHSMEGDAWgBQT8kH0jTlERwWd+6vGWjUMHpbvXjA7BgNVHR8E\n"
-            + "NDAyMDCgLqAshipodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmljYTNn\n"
-            + "My5jcmwwHQYDVR0OBBYEFLnaKDrPemoRtOZaUReSV5rWp3OoMA0GCSqGSIb3DQEB\n"
-            + "CwUAA4ICAQA+B+R1TDmE4jC6itHBMPgqRoETJxtTdKyp6/egk5My4MATXRCSrStA\n"
-            + "gp1c86hljmlN2gq05HKlAz9cC4W80pypJGfEbhYIi9B4Jxdo6zJNJqcFz3zj/otx\n"
-            + "hvZ2nOO5qqEupAP8aHju0LhUlkcFQlbqaA+IiuQUh0VFQxk8LwkKEA8oIib7wLie\n"
-            + "P1zBMXeRyDM5CnFWQmIFKXR4+9f51Dfv40Gy2RKQT7I8oXuADhrG9iXFJPXz4yYK\n"
-            + "LazlDjnn0wv4vB9BmlcVdM2HPYqIPdvWBtPxT9vpNYHnB9Dq/zGqKJNUh8I4jB9k\n"
-            + "8iQYJgoj62mQW2o1fObkVwrGgglAyzUzUzJfJyy9OEECjLY5o/9TJAKBAnewJ5B9\n"
-            + "PagYo+klH937s2MOLqzl/uvbjXUBBvql1UU/lb8tSK9xCaXMEDhgiVricr13k32y\n"
-            + "XmUcA/im96CI5cF5i4xHMnqprzPehFB/Mmi6g2tpiE0bmLkYj7MMJcmtUowa3FqA\n"
-            + "QHtqKrK8wOfHep6qPx6VMD6Ypaf6yq66/kkSg05i6VO7V371UTibHeVLTr7LPRQJ\n"
-            + "Emp8k/6qCXOtf5OdXwHBIDqvszf8ry85Rl3q813TntF0pPRvqLEYadC4Bwq7Snf+\n"
-            + "PR0MPNhuwZBCmxZcyZqhVG2PyvvEmhPxhEdbO5DWUFwUP17WHNlgeQ==\n"
-            + "-----END CERTIFICATE-----";
+    private static final String REVOKED = "-----BEGIN CERTIFICATE-----\n" +
+            "MIIGJzCCBA+gAwIBAgIUTgJvLquqZ+Padg/W5Y0bTu9jimswDQYJKoZIhvcNAQEL\n" +
+            "BQAwTDELMAkGA1UEBhMCQk0xGTAXBgNVBAoMEFF1b1ZhZGlzIExpbWl0ZWQxIjAg\n" +
+            "BgNVBAMMGVF1b1ZhZGlzIFFWUkNBM0czIFNTTCBJQ0EwHhcNMTcwNTAyMTY1ODQy\n" +
+            "WhcNMjAwNTAyMTcwODAwWjB9MQswCQYDVQQGEwJCTTERMA8GA1UECAwIUGVtYnJv\n" +
+            "a2UxETAPBgNVBAcMCEhhbWlsdG9uMRkwFwYDVQQKDBBRdW9WYWRpcyBMaW1pdGVk\n" +
+            "MS0wKwYDVQQDDCRxdnNzbHJjYTNnMy1zc2wtci5xdW92YWRpc2dsb2JhbC5jb20w\n" +
+            "ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCOdbnnY8GsO002xJ6Snu2W\n" +
+            "snpPmW9ZJ4cEKzdBA4fYKP2V/8ibbOZVH5gI4tSSW+mcMrepS9Jw49sZaKOOGf/7\n" +
+            "YsjFOp4DQ0+w/7FOj4WrKWBhymDGKI8SsDqoCkxjCYkAc7cutm5Ge67Yto2mvkzW\n" +
+            "vThV7o9pJ4z2kMg+Q527908zvP1eqT2g+72X1L3o3RSdGM5V35R+lGiBDum8ojZm\n" +
+            "+QGCGuc6zROgumfYrh11iTNhXJw6KVAS9KJ5GSHzmua/Cu1dwC2SPxp/hRRHlvPp\n" +
+            "07EjY2oGhfe6Hvsu9YuoQCm95H4HPTmTDUCKURRIGcC8jdrjXBowEuH15vUocSIJ\n" +
+            "AgMBAAGjggHOMIIByjB6BggrBgEFBQcBAQRuMGwwPgYIKwYBBQUHMAKGMmh0dHA6\n" +
+            "Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2EzZzNzc2xpY2EuY3J0MCoG\n" +
+            "CCsGAQUFBzABhh5odHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wHQYDVR0O\n" +
+            "BBYEFLzYzgqJRXrnLc5OYHF/koTdbIzeMB8GA1UdIwQYMBaAFE5J8eR0C5g0Ejrl\n" +
+            "sVV9xJJyta+kMGkGA1UdIARiMGAwRgYMKwYBBAG+WAADZAEBMDYwNAYIKwYBBQUH\n" +
+            "AgEWKGh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL3JlcG9zaXRvcnkwCAYG\n" +
+            "Z4EMAQICMAwGCisGAQQBvlgBhFgwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2Ny\n" +
+            "bC5xdW92YWRpc2dsb2JhbC5jb20vcXZyY2EzZzNzc2xpY2EuY3JsMA4GA1UdDwEB\n" +
+            "/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwLwYDVR0RBCgw\n" +
+            "JoIkcXZzc2xyY2EzZzMtc3NsLXIucXVvdmFkaXNnbG9iYWwuY29tMA0GCSqGSIb3\n" +
+            "DQEBCwUAA4ICAQAge+6VZgaEFxN38q0MYKs/QbdGowLd5n2CfQfpdOTRnpOtKQw6\n" +
+            "Bc/o1O8O/y0XUl1Be7TCgfXKWgw+rKX+ZrI6wCm7MxYlWXV2guWU/AeEl2uv14s/\n" +
+            "KnKhzZHfb0eQyItfk23flubc7pbh99LaVqozsLCTL78lOB7N7ZQwsNCrEghHWMxl\n" +
+            "w1/IX/h9XOJoBzu4ulebJoQ3hdIYJY7+lkw64uH1FNrCu7P/jjU9ZlPaobZOUy64\n" +
+            "sYIt4GsZbMFaUiamNzBUvULw+ZkZq0hTK0cuyA85MXd+3rm5z2AMemC/29XTUYRU\n" +
+            "L9LkxMF71w8BJzgpVx3s0a6dfi6XtgacP407IhMc3EW1McsSWdT6jL0zidbjXisU\n" +
+            "vfvuzA50b3HwYz8PsRN0Zfi2R1BubaZQ9fQW2fe1EWgq80CqOdO7eNZeaBxbW/qB\n" +
+            "smGA1wiHIVEtyHbwZslcKNy8VPKurfKClwZQxf17/oK6QrhOgxiKJGYBUDTa7Ln7\n" +
+            "Qslp/y3G721NOXzborchs8XB+BYEETtWWkKoWFDiV7vkfyn3x2cYNiv5JCWDszhZ\n" +
+            "RyVrW26YOQ3MqBAiYqgbU2jMdqeRRfMIFqUvvXwoTvYXuN4Yc2ZAOmCBPpUxo66V\n" +
+            "zHDu+QK/2/pI1SMLvU3KG526gUtDd67t8JUHqxyo3NsXUCD8tUYpaJy/vg==\n" +
+            "-----END CERTIFICATE-----";
 
-    public void runTest(ValidatePathWithParams pathValidator, boolean ocspEnabled)
+    public void runTest(ValidatePathWithParams pathValidator)
             throws Exception {
         // Validate valid
         pathValidator.validate(new String[]{VALID, INT},
                 ValidatePathWithParams.Status.GOOD, null, System.out);
 
         // Validate Revoked
-        if (ocspEnabled) {
-            // Revoked certificates are expired in Nov 2014
-            // and backdated revocation check is only possible with OCSP
-            pathValidator.setValidationDate("Jan 01, 2014");
-        }
-
         pathValidator.validate(new String[]{REVOKED, INT},
                 ValidatePathWithParams.Status.REVOKED,
-                "Thu Jan 03 23:47:02 PST 2013", System.out);
-
-        // reset validation date back to current date
-        pathValidator.resetValidationDate();
+                "Tue May 02 10:15:53 PDT 2017", System.out);
     }
 }
--- a/test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/sun/security/provider/SecureRandom/DrbgCavp.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -46,8 +46,9 @@
 import static java.security.DrbgParameters.Capability.*;
 
 /**
- * The Known-output DRBG test. The test vector can be obtained from
- * http://csrc.nist.gov/groups/STM/cavp/documents/drbg/drbgtestvectors.zip.
+ * The Known-output DRBG test. The test vector can be downloaded from
+ * https://csrc.nist.gov/CSRC/media/Projects/Cryptographic-Algorithm-Validation-Program/documents/drbg/drbgtestvectors.zip.
+ * The test is described on https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/Random-Number-Generators.
  *
  * Manually run this test with
  *
--- a/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedCipherSuites.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/jdk/sun/security/ssl/SSLContextImpl/CustomizedCipherSuites.java	Thu Nov 01 09:01:15 2018 -0400
@@ -74,6 +74,7 @@
  *      TLS_ECDH_anon_WITH_AES_128_CBC_SHA
  */
 
+import java.security.Security;
 import javax.net.ssl.*;
 
 /**
@@ -90,14 +91,18 @@
     private static boolean isClientMode;
 
     private static String enabledCipherSuite;
-    private static String disabledCipherSuite;
+    private static String notEnabledCipherSuite;
 
     public static void main(String[] args) throws Exception {
 
+        // reset the security property to make sure the cipher suites
+        // used in this test are not disabled
+        Security.setProperty("jdk.tls.disabledAlgorithms", "");
+
         contextProtocol = trimQuotes(args[0]);
         isClientMode = Boolean.parseBoolean(args[1]);
         enabledCipherSuite = trimQuotes(args[2]);
-        disabledCipherSuite = trimQuotes(args[3]);
+        notEnabledCipherSuite = trimQuotes(args[3]);
 
         //
         // Create instance of SSLContext with the specified protocol.
@@ -206,8 +211,8 @@
                 isMatch = true;
             }
 
-            if (!disabledCipherSuite.isEmpty() &&
-                        cipher.equals(disabledCipherSuite)) {
+            if (!notEnabledCipherSuite.isEmpty() &&
+                        cipher.equals(notEnabledCipherSuite)) {
                 isBroken = true;
             }
         }
@@ -219,7 +224,7 @@
 
         if (isBroken) {
             throw new Exception(
-                "Cipher suite " + disabledCipherSuite + " should be disabled");
+                "Cipher suite " + notEnabledCipherSuite + " should not be enabled");
         }
     }
 
@@ -231,7 +236,7 @@
         }
 
         boolean hasEnabledCipherSuite = enabledCipherSuite.isEmpty();
-        boolean hasDisabledCipherSuite = disabledCipherSuite.isEmpty();
+        boolean hasNotEnabledCipherSuite = notEnabledCipherSuite.isEmpty();
         for (String cipher : ciphers) {
             System.out.println("\tsupported cipher suite " + cipher);
             if (!enabledCipherSuite.isEmpty() &&
@@ -239,9 +244,9 @@
                 hasEnabledCipherSuite = true;
             }
 
-            if (!disabledCipherSuite.isEmpty() &&
-                        cipher.equals(disabledCipherSuite)) {
-                hasDisabledCipherSuite = true;
+            if (!notEnabledCipherSuite.isEmpty() &&
+                        cipher.equals(notEnabledCipherSuite)) {
+                hasNotEnabledCipherSuite = true;
             }
         }
 
@@ -250,9 +255,9 @@
                 "Cipher suite " + enabledCipherSuite + " should be supported");
         }
 
-        if (!hasDisabledCipherSuite) {
+        if (!hasNotEnabledCipherSuite) {
             throw new Exception(
-                "Cipher suite " + disabledCipherSuite + " should be supported");
+                "Cipher suite " + notEnabledCipherSuite + " should not be enabled");
         }
     }
 
--- a/test/langtools/ProblemList.txt	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/ProblemList.txt	Thu Nov 01 09:01:15 2018 -0400
@@ -56,11 +56,6 @@
 tools/javac/modules/SourceInSymlinkTest.java                                    8180263    windows-all    fails when run on a subst drive
 tools/javac/importscope/T8193717.java                                           8203925    generic-all    the test requires too much memory
 
-
-tools/javac/options/smokeTests/OptionSmokeTest.java                             8205493    generic-all    hard-coded release values in strings
-
-tools/javac/file/zip/8003512/LoadClassFromJava6CreatedJarTest.java              8206874    generic-all    test requires a JDK 6 environment to be useful
-
 ###########################################################################
 #
 # javap
--- a/test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out	Thu Nov 01 09:01:15 2018 -0400
@@ -26,5 +26,5 @@
              @throws: ........ ...... ....... .... constructor method ..... ...... ........
      @treatAsPrivate: ........ ...... ....... type ........... method field ...... ........
                @uses: ........ module ....... .... ........... ...... ..... ...... ........
-            {@value}: overview ...... package type constructor method field inline ........
+            {@value}: overview module package type constructor method field inline ........
             @version: overview module package type ........... ...... ..... ...... disabled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8210244
+ * @summary {@value} should be permitted in module documentation
+ * @library /tools/lib ../lib
+ * @modules jdk.javadoc/jdk.javadoc.internal.tool
+ * @build JavadocTester
+ * @run main TestValueTagInModule
+ */
+
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import toolbox.ModuleBuilder;
+import toolbox.ToolBox;
+
+public class TestValueTagInModule extends JavadocTester {
+
+    final ToolBox tb;
+
+    public static void main(String... args) throws Exception {
+        TestValueTagInModule tester = new TestValueTagInModule();
+        tester.runTests(m -> new Object[]{Paths.get(m.getName())});
+    }
+
+    TestValueTagInModule() {
+        tb = new ToolBox();
+    }
+
+    @Test
+    void test(Path base) throws Exception {
+        Path srcDir = base.resolve("src");
+        createTestClass(srcDir);
+
+        Path outDir = base.resolve("out");
+        javadoc("-d", outDir.toString(),
+                "--module-source-path", srcDir.toString(),
+                "--module", "m1");
+
+        checkExit(Exit.OK);
+
+        checkOutput("m1/module-summary.html", true,
+                "<a id=\"module.description\">\n"
+                + "<!--   -->\n"
+                + "</a>\n"
+                + "<div class=\"block\">value of field CONS : <a href=\"pkg/A.html#CONS\">100</a></div>");
+    }
+
+    void createTestClass(Path srcDir) throws Exception {
+        new ModuleBuilder(tb, "m1")
+                .comment("value of field CONS : {@value pkg.A#CONS}")
+                .exports("pkg")
+                .classes("package pkg; public class A{ public static final int CONS = 100;}")
+                .write(srcDir);
+    }
+}
--- a/test/langtools/jdk/jshell/EditorTestBase.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/jshell/EditorTestBase.java	Thu Nov 01 09:01:15 2018 -0400
@@ -125,6 +125,24 @@
         );
     }
 
+    @Test
+    public void testWriteVariables() {
+        testEditor(
+                a -> assertEditOutput(a, "/edit",
+                                "x ==> 1\n" +
+                                "y ==> 2\n" +
+                                "z ==> 3",
+                        () -> {
+                            writeSource(
+                                            "var x = 1;\n" +
+                                            "var y = 2;\n" +
+                                            "var z = 3;\n");
+                            exit();
+                        }),
+                a -> assertCommand(a, "z", "z ==> 3")
+        );
+    }
+
     public void testEditClass1() {
         testEditor(
                 a -> assertClass(a, "class A {}", "class", "A"),
--- a/test/langtools/jdk/jshell/ExternalEditorTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/jshell/ExternalEditorTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -24,7 +24,7 @@
 /*
  * @test
  * @summary Testing external editor.
- * @bug 8143955 8080843 8163816 8143006 8169828 8171130 8162989
+ * @bug 8143955 8080843 8163816 8143006 8169828 8171130 8162989 8210808
  * @modules jdk.jshell/jdk.internal.jshell.tool
  * @build ReplToolTesting CustomEditor EditorTestBase
  * @run testng ExternalEditorTest
--- a/test/langtools/jdk/jshell/SnippetTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/jshell/SnippetTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -73,7 +73,7 @@
     }
 
     public void testVarDeclarationKey() {
-        assertVarKeyMatch("int a;", false, "a", VAR_DECLARATION_SUBKIND, "int", added(VALID));
+        assertVarKeyMatch("int a;", true, "a", VAR_DECLARATION_SUBKIND, "int", added(VALID));
     }
 
     public void testVarDeclarationWithInitializerKey() {
--- a/test/langtools/jdk/jshell/ToolBasicTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/jshell/ToolBasicTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8143037 8142447 8144095 8140265 8144906 8146138 8147887 8147886 8148316 8148317 8143955 8157953 8080347 8154714 8166649 8167643 8170162 8172102 8165405 8174796 8174797 8175304 8167554 8180508 8166232 8196133 8199912
+ * @bug 8143037 8142447 8144095 8140265 8144906 8146138 8147887 8147886 8148316 8148317 8143955 8157953 8080347 8154714 8166649 8167643 8170162 8172102 8165405 8174796 8174797 8175304 8167554 8180508 8166232 8196133 8199912 8211694
  * @summary Tests for Basic tests for REPL tool
  * @modules jdk.compiler/com.sun.tools.javac.api
  *          jdk.compiler/com.sun.tools.javac.main
@@ -833,8 +833,8 @@
                 a -> assertCommandOutputStartsWith(a, "import jdk.internal.misc.VM;", "|  Error:")
         );
         test(false, new String[]{"--no-startup",
-            "-R--add-exports", "-Rjava.base/jdk.internal.misc=ALL-UNNAMED",
-            "-C--add-exports", "-Cjava.base/jdk.internal.misc=ALL-UNNAMED"},
+                        "-R--add-exports", "-Rjava.base/jdk.internal.misc=ALL-UNNAMED",
+                        "-C--add-exports", "-Cjava.base/jdk.internal.misc=ALL-UNNAMED"},
                 a -> assertImport(a, "import jdk.internal.misc.VM;", "", "jdk.internal.misc.VM"),
                 a -> assertCommand(a, "System.err.println(VM.isBooted())", "", "", null, "", "true\n")
         );
@@ -844,4 +844,15 @@
         );
     }
 
+    public void testRedeclareVariableNoInit() {
+        test(
+                a -> assertCommand(a, "Integer a;", "a ==> null"),
+                a -> assertCommand(a, "a instanceof Integer;", "$2 ==> false"),
+                a -> assertCommand(a, "a = 1;", "a ==> 1"),
+                a -> assertCommand(a, "Integer a;", "a ==> null"),
+                a -> assertCommand(a, "a instanceof Integer;", "$5 ==> false"),
+                a -> assertCommand(a, "a", "a ==> null")
+        );
+     }
+
 }
--- a/test/langtools/jdk/jshell/VariablesTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/jdk/jshell/VariablesTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8144903 8177466 8191842
+ * @bug 8144903 8177466 8191842 8211694
  * @summary Tests for EvaluationState.variables
  * @library /tools/lib
  * @modules jdk.compiler/com.sun.tools.javac.api
@@ -466,6 +466,54 @@
         assertVarDisplayName("var v6 = new Runnable() { public void run() { } };", "<anonymous class implementing Runnable>");
     }
 
+    public void varDeclNoInit() {
+        assertVarDeclNoInit("byte", "b",  "0");
+        assertVarDeclNoInit("short", "h",  "0");
+        assertVarDeclNoInit("int", "i",  "0");
+        assertVarDeclNoInit("long", "l",  "0");
+        assertVarDeclNoInit("float", "f",  "0.0");
+        assertVarDeclNoInit("double", "d",  "0.0");
+        assertVarDeclNoInit("boolean", "n",  "false");
+        assertVarDeclNoInit("char", "c",  "'\\000'");
+        assertVarDeclNoInit("Object", "o",  "null");
+        assertVarDeclNoInit("String", "s", "null");
+    }
+
+    public void varDeclRedefNoInit() {
+        assertVarDeclRedefNoInit("byte", "b", "1", "0");
+        assertVarDeclRedefNoInit("short", "h", "2", "0");
+        assertVarDeclRedefNoInit("int", "i", "3", "0");
+        assertVarDeclRedefNoInit("long", "l", "4L", IGNORE_VALUE, "0");
+        assertVarDeclRedefNoInit("float", "f", "3.14f", IGNORE_VALUE, "0.0");
+        assertVarDeclRedefNoInit("double", "d", "3.1415926", "0.0");
+        assertVarDeclRedefNoInit("boolean", "n", "true", "false");
+        assertVarDeclRedefNoInit("char", "c", "'x'", "'\\000'");
+        assertVarDeclRedefNoInit("Object", "o", "new Object()", IGNORE_VALUE, "null");
+        assertVarDeclRedefNoInit("String", "s", "\"hi\"", "null");
+    }
+
+    private void assertVarDeclRedefNoInit(String typeName, String name, String value, String dvalue) {
+        assertVarDeclRedefNoInit(typeName, name, value, value, dvalue);
+    }
+
+    private void assertVarDeclRedefNoInit(String typeName, String name, String value, String rvalue, String dvalue) {
+        VarSnippet vs = varKey(assertEval(typeName + " " + name + " = " + value + ";", rvalue));
+        assertVarDeclNoInit(typeName,  name, dvalue,
+                ste(vs, VALID, VALID, false, null),
+                ste(vs, VALID, OVERWRITTEN, false, MAIN_SNIPPET));
+    }
+
+    private VarSnippet assertVarDeclNoInit(String typeName, String name, String dvalue) {
+        return assertVarDeclNoInit(typeName, name, dvalue, added(VALID));
+    }
+
+    private VarSnippet assertVarDeclNoInit(String typeName, String name, String dvalue, STEInfo mainInfo, STEInfo... updates) {
+        VarSnippet vs = varKey(assertEval(typeName + " " + name + ";", dvalue, mainInfo, updates));
+        assertEquals(vs.typeName(), typeName);
+        assertEval(name, dvalue, added(VALID));
+        return vs;
+    }
+
     private void assertVarDisplayName(String var, String typeName) {
         assertEquals(varKey(assertEval(var)).typeName(), typeName);
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnonymousClassTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -0,0 +1,271 @@
+/*
+ * Copyright (c) 2018 Google LLC. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8198945 8207018
+ * @summary Invalid RuntimeVisibleTypeAnnotations for annotation on anonymous class type parameter
+ * @library /tools/lib
+ * @modules jdk.compiler/com.sun.tools.javac.api
+ *          jdk.compiler/com.sun.tools.javac.main
+ *          jdk.jdeps/com.sun.tools.classfile
+ *          jdk.jdeps/com.sun.tools.javap
+ * @build toolbox.ToolBox toolbox.JavapTask
+ * @run compile -g AnonymousClassTest.java
+ * @run main AnonymousClassTest
+ */
+
+import static java.util.stream.Collectors.toSet;
+
+import com.sun.tools.classfile.Annotation;
+import com.sun.tools.classfile.Annotation.Annotation_element_value;
+import com.sun.tools.classfile.Annotation.Array_element_value;
+import com.sun.tools.classfile.Annotation.Class_element_value;
+import com.sun.tools.classfile.Annotation.Enum_element_value;
+import com.sun.tools.classfile.Annotation.Primitive_element_value;
+import com.sun.tools.classfile.Annotation.element_value;
+import com.sun.tools.classfile.Annotation.element_value.Visitor;
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.Code_attribute;
+import com.sun.tools.classfile.ConstantPool.CONSTANT_Integer_info;
+import com.sun.tools.classfile.ConstantPool.InvalidIndex;
+import com.sun.tools.classfile.ConstantPoolException;
+import com.sun.tools.classfile.Method;
+import com.sun.tools.classfile.RuntimeVisibleTypeAnnotations_attribute;
+import com.sun.tools.classfile.TypeAnnotation;
+import com.sun.tools.classfile.TypeAnnotation.Position;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import toolbox.ToolBox;
+
+public class AnonymousClassTest {
+
+    @Retention(RetentionPolicy.RUNTIME)
+    @Target(ElementType.TYPE_USE)
+    public @interface TA {
+        int value() default 0;
+    }
+
+    private void f() {
+        new @TA(0) Callable<@TA(1) Object>() {
+            public Object call() {
+                return null;
+            }
+        };
+    }
+
+    class Inner {
+        private void g() {
+            // The annotation is propagated from the top-level class Object to NEW expression for
+            // the anonymous class' synthetic class declaration, which is an inner class of an inner
+            // class.
+            new @TA(2) Object() {};
+        }
+    }
+
+    private void g() {
+        new @TA(3) AnonymousClassTest.@TA(4) Inner() {};
+    }
+
+    public static void main(String args[]) throws Exception {
+        testAnonymousClassDeclaration();
+        testTopLevelMethod();
+        testInnerClassMethod();
+        testQualifiedSuperType();
+    }
+
+    static void testAnonymousClassDeclaration() throws Exception {
+        ClassFile cf = ClassFile.read(Paths.get(ToolBox.testClasses, "AnonymousClassTest$1.class"));
+        RuntimeVisibleTypeAnnotations_attribute rvta =
+                (RuntimeVisibleTypeAnnotations_attribute)
+                        cf.attributes.get(Attribute.RuntimeVisibleTypeAnnotations);
+        assertEquals(
+                Set.of(
+                        "@LAnonymousClassTest$TA;(1) CLASS_EXTENDS, offset=-1, location=[TYPE_ARGUMENT(0)]",
+                        "@LAnonymousClassTest$TA;(0) CLASS_EXTENDS, offset=-1, location=[]"),
+                Arrays.stream(rvta.annotations)
+                        .map(a -> annotationDebugString(cf, a))
+                        .collect(toSet()));
+    }
+
+    static void testTopLevelMethod() throws Exception {
+        ClassFile cf = ClassFile.read(Paths.get(ToolBox.testClasses, "AnonymousClassTest.class"));
+        Method method = findMethod(cf, "f");
+        Set<TypeAnnotation> annotations = getRuntimeVisibleTypeAnnotations(method);
+        assertEquals(
+                Set.of("@LAnonymousClassTest$TA;(0) NEW, offset=0, location=[INNER_TYPE]"),
+                annotations.stream().map(a -> annotationDebugString(cf, a)).collect(toSet()));
+    }
+
+    static void testInnerClassMethod() throws Exception {
+        ClassFile cf =
+                ClassFile.read(Paths.get(ToolBox.testClasses, "AnonymousClassTest$Inner.class"));
+        Method method = findMethod(cf, "g");
+        Set<TypeAnnotation> annotations = getRuntimeVisibleTypeAnnotations(method);
+        // The annotation needs two INNER_TYPE type path entries to apply to
+        // AnonymousClassTest$Inner$1.
+        assertEquals(
+                Set.of(
+                        "@LAnonymousClassTest$TA;(2) NEW, offset=0, location=[INNER_TYPE, INNER_TYPE]"),
+                annotations.stream().map(a -> annotationDebugString(cf, a)).collect(toSet()));
+    }
+
+    static void testQualifiedSuperType() throws Exception {
+        {
+            ClassFile cf =
+                    ClassFile.read(Paths.get(ToolBox.testClasses, "AnonymousClassTest.class"));
+            Method method = findMethod(cf, "g");
+            Set<TypeAnnotation> annotations = getRuntimeVisibleTypeAnnotations(method);
+            // Only @TA(4) is propagated to the anonymous class declaration.
+            assertEquals(
+                    Set.of("@LAnonymousClassTest$TA;(4) NEW, offset=0, location=[INNER_TYPE]"),
+                    annotations.stream().map(a -> annotationDebugString(cf, a)).collect(toSet()));
+        }
+
+        {
+            ClassFile cf =
+                    ClassFile.read(Paths.get(ToolBox.testClasses, "AnonymousClassTest$2.class"));
+            RuntimeVisibleTypeAnnotations_attribute rvta =
+                    (RuntimeVisibleTypeAnnotations_attribute)
+                            cf.attributes.get(Attribute.RuntimeVisibleTypeAnnotations);
+            assertEquals(
+                    Set.of(
+                            "@LAnonymousClassTest$TA;(3) CLASS_EXTENDS, offset=-1, location=[]",
+                            "@LAnonymousClassTest$TA;(4) CLASS_EXTENDS, offset=-1, location=[INNER_TYPE]"),
+                    Arrays.stream(rvta.annotations)
+                            .map(a -> annotationDebugString(cf, a))
+                            .collect(toSet()));
+        }
+    }
+
+    // Returns the Method's RuntimeVisibleTypeAnnotations, and asserts that there are no RVTIs
+    // erroneously associated with the Method instead of its Code attribute.
+    private static Set<TypeAnnotation> getRuntimeVisibleTypeAnnotations(Method method) {
+        if (method.attributes.get(Attribute.RuntimeVisibleTypeAnnotations) != null) {
+            throw new AssertionError(
+                    "expected no RuntimeVisibleTypeAnnotations attribute on enclosing method");
+        }
+        Code_attribute code = (Code_attribute) method.attributes.get(Attribute.Code);
+        RuntimeVisibleTypeAnnotations_attribute rvta =
+                (RuntimeVisibleTypeAnnotations_attribute)
+                        code.attributes.get(Attribute.RuntimeVisibleTypeAnnotations);
+        return Set.of(rvta.annotations);
+    }
+
+    private static Method findMethod(ClassFile cf, String name) {
+        return Arrays.stream(cf.methods)
+                .filter(
+                        m -> {
+                            try {
+                                return m.getName(cf.constant_pool).contentEquals(name);
+                            } catch (ConstantPoolException e) {
+                                throw new AssertionError(e);
+                            }
+                        })
+                .findFirst()
+                .get();
+    }
+
+    private static void assertEquals(Object expected, Object actual) {
+        if (!actual.equals(expected)) {
+            throw new AssertionError(String.format("expected: %s, saw: %s", expected, actual));
+        }
+    }
+
+    private static String annotationDebugString(ClassFile cf, TypeAnnotation annotation) {
+        Position pos = annotation.position;
+        String name;
+        try {
+            name = cf.constant_pool.getUTF8Info(annotation.annotation.type_index).value;
+        } catch (Exception e) {
+            throw new AssertionError(e);
+        }
+        return String.format(
+                "@%s(%s) %s, offset=%d, location=%s",
+                name,
+                annotationValueoDebugString(cf, annotation.annotation),
+                pos.type,
+                pos.offset,
+                pos.location);
+    }
+
+    private static String annotationValueoDebugString(ClassFile cf, Annotation annotation) {
+        if (annotation.element_value_pairs.length != 1) {
+            throw new UnsupportedOperationException();
+        }
+        try {
+            return elementValueDebugString(cf, annotation.element_value_pairs[0].value);
+        } catch (Exception e) {
+            throw new AssertionError(e);
+        }
+    }
+
+    private static String elementValueDebugString(ClassFile cf, element_value value) {
+        class Viz implements Visitor<String, Void> {
+            @Override
+            public String visitPrimitive(Primitive_element_value ev, Void aVoid) {
+                try {
+                    switch (ev.tag) {
+                        case 'I':
+                            return Integer.toString(
+                                    ((CONSTANT_Integer_info)
+                                                    cf.constant_pool.get(ev.const_value_index))
+                                            .value);
+                        default:
+                            throw new UnsupportedOperationException(String.format("%c", ev.tag));
+                    }
+                } catch (InvalidIndex e) {
+                    throw new AssertionError(e);
+                }
+            }
+
+            @Override
+            public String visitEnum(Enum_element_value ev, Void aVoid) {
+                throw new UnsupportedOperationException();
+            }
+
+            @Override
+            public String visitClass(Class_element_value ev, Void aVoid) {
+                throw new UnsupportedOperationException();
+            }
+
+            @Override
+            public String visitAnnotation(Annotation_element_value ev, Void aVoid) {
+                throw new UnsupportedOperationException();
+            }
+
+            @Override
+            public String visitArray(Array_element_value ev, Void aVoid) {
+                throw new UnsupportedOperationException();
+            }
+        }
+        return value.accept(new Viz(), null);
+    }
+}
--- a/test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java	Thu Nov 01 09:01:15 2018 -0400
@@ -32,9 +32,11 @@
  *          jdk.compiler/com.sun.tools.javac.util
  *          jdk.jdeps/com.sun.tools.javap
  * @build toolbox.ToolBox toolbox.JavacTask toolbox.TestRunner
- * @run main OptionSmokeTest
+ * @run main/othervm OptionSmokeTest
  */
 
+import java.util.Locale;
+
 import java.nio.file.Path;
 import java.nio.file.Paths;
 
@@ -51,6 +53,7 @@
 
     public OptionSmokeTest() {
         super(System.err);
+        Locale.setDefault(Locale.US);
     }
 
     protected void runTests() throws Exception {
@@ -117,7 +120,7 @@
 
     @Test
     public void requiresArg(Path base) throws Exception {
-        doTestNoSource(base, "error: -target requires an argument", "-target");
+        doTestNoSource(base, "error: --target requires an argument", "-target");
     }
 
     @Test
@@ -209,7 +212,7 @@
 
     @Test
     public void optionCantBeUsedWithRelease(Path base) throws Exception {
-        doTestNoSource(base, "error: option -source cannot be used together with --release",
+        doTestNoSource(base, "error: option --source cannot be used together with --release",
                 String.format("--release %s -source %s", Source.DEFAULT.name, Source.DEFAULT.name));
     }
 
@@ -232,9 +235,9 @@
                 String.format("--release %s -endorseddirs any", Source.DEFAULT.name));
         doTestNoSource(base, "error: option -extdirs cannot be used together with --release",
                 String.format("--release %s -extdirs any", Source.DEFAULT.name));
-        doTestNoSource(base, "error: option -source cannot be used together with --release",
+        doTestNoSource(base, "error: option --source cannot be used together with --release",
                 String.format("--release %s -source %s", Source.MIN.name, Source.DEFAULT.name));
-        doTestNoSource(base, "error: option -target cannot be used together with --release",
+        doTestNoSource(base, "error: option --target cannot be used together with --release",
                 String.format("--release %s -target %s", Source.MIN.name, Source.DEFAULT.name));
         doTestNoSource(base, "error: option --system cannot be used together with --release",
                 String.format("--release %s --system none", Source.DEFAULT.name));
--- a/test/langtools/tools/javac/processing/model/element/TestAnonClassNames.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/tools/javac/processing/model/element/TestAnonClassNames.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -129,22 +129,17 @@
     static void testClassNames(List<String> classNames) {
         System.out.println("test: " + classNames);
 
-        List<String> options = new ArrayList<String>();
-        options.add("-proc:only");
-        options.add("-classpath");
-        options.add(System.getProperty("test.classes"));
-
         JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();
         JavaCompiler.CompilationTask compileTask =
             javaCompiler.getTask(null, // Output
                                  null, // File manager
                                  null, // Diagnostics
-                                 options,
+                                 List.of("-proc:only", // options
+                                         "-classpath",
+                                         System.getProperty("test.classes")),
                                  classNames,
                                  null); // Sources
-        List<Processor> processors = new ArrayList<Processor>();
-        processors.add(new ClassNameProber());
-        compileTask.setProcessors(processors);
+        compileTask.setProcessors(List.of(new ClassNameProber()));
         Boolean goodResult = compileTask.call();
         if (!goodResult) {
             error("Errors found during compile.");
--- a/test/langtools/tools/javac/processing/model/element/TypeParamBounds.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/langtools/tools/javac/processing/model/element/TypeParamBounds.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,16 +84,12 @@
 
         // The names of the bounds of each type parameter of Gen.
         static Map<String, String[]> boundNames =
-                new HashMap<String, String[]>();
-
-        static {
-            boundNames.put("T", new String[] {"Object"});
-            boundNames.put("U", new String[] {"Object"});
-            boundNames.put("V", new String[] {"Number"});
-            boundNames.put("W", new String[] {"U"});
-            boundNames.put("X", new String[] {"Runnable"});
-            boundNames.put("Y", new String[] {"CharSequence", "Runnable"});
-            boundNames.put("Z", new String[] {"Object", "Runnable"});
-        }
+            Map.of("T", new String[] {"Object"},
+                   "U", new String[] {"Object"},
+                   "V", new String[] {"Number"},
+                   "W", new String[] {"U"},
+                   "X", new String[] {"Runnable"},
+                   "Y", new String[] {"CharSequence", "Runnable"},
+                   "Z", new String[] {"Object", "Runnable"});
     }
 }
--- a/test/lib/jdk/test/lib/cds/CDSOptions.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/lib/jdk/test/lib/cds/CDSOptions.java	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
     public String archiveName;
     public ArrayList<String> prefix = new ArrayList<String>();
     public ArrayList<String> suffix = new ArrayList<String>();
+    public boolean useSystemArchive = false;
 
     // Indicate whether to append "-version" when using CDS Archive.
     // Most of tests will use '-version'
@@ -68,4 +69,9 @@
         this.useVersion = use;
         return this;
     }
+
+    public CDSOptions setUseSystemArchive(boolean use) {
+        this.useSystemArchive = use;
+        return this;
+    }
 }
--- a/test/lib/jdk/test/lib/cds/CDSTestUtils.java	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/lib/jdk/test/lib/cds/CDSTestUtils.java	Thu Nov 01 09:01:15 2018 -0400
@@ -82,21 +82,21 @@
      *
      * Instead, the test case should be written as
      *
-     *      CCDSTestUtils.run(args).assertNormalExit("Hi");
+     *      CDSTestUtils.run(args).assertNormalExit("Hi");
      *
      * EXAMPLES/HOWTO
      *
      * 1. For simple substring matching:
      *
-     *      CCDSTestUtils.run(args).assertNormalExit("Hi");
-     *      CCDSTestUtils.run(args).assertNormalExit("a", "b", "x");
-     *      CCDSTestUtils.run(args).assertAbnormalExit("failure 1", "failure2");
+     *      CDSTestUtils.run(args).assertNormalExit("Hi");
+     *      CDSTestUtils.run(args).assertNormalExit("a", "b", "x");
+     *      CDSTestUtils.run(args).assertAbnormalExit("failure 1", "failure2");
      *
      * 2. For more complex output matching: using Lambda expressions
      *
-     *      CCDSTestUtils.run(args)
+     *      CDSTestUtils.run(args)
      *         .assertNormalExit(output -> output.shouldNotContain("this should not be printed");
-     *      CCDSTestUtils.run(args)
+     *      CDSTestUtils.run(args)
      *         .assertAbnormalExit(output -> {
      *             output.shouldNotContain("this should not be printed");
      *             output.shouldHaveExitValue(123);
@@ -104,13 +104,13 @@
      *
      * 3. Chaining several checks:
      *
-     *      CCDSTestUtils.run(args)
+     *      CDSTestUtils.run(args)
      *         .assertNormalExit(output -> output.shouldNotContain("this should not be printed")
      *         .assertNormalExit("should have this", "should have that");
      *
      * 4. [Rare use case] if a test sometimes exit normally, and sometimes abnormally:
      *
-     *      CCDSTestUtils.run(args)
+     *      CDSTestUtils.run(args)
      *         .ifNormalExit("ths string is printed when exiting with 0")
      *         .ifAbNormalExit("ths string is printed when exiting with 1");
      *
@@ -388,9 +388,11 @@
         cmd.add("-Xshare:" + opts.xShareMode);
         cmd.add("-Dtest.timeout.factor=" + TestTimeoutFactor);
 
-        if (opts.archiveName == null)
-            opts.archiveName = getDefaultArchiveName();
-        cmd.add("-XX:SharedArchiveFile=" + opts.archiveName);
+        if (!opts.useSystemArchive) {
+            if (opts.archiveName == null)
+                opts.archiveName = getDefaultArchiveName();
+            cmd.add("-XX:SharedArchiveFile=" + opts.archiveName);
+        }
 
         if (opts.useVersion)
             cmd.add("-version");
--- a/test/make/TestMake.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/make/TestMake.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -36,13 +36,17 @@
 copy-files:
 	+$(MAKE) -f TestCopyFiles.gmk $(TEST_SUBTARGET)
 
-test-idea:
+idea:
 	+$(MAKE) -f TestIdea.gmk $(TEST_SUBTARGET)
 
-test-compile-commands:
+compile-commands:
 	+$(MAKE) -f TestCompileCommands.gmk $(TEST_SUBTARGET)
 
+TARGETS += make-base java-compilation copy-files idea compile-commands
 
-all: make-base java-compilation copy-files test-idea
+all: $(TARGETS)
 
-.PHONY: default all make-base java-compilation copy-files test-idea test-compile-commands
+print-targets:
+	$(ECHO) "$(TARGETS)"
+
+.PHONY: default all $(TARGETS)
--- a/test/make/TestMakeBase.gmk	Thu Nov 01 08:52:50 2018 -0400
+++ b/test/make/TestMakeBase.gmk	Thu Nov 01 09:01:15 2018 -0400
@@ -344,7 +344,7 @@
 KWBASE := APA=banan;GURKA=tomat;COUNT=1%202%203%204%205;SUM=1+2+3+4+5;MANY_WORDS=I have the best words.
 
 $(eval $(call ParseKeywordVariable, KWBASE, \
-    KEYWORDS := APA GURKA SUM, \
+    SINGLE_KEYWORDS := APA GURKA SUM, \
     STRING_KEYWORDS := COUNT MANY_WORDS, \
 ))
 
@@ -377,7 +377,7 @@
 KWBASE_WEIRD := ;;APA=banan;;;GURKA=apelsin;APA=skansen;;
 
 $(eval $(call ParseKeywordVariable, KWBASE_WEIRD, \
-    KEYWORDS := APA GURKA SUM, \
+    SINGLE_KEYWORDS := APA GURKA SUM, \
     STRING_KEYWORDS := COUNT, \
 ))