<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/674c6c47f1d12c3025ca2ddc231d06270f684222">https://github.com/macports/macports-ports/commit/674c6c47f1d12c3025ca2ddc231d06270f684222</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 674c6c47f1d openjdk8: add arm64 support
</span>674c6c47f1d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 674c6c47f1d12c3025ca2ddc231d06270f684222
</span>Author: usersxx <97012123+usersxx@users.noreply.github.com>
AuthorDate: Fri May 5 22:20:56 2023 +0530

<span style='display:block; white-space:pre;color:#404040;'>    openjdk8: add arm64 support
</span>---
 java/openjdk8-bootstrap/Portfile                   |  77 +++--
 java/openjdk8/Portfile                             |  40 ++-
 .../Support-arm64-and-fix-zero-assembler.diff      | 318 +++++++++++++++++++++
 3 files changed, 393 insertions(+), 42 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk8-bootstrap/Portfile b/java/openjdk8-bootstrap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3d3a2e38b23..2bb4bda0478 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk8-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk8-bootstrap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortSystem          1.0
</span> name                openjdk8-bootstrap
 # use format based on macports:
 # https://guide.macports.org/chunked/reference.portgroup.html#reference.portgroup.java
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             1.8.0_201
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          java devel
 platforms           darwin
 supported_archs     x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,40 +14,57 @@ license             Restrictive/Distributable
</span> maintainers         {outlook.com:usersword123 @usersxx} openmaintainer
 description         Java 8 Boot JDK
 long_description    Java 8 Boot JDK to bootstrap Openjdk8 port
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://javadl.sun.com/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfiles           AutoDL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        ${homepage}webapps/download/${distfiles}?BundleId=236866_42970487e3af4f5aa5bca3f542482c60&dummy=
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  b237dd06774127454df314a28fa6b297b50a0dbf \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  5b52df4b3efd51480c40ad5abfa18a075365afbb2040bbc5e9f2db568435a6e2 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    257863467
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_extract     port:xar
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${workpath} "mkdir -p ${worksrcpath}/packages"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file copy ${distpath}/${distfiles} ${worksrcpath}/packages
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${workpath} "mkdir -p ${worksrcpath}/dmg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${workpath} "mkdir -p ${worksrcpath}/pkg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${workpath} "mkdir -p ${worksrcpath}/files"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/packages "hdiutil attach ${worksrcpath}/packages/${distfiles} -mountroot ${worksrcpath}/dmg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/dmg "cp ${worksrcpath}/dmg/*/*.pkg ${worksrcpath}/pkg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/dmg "hdiutil detach ${worksrcpath}/dmg/*"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/pkg "mv ${worksrcpath}/pkg/*.pkg ${worksrcpath}/pkg/jdk${version}.pkg"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath}/pkg "${prefix}/bin/xar -xf ${worksrcpath}/pkg/jdk${version}.pkg -C ${worksrcpath}/files"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "cpio -i < ${worksrcpath}/files/jdk180201.pkg/Payload"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://openjdk.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ver 1.8.0_201
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    master_sites        ${homepage}webapps/download/${distfiles}?BundleId=236866_42970487e3af4f5aa5bca3f542482c60&dummy=
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distfiles           AutoDL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums           rmd160  b237dd06774127454df314a28fa6b297b50a0dbf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  5b52df4b3efd51480c40ad5abfa18a075365afbb2040bbc5e9f2db568435a6e2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    257863467
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_extract     port:xar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${workpath} "mkdir -p ${worksrcpath}/packages"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${distpath}/${distfiles} ${worksrcpath}/packages
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${workpath} "mkdir -p ${worksrcpath}/dmg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${workpath} "mkdir -p ${worksrcpath}/pkg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${workpath} "mkdir -p ${worksrcpath}/files"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/packages "hdiutil attach ${worksrcpath}/packages/${distfiles} -mountroot ${worksrcpath}/dmg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/dmg "cp ${worksrcpath}/dmg/*/*.pkg ${worksrcpath}/pkg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/dmg "hdiutil detach ${worksrcpath}/dmg/*"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/pkg "mv ${worksrcpath}/pkg/*.pkg ${worksrcpath}/pkg/jdk${ver}.pkg"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath}/pkg "${prefix}/bin/xar -xf ${worksrcpath}/pkg/jdk${ver}.pkg -C ${worksrcpath}/files"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system -W ${worksrcpath} "cpio -i < ${worksrcpath}/files/jdk180201.pkg/Payload"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    worksrcdir          jdk${ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${configure.build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set ver 8.54.0.21
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set openjdk_ver
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    master_sites        https://cdn.azul.com/zulu/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    distname            zulu${ver}-ca-jdk${openjdk_ver}-macosx_aarch64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    checksums           rmd160  cafab852e7263d3b1077b7b37f8d9019f4d3797a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  2cf0af3118dd4b6244724308b190587804a76ad7919b6da5c377392a1d4f8817 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    105926746
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cxx_stdlib libstdc++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    worksrcdir          ${distname}/zulu-8.jdk
</span> }
 
 use_configure    no
 
 build {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir          jdk${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-destroot {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # MacPorts report `Contents/Home/jre/lib/libdeploy.dylib` as broken file during `port rev update`
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # see https://trac.macports.org/ticket/65049
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    delete ${worksrcpath}/Contents/Home/jre/lib/libdeploy.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # MacPorts report `Contents/Home/jre/lib/libdeploy.dylib` as broken file during `port rev update`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # see https://trac.macports.org/ticket/65049
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        delete ${worksrcpath}/Contents/Home/jre/lib/libdeploy.dylib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 set path /Library/Java/JavaVirtualMachines/${name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk8/Portfile b/java/openjdk8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a45594a9173..dda438959cf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/openjdk8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,14 +15,14 @@ version             ${major}u${update}
</span> revision            0
 categories          java devel
 platforms           darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-supported_archs     ppc x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs     ppc x86_64 arm64
</span> license             GPL-2+
 maintainers         {outlook.com:usersword123 @usersxx} openmaintainer
 description         OpenJDK 8
 long_description    JDK 8 and JRE 8 builds of OpenJDK, the Open-Source implementation \
                     of the Java Platform, Standard Edition, and related projects.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            https://openjdk.java.net/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        https://git.openjdk.java.net/jdk8u/archive/refs/tags/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://openjdk.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://git.openjdk.org/jdk8u/archive/refs/tags/
</span> distname            jdk${major}u${update}-ga
 worksrcdir          jdk8u-${distname}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,7 +37,8 @@ patchfiles          0001-8181503-Can-t-compile-hotspot-with-c-11.patch \
</span>                     0005-os_perf_bsd-allow-to-compile-with-ZERO-CPU.patch \
                     0006-Disable-C-11-warnings.patch \
                     0007-Added-macosx-bin-zero-jvm.cfg.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    0008-ExtendedOptionsImpl.c-define-TCP_KEEPINTVL-and-TCP_K.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    0008-ExtendedOptionsImpl.c-define-TCP_KEEPINTVL-and-TCP_K.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    Support-arm64-and-fix-zero-assembler.diff
</span> 
 # NSFullSizeContentViewWindowMask is available since 10.10
 if {${os.platform} eq "darwin" && ${os.major} < 14} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +59,10 @@ if {${configure.build_arch} eq "ppc"} {
</span>     set datamodel 32
 } elseif {${configure.build_arch} eq "x86_64"} {
     set datamodel 64
<span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${configure.build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set datamodel 64
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.cmd       ${prefix}/bin/bash ./configure
 configure.pre_args  --prefix=${tpath}
 set bug_url "https://trac.macports.org/newticket?port=${name}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -72,8 +76,8 @@ configure.args      --with-boot-jdk \
</span>                     --with-extra-cxxflags="${configure.cxxflags}" \
                     --with-extra-ldflags="${configure.ldflags}" \
                     --with-milestone=fcs \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-vendor-name="OpenJDK Porters Group" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    --with-vendor-url="${homepage}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-vendor-name="MacPorts" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-vendor-url="https://www.macports.org" \
</span>                     --with-vendor-bug-url="${bug_url}" \
                     --with-vendor-vm-bug-url="${bug_url}" \
                     --with-update-version=${update} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -163,8 +167,12 @@ variant zero \
</span>     set archuc [string toupper ${configure.build_arch}]
     depends_lib-append         port:libffi
     configure.args-append  --with-jvm-variants=zero \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                           --with-extra-cflags="${configure.cflags} -I${prefix}/include -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-delete  --with-extra-cflags="${configure.cflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cflags="${configure.cflags} -I${prefix}/include -arch ${configure.build_arch}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cxxflags="${configure.cxxflags} -arch ${configure.build_arch}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-ldflags="${configure.ldflags} -I${prefix}/lib -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete  --with-extra-cflags="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cxxflags="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-ldflags="${configure.ldflags}"
</span> }
 
 variant zeroshark \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,9 +180,13 @@ variant zeroshark \
</span>     description {JVM with no assembler, zero interpreter and shark/llvm compiler backend} {
     set archuc [string toupper ${configure.build_arch}]
     depends_lib-append         port:libffi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append  --with-jvm-variants=zero \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           --with-extra-cflags="${configure.cflags} -I${prefix}/include -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-delete  --with-extra-cflags="${configure.cflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append  --with-jvm-variants=zeroshark \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cflags="${configure.cflags} -I${prefix}/include -arch ${configure.build_arch}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cxxflags="${configure.cxxflags} -arch ${configure.build_arch}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-ldflags="${configure.ldflags} -I${prefix}/lib -arch ${configure.build_arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-delete  --with-extra-cflags="${configure.cflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-cxxflags="${configure.cxxflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           --with-extra-ldflags="${configure.ldflags}"
</span> }
 
 if {![variant_isset debug] && ![variant_isset release]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -185,7 +197,11 @@ if {![variant_isset core] && ![variant_isset zeroshark] && ![variant_isset zero]
</span>     if {${os.major} < 14} {
         default_variants-append +zero
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        default_variants-append +server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants-append +server
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } elseif {${configure.build_arch} eq "arm64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants-append +zero
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/openjdk8/files/Support-arm64-and-fix-zero-assembler.diff b/java/openjdk8/files/Support-arm64-and-fix-zero-assembler.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c1f56450b3f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/openjdk8/files/Support-arm64-and-fix-zero-assembler.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,318 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 13838d9d34..d45973a917 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -370,7 +370,7 @@ int CppInterpreter::native_entry(Method* method, intptr_t UNUSED, TRAPS) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Make the call
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   intptr_t result[4 - LogBytesPerWord];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ffi_call(handler->cif(), (void (*)()) function, result, arguments);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ffi_call(handler->cif(), CAST_TO_FN_PTR(void (*)(), function), result, arguments);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Change the thread state back to _thread_in_Java.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // ThreadStateTransition::transition_from_native() cannot be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9bbabfbcf9..a0ae9201f8 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -381,42 +381,42 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jshorts_atomic(const jshort* from, jshort* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jshort *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jshort *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to++) = *(from++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jshort *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jshort *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to--) = *(from--);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jints_atomic(jint* from, jint* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jints_atomic(const jint* from, jint* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jint *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jint *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to++) = *(from++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jint *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jint *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to--) = *(from--);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jlongs_atomic(jlong* from, jlong* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jlong *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jlong *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         os::atomic_copy64(from++, to++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jlong *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jlong *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -424,22 +424,22 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_bytes(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_bytes(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jshorts(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jshorts(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                       HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                       size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jints(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jints(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jlongs(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jlongs(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 84d29b2113..a71f4b7855 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -412,42 +412,42 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jshorts_atomic(jshort* from, jshort* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jshorts_atomic(const jshort* from, jshort* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jshort *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jshort *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to++) = *(from++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jshort *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jshort *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to--) = *(from--);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jints_atomic(jint* from, jint* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jints_atomic(const jint* from, jint* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jint *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jint *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to++) = *(from++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jint *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jint *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         *(to--) = *(from--);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_conjoint_jlongs_atomic(jlong* from, jlong* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if (from > to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jlong *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jlong *end = from + count;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from < end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         os::atomic_copy64(from++, to++);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else if (from < to) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      jlong *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      const jlong *end = from;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       from += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       to   += count - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       while (from >= end)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -455,22 +455,22 @@ extern "C" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_bytes(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_bytes(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jshorts(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jshorts(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                       HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                       size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 2);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jints(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jshorts(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                     size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 4);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  void _Copy_arrayof_conjoint_jlongs(HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  void _Copy_arrayof_conjoint_jshorts(const HeapWord* from,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      HeapWord* to,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      size_t    count) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     memmove(to, from, count * 8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/share/vm/runtime/java.cpp hotspot/src/share/vm/runtime/java.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 0a263b017c..b36671fb2d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/share/vm/runtime/java.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/share/vm/runtime/java.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -60,6 +60,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "runtime/thread.inline.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "runtime/timer.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "runtime/vm_operations.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "runtime/vmThread.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "services/memTracker.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "utilities/dtrace.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "utilities/globalDefinitions.hpp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/share/vm/runtime/sharedRuntime.cpp hotspot/src/share/vm/runtime/sharedRuntime.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 5f540247f9..41e3dc9254 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/share/vm/runtime/sharedRuntime.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/share/vm/runtime/sharedRuntime.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -108,12 +108,14 @@ UncommonTrapBlob*   SharedRuntime::_uncommon_trap_blob;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //----------------------------generate_stubs-----------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void SharedRuntime::generate_stubs() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef ZERO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _wrong_method_blob                   = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method),          "wrong_method_stub");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _wrong_method_abstract_blob          = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method_abstract), "wrong_method_abstract_stub");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _ic_miss_blob                        = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::handle_wrong_method_ic_miss),  "ic_miss_stub");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _resolve_opt_virtual_call_blob       = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::resolve_opt_virtual_call_C),   "resolve_opt_virtual_call");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _resolve_virtual_call_blob           = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::resolve_virtual_call_C),       "resolve_virtual_call");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _resolve_static_call_blob            = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::resolve_static_call_C),        "resolve_static_call");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef COMPILER2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Vectors are generated only by C2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2384,7 +2386,12 @@ void AdapterHandlerLibrary::initialize() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // throw AbstractMethodError just in case.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Pass wrong_method_abstract for the c2i transitions to return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // AbstractMethodError for invalid invocations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  address wrong_method_abstract = SharedRuntime::get_handle_wrong_method_abstract_stub();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  address wrong_method_abstract =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ZERO
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                  NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                  SharedRuntime::get_handle_wrong_method_abstract_stub();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   _abstract_method_handler = AdapterHandlerLibrary::new_entry(new AdapterFingerPrint(0, NULL),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                               StubRoutines::throw_AbstractMethodError_entry(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                                               wrong_method_abstract, wrong_method_abstract);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/share/vm/runtime/stubRoutines.cpp hotspot/src/share/vm/runtime/stubRoutines.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d943248da0..5fc5f7618b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/share/vm/runtime/stubRoutines.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/share/vm/runtime/stubRoutines.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -201,18 +201,21 @@ static void test_arraycopy_func(address func, int alignment) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // Use middle of array to check that memory before it is not modified.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   address buffer  = (address) round_to((intptr_t)&lbuffer[4], BytesPerLong);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   address buffer2 = (address) round_to((intptr_t)&lbuffer2[4], BytesPerLong);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  arraycopy_fn copyfunc = CAST_TO_FN_PTR(arraycopy_fn, func);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // do an aligned copy
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ((arraycopy_fn)func)(buffer, buffer2, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  copyfunc(buffer, buffer2, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (i = 0; i < sizeof(lbuffer); i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(fbuffer[i] == v && fbuffer2[i] == v2, "shouldn't have copied anything");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // adjust destination alignment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ((arraycopy_fn)func)(buffer, buffer2 + alignment, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  copyfunc(buffer, buffer2 + alignment, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (i = 0; i < sizeof(lbuffer); i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(fbuffer[i] == v && fbuffer2[i] == v2, "shouldn't have copied anything");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // adjust source alignment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ((arraycopy_fn)func)(buffer + alignment, buffer2, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  copyfunc(buffer + alignment, buffer2, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for (i = 0; i < sizeof(lbuffer); i++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     assert(fbuffer[i] == v && fbuffer2[i] == v2, "shouldn't have copied anything");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git hotspot/src/share/vm/runtime/virtualspace.cpp hotspot/src/share/vm/runtime/virtualspace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 66392b75f1..521afe6b1c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- hotspot/src/share/vm/runtime/virtualspace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ hotspot/src/share/vm/runtime/virtualspace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -356,7 +356,12 @@ ReservedHeapSpace::ReservedHeapSpace(size_t size, size_t alignment,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ReservedCodeSpace::ReservedCodeSpace(size_t r_size,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      size_t rs_align,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                      bool large) :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __arm64__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ReservedSpace(r_size, rs_align, large, /*executable*/ false) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ReservedSpace(r_size, rs_align, large, /*executable*/ true) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   MemTracker::record_virtual_memory_type((address)base(), mtCode);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git jdk/src/macosx/bin/java_md_macosx.c jdk/src/macosx/bin/java_md_macosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 6aa0eb588a..098c229bf3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- jdk/src/macosx/bin/java_md_macosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ jdk/src/macosx/bin/java_md_macosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -228,6 +228,8 @@ static InvocationFunctions *GetExportedJNIFunctions() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         preferredJVM = "client";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__x86_64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         preferredJVM = "server";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(__arm64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        preferredJVM = "zero";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #error "Unknown architecture - needs definition"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git jdk/src/macosx/native/sun/awt/AWTView.m jdk/src/macosx/native/sun/awt/AWTView.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 29dd6410ea..cd43be6bc4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- jdk/src/macosx/native/sun/awt/AWTView.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ jdk/src/macosx/native/sun/awt/AWTView.m
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -37,7 +37,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import "JavaTextAccessibility.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import "JavaAccessibilityUtilities.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import "GeomUtilities.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#import "OSVersion.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #import "CGLLayer.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @interface AWTView()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,13 +53,6 @@ -(BOOL) isCodePointInUnicodeBlockNeedingIMEvent: (unichar) codePoint;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //#define IM_DEBUG TRUE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ //#define EXTRA_DEBUG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static BOOL shouldUsePressAndHold() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    static int shouldUsePressAndHold = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (shouldUsePressAndHold != -1) return shouldUsePressAndHold;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    shouldUsePressAndHold = !isSnowLeopardOrLower();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return shouldUsePressAndHold;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @implementation AWTView
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @synthesize _dropTarget;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -83,7 +75,7 @@ - (id) initWithRect: (NSRect) rect
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fKeyEventsNeeded = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fProcessingKeystroke = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    fEnablePressAndHold = shouldUsePressAndHold();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fEnablePressAndHold = YES;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fInPressAndHold = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fPAHNeedsToSelect = NO;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>