[aarch64-port-dev ] Merge up to b128

Edward Nevill ed at camswl.com
Fri Feb 7 05:40:35 PST 2014


Hi,

The following set of patches merge the aarch74 tree up to jdk8-b128 which is the latest trunk tag. I have included inline below only those patches specific to aarch64. The remaining patches are *huge*, over 1.7 million lines, 51 MB!!! Fortunately the aarch64 specific patches are very small, only 95 lines. The reason for the hugeness of the trunk patches is that there was a major code moving exercise in jdk and in addition, the copyright notices were changed at the end of the year. I have provided links to the trunk changesets below.

I have done the following test builds

Builtin Sim

- Server, Slowdebug
- Server, Release
- Client, Slowdebug
- Client, Release

Cross Compiled

- Server, Fastdebug
- Server, Release
- Client, Fastdebug
- Client, Release

I have run the following JTReg tests (in the following the 3 numbers X/Y/X give the no. of passes/fails/errors respectively. The numbers in brackets are the results for that last nightly run (Feb 7). You may notice that the total number of tests is different. This is because the last nightly run was against jdk8-b117 test suite, whereas I ran it against the jdk8-b128 test suite.

Builtin Sim:-

Server/Slowdebug hotspot/sanity 3/0/0
Client/Slowdebug hotspot/sanity 3/0/0
Server/release hotspot/sanity 3/0/0
Client/release hotspot/sanity 3/0/0

Cross Compiled

Server/Release jdk 5258/162/5 (5189/163/40)
Client/Release jdk 5272/145/8 (5202/146/44)
Server/fastdebug hotspot 404/3/38 (391/7/10)
Client/fastdebug hotspot 409/10/26 (395/11/2)

The complete set of changesets may be found at http://people.linaro.org/~edward.nevill/b128 The aarch64 changesets are below.

OK to push?

All the best,
Ed.


--- CUT HERE (hotspot patches) ------------------------------------------------------ 
exporting patch:
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1391769892 0
#      Fri Feb 07 10:44:52 2014 +0000
# Node ID 896a8f65fa0b0efdc498485d42995c59ce53476e
# Parent  42db9c007d098ceca0321e52504a4af87cb1eac2
Aarch64 specific changes for merge to b128

diff -r 42db9c007d09 -r 896a8f65fa0b src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp
--- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp    Thu Feb 06 16:04:20 2014 +0000
+++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp    Fri Feb 07 10:44:52 2014 +0000
@@ -39,6 +39,7 @@
 #include "nativeInst_aarch64.hpp"
 #include "oops/objArrayKlass.hpp"
 #include "runtime/sharedRuntime.hpp"
+#include "vmreg_aarch64.inline.hpp"

 
 
@@ -817,6 +818,9 @@
 
     if (UseCompressedOops && !wide) {
       __ encode_heap_oop(compressed_src, src->as_register());
+      if (patch_code != lir_patch_none) {
+        info->oop_map()->set_narrowoop(compressed_src->as_VMReg());
+      }
     } else {
       compressed_src = src->as_register();
     }
diff -r 42db9c007d09 -r 896a8f65fa0b src/cpu/aarch64/vm/frame_aarch64.cpp
--- a/src/cpu/aarch64/vm/frame_aarch64.cpp      Thu Feb 06 16:04:20 2014 +0000
+++ b/src/cpu/aarch64/vm/frame_aarch64.cpp      Fri Feb 07 10:44:52 2014 +0000
@@ -96,13 +96,6 @@
     // other generic buffer blobs are more problematic so we just assume they are
     // ok. adapter blobs never have a frame complete and are never ok.
 
-    // check for a valid frame_size, otherwise we are unlikely to get a valid sender_pc
-
-    if (!Interpreter::contains(_pc) && _cb->frame_size() <= 0) {
-      //assert(0, "Invalid frame_size");
-      return false;
-    }
-
     if (!_cb->is_frame_complete_at(_pc)) {
       if (_cb->is_nmethod() || _cb->is_adapter_blob() || _cb->is_runtime_stub()) {
         return false;
@@ -146,6 +139,11 @@
       // must be some sort of compiled/runtime frame
       // fp does not have to be safe (although it could be check for c1?)

+      // check for a valid frame_size, otherwise we are unlikely to get a valid sender_pc
+      if (_cb->frame_size() <= 0) {
+        return false;
+      }
+
       sender_sp = _unextended_sp + _cb->frame_size();
       sender_pc = (address) *(sender_sp-1);
     }
diff -r 42db9c007d09 -r 896a8f65fa0b src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp
--- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp      Thu Feb 06 16:04:20 2014 +0000
+++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp      Fri Feb 07 10:44:52 2014 +0000
@@ -2469,9 +2469,6 @@
   // Load counter into r3
   __ ldrw(r3, Address(r5, Deoptimization::UnrollBlock::number_of_frames_offset_in_bytes()));
 
-  // Pick up the initial fp we should save
-  __ ldr(rfp, Address(r5, Deoptimization::UnrollBlock::initial_info_offset_in_bytes()));
-
   // Now adjust the caller's stack to make up for the extra locals
   // but record the original sp so that we can save it in the skeletal interpreter
   // frame and the stack walking of interpreter_sender will get the unextended sp
--- CUT HERE (hotspot patches) ------------------------------------------------------ 


--- CUT HERE (jdk patches) ------------------------------------------------------ 
exporting patch:
# HG changeset patch
# User Edward Nevill edward.nevill at linaro.org
# Date 1391769936 0
#      Fri Feb 07 10:45:36 2014 +0000
# Node ID 597eaf9ec7946aa344477b8a5375f129a8fbbf56
# Parent  37a3f60f398883ae4d3dc7be90acd3922a5ee91d
Aarch64 specific changes for merge to b128

diff -r 37a3f60f3988 -r 597eaf9ec794 make/lib/SoundLibraries.gmk
--- a/make/lib/SoundLibraries.gmk       Thu Feb 06 16:11:53 2014 +0000
+++ b/make/lib/SoundLibraries.gmk       Fri Feb 07 10:45:36 2014 +0000
@@ -131,6 +131,10 @@
   ifeq ($(OPENJDK_TARGET_CPU), ppc)
     LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
   endif
+
+  ifeq ($(OPENJDK_TARGET_CPU), aarch64)
+       LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64
+  endif
 endif
 
 LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
--- CUT HERE (jdk patches) ------------------------------------------------------ 




More information about the aarch64-port-dev mailing list