From aph at redhat.com Wed Oct 1 18:08:00 2014 From: aph at redhat.com (Andrew Haley) Date: Wed, 01 Oct 2014 19:08:00 +0100 Subject: [aarch64-port-dev ] Try even harder to ensure that we have a "friendly" base address for compressed class pointers. Message-ID: <542C4300.8070104@redhat.com> This fixes even the pathological case of -Xxmx31G so that we still have a one-instruction decode for compressed class pointers. Andrew. # HG changeset patch # User aph # Date 1412181840 14400 # Wed Oct 01 12:44:00 2014 -0400 # Node ID 95c8ad3592470f3e77cc032fb716c580944fccc1 # Parent e95bdb68cbdcf2bcae33a3b6fc8d3ef1bdd1f7e0 Try even harder to ensure that we have a "friendly" base address for compressed class pointers. diff -r e95bdb68cbdc -r 95c8ad359247 src/share/vm/memory/metaspace.cpp --- a/src/share/vm/memory/metaspace.cpp Tue Sep 09 18:50:10 2014 +0100 +++ b/src/share/vm/memory/metaspace.cpp Wed Oct 01 12:44:00 2014 -0400 @@ -3005,11 +3005,18 @@ requested_addr, 0); if (! metaspace_rs.is_reserved()) { + // If we have an address in high memory, ignore it and start with + // low memory. An address in high memory is likely to result in a + // nonzero narrow_klass_base which is not a multiple of 4G. + char *a = requested_addr; + if (a > (char*)(256*G)) + a = (char*)(4*G); + // Try to align metaspace so that we can decode a compressed klass - // with a single MOVK instruction. We can do this iff the - // compressed class base is a multiple of 4G. - for (char *a = (char*)align_ptr_up(requested_addr, 4*G); - a < (char*)(1024*G); + // with a single instruction. We can do this if the compressed + // klass base is a small multiple of 4G. + for (a = (char*)align_ptr_up(a, 4*G); + a < (char*)(256*G); a += 4*G) { if (UseSharedSpaces && ! can_use_cds_with_metaspace_addr(a, cds_base)) { From aph at redhat.com Wed Oct 1 18:17:02 2014 From: aph at redhat.com (Andrew Haley) Date: Wed, 01 Oct 2014 19:17:02 +0100 Subject: [aarch64-port-dev ] AArch64 needs fences when changing thread state. Message-ID: <542C451E.2090002@redhat.com> I noticed this. If PPC needs it, we need it too. Andrew. # HG changeset patch # User aph # Date 1412182026 14400 # Wed Oct 01 12:47:06 2014 -0400 # Node ID a451588d3506f985bd2e83748c33331d8d6cb391 # Parent 95c8ad3592470f3e77cc032fb716c580944fccc1 AArch64 needs fences when changing thread state. diff -r 95c8ad359247 -r a451588d3506 src/share/vm/runtime/thread.hpp --- a/src/share/vm/runtime/thread.hpp Wed Oct 01 12:44:00 2014 -0400 +++ b/src/share/vm/runtime/thread.hpp Wed Oct 01 12:47:06 2014 -0400 @@ -1006,7 +1006,7 @@ address last_Java_pc(void) { return _anchor.last_Java_pc(); } // Safepoint support -#ifndef PPC64 +#if (! (defined(PPC64) || defined(AARCH64))) JavaThreadState thread_state() const { return _thread_state; } void set_thread_state(JavaThreadState s) { _thread_state = s; } #else diff -r 95c8ad359247 -r a451588d3506 src/share/vm/runtime/thread.inline.hpp --- a/src/share/vm/runtime/thread.inline.hpp Wed Oct 01 12:44:00 2014 -0400 +++ b/src/share/vm/runtime/thread.inline.hpp Wed Oct 01 12:47:06 2014 -0400 @@ -122,7 +122,7 @@ set_has_async_exception(); } -#ifdef PPC64 +#if (defined(PPC64) || defined(AARCH64)) inline JavaThreadState JavaThread::thread_state() const { return (JavaThreadState) OrderAccess::load_acquire((volatile jint*)&_thread_state); } From aph at redhat.com Wed Oct 1 18:18:39 2014 From: aph at redhat.com (Andrew Haley) Date: Wed, 01 Oct 2014 19:18:39 +0100 Subject: [aarch64-port-dev ] Remove cruft. Replace with a portable definition of atomic_copy64(). Message-ID: <542C457F.7060804@redhat.com> We now have a portable way to do atomic_copy64; no need for random bits of assembler. Andrew. # HG changeset patch # User aph # Date 1412182305 14400 # Wed Oct 01 12:51:45 2014 -0400 # Node ID b43b612fe37291952d164b7e3dcee6ae760ade42 # Parent a451588d3506f985bd2e83748c33331d8d6cb391 Remove cruft. Replace with a portable definition of atomic_copy64(). diff -r a451588d3506 -r b43b612fe372 src/os_cpu/linux_aarch64/vm/os_linux_aarch64.hpp --- a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.hpp Wed Oct 01 12:47:06 2014 -0400 +++ b/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.hpp Wed Oct 01 12:51:45 2014 -0400 @@ -38,21 +38,9 @@ // Atomically copy 64 bits of data static void atomic_copy64(volatile void *src, volatile void *dst) { -#if defined(PPC) && !defined(_LP64) - double tmp; - asm volatile ("lfd %0, 0(%1)\n" - "stfd %0, 0(%2)\n" - : "=f"(tmp) - : "b"(src), "b"(dst)); -#elif defined(S390) && !defined(_LP64) - double tmp; - asm volatile ("ld %0, 0(%1)\n" - "std %0, 0(%2)\n" - : "=r"(tmp) - : "a"(src), "a"(dst)); -#else - *(jlong *) dst = *(jlong *) src; -#endif + jlong data; + __atomic_load((jlong*)src, &data, __ATOMIC_RELAXED); + __atomic_store((jlong*)dst, &data, __ATOMIC_RELAXED); } #endif // OS_CPU_LINUX_AARCH64_VM_OS_LINUX_AARCH64_HPP From aph at redhat.com Wed Oct 1 18:23:12 2014 From: aph at redhat.com (Andrew Haley) Date: Wed, 01 Oct 2014 19:23:12 +0100 Subject: [aarch64-port-dev ] Missing concurrency barriers and other bugs. Message-ID: <542C4690.8040901@redhat.com> This is a bunch of fixes. First, we were using str and strw almost randomly when writing JavaThread::thread_state. And, we weren't using any barriers, which we seem to need. MacroAssembler::serialize_memory was wrong; it now does what other ports do. The use_XOR_for_compressed_class_base was executed every time an instance of Assembler was constructed, but it only needs to be executed once. Andrew. # HG changeset patch # User aph # Date 1412186700 14400 # Wed Oct 01 14:05:00 2014 -0400 # Node ID f77a6f417a54aeb12cedc962a753fb81b6dab958 # Parent b43b612fe37291952d164b7e3dcee6ae760ade42 Missing concurrency barriers and other bugs. JavaThread::thread_state accesses need barriers. Correct implementation of serialize_memory(). Reduce the overhead of checking for use_XOR_for_compressed_class_base. diff -r b43b612fe372 -r f77a6f417a54 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Oct 01 12:51:45 2014 -0400 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Oct 01 14:05:00 2014 -0400 @@ -64,6 +64,9 @@ #define STOP(error) block_comment(error); stop(error) #endif +bool MacroAssembler::_use_XOR_for_compressed_class_base; +address MacroAssembler::_narrow_klass_base; + #define BIND(label) bind(label); BLOCK_COMMENT(#label ":") void MacroAssembler::pd_patch_instruction(address branch, address target) { @@ -107,8 +110,8 @@ // up treating a type 3 relocation as a type 1 or 2 just because it happened // to be followed by a random unrelated ldr/str or add instruction. // - // In the case of a type 3 relocation, we know that these are only generated - // for the safepoint polling page, or for the card type byte map base so we + // In the case of a type 3 relocation, we know that these are + // only generated for a few well-known pages addresses so we // assert as much and of course that the offset is 0. // unsigned insn2 = ((unsigned*)branch)[1]; @@ -130,7 +133,8 @@ assert((jbyte *)target == ((CardTableModRefBS*)(Universe::heap()->barrier_set()))->byte_map_base || target == StubRoutines::crc_table_addr() || - (address)target == os::get_polling_page(), + target == os::get_polling_page() || + target == os::get_memory_serialize_page(), "adrp must be polling page or byte map base"); assert(offset_lo == 0, "offset must be 0 for polling page or byte map base"); } @@ -250,8 +254,16 @@ return address(((uint64_t)insn_addr + (offset << 2))); } -void MacroAssembler::serialize_memory(Register thread, Register tmp) { - dsb(Assembler::SY); +void MacroAssembler::serialize_memory(Register tmp1, Register tmp2) { + andr(tmp1, rthread, (os::vm_page_size() - sizeof(int)) << os::get_serialize_page_shift_count()); + + unsigned long offset; + adrp(tmp2, os::get_memory_serialize_page(), offset); + guarantee(offset == 0, "should be a page address"); + + // Size of store must match masking code above + add(tmp1, tmp2, tmp1, LSR, os::get_serialize_page_shift_count()); + stlrw(tmp2, tmp1); } @@ -2678,7 +2690,7 @@ return; } - if (use_XOR_for_compressed_class_base) { + if (_use_XOR_for_compressed_class_base) { if (Universe::narrow_klass_shift() != 0) { eor(dst, src, (uint64_t)Universe::narrow_klass_base()); lsr(dst, dst, LogKlassAlignmentInBytes); @@ -2727,7 +2739,7 @@ return; } - if (use_XOR_for_compressed_class_base) { + if (_use_XOR_for_compressed_class_base) { if (Universe::narrow_klass_shift() != 0) { lsl(dst, src, LogKlassAlignmentInBytes); eor(dst, dst, (uint64_t)Universe::narrow_klass_base()); diff -r b43b612fe372 -r f77a6f417a54 src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Oct 01 12:51:45 2014 -0400 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Oct 01 14:05:00 2014 -0400 @@ -91,16 +91,19 @@ void call_VM_helper(Register oop_result, address entry_point, int number_of_arguments, bool check_exceptions = true); - // Maximum size of class area in Metaspace when compressed - uint64_t use_XOR_for_compressed_class_base; + static bool _use_XOR_for_compressed_class_base; + static address _narrow_klass_base; public: MacroAssembler(CodeBuffer* code) : Assembler(code) { - use_XOR_for_compressed_class_base - = (operand_valid_for_logical_immediate(false /*is32*/, - (uint64_t)Universe::narrow_klass_base()) - && ((uint64_t)Universe::narrow_klass_base() - > (1u << log2_intptr(CompressedClassSpaceSize)))); + if (Universe::narrow_klass_base() != _narrow_klass_base) { + _use_XOR_for_compressed_class_base + = (operand_valid_for_logical_immediate(false /*is32*/, + (uint64_t)Universe::narrow_klass_base()) + && ((uint64_t)Universe::narrow_klass_base() + > (1u << log2_intptr(CompressedClassSpaceSize)))); + _narrow_klass_base = Universe::narrow_klass_base(); + } } // Biased locking support @@ -877,7 +880,10 @@ int offset); // Support for serializing memory accesses between threads - void serialize_memory(Register thread, Register tmp); + void serialize_memory(Register tmp1, Register tmp2); + + void release() { membar(LoadStore|StoreStore); } + void acquire() { membar(LoadLoad|LoadStore); } // Arithmetics diff -r b43b612fe372 -r f77a6f417a54 src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Wed Oct 01 12:51:45 2014 -0400 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Wed Oct 01 14:05:00 2014 -0400 @@ -1872,7 +1872,8 @@ // Now set thread in native __ mov(rscratch1, _thread_in_native); - __ str(rscratch1, Address(rthread, JavaThread::thread_state_offset())); + __ release(); + __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); { int return_type = 0; @@ -1929,18 +1930,20 @@ // Thread A is resumed to finish this native method, but doesn't block here since it // didn't see any synchronization is progress, and escapes. __ mov(rscratch1, _thread_in_native_trans); - __ str(rscratch1, Address(rthread, JavaThread::thread_state_offset())); + __ release(); + __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); if(os::is_MP()) { if (UseMembar) { // Force this write out before the read below - __ dmb(Assembler::SY); + __ membar(Assembler::LoadLoad | Assembler::LoadStore | + Assembler::StoreLoad | Assembler::StoreStore); } else { // Write serialization page so VM thread can do a pseudo remote membar. // We use the current thread pointer to calculate a thread specific // offset to write to within the page. This minimizes bus traffic // due to cache line collision. - __ serialize_memory(rthread, r2); + __ serialize_memory(rscratch1, r2); } } @@ -1993,7 +1996,8 @@ // change thread state __ mov(rscratch1, _thread_in_Java); - __ str(rscratch1, Address(rthread, JavaThread::thread_state_offset())); + __ release(); + __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); __ bind(after_transition); Label reguard; diff -r b43b612fe372 -r f77a6f417a54 src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Oct 01 12:51:45 2014 -0400 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Oct 01 14:05:00 2014 -0400 @@ -1031,6 +1031,7 @@ #endif // Change state to native + __ release(); __ mov(rscratch1, _thread_in_native); __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); @@ -1052,19 +1053,21 @@ __ push(ltos); // change thread state + __ release(); __ mov(rscratch1, _thread_in_native_trans); __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); if (os::is_MP()) { if (UseMembar) { // Force this write out before the read below - __ dsb(Assembler::SY); + __ membar(Assembler::LoadLoad | Assembler::LoadStore | + Assembler::StoreLoad | Assembler::StoreStore); } else { // Write serialization page so VM thread can do a pseudo remote membar. // We use the current thread pointer to calculate a thread specific // offset to write to within the page. This minimizes bus traffic // due to cache line collision. - __ serialize_memory(rthread, rscratch2); + __ serialize_memory(rscratch1, rscratch2); } } @@ -1101,6 +1104,7 @@ } // change thread state + __ release(); __ mov(rscratch1, _thread_in_Java); __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); From vladimir.kozlov at oracle.com Fri Oct 3 22:33:26 2014 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 03 Oct 2014 15:33:26 -0700 Subject: [aarch64-port-dev ] New staging repository for AArch64 open port Message-ID: <542F2436.7070608@oracle.com> Hi Iris, aarch64 (arm64) open port JEP is reviewed and endorsed: https://bugs.openjdk.java.net/browse/JDK-8044552 Could you, please, create jdk9 staging forest (including closed repos) for it? Something like: http://hg.openjdk.java.net/aarch64-port/stage It should be child of jdk9/dev forest. Push notifications for open changes could be sent to: aarch64-port-dev at openjdk.java.net Initial committers will be Andrew Haley (aph) and me, Vladimir Kozlov (kvn). We may add more committers later. Best regards, Vladimir From iris.clark at oracle.com Mon Oct 6 17:48:07 2014 From: iris.clark at oracle.com (Iris Clark) Date: Mon, 6 Oct 2014 10:48:07 -0700 (PDT) Subject: [aarch64-port-dev ] New staging repository for AArch64 open port In-Reply-To: <542F2436.7070608@oracle.com> References: <542F2436.7070608@oracle.com> Message-ID: <5c11c4f0-8850-4b7f-a851-e969608976fb@default> Hi, Andrew. As the Lead of the AArch64 Project, do you approve of the request to create this staging forest? Do you want jcheck fully enabled (formatted changeset comment, Reviewers, etc.) so that you can preserve your history similar to what was done for the PPC/AIX Port? Assuming that you do, then I'm going to need to investigate how to handle that configuration. Minimally, if Vladimir needs to push he needs to be at least a Committer to the AArch64 Project. Who do you anticipate the changeset authors to be? They'd need to be at least Authors in both JDK 9 and AArch64. Thanks, iris -----Original Message----- From: Vladimir Kozlov Sent: Friday, October 03, 2014 3:33 PM To: Iris Clark Cc: aarch64-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net; jdk9-dev at openjdk.java.net; Andrew Haley Subject: New staging repository for AArch64 open port Hi Iris, aarch64 (arm64) open port JEP is reviewed and endorsed: https://bugs.openjdk.java.net/browse/JDK-8044552 Could you, please, create jdk9 staging forest (including closed repos) for it? Something like: http://hg.openjdk.java.net/aarch64-port/stage It should be child of jdk9/dev forest. Push notifications for open changes could be sent to: aarch64-port-dev at openjdk.java.net Initial committers will be Andrew Haley (aph) and me, Vladimir Kozlov (kvn). We may add more committers later. Best regards, Vladimir From aph at redhat.com Mon Oct 6 18:41:47 2014 From: aph at redhat.com (Andrew Haley) Date: Mon, 06 Oct 2014 19:41:47 +0100 Subject: [aarch64-port-dev ] New staging repository for AArch64 open port In-Reply-To: <5c11c4f0-8850-4b7f-a851-e969608976fb@default> References: <542F2436.7070608@oracle.com> <5c11c4f0-8850-4b7f-a851-e969608976fb@default> Message-ID: <5432E26B.2070406@redhat.com> On 10/06/2014 06:48 PM, Iris Clark wrote: > > As the Lead of the AArch64 Project, do you approve of the request to > create this staging forest? Do you want jcheck fully enabled > (formatted changeset comment, Reviewers, etc.) so that you can > preserve your history similar to what was done for the PPC/AIX Port? Yes. I'm putting myself in the hands of Vladimir here, but I'm pretty sure we need jcheck. I know that our existing revision history is not jcheck-compliant, so it wouldn't be acceptable, but I am prepared to lose the history because I'll be submitting clean webrevs. The aarch64-project tree will always be there for the archaeologists. > Assuming that you do, then I'm going to need to investigate how to > handle that configuration. Minimally, if Vladimir needs to push he > needs to be at least a Committer to the AArch64 Project. Who do you > anticipate the changeset authors to be? They'd need to be at least > Authors in both JDK 9 and AArch64. I can't even remember if I am a JDK9 author, but at least me and Andrew Dinn. Edward Nevill is a major AArch64 contributor, but I don't think he is a JDK9 author. Thanks, Andrew. From vladimir.kozlov at oracle.com Mon Oct 6 19:47:35 2014 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 06 Oct 2014 12:47:35 -0700 Subject: [aarch64-port-dev ] New staging repository for AArch64 open port In-Reply-To: <5432E26B.2070406@redhat.com> References: <542F2436.7070608@oracle.com> <5c11c4f0-8850-4b7f-a851-e969608976fb@default> <5432E26B.2070406@redhat.com> Message-ID: <5432F1D7.4000001@oracle.com> On 10/6/14 11:41 AM, Andrew Haley wrote: > On 10/06/2014 06:48 PM, Iris Clark wrote: >> >> As the Lead of the AArch64 Project, do you approve of the request to >> create this staging forest? Do you want jcheck fully enabled >> (formatted changeset comment, Reviewers, etc.) so that you can >> preserve your history similar to what was done for the PPC/AIX Port? > > Yes. I'm putting myself in the hands of Vladimir here, but I'm pretty > sure we need jcheck. Yes, staging repo should have jcheck fully enabled. > I know that our existing revision history is not jcheck-compliant, so > it wouldn't be acceptable, but I am prepared to lose the history > because I'll be submitting clean webrevs. The aarch64-project tree > will always be there for the archaeologists. > >> Assuming that you do, then I'm going to need to investigate how to >> handle that configuration. Minimally, if Vladimir needs to push he >> needs to be at least a Committer to the AArch64 Project. Who do you Do I really need to be Committer to the AArch64 Project? Can jdk9 Committer status be enough? The staging forest is child of jdk9 forest. I may be not the only one from Oracle side who will help with sponsoring pushes. It would be nice if you allow any jdk9 committer to push into aarch64 stage forest. >> anticipate the changeset authors to be? They'd need to be at least >> Authors in both JDK 9 and AArch64. > > I can't even remember if I am a JDK9 author, but at least me and > Andrew Dinn. Edward Nevill is a major AArch64 contributor, but I > don't think he is a JDK9 author. http://openjdk.java.net/census Andrew, you are JDK9 Committer which includes Author status. So you can be author and you can push into the staging forest. Andrew Dinn and Edward Nevill are not JDK9 authors. They should be listed in "Contributed-by: ". Their changes have to be sponsored (pushed) by us, Oracle, or by you, Andrew. Thanks, Vladimir > > Thanks, > Andrew. > From iris.clark at oracle.com Mon Oct 6 20:18:49 2014 From: iris.clark at oracle.com (Iris Clark) Date: Mon, 6 Oct 2014 13:18:49 -0700 (PDT) Subject: [aarch64-port-dev ] New staging repository for AArch64 open port In-Reply-To: <5432F1D7.4000001@oracle.com> References: <542F2436.7070608@oracle.com> <5c11c4f0-8850-4b7f-a851-e969608976fb@default> <5432E26B.2070406@redhat.com> <5432F1D7.4000001@oracle.com> Message-ID: Hi, Vladimir. >> Assuming that you do, then I'm going to need to investigate how to >> handle that configuration. Minimally, if Vladimir needs to push he >> needs to be at least a Committer to the AArch64 Project. Who do you > Do I really need to be Committer to the AArch64 Project? Can jdk9 Committer status be enough? The staging forest is child of jdk9 forest. I may be not the only one from Oracle side who will help with sponsoring pushes. It would be nice if you allow any jdk9 committer to push into aarch64 stage forest. Yes, you really need to be a AArch64 Committer. The AArch64 Project is the owner of the forest regardless of how it was originally created/cloned. I can create a limited-access forest as requested, but the people on that list (in this case Andrew Haley and you) must be a subset of the owning Project's Census entry. Any Oracle employee who wishes to push changes into the open portion of aarch64/stage must be an AArch64 Committer. Thanks, iris From vladimir.kozlov at oracle.com Mon Oct 6 21:02:10 2014 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Mon, 06 Oct 2014 14:02:10 -0700 Subject: [aarch64-port-dev ] New staging repository for AArch64 open port In-Reply-To: References: <542F2436.7070608@oracle.com> <5c11c4f0-8850-4b7f-a851-e969608976fb@default> <5432E26B.2070406@redhat.com> <5432F1D7.4000001@oracle.com> Message-ID: <54330352.2050900@oracle.com> Okay, thank you for clarifying it, Iris. Vladimir On 10/6/14 1:18 PM, Iris Clark wrote: > Hi, Vladimir. > >>> Assuming that you do, then I'm going to need to investigate how to >>> handle that configuration. Minimally, if Vladimir needs to push he >>> needs to be at least a Committer to the AArch64 Project. Who do you > >> Do I really need to be Committer to the AArch64 Project? Can jdk9 Committer status be enough? The staging forest is child of jdk9 forest. > I may be not the only one from Oracle side who will help with sponsoring pushes. It would be nice if you allow any jdk9 committer to push into > aarch64 stage forest. > > Yes, you really need to be a AArch64 Committer. The AArch64 Project is the owner of the forest regardless of how it was originally created/cloned. I can create a limited-access forest as requested, but the people on that list (in this case Andrew Haley and you) must be a subset of the owning Project's Census entry. Any Oracle employee who wishes to push changes into the open portion of aarch64/stage must be an AArch64 Committer. > > Thanks, > iris > From edward.nevill at linaro.org Thu Oct 9 08:32:06 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Thu, 09 Oct 2014 09:32:06 +0100 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get Message-ID: <1412843526.2398.5.camel@localhost.localdomain> Hi, The following patch adds support for fast accessors and java.lang.ref.Reference.get to the template interpreter. This probably doesn't add a great deal to overall performance but I think it is worthwhile including for completeness. Tested with hotspot jtreg. Best regards, Ed. --- CUT HERE --- # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1412843164 -3600 # Thu Oct 09 09:26:04 2014 +0100 # Node ID 547811e68a5e8e7fa0e09da2cc64a8e167148178 # Parent 68cf8e406ce5fefb353901c8bb52882703ab649f Add support for fast accessors and java.lang.ref.Reference.get in template interpreter diff -r 68cf8e406ce5 -r 547811e68a5e src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Sep 24 12:56:10 2014 +0100 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Thu Oct 09 09:26:04 2014 +0100 @@ -664,12 +664,178 @@ // Call an accessor method (assuming it is resolved, otherwise drop // into vanilla (slow path) entry address InterpreterGenerator::generate_accessor_entry(void) { - return NULL; + // rmethod: Method* + // r13: senderSP must preserved for slow path + address entry_point = __ pc(); + + // do fastpath for resolved accessor methods + if (UseFastAccessorMethods) { + // Code: _aload_0, _(i|a)getfield, _(i|a)return or any rewrites + // thereof; parameter size = 1 + // Note: We can only use this code if the getfield has been resolved + // and if we don't have a null-pointer exception => check for + // these conditions first and use slow path if necessary. + Label slow_path; + unsigned long offset; + __ adrp(rscratch1, ExternalAddress(SafepointSynchronize::address_of_state()), offset); + __ ldrw(rscratch1, Address(rscratch1, offset)); + assert(SafepointSynchronize::_not_synchronized == 0, "rewrite this code"); + __ cbnzw(rscratch1, slow_path); + + const Register local_0 = c_rarg0; + __ ldr(local_0, Address(esp, 0)); + __ cbz(local_0, slow_path); + __ ldr(rscratch1, Address(rmethod, Method::const_offset())); + __ ldr(rscratch2, Address(rscratch1, ConstMethod::constants_offset())); + // Bytecode sequence is <0x2a><0xb4> + __ ldrh(rscratch1, Address(rscratch1, in_bytes(ConstMethod::codes_offset()) + 2)); + __ lsl(rscratch1, rscratch1, exact_log2(in_words(ConstantPoolCacheEntry::size()))); + __ ldr(rscratch2, Address(rscratch2, ConstantPool::cache_offset_in_bytes())); + + // check if getfield has been resolved and read constant pool cache entry + // check the validity of the cache entry by testing whether _indices field + // contains Bytecode::_getfield in b1 byte. + assert(in_words(ConstantPoolCacheEntry::size()) == 4, "adjust shift below"); + __ add(rscratch2, rscratch2, rscratch1, Assembler::LSL, 3); // add in cache index + + __ ldrb(rscratch1, Address(rscratch2, in_bytes(ConstantPoolCache::base_offset() + + ConstantPoolCacheEntry::indices_offset()) + 2)); + __ cmpw(rscratch1, Bytecodes::_getfield); + __ br(Assembler::NE, slow_path); + + // rscratch1: field_offset + // Note: constant pool entry is not valid before bytecode is resolved + __ ldr(rscratch1, Address(rscratch2, ConstantPoolCache::base_offset() + + ConstantPoolCacheEntry::f2_offset())); + // rscratch2: flags + __ ldrw(rscratch2, Address(rscratch2, ConstantPoolCache::base_offset() + + ConstantPoolCacheEntry::flags_offset())); + + Label notObj, notInt, notByte, notShort; + const Address field_address(local_0, rscratch1); + + // Need to differentiate between igetfield, agetfield, bgetfield etc. + // because they are different sizes. + // Use the type from the constant pool cache + __ lsr(rscratch2, rscratch2, ConstantPoolCacheEntry::tos_state_shift); + // Make sure we don't need to mask edx after the above shift + ConstantPoolCacheEntry::verify_tos_state_shift(); + + // result in c_rarg0 + __ andr(sp, r13, -16); // done with stack + + __ cmp(rscratch2, atos); + __ br(Assembler::NE, notObj); + __ load_heap_oop(c_rarg0, field_address); + __ ret(lr); + + __ bind(notObj); + __ cmp(rscratch2, itos); + __ br(Assembler::NE, notInt); + __ ldrw(c_rarg0, field_address); + __ ret(lr); + + __ bind(notInt); + __ cmp(rscratch2, btos); + __ br(Assembler::NE, notByte); + __ ldrsb(c_rarg0, field_address); + __ ret(lr); + + __ bind(notByte); + __ cmp(rscratch2, stos); + __ br(Assembler::NE, notShort); + __ ldrsh(c_rarg0, field_address); + __ ret(lr); + + __ bind(notShort); +#ifdef ASSERT + Label okay; + __ cmp(rscratch2, ctos); + __ br(Assembler::EQ, okay); + __ stop("what type is this?"); + __ bind(okay); +#endif + __ ldrh(c_rarg0, field_address); + __ ret(lr); + + __ bind(slow_path); + } + (void)generate_normal_entry(false); + return entry_point; } // Method entry for java.lang.ref.Reference.get. address InterpreterGenerator::generate_Reference_get_entry(void) { - return NULL; +#if INCLUDE_ALL_GCS + // Code: _aload_0, _getfield, _areturn + // parameter size = 1 + // + // The code that gets generated by this routine is split into 2 parts: + // 1. The "intrinsified" code for G1 (or any SATB based GC), + // 2. The slow path - which is an expansion of the regular method entry. + // + // Notes:- + // * In the G1 code we do not check whether we need to block for + // a safepoint. If G1 is enabled then we must execute the specialized + // code for Reference.get (except when the Reference object is null) + // so that we can log the value in the referent field with an SATB + // update buffer. + // If the code for the getfield template is modified so that the + // G1 pre-barrier code is executed when the current method is + // Reference.get() then going through the normal method entry + // will be fine. + // * The G1 code can, however, check the receiver object (the instance + // of java.lang.Reference) and jump to the slow path if null. If the + // Reference object is null then we obviously cannot fetch the referent + // and so we don't need to call the G1 pre-barrier. Thus we can use the + // regular method entry code to generate the NPE. + // + // This code is based on generate_accessor_enty. + // + // rmethod: Method* + // r13: senderSP must preserve for slow path, set SP to it on fast path + + address entry = __ pc(); + + const int referent_offset = java_lang_ref_Reference::referent_offset; + guarantee(referent_offset > 0, "referent offset not initialized"); + + if (UseG1GC) { + Label slow_path; + const Register local_0 = c_rarg0; + // Check if local 0 != NULL + // If the receiver is null then it is OK to jump to the slow path. + __ ldr(local_0, Address(esp, 0)); + __ cbz(local_0, slow_path); + + + // Load the value of the referent field. + const Address field_address(local_0, referent_offset); + __ load_heap_oop(local_0, field_address); + + // Generate the G1 pre-barrier code to log the value of + // the referent field in an SATB buffer. + __ g1_write_barrier_pre(noreg /* obj */, + local_0 /* pre_val */, + rthread /* thread */, + rscratch1 /* tmp */, + true /* tosca_live */, + true /* expand_call */); + // areturn + __ andr(sp, r13, -16); // done with stack + __ ret(lr); + + // generate a vanilla interpreter entry as the slow path + __ bind(slow_path); + (void) generate_normal_entry(false); + + return entry; + } +#endif // INCLUDE_ALL_GCS + + // If G1 is not enabled then attempt to go through the accessor entry point + // Reference.get is an accessor + return generate_accessor_entry(); } /** --- CUT HERE --- From aph at redhat.com Thu Oct 9 13:43:24 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 09 Oct 2014 14:43:24 +0100 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get In-Reply-To: <1412843526.2398.5.camel@localhost.localdomain> References: <1412843526.2398.5.camel@localhost.localdomain> Message-ID: <543690FC.6080908@redhat.com> On 10/09/2014 09:32 AM, Edward Nevill wrote: > The following patch adds support for fast accessors and java.lang.ref.Reference.get to the template interpreter. > > This probably doesn't add a great deal to overall performance but I think it is worthwhile including for completeness. > > Tested with hotspot jtreg. OK, Andrew. From ed at camswl.com Thu Oct 9 15:40:44 2014 From: ed at camswl.com (ed at camswl.com) Date: Thu, 09 Oct 2014 15:40:44 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Add support for fast accessors and java.lang.ref.Reference.get in template interpreter Message-ID: <201410091540.s99Feids027160@aojmv0008> Changeset: b1e1dda2c069 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-09 16:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b1e1dda2c069 Add support for fast accessors and java.lang.ref.Reference.get in template interpreter ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp From adinn at redhat.com Thu Oct 9 18:18:13 2014 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 09 Oct 2014 19:18:13 +0100 Subject: [aarch64-port-dev ] Issue with cppool and permgen compaction in JDK7 Message-ID: <5436D165.7060207@redhat.com> I have identified the problem which was causing javac to fail when running (with -Xint) on the current jdk7-aarch64 JVM. Permgen compaction was occuring under a new operation and ended up relocating the constantPoolCache of the method doing the new. The GC correctly updated the stack pointer but left the rcpool register unchanged. That's because the current AArch64 code does not restore the cpcache after a VM callout (ok for JDK8 where there is no Permgen but not for JDK7). I fixed this by patching InterpreterMacroAssembler::call_VM_base as follows diff -r b96ed8ce0010 src/cpu/aarch64/vm/interp_masm_aarch64.cpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Wed Sep 10 16:29:13 2014 +0100 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Thu Oct 09 19:12:05 2014 +0100 @@ -1458,5 +1458,7 @@ // interpreter specific restore_bcp(); restore_locals(); + // reload the constant pool cache in case a PermGen GC moved it + restore_constant_pool_cache(); } With that fix and javac -Xint Hello.java now runs to completion. Does this look right? Or is there a better fix? If it's ok then I'll commit and move on to debugging C1 and C1 enough that we can do some more serious testing. regards, Andrew Dinn ----------- From dean.long at oracle.com Fri Oct 10 04:08:38 2014 From: dean.long at oracle.com (dean long) Date: Thu, 09 Oct 2014 21:08:38 -0700 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get In-Reply-To: <1412843526.2398.5.camel@localhost.localdomain> References: <1412843526.2398.5.camel@localhost.localdomain> Message-ID: <54375BC6.5090307@oracle.com> FYI, I believe fast accessors were removed in jdk9. https://bugs.openjdk.java.net/browse/JDK-8003426 dl On 10/9/2014 1:32 AM, Edward Nevill wrote: > Hi, > > The following patch adds support for fast accessors and java.lang.ref.Reference.get to the template interpreter. > > This probably doesn't add a great deal to overall performance but I think it is worthwhile including for completeness. > > Tested with hotspot jtreg. > > Best regards, > Ed. > > --- CUT HERE --- > # HG changeset patch > # User Edward Nevill edward.nevill at linaro.org > # Date 1412843164 -3600 > # Thu Oct 09 09:26:04 2014 +0100 > # Node ID 547811e68a5e8e7fa0e09da2cc64a8e167148178 > # Parent 68cf8e406ce5fefb353901c8bb52882703ab649f > Add support for fast accessors and java.lang.ref.Reference.get in template interpreter > > diff -r 68cf8e406ce5 -r 547811e68a5e src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp > --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Sep 24 12:56:10 2014 +0100 > +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Thu Oct 09 09:26:04 2014 +0100 > @@ -664,12 +664,178 @@ > // Call an accessor method (assuming it is resolved, otherwise drop > // into vanilla (slow path) entry > address InterpreterGenerator::generate_accessor_entry(void) { > - return NULL; > + // rmethod: Method* > + // r13: senderSP must preserved for slow path > + address entry_point = __ pc(); > + > + // do fastpath for resolved accessor methods > + if (UseFastAccessorMethods) { > + // Code: _aload_0, _(i|a)getfield, _(i|a)return or any rewrites > + // thereof; parameter size = 1 > + // Note: We can only use this code if the getfield has been resolved > + // and if we don't have a null-pointer exception => check for > + // these conditions first and use slow path if necessary. > + Label slow_path; > + unsigned long offset; > + __ adrp(rscratch1, ExternalAddress(SafepointSynchronize::address_of_state()), offset); > + __ ldrw(rscratch1, Address(rscratch1, offset)); > + assert(SafepointSynchronize::_not_synchronized == 0, "rewrite this code"); > + __ cbnzw(rscratch1, slow_path); > + > + const Register local_0 = c_rarg0; > + __ ldr(local_0, Address(esp, 0)); > + __ cbz(local_0, slow_path); > + __ ldr(rscratch1, Address(rmethod, Method::const_offset())); > + __ ldr(rscratch2, Address(rscratch1, ConstMethod::constants_offset())); > + // Bytecode sequence is <0x2a><0xb4> > + __ ldrh(rscratch1, Address(rscratch1, in_bytes(ConstMethod::codes_offset()) + 2)); > + __ lsl(rscratch1, rscratch1, exact_log2(in_words(ConstantPoolCacheEntry::size()))); > + __ ldr(rscratch2, Address(rscratch2, ConstantPool::cache_offset_in_bytes())); > + > + // check if getfield has been resolved and read constant pool cache entry > + // check the validity of the cache entry by testing whether _indices field > + // contains Bytecode::_getfield in b1 byte. > + assert(in_words(ConstantPoolCacheEntry::size()) == 4, "adjust shift below"); > + __ add(rscratch2, rscratch2, rscratch1, Assembler::LSL, 3); // add in cache index > + > + __ ldrb(rscratch1, Address(rscratch2, in_bytes(ConstantPoolCache::base_offset() + > + ConstantPoolCacheEntry::indices_offset()) + 2)); > + __ cmpw(rscratch1, Bytecodes::_getfield); > + __ br(Assembler::NE, slow_path); > + > + // rscratch1: field_offset > + // Note: constant pool entry is not valid before bytecode is resolved > + __ ldr(rscratch1, Address(rscratch2, ConstantPoolCache::base_offset() + > + ConstantPoolCacheEntry::f2_offset())); > + // rscratch2: flags > + __ ldrw(rscratch2, Address(rscratch2, ConstantPoolCache::base_offset() + > + ConstantPoolCacheEntry::flags_offset())); > + > + Label notObj, notInt, notByte, notShort; > + const Address field_address(local_0, rscratch1); > + > + // Need to differentiate between igetfield, agetfield, bgetfield etc. > + // because they are different sizes. > + // Use the type from the constant pool cache > + __ lsr(rscratch2, rscratch2, ConstantPoolCacheEntry::tos_state_shift); > + // Make sure we don't need to mask edx after the above shift > + ConstantPoolCacheEntry::verify_tos_state_shift(); > + > + // result in c_rarg0 > + __ andr(sp, r13, -16); // done with stack > + > + __ cmp(rscratch2, atos); > + __ br(Assembler::NE, notObj); > + __ load_heap_oop(c_rarg0, field_address); > + __ ret(lr); > + > + __ bind(notObj); > + __ cmp(rscratch2, itos); > + __ br(Assembler::NE, notInt); > + __ ldrw(c_rarg0, field_address); > + __ ret(lr); > + > + __ bind(notInt); > + __ cmp(rscratch2, btos); > + __ br(Assembler::NE, notByte); > + __ ldrsb(c_rarg0, field_address); > + __ ret(lr); > + > + __ bind(notByte); > + __ cmp(rscratch2, stos); > + __ br(Assembler::NE, notShort); > + __ ldrsh(c_rarg0, field_address); > + __ ret(lr); > + > + __ bind(notShort); > +#ifdef ASSERT > + Label okay; > + __ cmp(rscratch2, ctos); > + __ br(Assembler::EQ, okay); > + __ stop("what type is this?"); > + __ bind(okay); > +#endif > + __ ldrh(c_rarg0, field_address); > + __ ret(lr); > + > + __ bind(slow_path); > + } > + (void)generate_normal_entry(false); > + return entry_point; > } > > // Method entry for java.lang.ref.Reference.get. > address InterpreterGenerator::generate_Reference_get_entry(void) { > - return NULL; > +#if INCLUDE_ALL_GCS > + // Code: _aload_0, _getfield, _areturn > + // parameter size = 1 > + // > + // The code that gets generated by this routine is split into 2 parts: > + // 1. The "intrinsified" code for G1 (or any SATB based GC), > + // 2. The slow path - which is an expansion of the regular method entry. > + // > + // Notes:- > + // * In the G1 code we do not check whether we need to block for > + // a safepoint. If G1 is enabled then we must execute the specialized > + // code for Reference.get (except when the Reference object is null) > + // so that we can log the value in the referent field with an SATB > + // update buffer. > + // If the code for the getfield template is modified so that the > + // G1 pre-barrier code is executed when the current method is > + // Reference.get() then going through the normal method entry > + // will be fine. > + // * The G1 code can, however, check the receiver object (the instance > + // of java.lang.Reference) and jump to the slow path if null. If the > + // Reference object is null then we obviously cannot fetch the referent > + // and so we don't need to call the G1 pre-barrier. Thus we can use the > + // regular method entry code to generate the NPE. > + // > + // This code is based on generate_accessor_enty. > + // > + // rmethod: Method* > + // r13: senderSP must preserve for slow path, set SP to it on fast path > + > + address entry = __ pc(); > + > + const int referent_offset = java_lang_ref_Reference::referent_offset; > + guarantee(referent_offset > 0, "referent offset not initialized"); > + > + if (UseG1GC) { > + Label slow_path; > + const Register local_0 = c_rarg0; > + // Check if local 0 != NULL > + // If the receiver is null then it is OK to jump to the slow path. > + __ ldr(local_0, Address(esp, 0)); > + __ cbz(local_0, slow_path); > + > + > + // Load the value of the referent field. > + const Address field_address(local_0, referent_offset); > + __ load_heap_oop(local_0, field_address); > + > + // Generate the G1 pre-barrier code to log the value of > + // the referent field in an SATB buffer. > + __ g1_write_barrier_pre(noreg /* obj */, > + local_0 /* pre_val */, > + rthread /* thread */, > + rscratch1 /* tmp */, > + true /* tosca_live */, > + true /* expand_call */); > + // areturn > + __ andr(sp, r13, -16); // done with stack > + __ ret(lr); > + > + // generate a vanilla interpreter entry as the slow path > + __ bind(slow_path); > + (void) generate_normal_entry(false); > + > + return entry; > + } > +#endif // INCLUDE_ALL_GCS > + > + // If G1 is not enabled then attempt to go through the accessor entry point > + // Reference.get is an accessor > + return generate_accessor_entry(); > } > > /** > --- CUT HERE --- > > From ed at camswl.com Fri Oct 10 05:23:28 2014 From: ed at camswl.com (Edward Nevill) Date: Fri, 10 Oct 2014 06:23:28 +0100 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get In-Reply-To: <54375BC6.5090307@oracle.com> References: <1412843526.2398.5.camel@localhost.localdomain> <54375BC6.5090307@oracle.com> Message-ID: <1412918608.28593.6.camel@mint> As Mr Simpson would say, DOH! Shall I back it out? Ed. On Thu, 2014-10-09 at 21:08 -0700, dean long wrote: > FYI, I believe fast accessors were removed in jdk9. > > https://bugs.openjdk.java.net/browse/JDK-8003426 > > dl > > On 10/9/2014 1:32 AM, Edward Nevill wrote: > > Hi, > > > > The following patch adds support for fast accessors and java.lang.ref.Reference.get to the template interpreter. > > > > This probably doesn't add a great deal to overall performance but I think it is worthwhile including for completeness. > > > > Tested with hotspot jtreg. > > > > Best regards, > > Ed. > > From aph at redhat.com Fri Oct 10 08:32:00 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 09:32:00 +0100 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get In-Reply-To: <1412918608.28593.6.camel@mint> References: <1412843526.2398.5.camel@localhost.localdomain> <54375BC6.5090307@oracle.com> <1412918608.28593.6.camel@mint> Message-ID: <54379980.40502@redhat.com> On 10/10/14 06:23, Edward Nevill wrote: > Shall I back it out? I guess it's okay for 8, but maybe it's an unnecessary divergence. Better back it out. Andrew. From aph at redhat.com Fri Oct 10 08:50:03 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 09:50:03 +0100 Subject: [aarch64-port-dev ] Issue with cppool and permgen compaction in JDK7 In-Reply-To: <5436D165.7060207@redhat.com> References: <5436D165.7060207@redhat.com> Message-ID: <54379DBB.4000501@redhat.com> On 09/10/14 19:18, Andrew Dinn wrote: > With that fix and javac -Xint Hello.java now runs to completion. Does > this look right? Or is there a better fix? If it's ok then I'll commit > and move on to debugging C1 and C1 enough that we can do some more > serious testing. It looks right to me. I've scanned the source looking for cases where restore_bcp() is called but not restore_constant_pool_cache(), and I can't see any other places that look problematic. Andrew. From ed at camswl.com Fri Oct 10 08:51:00 2014 From: ed at camswl.com (ed at camswl.com) Date: Fri, 10 Oct 2014 08:51:00 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Backed out changeset b1e1dda2c069 Message-ID: <201410100851.s9A8p0k4016113@aojmv0008> Changeset: b2bf0d45c617 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 09:50 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b2bf0d45c617 Backed out changeset b1e1dda2c069 See https://bugs.openjdk.java.net/browse/JDK-8003426 ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp From aph at redhat.com Fri Oct 10 12:24:19 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 13:24:19 +0100 Subject: [aarch64-port-dev ] Issue with cppool and permgen compaction in JDK7 In-Reply-To: <54379DBB.4000501@redhat.com> References: <5436D165.7060207@redhat.com> <54379DBB.4000501@redhat.com> Message-ID: <5437CFF3.3080705@redhat.com> On 10/10/2014 09:50 AM, Andrew Haley wrote: > On 09/10/14 19:18, Andrew Dinn wrote: >> > With that fix and javac -Xint Hello.java now runs to completion. Does >> > this look right? Or is there a better fix? If it's ok then I'll commit >> > and move on to debugging C1 and C1 enough that we can do some more >> > serious testing. > It looks right to me. I've scanned the source looking for cases > where restore_bcp() is called but not restore_constant_pool_cache(), > and I can't see any other places that look problematic. BTW, we should have this is all releases. Thanks, Andrew. From aph at redhat.com Fri Oct 10 16:36:47 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 17:36:47 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Vladimir Kozlov Message-ID: <54380B1F.6030409@redhat.com> I hereby nominate Vladimir Kozlov to Committer. Vladimir is a very experienced engineer at Oracle, and I hope he will help us move this project upstream. Votes are due by 24 Oct. Only current aarch64-port Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Andrew. [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote From aph at redhat.com Fri Oct 10 16:38:23 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 17:38:23 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Dean Long Message-ID: <54380B7F.1060907@redhat.com> I hereby nominate Dean Long to Committer. Dean is a very experienced engineer at Oracle, and I hope he will help us move this project upstream. Votes are due by 24 Oct. Only current aarch64-port Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Andrew. [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote From aph at redhat.com Fri Oct 10 16:38:51 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Oct 2014 17:38:51 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Roland Westrelin Message-ID: <54380B9B.1040505@redhat.com> I hereby nominate Roland Westrelin to Committer. Roland is a very experienced engineer at Oracle, and I hope he will help us move this project upstream. Votes are due by 24 Oct. Only current aarch64-port Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Andrew. [1] http://openjdk.java.net/census [2] http://openjdk.java.net/projects/#committer-vote From vladimir.kozlov at oracle.com Fri Oct 10 22:49:45 2014 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Fri, 10 Oct 2014 15:49:45 -0700 Subject: [aarch64-port-dev ] AArch64 staging forests In-Reply-To: <6eb23ad3-6f0d-4eba-a951-ce60793dfaa5@default> References: <9a429a99-b9a5-488d-9d3b-73b5998b2c9a@default> <5433A29F.7070303@redhat.com> <9437ec38-93ee-4733-b088-189d3fadbb3b@default> <543460EE.2070200@oracle.com> <26dbda08-3239-448c-9d22-263a8f48825e@default> <5437FD67.3000305@redhat.com> <02e42dc4-df6e-4cc6-81be-56b3a717f0f9@default> <6eb23ad3-6f0d-4eba-a951-ce60793dfaa5@default> Message-ID: <54386289.3010309@oracle.com> Thank you, Iris Andrew, To avoid problems in a future (which would require rollback changes, for example) I want all us to follow rules we use in Hotspot/JDK development. All changes have to be reviewed by jdk9 official Reviewers before push. 2 official reviews are required by rules. Me and Roland are Reviewers. Other people may review changes too. Very small changes need only one official review. Requests for review should be sent to hotspot-dev at openjdk.java.net for Hotspot changes and jdk9-dev at openjdk.java.net for jdk changes. You can also CC them to aarch64-port-dev at openjdk.java.net for records. All changes which create new directories, add or modify shared files should pass our testing system: JPRT. Roland will help with that. When we get aarch64 committer status we will help to push changes using JPRT. Later on when you need to do changes only in aarch64 specific files, they could be pushed after reviews without testing in JPRT. For each change a separate JBS report should be filed. Please, add prefix AARCH64 to report's synopsis. Please, make sure Changeset Comments follow official format: : Summary: Reviewed-by: , Contributed-by: http://openjdk.java.net/guide/producingChangeset.html Make sure your ~/.hgrc has following information: [ui] username=aph [extensions] jcheck = $DIR/jcheck.py [hooks] pretxnchangegroup=python:jcheck.hook pretxncommit=python:jcheck.hook http://openjdk.java.net/projects/code-tools/jcheck/ Thanks, Vladimir On 10/10/14 3:08 PM, Iris Clark wrote: > Hi, Andrew. > > I've created your forest: > > http://hg.openjdk.java.net/aarch64-port/stage/ > > It's a clone of the JDK 9 master forest, jdk9/jdk9 with tag jdk9-b34. jcheck is fully enabled as it would be for a JDK 9 forest. Notifications go to aarch64-port-dev at ojn. At the moment, you are the only one who can push to it. Hgupdater is not on as we haven't heard from Joe regarding the new JIRA Version. > > I recommend that you sync the new forest with either jdk9/jdk9 (after the next promotion) or jdk9/dev as a test that everything is configured correctly. > > Thanks, > iris > > -----Original Message----- > From: Iris Clark > Sent: Friday, October 10, 2014 9:55 AM > To: Andrew Haley; Vladimir Kozlov > Cc: Iris Clark > Subject: RE: AArch64 staging forests > > Hi, Andrew. > >> I will be able to add authors once they are JDK9 authors, right? I'm rather hazy. > > Pushers to the aarch64-port/stage repo need to be at least Committers in both AArch64 and JDK 9. Similarly, changeset authors will need to be at least Authors in both Projects. > > You are at least a Committer in both Projects so you're set. > > AndrewD needs to be a JDK 9 Author to be listed as a changeset author. Until that time, his contributions should be acknowledged in the "Contributed-by" line. > > Vladimir (and possibly Roland and Dean) need to become AArch64 Committers if you want to allow them to push into aarch64-port/stage. > > For the aarch64-port/stage forest, I will configure it so that you are the only pusher. I will assume that I should add Vladimir, Roland, and Dean once I see the Registrar process their CFVs. If you want to add anybody else in the future, just send mail to ops at ojn and somebody (probably me) will take care of updating the server configuration. AndrewD (and any additional changeset authors) will be automatically allowed once the Registrar adds them to the JDK 9 census entry. > > If you're still hazy about a few things, I'd be happy to chat on the phone to answer your questions. > > Thanks, > iris > > -----Original Message----- > From: Andrew Haley [mailto:aph at redhat.com] > Sent: Friday, October 10, 2014 8:38 AM > To: Iris Clark; Vladimir Kozlov > Subject: Re: AArch64 staging forests > > On 10/10/2014 04:21 PM, Iris Clark wrote: >> Hi, Andrew. >> >> Do you agree with Vladimir's request? > > Yes. > >>>> Hmmm. I can configure jcheck in aarch64-port/stage to allow >>>> duplicate bugIDs, but then you won't be able to directly push those >>>> changesets into a jdk9/* forest since that forest's configuration >>>> doesn't allow it. >> >>> Please, don't do that - don't relax jcheck. Configure jcheck as we >>> did for PPC/AIX. >> >> I think that the jcheck settings and the JIRA version are the only >> things that still need to be settled. I'll set up the forest today, >> assuming default jcheck (we can always relax if you don't agree with >> Vladimir). You didn't want automatic bug updates (hg updates) so the >> lack of a JIRA version in the system shouldn't be a problem. >> You'll have the option to enable it once the version appears in JIRA > > OK, thanks. > > I will be able to add authors once they are JDK9 authors, right? I'm rather hazy. > > Andrew. > From ed at camswl.com Mon Oct 13 07:48:10 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 08:48:10 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Roland Westrelin In-Reply-To: <54380B9B.1040505@redhat.com> References: <54380B9B.1040505@redhat.com> Message-ID: <1413186490.19328.0.camel@mint> On Fri, 2014-10-10 at 17:38 +0100, Andrew Haley wrote: > I hereby nominate Roland Westrelin to Committer. > > Roland is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. I vote yes. Welcome Roland! Ed Nevill From ed at camswl.com Mon Oct 13 07:48:37 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 08:48:37 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Dean Long In-Reply-To: <54380B7F.1060907@redhat.com> References: <54380B7F.1060907@redhat.com> Message-ID: <1413186517.19328.1.camel@mint> On Fri, 2014-10-10 at 17:38 +0100, Andrew Haley wrote: > I hereby nominate Dean Long to Committer. > > Dean is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. > I vote yes. Welcome Dean! Ed Nevill From ed at camswl.com Mon Oct 13 07:49:14 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 08:49:14 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Vladimir Kozlov In-Reply-To: <54380B1F.6030409@redhat.com> References: <54380B1F.6030409@redhat.com> Message-ID: <1413186554.19328.2.camel@mint> On Fri, 2014-10-10 at 17:36 +0100, Andrew Haley wrote: > I hereby nominate Vladimir Kozlov to Committer. > > Vladimir is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. > I vote yes. Welcome Vladimir! Ed Nevill From adinn at redhat.com Mon Oct 13 07:58:58 2014 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 13 Oct 2014 08:58:58 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Roland Westrelin In-Reply-To: <54380B9B.1040505@redhat.com> References: <54380B9B.1040505@redhat.com> Message-ID: <543B8642.8030004@redhat.com> On 10/10/14 17:38, Andrew Haley wrote: > I hereby nominate Roland Westrelin to Committer. > > Roland is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. I vote yes. Welcome, Roland. regards, Andrew Dinn ----------- From adinn at redhat.com Mon Oct 13 07:59:22 2014 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 13 Oct 2014 08:59:22 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Dean Long In-Reply-To: <54380B7F.1060907@redhat.com> References: <54380B7F.1060907@redhat.com> Message-ID: <543B865A.8000004@redhat.com> On 10/10/14 17:38, Andrew Haley wrote: > I hereby nominate Dean Long to Committer. > > Dean is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. I vote yes. Welcome, Dean! regards, Andrew Dinn ----------- From adinn at redhat.com Mon Oct 13 08:00:00 2014 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 13 Oct 2014 09:00:00 +0100 Subject: [aarch64-port-dev ] CFV: New aarch64-port Committer: Vladimir Kozlov In-Reply-To: <54380B1F.6030409@redhat.com> References: <54380B1F.6030409@redhat.com> Message-ID: <543B8680.90405@redhat.com> On 10/10/14 17:36, Andrew Haley wrote: > I hereby nominate Vladimir Kozlov to Committer. > > Vladimir is a very experienced engineer at Oracle, and I hope he will > help us move this project upstream. > > Votes are due by 24 Oct. I vote yes. Welcome, Vladimir! regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Matt Parson (USA), Charlie Peters (USA), Michael O'Neill (Ireland) From ed at camswl.com Mon Oct 13 11:16:09 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 12:16:09 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b09 Message-ID: <1413198969.19328.99.camel@mint> Hi, The following webrevs merge the aarch64 jdk8 forest up to revision jdk8u40-b09 from jdk8u40-b04 (I thought I would try out the webrev tool for this merge as we will need to use it for the JDK9 merge). http://openjdk.linaro.org/webrev/141013/corba/ http://openjdk.linaro.org/webrev/141013/hotspot/ http://openjdk.linaro.org/webrev/141013/jaxp/ http://openjdk.linaro.org/webrev/141013/jaxws/ http://openjdk.linaro.org/webrev/141013/jdk/ http://openjdk.linaro.org/webrev/141013/jdk8/ http://openjdk.linaro.org/webrev/141013/langtools/ http://openjdk.linaro.org/webrev/141013/nashorn/ The following webrev contains the aarch64 specific changes (I have also pasted it inline below as the changes are quite small). http://openjdk.linaro.org/webrev/141013/aarch64_hotspot/ The aarch64 changes are 1) Add support for the 'CmpL3' node in C2, which was not supported and which C2 has started generating. 2) Generate and unimplemented error on -XX:+UseSHA... These have been added for sparc, but not for x86. At some stage we should add support on aarch64 but in the meantime JTreg expects an error if they are not supported. I have done a smoke test on the following builds Builtin sim: server: release Builtin sim: server: slowdebug Builtin sim: client: slodebug Cross compile: client: release Cross compile: server: release Cross compile: zero: release Native compile: client: release Native compile: server: release Native compile: zero: release Native compile: server: slowdebug I have also run JTreg hotspot and langtools on server and compared against x86 (x86 numbers in brackets) server/hotspot aarch64(x86)::: Pass 607(611), Failed 10(6), Error 10(10) server/langtools aarch64(x86): Pass 3017(3021), Failed 0(0), Error 29(25) client/hotspot aarch64(x86)::: Pass 606(606), Failed 11(11), Error 10(10) client/langtools aarch64(x86): Pass 3018(3019), Failed 0(0), Error 28(27) The additional 4 server/hotspot failures on aarch64 are FAILED: compiler/whitebox/ClearMethodStateTest.java FAILED: compiler/whitebox/DeoptimizeAllTest.java FAILED: compiler/whitebox/DeoptimizeMethodTest.java FAILED: compiler/whitebox/GetNMethodTest.java These all fail with the exception java.lang.RuntimeException: private SimpleTestCase$Helper(java.lang.Object) must be osr_compiled These fail because the test expects the method to be osr compiled but it is not. I suspect this is due to deoptimisation on aarch64. As all these additional failures are only in the whitebox api I would like to continue with the merge and look at them later. OK to push? Ed. --- CUT HERE --- # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1413193991 -3600 # Mon Oct 13 10:53:11 2014 +0100 # Node ID 89ebbc29144cb6cf9d3d3c55bb65a2162a9dd00a # Parent 7c98ed8b60f54b7c32e93ac0fd41f7b9d5f809d1 aarch64 specific changes for merge up to jdk8u40-b09 diff -r 7c98ed8b60f5 -r 89ebbc29144c src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Fri Oct 10 15:51:33 2014 +0100 +++ b/src/cpu/aarch64/vm/aarch64.ad Mon Oct 13 10:53:11 2014 +0100 @@ -11051,6 +11051,29 @@ %} +instruct compL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg cr) +%{ + match(Set dst (CmpL3 src1 src2)); + effect(KILL cr); + format %{ "cmp $src1, $src2 # CmpL3\n\t" + "csinvw $dst, zr, zr, eq\n\t" + "csnegw $dst, $dst, $dst, lt" + %} + + ins_cost(3 * INSN_COST); + ins_encode %{ + Register d = as_Register($dst$$reg); + Register s1 = as_Register($src1$$reg); + Register s2 = as_Register($src2$$reg); + __ cmp(s1, s2); + // installs 0 if EQ else -1 + __ csinvw(d, zr, zr, Assembler::EQ); + // keeps -1 if less else installs 1 + __ csnegw(d, d, d, Assembler::LT); + %} + ins_pipe(pipe_class_default); +%} + instruct cmpLTMask_reg_reg(iRegINoSp dst, iRegI p, iRegI q, rFlagsReg cr) %{ match(Set dst (CmpLTMask p q)); diff -r 7c98ed8b60f5 -r 89ebbc29144c src/cpu/aarch64/vm/vm_version_aarch64.cpp --- a/src/cpu/aarch64/vm/vm_version_aarch64.cpp Fri Oct 10 15:51:33 2014 +0100 +++ b/src/cpu/aarch64/vm/vm_version_aarch64.cpp Mon Oct 13 10:53:11 2014 +0100 @@ -136,6 +136,17 @@ if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) { UseCRC32Intrinsics = true; } + + if (UseSHA) { + warning("SHA instructions are not implemented"); + FLAG_SET_DEFAULT(UseSHA, false); + } + if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { + warning("SHA intrinsics are not implemented"); + FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); + FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); + FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); + } } void VM_Version::initialize() { --- CUT HERE --- From ed at camswl.com Mon Oct 13 12:29:18 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 13:29:18 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b09 In-Reply-To: <1413198969.19328.99.camel@mint> References: <1413198969.19328.99.camel@mint> Message-ID: <1413203358.19328.113.camel@mint> On Mon, 2014-10-13 at 12:16 +0100, Edward Nevill wrote: > The additional 4 server/hotspot failures on aarch64 are > > FAILED: compiler/whitebox/ClearMethodStateTest.java > FAILED: compiler/whitebox/DeoptimizeAllTest.java > FAILED: compiler/whitebox/DeoptimizeMethodTest.java > FAILED: compiler/whitebox/GetNMethodTest.java > > These all fail with the exception > > java.lang.RuntimeException: private SimpleTestCase$Helper(java.lang.Object) must be osr_compiled > > These fail because the test expects the method to be osr compiled but it is not. I suspect this is due to deoptimisation on aarch64. As all these additional failures are only in the whitebox api I would like to continue with the merge and look at them later. > On further examination these fail because we have in CompilerWhiteBoxTest.java we have static { if (TIERED_COMPILATION) { BACKEDGE_THRESHOLD = THRESHOLD = 150000; } else { THRESHOLD = COMPILE_THRESHOLD; BACKEDGE_THRESHOLD = COMPILE_THRESHOLD * Long.parseLong(getVMOption( "OnStackReplacePercentage")); } } IE. A 'magic' figure of 150000 for the backedge threshold. If I run one of the tests with this I get --- CUT HERE --- 1840 66 3 SimpleTestCase$Helper::staticMethod (4 bytes) 1840 67 1 SimpleTestCase$Helper::staticMethod (4 bytes) 1840 66 3 SimpleTestCase$Helper::staticMethod (4 bytes) made not entrant 1845 68 % 3 SimpleTestCase$Helper::osrStaticMethod @ 4 (27 bytes) 1846 69 3 SimpleTestCase$Helper::osrStaticMethod (27 bytes) 1847 70 % 4 SimpleTestCase$Helper::osrStaticMethod @ 4 (27 bytes) 1848 68 % 3 SimpleTestCase$Helper::osrStaticMethod @ -2 (27 bytes) made not entrant 1849 70 % 4 SimpleTestCase$Helper::osrStaticMethod @ -2 (27 bytes) made not entrant on exception 'private static int SimpleTestCase$Helper.osrStaticMethod() must be osr_compiled': private static int SimpleTestCase$Helper.osrStaticMethod(): compilable: true compiled: true comp_level: 3 osr_compilable: true osr_compiled: false osr_comp_level: 0 in_queue: false compile_queues_size: 0 java.lang.RuntimeException: private static int SimpleTestCase$Helper.osrStaticMethod() must be osr_compiled at CompilerWhiteBoxTest.checkCompiled(CompilerWhiteBoxTest.java:264) --- CUT HERE --- IE. The method SimpleTestCase$Helper::osrStaticMethod is deoptimised before the test is performed. If I change the magic number to 110000 I get --- CUT HERE --- 1714 66 3 SimpleTestCase$Helper::staticMethod (4 bytes) 1714 67 1 SimpleTestCase$Helper::staticMethod (4 bytes) 1715 66 3 SimpleTestCase$Helper::staticMethod (4 bytes) made not entrant 1720 68 % 3 SimpleTestCase$Helper::osrStaticMethod @ 4 (27 bytes) 1721 69 3 SimpleTestCase$Helper::osrStaticMethod (27 bytes) 2722 68 % 3 SimpleTestCase$Helper::osrStaticMethod @ -2 (27 bytes) made not entrant 2722 69 3 SimpleTestCase$Helper::osrStaticMethod (27 bytes) made not entrant at test's end: private static int SimpleTestCase$Helper.osrStaticMethod(): compilable: true compiled: false comp_level: 0 osr_compilable: true osr_compiled: false osr_comp_level: 0 in_queue: false compile_queues_size: 0 STATUS:Passed. --- CUT HERE --- IE. the test passes. So I think these tests should simply be excluded because it is fundamentally broken embedding a backedge threshold in a test like this. All the best, Ed. From aph at redhat.com Mon Oct 13 12:48:35 2014 From: aph at redhat.com (Andrew Haley) Date: Mon, 13 Oct 2014 13:48:35 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b09 In-Reply-To: <1413203358.19328.113.camel@mint> References: <1413198969.19328.99.camel@mint> <1413203358.19328.113.camel@mint> Message-ID: <543BCA23.1080600@redhat.com> On 10/13/2014 01:29 PM, Edward Nevill wrote: > So I think these tests should simply be excluded because it is fundamentally broken embedding a backedge threshold in a test like this. I understand, but it is something worth testing. Can we fix it? Andrew. From ed at camswl.com Mon Oct 13 15:14:43 2014 From: ed at camswl.com (Edward Nevill) Date: Mon, 13 Oct 2014 16:14:43 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b09 In-Reply-To: <543BCA23.1080600@redhat.com> References: <1413198969.19328.99.camel@mint> <1413203358.19328.113.camel@mint> <543BCA23.1080600@redhat.com> Message-ID: <1413213283.32275.17.camel@mint> On Mon, 2014-10-13 at 13:48 +0100, Andrew Haley wrote: > On 10/13/2014 01:29 PM, Edward Nevill wrote: > > So I think these tests should simply be excluded because it is fundamentally broken embedding a backedge threshold in a test like this. > > I understand, but it is something worth testing. Can we fix it? > Not really, without rewriting the tests. This also fails on x86, the exact number of failures varies between runs because of the randomness of deoptimisation. Here is what I get on three consecutive test runs on x86. X86: Run1 - 6 failures due to osr_compileable exception FAILED: compiler/tiered/NonTieredLevelsTest.java FAILED: compiler/whitebox/ClearMethodStateTest.java FAILED: compiler/whitebox/DeoptimizeMethodTest.java FAILED: compiler/whitebox/EnqueueMethodForCompilationTest.java FAILED: compiler/tiered/TieredLevelsTest.java FAILED: compiler/whitebox/MakeMethodNotCompilableTest.java x86: Run2 - 5 failures FAILED: compiler/tiered/TieredLevelsTest.java FAILED: compiler/tiered/NonTieredLevelsTest.java FAILED: compiler/whitebox/DeoptimizeMethodTest.java FAILED: compiler/whitebox/GetNMethodTest.java FAILED: compiler/whitebox/MakeMethodNotCompilableTest.java x86: Run3 - 8 failures FAILED: compiler/tiered/NonTieredLevelsTest.java FAILED: compiler/tiered/TieredLevelsTest.java FAILED: compiler/whitebox/ClearMethodStateTest.java FAILED: compiler/whitebox/DeoptimizeMethodTest.java FAILED: compiler/whitebox/GetNMethodTest.java FAILED: compiler/whitebox/DeoptimizeAllTest.java FAILED: compiler/whitebox/EnqueueMethodForCompilationTest.java FAILED: compiler/whitebox/MakeMethodNotCompilableTest.java The set of tests which fails also varies every time. I think this will get fixed upstream. Regards, Ed. From aph at redhat.com Mon Oct 13 15:22:30 2014 From: aph at redhat.com (Andrew Haley) Date: Mon, 13 Oct 2014 16:22:30 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b09 In-Reply-To: <1413213283.32275.17.camel@mint> References: <1413198969.19328.99.camel@mint> <1413203358.19328.113.camel@mint> <543BCA23.1080600@redhat.com> <1413213283.32275.17.camel@mint> Message-ID: <543BEE36.1060402@redhat.com> On 10/13/2014 04:14 PM, Edward Nevill wrote: > I think this will get fixed upstream. OK then. Andrew. From ed at camswl.com Mon Oct 13 15:48:50 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:48:50 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8: 9 new changesets Message-ID: <201410131548.s9DFmogQ021899@aojmv0008> Changeset: 8881a63f7f00 Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/8881a63f7f00 Added tag jdk8u40-b05 for changeset 7e286a0c90fb ! .hgtags Changeset: cf9afcfcb7a4 Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/cf9afcfcb7a4 Added tag jdk8u40-b06 for changeset 8881a63f7f00 ! .hgtags Changeset: 3d0b7fd86372 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/3d0b7fd86372 Added tag jdk8u40-b07 for changeset cf9afcfcb7a4 ! .hgtags Changeset: 39a27de39e83 Author: coffeys Date: 2014-09-12 17:09 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/39a27de39e83 8057813: Alterations to jdk_security3 test target Reviewed-by: mullan, wetmore, xuelei ! make/jprt.properties Changeset: b98648e6011f Author: lana Date: 2014-09-16 14:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/b98648e6011f Merge Changeset: f76be00858f5 Author: lana Date: 2014-09-22 18:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/f76be00858f5 Merge Changeset: 515a912fb5a9 Author: lana Date: 2014-09-25 11:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/515a912fb5a9 Merge Changeset: 0958d0a9f44e Author: asaha Date: 2014-10-01 07:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/0958d0a9f44e Added tag jdk8u40-b08 for changeset 515a912fb5a9 ! .hgtags Changeset: 812eb2e6e56e Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:49 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/812eb2e6e56e Merge up to jdk8u40-b09 ! .hgtags ! make/jprt.properties From ed at camswl.com Mon Oct 13 15:49:05 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:49:05 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/corba: 5 new changesets Message-ID: <201410131549.s9DFn5Vm022001@aojmv0008> Changeset: ced787f7545f Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/ced787f7545f Added tag jdk8u40-b05 for changeset 740fea207f70 ! .hgtags Changeset: 0d09cb188d39 Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/0d09cb188d39 Added tag jdk8u40-b06 for changeset ced787f7545f ! .hgtags Changeset: 8d4971881c66 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/8d4971881c66 Added tag jdk8u40-b07 for changeset 0d09cb188d39 ! .hgtags Changeset: bf87d7191166 Author: asaha Date: 2014-10-01 07:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/bf87d7191166 Added tag jdk8u40-b08 for changeset 8d4971881c66 ! .hgtags Changeset: f2a89dc325f8 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/f2a89dc325f8 Merge up to jdk8u40-b09 ! .hgtags From ed at camswl.com Mon Oct 13 15:49:33 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:49:33 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 146 new changesets Message-ID: <201410131549.s9DFnYD3022183@aojmv0008> Changeset: c67b85c32d9a Author: amurillo Date: 2014-08-28 14:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c67b85c32d9a 8056299: new hotspot build - hs25.40-b09 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 999824269b71 Author: kvn Date: 2014-08-22 12:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/999824269b71 8055069: TSX and RTM should be deprecated more strongly until hardware is corrected Summary: Require to specify UnlockExperimentalVMOptions flag together with UseRTMLocking flag on un-patched systems where CPUID allows it but is unsupported otherwise. Reviewed-by: iveresov, fzhinkin ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! test/compiler/rtm/cli/TestUseRTMDeoptOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionOnSupportedConfig.java ! test/compiler/rtm/cli/TestUseRTMLockingOptionWithBiasedLocking.java Changeset: 6e0cb14ce59b Author: iklam Date: 2014-08-21 13:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6e0cb14ce59b 8046070: Class Data Sharing clean up and refactoring Summary: Cleaned up CDS to be more configurable, maintainable and extensible Reviewed-by: dholmes, coleenp, acorn, mchung ! make/excludeSrc.make ! src/os/linux/vm/os_linux.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp + src/share/vm/classfile/classLoaderExt.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp + src/share/vm/classfile/sharedClassUtil.hpp + src/share/vm/classfile/sharedPathsMiscInfo.cpp + src/share/vm/classfile/sharedPathsMiscInfo.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp + src/share/vm/classfile/systemDictionaryShared.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/memory/metadataFactory.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/metaspaceShared.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/arrayKlass.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/ostream.hpp + src/share/vm/utilities/stringUtils.cpp + src/share/vm/utilities/stringUtils.hpp + test/testlibrary/com/oracle/java/testlibrary/BuildHelper.java Changeset: bb239308be67 Author: iklam Date: 2014-09-02 14:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bb239308be67 8056971: Minor class loading clean-up Summary: Misplacement of #if INCLUE_CDS, typos, unnecessary C string duplication Reviewed-by: dholmes, ccheung ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/classfile/classLoaderExt.hpp ! src/share/vm/classfile/sharedPathsMiscInfo.cpp ! src/share/vm/classfile/sharedPathsMiscInfo.hpp ! src/share/vm/classfile/systemDictionary.cpp Changeset: a8ea2f110d87 Author: tschatzl Date: 2014-08-26 09:36 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a8ea2f110d87 8054819: Rename HeapRegionSeq to HeapRegionManager Reviewed-by: jwilhelm, jmasa ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionManager.java - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp + src/share/vm/gc_implementation/g1/heapRegionManager.cpp + src/share/vm/gc_implementation/g1/heapRegionManager.hpp + src/share/vm/gc_implementation/g1/heapRegionManager.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.hpp - src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.inline.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceMirrorKlass.cpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/objArrayKlass.cpp Changeset: 39189caa2894 Author: tschatzl Date: 2014-08-29 13:12 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/39189caa2894 Merge - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.hpp - src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp Changeset: 3372cbab6583 Author: tschatzl Date: 2014-09-02 15:03 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3372cbab6583 Merge - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java - src/share/vm/gc_implementation/g1/heapRegionSeq.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.hpp - src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp Changeset: 9337d0e7ea4f Author: tschatzl Date: 2014-09-02 15:04 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9337d0e7ea4f 8055919: Remove dead code in G1 concurrent marking code Reviewed-by: jmasa, jwilhelm ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp Changeset: 09e9e5240710 Author: jwilhelm Date: 2014-09-03 09:23 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/09e9e5240710 8037925: CMM Testing: an allocated humongous object at the end of the heap should not prevents shrinking the heap Summary: New test added. Reviewed-by: ehelin, tschatzl, jwilhelm Contributed-by: andrey.x.zakharov at oracle.com ! test/TEST.groups + test/gc/g1/TestHumongousShrinkHeap.java Changeset: b1266b08b994 Author: tschatzl Date: 2014-09-03 09:24 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b1266b08b994 8056043: Heap does not shrink within the heap after JDK-8038423 Summary: Enable shrinking within the heap by removing some code added for JDK-8054818. Enable the test case that checks that again too. Reviewed-by: jwilhelm, jmasa ! src/share/vm/gc_implementation/g1/heapRegionManager.cpp ! test/gc/g1/TestHumongousShrinkHeap.java Changeset: 14b8221771dc Author: tschatzl Date: 2014-09-03 09:25 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/14b8221771dc Merge ! src/share/vm/oops/instanceKlass.cpp Changeset: d2c5fee67143 Author: thartmann Date: 2014-08-29 10:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d2c5fee67143 8055657: Test compiler/classUnloading/methodUnloading/TestMethodUnloading.java does not work with non-default GC Summary: Remove the '-XX:+UseParallelGC' parameter from the test because it is conflicting with other GC settings. Reviewed-by: kvn ! test/compiler/classUnloading/methodUnloading/TestMethodUnloading.java Changeset: c35aec39d08e Author: anoll Date: 2014-09-03 08:44 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c35aec39d08e Merge Changeset: edb5f3b38aab Author: tschatzl Date: 2014-08-28 17:05 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/edb5f3b38aab 8054808: Bitmap verification sometimes fails after Full GC aborts concurrent mark. Summary: The verification code that checked whether no bitmap mark had been found re-read HeapRegion::end() after the check on the bitmap. Concurrent humongous object allocation could have changed HeapRegion::end() in the meantime. Fix this by using the actual end of the region instead of HeapRegion::end() for comparison. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp Changeset: a178c2e6f85f Author: amurillo Date: 2014-09-02 11:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a178c2e6f85f Merge ! .hgtags ! make/hotspot_version ! src/share/vm/runtime/arguments.cpp Changeset: 7430aa5718a5 Author: amurillo Date: 2014-09-03 08:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7430aa5718a5 Merge ! make/hotspot_version ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 622c6e0ad4d6 Author: ccheung Date: 2014-08-25 00:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/622c6e0ad4d6 8048150: Allow easy configurations for large CDS archives Summary: Estimate the size of shared archive based on the number of classes in the classlist file Reviewed-by: iklam, jiangli, minqi, dholmes ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/metaspaceShared.hpp Changeset: b23a19cd0536 Author: ccheung Date: 2014-08-27 10:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b23a19cd0536 8056175: Change "8048150: Allow easy configurations for large CDS archives" triggers conversion warning with older GCC Summary: cast the result of the conversion to uintx Reviewed-by: ccheung, coleenp Contributed-by: volker.simonis at gmail.com ! src/share/vm/memory/metaspaceShared.hpp Changeset: 4c7dd94cdc07 Author: ccheung Date: 2014-09-03 21:20 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4c7dd94cdc07 Merge Changeset: 66d359ee9681 Author: tschatzl Date: 2014-09-03 17:01 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/66d359ee9681 8057143: Incomplete renaming of variables containing "hrs" to "hrm" related to HeapRegionSeq Summary: Fixup the remaining variable names. Reviewed-by: tonyp, jwilhelm ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Changeset: 966601b12d4f Author: sla Date: 2014-09-04 11:21 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/966601b12d4f 8057535: add a thread extension class Reviewed-by: mgerdin, bdelsart, jcoomes ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp + src/share/vm/runtime/thread_ext.cpp + src/share/vm/runtime/thread_ext.hpp ! src/share/vm/services/management.cpp Changeset: 017b0145f20c Author: gtriantafill Date: 2014-08-12 14:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/017b0145f20c 8054952: [TESTBUG] Add missing NMT2 tests Summary: The new NMT2 tests got lost on the way into jdk9 yesterday, this change adds them. Reviewed-by: coleenp, zgu, ctornqvi + test/runtime/NMT/AutoshutdownNMT.java + test/runtime/NMT/JcmdBaselineDetail.java + test/runtime/NMT/JcmdDetailDiff.java + test/runtime/NMT/JcmdScaleDetail.java + test/runtime/NMT/JcmdSummaryDiff.java + test/runtime/NMT/MallocRoundingReportTest.java + test/runtime/NMT/MallocSiteHashOverflow.java + test/runtime/NMT/MallocStressTest.java + test/runtime/NMT/ReleaseNoCommit.java + test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java Changeset: f5164941749c Author: zgu Date: 2014-08-14 13:15 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f5164941749c 8054547: Re-enable warning for incompatible java launcher Summary: Re-enabled warning as launcher change reached promotion build Reviewed-by: hseigel, coleenp ! src/share/vm/runtime/arguments.cpp Changeset: 6640f982c1be Author: gtriantafill Date: 2014-09-04 10:14 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6640f982c1be 8054711: [TESTBUG] Enable NMT2 tests after NMT2 is integrated Summary: enable tests for NMT2 Reviewed-by: ctornqvi, zgu ! test/runtime/NMT/AutoshutdownNMT.java ! test/runtime/NMT/BaselineWithParameter.java ! test/runtime/NMT/CommandLineDetail.java ! test/runtime/NMT/CommandLineEmptyArgument.java ! test/runtime/NMT/CommandLineInvalidArgument.java ! test/runtime/NMT/CommandLineSummary.java ! test/runtime/NMT/CommandLineTurnOffNMT.java ! test/runtime/NMT/JcmdBaselineDetail.java ! test/runtime/NMT/JcmdScale.java ! test/runtime/NMT/JcmdScaleDetail.java ! test/runtime/NMT/JcmdSummaryDiff.java ! test/runtime/NMT/JcmdWithNMTDisabled.java ! test/runtime/NMT/MallocRoundingReportTest.java ! test/runtime/NMT/MallocTestType.java ! test/runtime/NMT/PrintNMTStatistics.java ! test/runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java ! test/runtime/NMT/ReleaseCommittedMemory.java ! test/runtime/NMT/ReleaseNoCommit.java ! test/runtime/NMT/ShutdownTwice.java ! test/runtime/NMT/SummaryAfterShutdown.java ! test/runtime/NMT/SummarySanityCheck.java ! test/runtime/NMT/ThreadedMallocTestType.java ! test/runtime/NMT/ThreadedVirtualAllocTestType.java ! test/runtime/NMT/VirtualAllocTestType.java Changeset: acb20c734237 Author: gtriantafill Date: 2014-08-19 06:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/acb20c734237 8055051: runtime/NMT/CommandLineEmptyArgument.java fails Summary: disable failing test Reviewed-by: ctornqvi, zgu ! test/runtime/NMT/CommandLineEmptyArgument.java Changeset: 19fc73d027a6 Author: gtriantafill Date: 2014-08-22 06:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/19fc73d027a6 8055052: [TESTBUG] runtime/NMT/JcmdDetailDiff.java fails on Windows when there are no debug symbols available Reviewed-by: ctornqvi, hseigel ! test/runtime/NMT/JcmdDetailDiff.java Changeset: 3670c195cb8b Author: gtriantafill Date: 2014-08-22 07:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3670c195cb8b 8055053: [TESTBUG] runtime/NMT/VirtualAllocCommitUncommitRecommit.java fails Reviewed-by: ctornqvi, zgu ! test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java Changeset: b28ee41fbecb Author: gtriantafill Date: 2014-08-21 14:37 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b28ee41fbecb 8055684: runtime/NMT/CommandLineEmptyArgument.java fails Reviewed-by: ctornqvi, sla ! test/runtime/NMT/CommandLineEmptyArgument.java Changeset: 3f9ff5e261c6 Author: gtriantafill Date: 2014-08-22 06:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3f9ff5e261c6 8055765: Misplaced @key stress prevents MallocSiteHashOverflow.java and MallocStressTest.java tests from running Reviewed-by: ctornqvi, zgu, hseigel ! test/runtime/NMT/MallocSiteHashOverflow.java ! test/runtime/NMT/MallocStressTest.java Changeset: 1202792c966e Author: jcoomes Date: 2014-09-04 09:37 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1202792c966e 8054970: gc src file exclusion should exclude alternative sources Reviewed-by: ehelin, stefank ! make/excludeSrc.make Changeset: 8ec8971f511a Author: jcoomes Date: 2014-09-04 16:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8ec8971f511a 8057531: refactor gc argument processing code slightly Reviewed-by: mgerdin, tschatzl, jmasa ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 227a9e5e4b4a Author: sjohanss Date: 2014-09-05 09:49 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/227a9e5e4b4a 8057536: Refactor G1 to allow context specific allocations Summary: Splitting out a g1 allocator class to simply specialized allocators which can associate each allocation with a given context. Reviewed-by: mgerdin, brutisso + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1Allocator.java ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java ! src/share/vm/gc_implementation/g1/g1AllocRegion.cpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp + src/share/vm/gc_implementation/g1/g1AllocationContext.hpp + src/share/vm/gc_implementation/g1/g1Allocator.cpp + src/share/vm/gc_implementation/g1/g1Allocator.hpp + src/share/vm/gc_implementation/g1/g1Allocator_ext.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1ParScanThreadState.cpp ! src/share/vm/gc_implementation/g1/g1ParScanThreadState.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.hpp ! src/share/vm/runtime/vm_operations.hpp Changeset: fe392af93c23 Author: iignatyev Date: 2014-08-27 17:09 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fe392af93c23 8056072: add jprt_optimized targets Reviewed-by: kvn, roland ! make/Makefile ! make/jprt.gmk ! make/jprt.properties Changeset: ddda5de93db5 Author: iignatyev Date: 2014-08-28 23:30 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ddda5de93db5 8056223: typo in export_optimized_jdk Reviewed-by: kvn ! make/Makefile Changeset: 9be4ca335650 Author: jwilhelm Date: 2014-09-05 00:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9be4ca335650 8056056: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile Summary: Remove unnecessary inclusion of HS_ALT_MAKE from solaris Makefile Reviewed-by: erikj, dholmes ! make/solaris/Makefile Changeset: 76af788b6c16 Author: jcoomes Date: 2014-09-05 12:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/76af788b6c16 8057623: add an extension class for argument handling Reviewed-by: brutisso, mgerdin, tschatzl ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp - src/share/vm/runtime/arguments_ext.cpp + src/share/vm/runtime/arguments_ext.hpp Changeset: c9635cad4a5d Author: amurillo Date: 2014-09-05 15:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c9635cad4a5d Merge - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java ! make/solaris/Makefile - src/share/vm/gc_implementation/g1/heapRegionSeq.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.hpp - src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp - src/share/vm/runtime/arguments_ext.cpp Changeset: 232b50b20797 Author: amurillo Date: 2014-09-05 15:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/232b50b20797 Added tag hs25.40-b09 for changeset c9635cad4a5d ! .hgtags Changeset: fe1f65b0a2d8 Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fe1f65b0a2d8 Added tag jdk8u40-b05 for changeset 232b50b20797 ! .hgtags Changeset: 7ff83df6c85a Author: amurillo Date: 2014-09-05 15:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7ff83df6c85a 8057649: new hotspot build - hs25.40-b10 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 91cb3b8aac2b Author: thartmann Date: 2014-08-19 07:36 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/91cb3b8aac2b 8048879: "unexpected yanked node" opto/postaloc.cpp:139 Summary: MemBarAcquireNode prevents deletion of dead LoadNNode. Added condition to 'has_special_unique_user' to trigger deletion. Reviewed-by: kvn, iveresov ! src/share/vm/opto/node.cpp + test/compiler/membars/TestMemBarAcquire.java Changeset: 2545e461115b Author: sla Date: 2014-05-30 19:13 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2545e461115b 8044398: Attach code should propagate errors in Diagnostic Commands as errors Reviewed-by: dcubed, mgronlun ! src/share/vm/services/attachListener.cpp Changeset: 47e3110c47e8 Author: coleenp Date: 2014-09-05 16:01 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/47e3110c47e8 6642881: Improve performance of Class.getClassLoader() Summary: Add classLoader to java/lang/Class instance for fast access Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, jfranck ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/arrayKlass.cpp ! src/share/vm/oops/klass.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 99f0593d8c9f Author: coleenp Date: 2014-09-08 14:13 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/99f0593d8c9f Merge - src/share/vm/runtime/arguments_ext.cpp Changeset: d35872270666 Author: sjohanss Date: 2014-09-09 00:05 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d35872270666 8057658: Enable G1 FullGC extensions Summary: Refactored the G1 FullGC code to enable it to be extended. Reviewed-by: mgerdin, brutisso ! src/share/vm/gc_implementation/g1/g1Allocator.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.hpp + src/share/vm/gc_implementation/g1/g1MarkSweep_ext.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionManager.cpp ! src/share/vm/memory/space.hpp Changeset: b384ba33c9a0 Author: kvn Date: 2014-07-17 15:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b384ba33c9a0 8050942: PPC64: implement template interpreter for ppc64le Reviewed-by: kvn, goetz Contributed-by: asmundak at google.com ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interp_masm_ppc_64.hpp ! src/cpu/ppc/vm/templateInterpreter_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp Changeset: 2219e830b668 Author: kvn Date: 2014-09-08 23:01 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2219e830b668 Merge Changeset: d8847542f83a Author: kvn Date: 2014-08-13 13:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d8847542f83a 8054927: Missing MemNode::acquire ordering in some volatile Load nodes Summary: Fixed memory ordering parameter and added missing barriers for volatile loads. Reviewed-by: roland, iveresov ! src/share/vm/opto/library_call.cpp Changeset: d635fd1ac81c Author: iveresov Date: 2014-09-08 18:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d635fd1ac81c 8056124: Hotspot should use PICL interface to get cacheline size on SPARC Summary: Using libpicl to get L1 data and L2 cache line sizes Reviewed-by: kvn, roland, morris ! make/solaris/makefiles/vm.make ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/os_cpu/solaris_sparc/vm/vm_version_solaris_sparc.cpp Changeset: 3153adbad1e9 Author: iveresov Date: 2014-09-09 01:58 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3153adbad1e9 Merge Changeset: 5248357b7113 Author: sjohanss Date: 2014-09-09 04:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5248357b7113 8057710: Refactor G1 heap region default sizes Summary: Refactored the defines to instead be static const in a HeapRegionBounds class. Reviewed-by: mgerdin, tschatzl ! src/share/vm/gc_implementation/g1/heapRegion.cpp + src/share/vm/gc_implementation/g1/heapRegionBounds.hpp + src/share/vm/gc_implementation/g1/heapRegionBounds.inline.hpp Changeset: 63bae08b051e Author: kvn Date: 2014-09-04 23:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/63bae08b051e 8057643: Unable to build --with-debug-level=optimized on OSX Summary: Added missing Hotspot make targets for 'optimized' build. Reviewed-by: iveresov ! make/Makefile ! make/bsd/makefiles/universal.gmk Changeset: b6978881f5af Author: kvn Date: 2014-09-09 06:29 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b6978881f5af Merge Changeset: 17d3ee6e9d3c Author: fzhinkin Date: 2014-09-08 20:32 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/17d3ee6e9d3c 8056091: Move compiler/intrinsics/mathexact/sanity/Verifier to compiler/testlibrary and extend its functionality Reviewed-by: kvn, iignatyev ! test/compiler/intrinsics/mathexact/sanity/AddExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/AddExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/DecrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/IncrementExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/MultiplyExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/NegateExactLongTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactIntTest.java ! test/compiler/intrinsics/mathexact/sanity/SubtractExactLongTest.java - test/compiler/intrinsics/mathexact/sanity/Verifier.java + test/compiler/testlibrary/intrinsics/Verifier.java Changeset: fe6dafcd8ed0 Author: fzhinkin Date: 2014-09-03 15:29 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fe6dafcd8ed0 8055904: Develop tests for new command-line options related to SHA intrinsics Reviewed-by: kvn, iignatyev + test/compiler/intrinsics/sha/cli/SHAOptionsBase.java + test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java + test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java + test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java + test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForSupportedSparcCPU.java + test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForUnsupportedSparcCPU.java + test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForUnsupportedX86CPU.java + test/compiler/intrinsics/sha/cli/testcases/UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU.java + test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForSupportedSparcCPU.java + test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForUnsupportedSparcCPU.java Changeset: 4d8781a35525 Author: fzhinkin Date: 2014-09-03 15:26 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4d8781a35525 8055903: Develop sanity tests on SPARC's SHA instructions support Reviewed-by: kvn, iignatyev + test/compiler/intrinsics/sha/sanity/SHASanityTestBase.java + test/compiler/intrinsics/sha/sanity/TestSHA1Intrinsics.java + test/compiler/intrinsics/sha/sanity/TestSHA1MultiBlockIntrinsics.java + test/compiler/intrinsics/sha/sanity/TestSHA256Intrinsics.java + test/compiler/intrinsics/sha/sanity/TestSHA256MultiBlockIntrinsics.java + test/compiler/intrinsics/sha/sanity/TestSHA512Intrinsics.java + test/compiler/intrinsics/sha/sanity/TestSHA512MultiBlockIntrinsics.java + test/compiler/testlibrary/sha/predicate/IntrinsicPredicates.java Changeset: 14b356bbca27 Author: zmajo Date: 2014-08-29 15:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/14b356bbca27 8055286: Extend CompileCommand=option to handle numeric parameters Summary: Changed CompileCommand=option to handle "extended" parameters: Klass::method,type,flag,value. Types supported are bool, intx, and uintx. Reviewed-by: kvn, roland ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/compiler/compilerOracle.hpp Changeset: 119875f0fc67 Author: kvn Date: 2014-09-02 10:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/119875f0fc67 8056964: JDK-8055286 changes are incomplete. Summary: added ccstr and ccstrlist types to compilerOracle 'option' command Reviewed-by: roland ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/opto/compile.hpp Changeset: e09c0676c53f Author: simonis Date: 2014-09-03 14:39 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e09c0676c53f 8057129: Fix AIX build after the Extend CompileCommand=option change 8055286 Reviewed-by: kvn ! src/share/vm/compiler/compilerOracle.cpp Changeset: aff6ccb506cb Author: iveresov Date: 2014-09-05 14:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/aff6ccb506cb 8056154: JVM crash with EXCEPTION_ACCESS_VIOLATION when there are many threads running Summary: Don't make compiled MH intrinsics not entrant when redefining classes Reviewed-by: kvn, vlivanov ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/nmethod.hpp Changeset: 2e6106d44079 Author: iveresov Date: 2014-09-08 11:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2e6106d44079 8057750: CTW should not make MH intrinsics not entrant Summary: Do not make MH intrinsics not entrant in CTW Reviewed-by: kvn, vlivanov ! src/share/vm/classfile/classLoader.cpp Changeset: 2d9cef76b5a6 Author: iveresov Date: 2014-09-09 18:20 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2d9cef76b5a6 Merge Changeset: 094cbdffa87d Author: drchase Date: 2014-08-29 19:45 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/094cbdffa87d 8054292: code comments leak in fastdebug builds Summary: Added deallocation to destructor; hardened interface against misuse Reviewed-by: kvn ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/interpreter/interpreter.hpp Changeset: 1d8193e4e2a3 Author: drchase Date: 2014-09-09 18:23 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1d8193e4e2a3 Merge Changeset: bddcb33dadf4 Author: drchase Date: 2014-09-09 19:18 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bddcb33dadf4 Merge Changeset: 166d744df0de Author: kvn Date: 2014-09-02 12:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/166d744df0de 8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method Summary: Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM. Reviewed-by: roland ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/share/vm/asm/register.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/vmStructs.cpp + test/compiler/intrinsics/multiplytolen/TestMultiplyToLen.java Changeset: f6f9aec27858 Author: rbackman Date: 2014-09-10 12:39 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f6f9aec27858 8030976: Untaken paths should be more vigorously pruned at highest optimization level Reviewed-by: roland, vlivanov ! src/share/vm/oops/methodData.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 42460b71ba70 Author: rbackman Date: 2014-06-23 13:33 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/42460b71ba70 8046289: compiler/6340864/TestLongVect.java timeout with Reviewed-by: iveresov, vlivanov ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp Changeset: 4874332f9799 Author: roland Date: 2014-09-09 15:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4874332f9799 8057758: Tests run TypeProfileLevel=222 crash with guarantee(0) failed: must find derived/base pair Summary: Use TypeAryPtr::INT type with offset 0 in inline_multiplyToLen(). Reviewed-by: kvn, iveresov ! src/share/vm/opto/library_call.cpp Changeset: 4edd7572c235 Author: gtriantafill Date: 2014-09-09 09:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4edd7572c235 8054836: [TESTBUG] Test is needed to verify correctness of malloc tracking Reviewed-by: ctornqvi, lfoltan ! test/TEST.groups + test/runtime/NMT/MallocTrackingVerify.java Changeset: 64b480f9eb1a Author: ctornqvi Date: 2014-09-10 17:36 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/64b480f9eb1a Merge Changeset: fd9feb55481c Author: ctornqvi Date: 2014-09-10 19:05 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fd9feb55481c Merge Changeset: e5668dcf12e9 Author: jcoomes Date: 2014-09-10 13:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e5668dcf12e9 8057818: collect allocation context statistics at gc pauses Reviewed-by: mikael, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1AllocationContext.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp Changeset: c10b463abc6e Author: jcoomes Date: 2014-09-10 13:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c10b463abc6e 8057824: methods to copy allocation context statistics Reviewed-by: mikael, jmasa, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp + src/share/vm/gc_implementation/g1/g1CollectedHeap_ext.cpp ! src/share/vm/gc_interface/collectedHeap.hpp Changeset: fc2c88ea11a9 Author: drchase Date: 2014-07-11 19:51 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fc2c88ea11a9 8036588: VerifyFieldClosure fails instanceKlass:3133 Summary: Changed deopt live-pointer test to use returns-object instead of live-and-returns-object Reviewed-by: iveresov, kvn, jrose ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/output.cpp Changeset: de58d17d9848 Author: drchase Date: 2014-09-10 21:25 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/de58d17d9848 Merge Changeset: 2402de236865 Author: drchase Date: 2014-09-10 21:45 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2402de236865 Merge Changeset: fa6c442c59ee Author: jcoomes Date: 2014-09-10 16:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fa6c442c59ee 8057827: notify an obj when allocation context stats are available Reviewed-by: mikael, jmasa, tschatzl ! src/share/vm/gc_implementation/g1/g1AllocationContext.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/memory/universe.inline.hpp ! src/share/vm/runtime/serviceThread.cpp + src/share/vm/services/allocationContextService.hpp Changeset: e2452c3ff7fb Author: sjohanss Date: 2014-09-08 15:24 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e2452c3ff7fb 8057752: WhiteBox extension support for testing Summary: Refactored parts of whitebox.cpp to enable registration of whitebox methods defined outside this file. Reviewed-by: mikael, ctornqvi, jmasa ! src/share/vm/prims/whitebox.cpp ! src/share/vm/prims/whitebox.hpp + src/share/vm/prims/whitebox_ext.cpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: f8afcfbdbf1c Author: roland Date: 2014-08-02 07:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f8afcfbdbf1c 8046698: assert(false) failed: only Initialize or AddP expected macro.cpp:943 Summary: PhiNode inserted between AllocateNode and Initialization node confuses allocation elimination Reviewed-by: kvn ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/macro.cpp + test/compiler/macronodes/TestEliminateAllocationPhi.java Changeset: be56d800c946 Author: roland Date: 2014-08-11 15:09 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/be56d800c946 8054224: Recursive method that was compiled by C1 is unable to catch StackOverflowError Summary: do not update exception cache if exception is replaced when thrown Reviewed-by: kvn, iveresov ! src/share/vm/c1/c1_Runtime1.cpp + test/compiler/exceptions/TestRecursiveReplacedException.java Changeset: b186a900f63a Author: roland Date: 2014-08-27 17:37 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b186a900f63a 8055946: assert(result == NULL || result->is_oop()) failed: must be oop Summary: caller of popped frame doesn't have valid result during deoptimization Reviewed-by: kvn ! src/share/vm/runtime/deoptimization.cpp Changeset: 07f629123254 Author: kvn Date: 2014-09-11 15:41 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/07f629123254 Merge Changeset: 64156d22e49d Author: dsamersoff Date: 2014-09-11 11:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/64156d22e49d 8032247: SA: Constantpool lookup for invokedynamic is not implemented Summary: implement constant pool lookup for invokedynamic Reviewed-by: sla, sspitsyn ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPool.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ByteCodeRewriter.java Changeset: 631667807de7 Author: iveresov Date: 2014-09-11 12:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/631667807de7 8058184: Move _highest_comp_level and _highest_osr_comp_level from MethodData to MethodCounters Summary: Tiered policy requires highest compilation levels always available Reviewed-by: kvn, vlivanov ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodCounters.cpp ! src/share/vm/oops/methodCounters.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp Changeset: 0d78074d2444 Author: iveresov Date: 2014-09-10 19:08 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0d78074d2444 8058092: Test vm/mlvm/meth/stress/compiler/deoptimize. Assert in src/share/vm/classfile/systemDictionary.cpp: MH intrinsic invariant Summary: Throw exception if unable to compile an MH intrinsic Reviewed-by: kvn ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/runtime/arguments.hpp Changeset: a98dd542cd25 Author: iveresov Date: 2014-09-11 20:56 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a98dd542cd25 Merge Changeset: df66e3a3c4c2 Author: jwilhelm Date: 2014-09-11 14:21 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/df66e3a3c4c2 8041946: CMM Testing: 8u40 an allocated humongous object at the end of the heap should not prevents shrinking the heap Summary: New test added Reviewed-by: jwilhelm, tschatzl Contributed-by: andrey.x.zakharov at oracle.com + test/gc/g1/TestShrinkDefragmentedHeap.java Changeset: 9b8bd21b6823 Author: jwilhelm Date: 2014-09-11 14:21 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9b8bd21b6823 8056237: [TESTBUG] gc/g1/TestHumongousShrinkHeap.java fails due to OOM Summary: Added respect for available memory. Renamed function names Reviewed-by: jwilhelm, tschatzl Contributed-by: andrey.x.zakharov at oracle.com ! test/gc/g1/TestHumongousShrinkHeap.java Changeset: dce3f772de9f Author: jcoomes Date: 2014-09-11 17:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dce3f772de9f 8058235: identify GCs initiated to update allocation context stats Reviewed-by: mikael, sjohanss ! src/share/vm/gc_interface/gcCause.cpp ! src/share/vm/gc_interface/gcCause.hpp Changeset: ed3d653e4012 Author: zgu Date: 2014-09-04 14:50 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ed3d653e4012 8055289: Internal Error: mallocTracker.cpp:146 fatal error: Should not use malloc for big memory block, use virtual memory instead Summary: Return NULL if memory allocation size is bigger than MAX_MALLOC_SIZE when NMT is on Reviewed-by: coleenp, gtriantafill ! src/share/vm/runtime/os.cpp ! test/TEST.groups + test/runtime/NMT/UnsafeMallocLimit.java Changeset: b2029969cc16 Author: coleenp Date: 2014-09-12 01:04 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b2029969cc16 Merge Changeset: 7301840ea20e Author: vlivanov Date: 2014-03-11 15:06 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7301840ea20e 8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock Reviewed-by: kvn, iveresov ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp Changeset: 46f9331baed5 Author: vlivanov Date: 2014-03-04 02:23 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/46f9331baed5 8025842: Convert warning("Thread holding lock at safepoint that vm can block on") to fatal(...) Reviewed-by: iveresov, roland, coleenp ! src/share/vm/runtime/thread.cpp Changeset: 134f18d0174b Author: vlivanov Date: 2014-05-29 09:41 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/134f18d0174b 8034935: JSR 292 support for PopFrame has a fragile coupling with DirectMethodHandle Reviewed-by: twisti, jrose, sspitsyn ! src/share/vm/interpreter/interpreterRuntime.cpp Changeset: 1de115720e74 Author: vlivanov Date: 2014-07-14 03:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1de115720e74 8049528: Method marked w/ @ForceInline isn't inlined with "executed < MinInliningThreshold times" message Reviewed-by: roland, jrose ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/parse.hpp Changeset: dd89808e49ba Author: vlivanov Date: 2014-07-14 03:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dd89808e49ba 8049530: Provide descriptive failure reason for compilation tasks removed for the queue Reviewed-by: roland, iveresov ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp Changeset: bc4ce33c0985 Author: vlivanov Date: 2014-07-14 03:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bc4ce33c0985 8049529: LogCompilation: annotate make_not_compilable with compilation level Reviewed-by: roland, iveresov ! src/share/vm/oops/method.cpp Changeset: 945284eb609f Author: vlivanov Date: 2014-07-14 03:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/945284eb609f 8049532: LogCompilation: C1: inlining tree is flat (no depth is stored) Reviewed-by: roland, iveresov ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: 5627633fc830 Author: vlivanov Date: 2014-07-14 03:29 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5627633fc830 8048703: ReplacedNodes dumps it's content to tty Reviewed-by: roland, iveresov, drchase ! src/share/vm/opto/replacednodes.cpp Changeset: 47ec483b936e Author: amurillo Date: 2014-09-12 13:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/47ec483b936e Merge - test/compiler/intrinsics/mathexact/sanity/Verifier.java Changeset: 3702eb6ec708 Author: amurillo Date: 2014-09-12 13:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3702eb6ec708 Added tag hs25.40-b10 for changeset 47ec483b936e ! .hgtags Changeset: 77f55b2e43ae Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/77f55b2e43ae Added tag jdk8u40-b06 for changeset 3702eb6ec708 ! .hgtags Changeset: 20c3c41c2b99 Author: amurillo Date: 2014-09-12 13:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/20c3c41c2b99 8058275: new hotspot build - hs25.40-b11 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 7dca5ed0e13d Author: dholmes Date: 2014-09-02 21:27 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7dca5ed0e13d 8046210: Missing memory barrier when reading init_lock Reviewed-by: fparain, dcubed, mdoerr Contributed-by: Bill Pittore ! src/share/vm/oops/instanceKlass.cpp Changeset: 00448aa81791 Author: stefank Date: 2014-09-16 11:03 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/00448aa81791 8058481: Test gc/class_unloading/TestCMSClassUnloadingDisabledHWM.java was removed, but TEST.groups still refers to it Reviewed-by: tschatzl, fzhinkin, mgerdin ! test/TEST.groups Changeset: 07e01043ade7 Author: thartmann Date: 2014-06-24 08:12 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/07e01043ade7 8035328: closed/compiler/6595044/Main.java failed with timeout Summary: Patch call sites of non-entrant methods to avoid re-resolving if method is still executed. Reviewed-by: kvn ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 33acb0c42664 Author: thartmann Date: 2014-06-11 09:16 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/33acb0c42664 8044538: assert(which != imm_operand) failed: instruction is not a movq reg, imm64 Summary: Fixed internal_word_Relocation::target() to not retrieve target address from code if relocation points into the constant section. Added test. Reviewed-by: kvn ! src/share/vm/code/relocInfo.cpp + test/compiler/relocations/TestPrintRelocations.java Changeset: c02ec279b062 Author: brutisso Date: 2014-09-16 14:27 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c02ec279b062 8057768: Make heap region region type in G1 HeapRegion explicit Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1HotCardCache.cpp ! src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionSet.hpp + src/share/vm/gc_implementation/g1/heapRegionType.cpp + src/share/vm/gc_implementation/g1/heapRegionType.hpp Changeset: bdd2310490aa Author: brutisso Date: 2014-09-16 13:30 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bdd2310490aa Merge Changeset: be71c49ae55a Author: gtriantafill Date: 2014-09-17 05:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/be71c49ae55a 8056263: [TESTBUG] Re-enable NMTWithCDS.java test Reviewed-by: lfoltan, hseigel ! test/runtime/NMT/NMTWithCDS.java Changeset: 4489ac5b084a Author: amurillo Date: 2014-09-19 02:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4489ac5b084a Merge Changeset: b63d0e8bfc07 Author: amurillo Date: 2014-09-19 02:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b63d0e8bfc07 Added tag hs25.40-b11 for changeset 4489ac5b084a ! .hgtags Changeset: 5dc11309d4c6 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5dc11309d4c6 Added tag jdk8u40-b07 for changeset b63d0e8bfc07 ! .hgtags Changeset: 88467a76a382 Author: amurillo Date: 2014-09-19 02:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/88467a76a382 8058798: new hotspot build - hs25.40-b12 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 9c8439756c05 Author: mseledtsov Date: 2014-09-19 11:12 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9c8439756c05 8052313: Backport CDS tests from JDK-9 to jdk8_u40 Summary: Copied CDS tests from jdk-9 to jdk8u40 Reviewed-by: ccheung, dholmes + test/runtime/SharedArchiveFile/ArchiveDoesNotExist.java ! test/runtime/SharedArchiveFile/CdsDifferentObjectAlignment.java + test/runtime/SharedArchiveFile/DefaultUseWithClient.java + test/runtime/SharedArchiveFile/LimitSharedSizes.java + test/runtime/SharedArchiveFile/SharedBaseAddress.java + test/runtime/SharedArchiveFile/SpaceUtilizationCheck.java Changeset: 966205f0e717 Author: iveresov Date: 2014-09-19 11:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/966205f0e717 8058564: Tiered compilation performance drop in PIT Summary: Ensure MethodCounters are created before method is enqueued for compilation Reviewed-by: kvn, drchase, jiangli, roland ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp Changeset: 97ad90b2712c Author: sla Date: 2014-09-24 09:49 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/97ad90b2712c 8058936: hotspot/test/Makefile should use jtreg script from $JT_HOME/bin/jreg (instead of $JT_HOME/win32/bin/jtreg) Reviewed-by: dholmes, stefank ! test/Makefile Changeset: a60a1309a03a Author: iveresov Date: 2014-09-23 15:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a60a1309a03a 8058744: Crash in C1 OSRed method w/ Unsafe usage Summary: Fix UnsafeRawOp optimizations Reviewed-by: kvn, drchase, vlivanov ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: 50d3433155d9 Author: iveresov Date: 2014-09-23 17:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/50d3433155d9 8059002: 8058744 needs a test case Summary: Added a test case the UnsafeRawOp intrinsics Reviewed-by: kvn + test/compiler/unsafe/UnsafeRaw.java Changeset: 152cf4afc11f Author: mgerdin Date: 2014-08-29 13:08 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/152cf4afc11f 8056084: Refactor Hashtable to allow implementations without rehashing support Reviewed-by: gziemski, jmasa, brutisso, coleenp, tschatzl ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/hashtable.hpp Changeset: 7baf47cb97cb Author: mgerdin Date: 2014-08-29 13:12 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7baf47cb97cb 8048268: G1 Code Root Migration performs poorly Summary: Replace G1CodeRootSet with a Hashtable based implementation, merge Code Root Migration phase into Code Root Scanning Reviewed-by: jmasa, brutisso, tschatzl ! src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp ! src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/utilities/hashtable.cpp Changeset: 58925d1f325e Author: mgerdin Date: 2014-09-08 17:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/58925d1f325e 8057722: G1: Code root hashtable updated incorrectly when evacuation failed Reviewed-by: brutisso, jwilhelm ! src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp Changeset: 318cc6fdae90 Author: morris Date: 2014-09-18 11:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/318cc6fdae90 8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check Summary: Provide promoted stack slots for floating-point registers in the SPARC c_calling_convention. Reviewed-by: kvn, jrose, drchase ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad Changeset: 5c1b5be2c69b Author: amurillo Date: 2014-09-26 03:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5c1b5be2c69b Merge Changeset: 905a16825d29 Author: amurillo Date: 2014-09-26 03:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/905a16825d29 Added tag hs25.40-b12 for changeset 5c1b5be2c69b ! .hgtags Changeset: 43aaf8ca42ac Author: asaha Date: 2014-10-01 07:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/43aaf8ca42ac Added tag jdk8u40-b08 for changeset 905a16825d29 ! .hgtags Changeset: 46ffdf376cb5 Author: amurillo Date: 2014-09-26 03:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/46ffdf376cb5 8059204: new hotspot build - hs25.40-b13 Reviewed-by: jcoomes ! make/hotspot_version Changeset: c204e2044c29 Author: mgronlun Date: 2014-09-29 13:12 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c204e2044c29 8038624: interpretedVFrame::expressions() must respect InterpreterOopMap for liveness Reviewed-by: coleenp, minqi ! src/share/vm/interpreter/oopMapCache.cpp ! src/share/vm/interpreter/oopMapCache.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp Changeset: 13dbe89e447c Author: iveresov Date: 2014-09-26 20:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/13dbe89e447c 8058536: java/lang/instrument/NativeMethodPrefixAgent.java fails due to VirtualMachineError: out of space in CodeCache for method handle intrinsic Summary: Make sure MH intrinsics can be created before compiler instances Reviewed-by: kvn ! src/share/vm/classfile/systemDictionary.cpp Changeset: fa56205f142c Author: tonyp Date: 2014-09-10 11:55 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fa56205f142c 8057799: Unnecessary NULL check in G1KeepAliveClosure Reviewed-by: tschatzl, stefank ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 6948da6d7c13 Author: tschatzl Date: 2014-09-30 09:44 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6948da6d7c13 8052172: Evacuation failure handling in G1 does not evacuate all objects if -XX:-G1DeferredRSUpdate is set Summary: Remove -XX:-G1DeferredRSUpdate functionality as it is racy. During evacuation failure handling, threads where evacuation failure handling occurred may try to add remembered sets to regions which remembered sets are currently being scanned. The iterator to handle the remembered set scan does not support addition of entries during scan and so may skip valid references. Reviewed-by: iveresov, brutisso, mgerdin ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1ParScanThreadState.hpp ! src/share/vm/gc_implementation/g1/g1ParScanThreadState.inline.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.inline.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp - test/gc/g1/TestDeferredRSUpdate.java Changeset: 8ba0078861d4 Author: jwilhelm Date: 2014-09-27 15:11 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8ba0078861d4 8047976: Ergonomics for GC thread counts should update the flags Summary: Ergonomics updates flags for number of GC threads Reviewed-by: tschatzl, jwilhelm Contributed-by: sangheon.kim at oracle.com ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/runtime/arguments.cpp + test/gc/arguments/TestG1ConcRefinementThreads.java Changeset: 2d6a3328ec99 Author: brutisso Date: 2014-09-30 08:29 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2d6a3328ec99 Merge Changeset: 43ce58b4717b Author: fzhinkin Date: 2014-10-02 11:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/43ce58b4717b 8059226: Names of rtm_state_change and unstable_if deoptimization reasons were swapped in 8u40 Summary: fixed order of DeoptReason values declaration so now it matches the order used in jdk9 and the names order in Deoptimization::_trap_reason_name. Reviewed-by: kvn ! src/share/vm/runtime/deoptimization.hpp Changeset: f6bde7889409 Author: goetz Date: 2014-10-02 09:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f6bde7889409 8059592: Recent bugfixes in ppc64 port. Reviewed-by: kvn ! make/aix/makefiles/fastdebug.make ! src/cpu/ppc/vm/assembler_ppc.hpp ! src/cpu/ppc/vm/assembler_ppc.inline.hpp ! src/cpu/ppc/vm/globalDefinitions_ppc.hpp ! src/cpu/ppc/vm/interp_masm_ppc_64.cpp ! src/cpu/ppc/vm/interpreter_ppc.cpp ! src/cpu/ppc/vm/macroAssembler_ppc.cpp ! src/cpu/ppc/vm/ppc.ad ! src/cpu/ppc/vm/stubGenerator_ppc.cpp ! src/cpu/ppc/vm/templateTable_ppc_64.cpp ! src/os_cpu/linux_ppc/vm/prefetch_linux_ppc.inline.hpp Changeset: 1ff288f0dae4 Author: coleenp Date: 2014-09-25 07:52 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1ff288f0dae4 8058818: Allocation of more then 1G of memory using Unsafe.allocateMemory is still causing a fatal error on 32bit platforms Summary: The assert was firing for NMT_Off and minimal too even though the size isn't used. Reviewed-by: gtriantafill, dholmes ! src/share/vm/services/mallocTracker.cpp + test/runtime/NMT/UnsafeMallocLimit2.java Changeset: dc8637067fc1 Author: coleenp Date: 2014-10-02 20:12 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dc8637067fc1 Merge Changeset: ff0986dac06d Author: coleenp Date: 2014-10-02 22:21 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ff0986dac06d Merge Changeset: 7d68a5b1069d Author: coleenp Date: 2014-09-26 12:50 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7d68a5b1069d 8058927: ATG throws ClassNotFoundException Summary: ClassLoader for array klass set to null and not the class loader of the component type. Reviewed-by: dcubed, ctornqvi ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/oops/arrayKlass.cpp + test/runtime/LoadClass/ShowClassLoader.java Changeset: 7dcde22f261f Author: coleenp Date: 2014-10-02 20:17 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7dcde22f261f Merge Changeset: a66c95853c53 Author: coleenp Date: 2014-10-02 23:10 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a66c95853c53 Merge Changeset: d96716f6cbba Author: amurillo Date: 2014-10-03 01:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d96716f6cbba Merge - test/gc/g1/TestDeferredRSUpdate.java Changeset: 7ff8d51e0d8f Author: amurillo Date: 2014-10-03 01:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7ff8d51e0d8f Added tag hs25.40-b13 for changeset d96716f6cbba ! .hgtags Changeset: 7c98ed8b60f5 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7c98ed8b60f5 Merge up to jdk8u40-b09 ! .hgtags + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionManager.java - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java ! make/Makefile ! make/bsd/makefiles/universal.gmk ! make/hotspot_version ! make/jprt.properties ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/asm/register.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/code/relocInfo.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp ! src/share/vm/gc_implementation/g1/g1AllocRegion.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1EvacFailure.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1RemSetSummary.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.hpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.cpp - src/share/vm/gc_implementation/g1/heapRegionSeq.hpp - src/share/vm/gc_implementation/g1/heapRegionSeq.inline.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/memory/freeList.cpp ! src/share/vm/memory/metadataFactory.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceShared.cpp ! src/share/vm/memory/metaspaceShared.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/machnode.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp - src/share/vm/runtime/arguments_ext.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/management.cpp ! src/share/vm/utilities/hashtable.cpp ! src/share/vm/utilities/ostream.cpp ! test/TEST.groups ! test/compiler/intrinsics/mathexact/sanity/IntrinsicBase.java - test/compiler/intrinsics/mathexact/sanity/Verifier.java - test/gc/g1/TestDeferredRSUpdate.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 89ebbc29144c Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-13 10:53 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/89ebbc29144c aarch64 specific changes for merge up to jdk8u40-b09 ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/vm_version_aarch64.cpp From ed at camswl.com Mon Oct 13 15:50:13 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:50:13 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/jaxp: 5 new changesets Message-ID: <201410131550.s9DFoDft022301@aojmv0008> Changeset: 50a2adfa57fc Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/50a2adfa57fc Added tag jdk8u40-b05 for changeset 8d60cebf6a0c ! .hgtags Changeset: b2210de1587b Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/b2210de1587b Added tag jdk8u40-b06 for changeset 50a2adfa57fc ! .hgtags Changeset: 641eb6543c71 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/641eb6543c71 Added tag jdk8u40-b07 for changeset b2210de1587b ! .hgtags Changeset: c45c0ee41600 Author: asaha Date: 2014-10-01 07:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/c45c0ee41600 Added tag jdk8u40-b08 for changeset 641eb6543c71 ! .hgtags Changeset: 0c2c5db3dfde Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/0c2c5db3dfde Merge up to jdk8u40-b09 ! .hgtags From ed at camswl.com Mon Oct 13 15:50:34 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:50:34 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/jaxws: 9 new changesets Message-ID: <201410131550.s9DFoYmA022390@aojmv0008> Changeset: f9ed0e45337a Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/f9ed0e45337a Added tag jdk8u40-b05 for changeset b904fcd66860 ! .hgtags Changeset: 121e938cb9c3 Author: aefimov Date: 2014-08-31 16:14 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/121e938cb9c3 8036981: JAXB not preserving formatting for xsd:any Mixed content Reviewed-by: lancea, mkos ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ArrayBeanInfoImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ValueListBeanInfoImpl.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayERProperty.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DefaultValueLoaderDecorator.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Discarder.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/DomLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/LeafPropertyXsiLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Loader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ProxyLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/SAXConnector.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/Scope.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/TextLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/UnmarshallingContext.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/ValuePropertyLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiNilLoader.java ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/XsiTypeLoader.java Changeset: 6d351e1d7820 Author: lana Date: 2014-09-02 14:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/6d351e1d7820 Merge Changeset: ac4b8aab489c Author: lana Date: 2014-09-09 11:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/ac4b8aab489c Merge Changeset: 52ae3094de1e Author: lana Date: 2014-09-11 17:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/52ae3094de1e Merge Changeset: 3857b4b27e22 Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/3857b4b27e22 Added tag jdk8u40-b06 for changeset 52ae3094de1e ! .hgtags Changeset: 304ea93428f8 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/304ea93428f8 Added tag jdk8u40-b07 for changeset 3857b4b27e22 ! .hgtags Changeset: 26529be4ae77 Author: asaha Date: 2014-10-01 07:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/26529be4ae77 Added tag jdk8u40-b08 for changeset 304ea93428f8 ! .hgtags Changeset: 23120da14d50 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:52 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxws/rev/23120da14d50 Merge up to jdk8u40-b09 ! .hgtags ! src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java From ed at camswl.com Mon Oct 13 15:50:58 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:50:58 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/langtools: 15 new changesets Message-ID: <201410131550.s9DFowI0022438@aojmv0008> Changeset: 398f1b5e8361 Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/398f1b5e8361 Added tag jdk8u40-b05 for changeset a36fce70b505 ! .hgtags Changeset: d560276b8a35 Author: mcimadamore Date: 2014-09-10 10:50 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/d560276b8a35 8051958: Cannot assign a value to final variable in lambda Summary: Remove Attr.owner and refactor code for detecting forward field references Reviewed-by: vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/8051958/T8051958.java Changeset: 0253e7cc98a4 Author: mcimadamore Date: 2014-09-10 10:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/0253e7cc98a4 8055514: Wrong, confusing error when non-static varargs referenced in static context Summary: Improved heuristics in MethodResolutionPhase.mergeResults() Reviewed-by: vromero ! src/share/classes/com/sun/tools/javac/comp/Resolve.java + test/tools/javac/varargs/8055514/T8055514.java + test/tools/javac/varargs/8055514/T8055514.out Changeset: 7c3d27120b92 Author: lana Date: 2014-09-11 17:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/7c3d27120b92 Merge Changeset: 2fa3858a281f Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/2fa3858a281f Added tag jdk8u40-b06 for changeset 7c3d27120b92 ! .hgtags Changeset: ed1a48bedfa8 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/ed1a48bedfa8 Added tag jdk8u40-b07 for changeset 2fa3858a281f ! .hgtags Changeset: c627efb5fdcd Author: jlahoda Date: 2014-09-08 10:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/c627efb5fdcd 8056014: Type inference may be skipped for a complex receiver generic method in a parameter position Summary: When checking if deferred attribution is needed for a chain of methods, stop on any method that returns any type variable, as the rest of analysis cannot use the correct type. Reviewed-by: mcimadamore, vromero ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/tools/javac/lambda/T8056014.java Changeset: ced008063508 Author: jlahoda Date: 2014-09-08 10:50 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/ced008063508 8056984: Exception in compiler: java.lang.AssertionError: isSubClass T Summary: Must use type variable's captured bound as a method receiver, instead of the type variable itself, while checking if deferred attribution is needed. Reviewed-by: mcimadamore, vromero ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/tools/javac/lambda/T8056984.java Changeset: 4ac623ddd8d0 Author: lana Date: 2014-09-16 14:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/4ac623ddd8d0 Merge Changeset: 58e7e71b302e Author: vromero Date: 2014-09-09 10:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/58e7e71b302e 8042347: javac, Gen.LVTAssignAnalyzer should be refactored, it shouldn't be a static class Reviewed-by: mcimadamore, jjg, jlahoda ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/util/Bits.java Changeset: 9a3e5ce68cef Author: vromero Date: 2014-07-09 10:49 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/9a3e5ce68cef 8033483: Should ignore nested lambda bodies during overload resolution Reviewed-by: mcimadamore, dlsmith ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java + test/tools/javac/lambda/T8033483/IgnoreLambdaBodyDuringResolutionTest1.java + test/tools/javac/lambda/T8033483/IgnoreLambdaBodyDuringResolutionTest1.out + test/tools/javac/lambda/T8033483/IgnoreLambdaBodyDuringResolutionTest2.java + test/tools/javac/lambda/T8033483/IgnoreLambdaBodyDuringResolutionTest2.out Changeset: 0ff5e3f8df45 Author: lana Date: 2014-09-22 18:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/0ff5e3f8df45 Merge Changeset: d3515520e68e Author: lana Date: 2014-09-25 11:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/d3515520e68e Merge Changeset: 8bb38a350722 Author: asaha Date: 2014-10-01 07:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/8bb38a350722 Added tag jdk8u40-b08 for changeset d3515520e68e ! .hgtags Changeset: b0b6a6b4c648 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:53 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/b0b6a6b4c648 Merge up to jdk8u40-b09 ! .hgtags ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java From ed at camswl.com Mon Oct 13 15:51:31 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:51:31 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/nashorn: 36 new changesets Message-ID: <201410131551.s9DFpVlR022510@aojmv0008> Changeset: 0a2b63f54b1c Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/0a2b63f54b1c Added tag jdk8u40-b05 for changeset 2d75c391f61f ! .hgtags Changeset: 46647c4943ff Author: attila Date: 2014-09-03 14:33 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/46647c4943ff 8056913: Limit the size of type info cache on disk Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/OptimisticTypesPersistence.java ! src/jdk/nashorn/internal/codegen/types/Type.java Changeset: b7a2db4de254 Author: hannesw Date: 2014-09-04 18:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/b7a2db4de254 8051889: Implement block scoping in symbol assignment and scope computation Reviewed-by: attila, lagergren ! make/build.xml ! src/jdk/nashorn/internal/codegen/AssignSymbols.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/TypeEvaluator.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/tools/Shell.java + test/script/basic/es6/block-function-decl.js + test/script/basic/es6/block-function-decl.js.EXPECTED + test/script/basic/es6/const-empty.js + test/script/basic/es6/const-empty.js.EXPECTED + test/script/basic/es6/const-reassign.js + test/script/basic/es6/const-reassign.js.EXPECTED + test/script/basic/es6/const-redeclare.js + test/script/basic/es6/const-redeclare.js.EXPECTED + test/script/basic/es6/const-self.js + test/script/basic/es6/const-self.js.EXPECTED + test/script/basic/es6/const-tdz.js + test/script/basic/es6/const-tdz.js.EXPECTED + test/script/basic/es6/const.js + test/script/basic/es6/const.js.EXPECTED + test/script/basic/es6/for-let.js + test/script/basic/es6/for-let.js.EXPECTED + test/script/basic/es6/let-eval.js + test/script/basic/es6/let-eval.js.EXPECTED + test/script/basic/es6/let-load-lib.js + test/script/basic/es6/let-load.js + test/script/basic/es6/let-load.js.EXPECTED + test/script/basic/es6/let-nodeclare.js + test/script/basic/es6/let-nodeclare.js.EXPECTED + test/script/basic/es6/let-redeclare.js + test/script/basic/es6/let-redeclare.js.EXPECTED + test/script/basic/es6/let-self.js + test/script/basic/es6/let-self.js.EXPECTED + test/script/basic/es6/let-tdz.js + test/script/basic/es6/let-tdz.js.EXPECTED + test/script/basic/es6/let.js + test/script/basic/es6/let.js.EXPECTED ! test/script/trusted/JDK-8006529.js ! test/src/jdk/nashorn/internal/codegen/CompilerTest.java ! test/src/jdk/nashorn/internal/parser/ParserTest.java Changeset: 7caec82669a4 Author: sundar Date: 2014-09-08 15:51 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/7caec82669a4 8057742: ant clean test should not fail if one or more external test suites are missing Reviewed-by: lagergren, hannesw - test/script/basic/JDK-8048079_1.js - test/script/basic/JDK-8048079_1.js.EXPECTED + test/script/basic/JDK-8048079_1a.js + test/script/basic/JDK-8048079_1a.js.EXPECTED + test/script/basic/JDK-8048079_1b.js + test/script/basic/JDK-8048079_1b.js.EXPECTED - test/script/basic/JDK-8048079_2.js - test/script/basic/JDK-8048079_2.js.EXPECTED + test/script/basic/JDK-8048079_2a.js + test/script/basic/JDK-8048079_2a.js.EXPECTED + test/script/basic/JDK-8048079_2b.js + test/script/basic/JDK-8048079_2b.js.EXPECTED ! test/script/basic/splitter.js ! test/script/basic/splitter.js.EXPECTED + test/script/basic/splitter_prototype.js + test/script/basic/splitter_prototype.js.EXPECTED + test/script/basic/splitter_yui.js + test/script/basic/splitter_yui.js.EXPECTED ! test/src/jdk/nashorn/internal/test/framework/TestFinder.java Changeset: 45f9decf4fb5 Author: attila Date: 2014-09-04 18:57 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/45f9decf4fb5 8056129: AtomicInteger is treated as primitive number with optimistic compilation Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/OptimisticReturnFilters.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java + test/script/basic/JDK-8056129.js + test/script/basic/JDK-8056129.js.EXPECTED Changeset: f5be4bdd0f6e Author: attila Date: 2014-09-08 18:40 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/f5be4bdd0f6e 8057148: Skip nested functions on reparse Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/AssignSymbols.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenStream.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/Timing.java ! src/jdk/nashorn/tools/Shell.java ! test/script/basic/optimistic_check_type.js Changeset: 33bde22b7740 Author: yan Date: 2014-09-08 15:37 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/33bde22b7740 8057678: Tests for let and const keywords in Nashorn Reviewed-by: hannesw, lagergren Contributed-by: Sergey Lugovoy + test/script/basic/es6/const-redeclare-extra.js + test/script/basic/es6/const-redeclare-extra.js.EXPECTED + test/script/basic/es6/let-redeclare-extra.js + test/script/basic/es6/let-redeclare-extra.js.EXPECTED + test/script/basic/es6/let_const_closure.js + test/script/basic/es6/let_const_closure.js.EXPECTED + test/script/basic/es6/let_const_reuse.js + test/script/basic/es6/let_const_reuse.js.EXPECTED + test/script/basic/es6/let_different_types.js + test/script/basic/es6/let_different_types.js.EXPECTED + test/script/basic/es6/let_loops.js + test/script/basic/es6/let_loops.js.EXPECTED Changeset: f01257b46cf1 Author: lana Date: 2014-09-09 11:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/f01257b46cf1 Merge - test/script/basic/JDK-8048079_1.js - test/script/basic/JDK-8048079_1.js.EXPECTED - test/script/basic/JDK-8048079_2.js - test/script/basic/JDK-8048079_2.js.EXPECTED Changeset: 5ad0607cf1a4 Author: attila Date: 2014-09-09 15:33 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5ad0607cf1a4 8057930: remove eval ID Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/Context.java ! test/script/basic/JDK-8030182_2.js ! test/script/basic/JDK-8030182_2.js.EXPECTED ! test/script/basic/es6/const-empty.js.EXPECTED ! test/script/basic/es6/const-redeclare-extra.js.EXPECTED ! test/script/basic/es6/const-redeclare.js.EXPECTED ! test/script/basic/es6/let-redeclare-extra.js.EXPECTED ! test/script/basic/es6/let-redeclare.js.EXPECTED ! test/script/basic/es6/let_const_reuse.js.EXPECTED Changeset: b788246cf987 Author: attila Date: 2014-09-09 15:34 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/b788246cf987 8057931: Instead of not skipping small functions in parser, make lexer avoid them instead Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java Changeset: 241685439f70 Author: attila Date: 2014-09-10 13:08 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/241685439f70 8034954: Optimistic iteration in for-in and for-each Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java ! src/jdk/nashorn/internal/codegen/TypeEvaluator.java Changeset: 5b052fbc5834 Author: lagergren Date: 2014-09-04 10:52 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5b052fbc5834 8057019: Various problems with extra arguments to applies Reviewed-by: attila, hannesw, jlaskey - bin/fixorphantests.sh - bin/fixwhitespace.sh - bin/jjsdebug.sh - bin/rm-non-tracked.sh - bin/run_octane.sh ! src/jdk/nashorn/internal/runtime/ScriptFunction.java + test/script/basic/JDK-8057019-2.js + test/script/basic/JDK-8057019-2.js.EXPECTED + test/script/basic/JDK-8057019-payload.js + test/script/basic/JDK-8057019.js + test/script/basic/JDK-8057019.js.EXPECTED ! test/script/basic/apply_to_call/apply_to_call4.js.EXPECTED Changeset: c2f412069f9b Author: lagergren Date: 2014-09-04 14:42 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/c2f412069f9b 8057551: Let the -d flag dump _all_ generated classes to disk and work outside --compile-only mode Reviewed-by: attila, jlaskey ! src/jdk/nashorn/internal/codegen/DumpBytecode.java Changeset: afdad86ffdde Author: lagergren Date: 2014-09-05 16:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/afdad86ffdde 8057611: Nashorn did not dump the JOx classes to disk when running with the -d flag Reviewed-by: attila, sundar, hannesw ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/runtime/CompiledFunction.java Changeset: 3f49db18721f Author: lagergren Date: 2014-09-05 16:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3f49db18721f 8057588: Lots of trivial (empty) classes were generated by the Nashorn compiler as part of restOf-method generation Reviewed-by: attila, sundar, hannesw ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/ir/CompileUnitHolder.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/runtime/CompiledFunction.java Changeset: 698280da463a Author: lagergren Date: 2014-09-10 12:37 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/698280da463a 8057703: More empty classes generated by Nashorn Reviewed-by: attila, sundar ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGeneratorLexicalContext.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/runtime/Timing.java Changeset: 2cad9bf911a4 Author: attila Date: 2014-09-11 17:12 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/2cad9bf911a4 8058100: Reduce the RecompilableScriptFunctionData footprint Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FindScopeDepths.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java + src/jdk/nashorn/internal/runtime/AllocationStrategy.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java Changeset: e94bfa3c6c6c Author: hannesw Date: 2014-09-11 18:04 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e94bfa3c6c6c 8057021: UserAccessorProperty guards fail with multiple globals Reviewed-by: attila, lagergren ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeBoolean.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeNumber.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java ! test/src/jdk/nashorn/api/scripting/ScopeTest.java Changeset: 39ba6d257e4c Author: hannesw Date: 2014-09-11 18:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/39ba6d257e4c 8058179: Global constants get in the way of self-modifying properties Reviewed-by: attila, jlaskey, sundar, lagergren ! src/jdk/nashorn/internal/runtime/GlobalConstants.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8058179.js + test/script/basic/JDK-8058179.js.EXPECTED Changeset: 1196f17cf7bc Author: lana Date: 2014-09-11 17:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/1196f17cf7bc Merge Changeset: 0032961e1866 Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/0032961e1866 Added tag jdk8u40-b06 for changeset 1196f17cf7bc ! .hgtags Changeset: 55a0bcbb618c Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/55a0bcbb618c Added tag jdk8u40-b07 for changeset 0032961e1866 ! .hgtags Changeset: 3d30873e13d7 Author: hannesw Date: 2014-09-12 16:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3d30873e13d7 8057743: Single quotes must be escaped in message resource file Reviewed-by: attila, lagergren, sundar ! src/jdk/nashorn/internal/runtime/resources/Messages.properties ! test/script/basic/JDK-8043232.js.EXPECTED ! test/script/basic/JDK-8049242.js.EXPECTED Changeset: bac02d5a397f Author: hannesw Date: 2014-09-12 16:07 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/bac02d5a397f 8058304: Non-serializable fields in serializable classes Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Property.java Changeset: 3ce674906b2a Author: sundar Date: 2014-09-15 15:18 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3ce674906b2a 8058422: Users should be able to overwrite "context" and "engine" variables Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/Global.java + test/script/basic/JDK-8058422.js ! test/src/jdk/nashorn/api/scripting/ScopeTest.java Changeset: 21cd010d3a0a Author: hannesw Date: 2014-09-15 17:51 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/21cd010d3a0a 8056978: ClassCastException: cannot cast jdk.nashorn.internal.scripts.JO* Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java + test/script/basic/JDK-8056978.js + test/script/basic/JDK-8056978.js.EXPECTED Changeset: f242ee8c5173 Author: sundar Date: 2014-09-16 18:11 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/f242ee8c5173 8058545: With strict mode, bean property assignment of a non-existent property should result in TypeError Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java + test/script/basic/JDK-8058545.js Changeset: 432e074f1eac Author: lana Date: 2014-09-16 14:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/432e074f1eac Merge Changeset: e83ceda86582 Author: sundar Date: 2014-09-17 15:02 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e83ceda86582 8058615: Overload resolution ambiguity involving ConsString Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java + test/script/basic/JDK-8058615.js + test/script/basic/JDK-8058615.js.EXPECTED Changeset: acb17eade642 Author: hannesw Date: 2014-09-19 13:13 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/acb17eade642 8046202: Make persistent code store more flexible Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/CodeStore.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/FunctionInitializer.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/StoredScript.java Changeset: 73c31575a0c0 Author: attila Date: 2014-09-22 14:46 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/73c31575a0c0 8058561: NPE in LocalVariableTypesCalculator Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/codegen/LocalVariableTypesCalculator.java + test/script/basic/JDK-8058561.js Changeset: 9ee8fd4a7266 Author: hannesw Date: 2014-09-22 13:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/9ee8fd4a7266 8047764: Indexed or polymorphic set on global affects Object.prototype Reviewed-by: lagergren, attila ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/objects/ArrayBufferView.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeJavaImporter.java ! src/jdk/nashorn/internal/runtime/DefaultPropertyAccess.java ! src/jdk/nashorn/internal/runtime/ECMAException.java ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/GlobalConstants.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java ! src/jdk/nashorn/internal/runtime/PropertyAccess.java ! src/jdk/nashorn/internal/runtime/RewriteException.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java ! src/jdk/nashorn/internal/runtime/Undefined.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java + test/script/basic/JDK-8047764-strict.js + test/script/basic/JDK-8047764-strict.js.EXPECTED + test/script/basic/JDK-8047764.js + test/script/basic/JDK-8047764.js.EXPECTED Changeset: 5a39cfa5c5b9 Author: lana Date: 2014-09-22 18:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5a39cfa5c5b9 Merge Changeset: 89551828b279 Author: lana Date: 2014-09-25 11:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/89551828b279 Merge Changeset: 6a8ecdeae4a9 Author: asaha Date: 2014-10-01 07:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/6a8ecdeae4a9 Added tag jdk8u40-b08 for changeset 89551828b279 ! .hgtags Changeset: 3378f256c6b2 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:53 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3378f256c6b2 Merge up to jdk8u40-b09 ! .hgtags - bin/fixorphantests.sh - bin/fixwhitespace.sh - bin/jjsdebug.sh - bin/rm-non-tracked.sh - bin/run_octane.sh ! make/build.xml ! src/jdk/nashorn/api/scripting/ScriptObjectMirror.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/CompileUnit.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CodeInstaller.java ! src/jdk/nashorn/internal/runtime/CompiledFunction.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java ! src/jdk/nashorn/internal/runtime/ScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/ScriptRuntime.java ! src/jdk/nashorn/internal/runtime/ScriptingFunctions.java ! src/jdk/nashorn/internal/runtime/WithObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayData.java ! src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java - test/script/basic/JDK-8048079_1.js - test/script/basic/JDK-8048079_1.js.EXPECTED - test/script/basic/JDK-8048079_2.js - test/script/basic/JDK-8048079_2.js.EXPECTED From ed at camswl.com Mon Oct 13 15:51:58 2014 From: ed at camswl.com (ed at camswl.com) Date: Mon, 13 Oct 2014 15:51:58 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/jdk: 105 new changesets Message-ID: <201410131552.s9DFq7sS022593@aojmv0008> Changeset: 39e80694d2ef Author: iklam Date: 2014-08-21 13:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/39e80694d2ef 8046070: Class Data Sharing clean up and refactoring Summary: Cleaned up CDS to be more configurable, maintainable and extensible Reviewed-by: dholmes, coleenp, acorn, mchung ! src/share/classes/java/net/URLClassLoader.java Changeset: 3eef63e7b644 Author: amurillo Date: 2014-09-02 11:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3eef63e7b644 Merge - test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh - test/sun/jvmstat/testlibrary/JavaProcess.java Changeset: 20f82ad73a93 Author: amurillo Date: 2014-09-03 08:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/20f82ad73a93 Merge - test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh - test/sun/jvmstat/testlibrary/JavaProcess.java Changeset: d587834579da Author: amurillo Date: 2014-09-05 15:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d587834579da Merge Changeset: 84ce51ccbf40 Author: katleman Date: 2014-09-10 09:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/84ce51ccbf40 Added tag jdk8u40-b05 for changeset d587834579da ! .hgtags Changeset: e80aa063429f Author: ksrini Date: 2014-08-29 15:25 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e80aa063429f 8046545: JNI exception pending in jdk/src/share/bin/java.c Reviewed-by: darcy, ksrini Contributed-by: neil.toda at oracle.com ! src/share/bin/java.c ! src/share/bin/java.h Changeset: 7d933c28fafc Author: dwanvik Date: 2014-08-28 18:18 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7d933c28fafc 8037746: Bundling Derby 10.11 with 8u40 Summary: Drop Java DB 10.11.1.1 bits into JDK 8 Reviewed-by: tbell ! make/Images.gmk Changeset: 69a44d56039d Author: dwanvik Date: 2014-08-28 18:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/69a44d56039d Merge Changeset: 9e3cc4611c2d Author: dwanvik Date: 2014-08-30 01:02 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9e3cc4611c2d Merge Changeset: c2aa565bf483 Author: aefimov Date: 2014-08-31 16:16 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c2aa565bf483 8036981: JAXB not preserving formatting for xsd:any Mixed content Reviewed-by: lancea, mkos + test/javax/xml/bind/marshal/8036981/Good.java + test/javax/xml/bind/marshal/8036981/Main.java + test/javax/xml/bind/marshal/8036981/ObjectFactory.java + test/javax/xml/bind/marshal/8036981/Root.java + test/javax/xml/bind/marshal/8036981/Test.java + test/javax/xml/bind/marshal/8036981/test.xml Changeset: 63affae787f4 Author: luchsh Date: 2014-09-01 11:07 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/63affae787f4 8034218: Improve fontconfig.properties for AIX platform Reviewed-by: simonis ! src/aix/classes/sun/awt/fontconfigs/aix.fontconfig.properties Changeset: 771874d22771 Author: dwanvik Date: 2014-09-01 14:52 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/771874d22771 8056987: 8u-dev nightly windows builds failed from 8/29 Summary: Fix build error due to bug in patch JDK-8037746 Reviewed-by: tbell ! make/CompileDemos.gmk Changeset: 02ac2f3952d6 Author: dwanvik Date: 2014-09-01 14:55 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/02ac2f3952d6 Merge Changeset: 2c9ddd836d5f Author: lana Date: 2014-09-02 14:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2c9ddd836d5f Merge Changeset: 781526c39ed4 Author: alexsch Date: 2014-09-03 17:25 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/781526c39ed4 6624085: Fourth mouse button (wheel) is treated like second button - isPopupTrigger returns true Reviewed-by: anthony, azvegint Contributed-by: Alex Henrie ! src/solaris/classes/sun/awt/X11/XWindow.java Changeset: 6e1c85a0b6cf Author: aivanov Date: 2014-09-04 19:07 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6e1c85a0b6cf 8056211: api/java_awt/Event/InputMethodEvent/serial/index.html#Input[serial2002] failure Reviewed-by: pchelko, alexsch ! src/share/classes/java/awt/event/InputMethodEvent.java Changeset: bf808d18d7a0 Author: dfuchs Date: 2014-07-07 15:31 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bf808d18d7a0 8048020: Regression on java.util.logging.FileHandler Summary: In some circumstances j.u.l.FileHandler can leave zombie lock files on the file system. The fix lets FileHandler reuse such zombie lock files when it sees them - as it used to do in version 1.7 of the JDK. Reviewed-by: alanb ! src/share/classes/java/util/logging/FileHandler.java + test/java/util/logging/CheckZombieLockTest.java Changeset: 0e677bd670b0 Author: dfuchs Date: 2014-08-19 17:11 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0e677bd670b0 8052403: java/util/logging/CheckZombieLockTest.java fails with NoSuchFileException Summary: CheckZombieLockTest and CheckLockLocationTest should work with different temporary log directories so that they can be run concurrently. This fix changes the name of the log directory used by CheckZombieLockTest. Reviewed-by: mchung ! test/java/util/logging/CheckZombieLockTest.java Changeset: aa400be54fec Author: prr Date: 2014-09-04 13:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/aa400be54fec 8056122: Upgrade JDK to use LittleCMS 2.6 Reviewed-by: bae, jgodinez ! src/share/native/sun/java2d/cmm/lcms/cmscam02.c ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmscnvrt.c ! src/share/native/sun/java2d/cmm/lcms/cmserr.c ! src/share/native/sun/java2d/cmm/lcms/cmsgamma.c ! src/share/native/sun/java2d/cmm/lcms/cmsgmt.c ! src/share/native/sun/java2d/cmm/lcms/cmsintrp.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/share/native/sun/java2d/cmm/lcms/cmsio1.c ! src/share/native/sun/java2d/cmm/lcms/cmsopt.c ! src/share/native/sun/java2d/cmm/lcms/cmspack.c ! src/share/native/sun/java2d/cmm/lcms/cmsplugin.c ! src/share/native/sun/java2d/cmm/lcms/cmsps2.c ! src/share/native/sun/java2d/cmm/lcms/cmstypes.c ! src/share/native/sun/java2d/cmm/lcms/cmsvirt.c ! src/share/native/sun/java2d/cmm/lcms/cmswtpnt.c ! src/share/native/sun/java2d/cmm/lcms/cmsxform.c ! src/share/native/sun/java2d/cmm/lcms/lcms2.h ! src/share/native/sun/java2d/cmm/lcms/lcms2_internal.h ! src/share/native/sun/java2d/cmm/lcms/lcms2_plugin.h Changeset: 03913dedfb12 Author: dl Date: 2014-09-05 10:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/03913dedfb12 8056249: Improve CompletableFuture resource usage Reviewed-by: psandoz, chegar, martin ! src/share/classes/java/util/concurrent/CompletableFuture.java ! src/share/classes/java/util/concurrent/CompletionStage.java Changeset: ba77067a033a Author: alexsch Date: 2014-09-05 18:12 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ba77067a033a 8057184: JCK8's api/javax_swing/JDesktopPane/descriptions.html#getset failed with GTKLookAndFeel on Linux and Solaris Reviewed-by: ant, azvegint ! src/share/classes/javax/swing/JDesktopPane.java Changeset: 01eb63f07bc5 Author: yhuang Date: 2014-09-08 20:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/01eb63f07bc5 8055222: Currency update needed for ISO 4217 Amendment #159 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/sun/util/resources/lt/CurrencyNames_lt_LT.properties ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: d0bd14b456f3 Author: azvegint Date: 2014-09-09 16:08 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d0bd14b456f3 8057770: api/javax_swing/JScrollPane/indexTGF.html#UpdateUI failed with MotifLookAndFeel on all platform Reviewed-by: alexsch, serb ! src/share/classes/com/sun/java/swing/plaf/motif/MotifScrollPaneUI.java ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java Changeset: 9d1acff5369b Author: lana Date: 2014-09-09 11:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9d1acff5369b Merge Changeset: 1a20e1d1f6f1 Author: amurillo Date: 2014-09-09 11:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/1a20e1d1f6f1 Merge Changeset: 83330ef35e7b Author: psandoz Date: 2014-01-16 18:20 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/83330ef35e7b 8029452: Fork/Join task ForEachOps.ForEachOrderedTask clarifications and minor improvements Reviewed-by: mduigou, briangoetz ! src/share/classes/java/util/stream/ForEachOps.java Changeset: 32da0264fef1 Author: sundar Date: 2014-09-10 17:11 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/32da0264fef1 8044647: sun/tools/jrunscript/jrunscriptTest.sh start failing: Output of jrunscript -l nashorn differ from expected output Reviewed-by: jlaskey, lagergren, ksrini ! test/sun/tools/jrunscript/jrunscriptTest.sh Changeset: a2c6523d7985 Author: simonis Date: 2014-09-10 11:01 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a2c6523d7985 8057934: Upgrade to LittleCMS 2.6 breaks AIX build Reviewed-by: prr, serb ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c Changeset: e0b065439802 Author: vlivanov Date: 2014-09-10 18:29 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e0b065439802 8030079: Lint warnings in java.lang.invoke 8031373: Lint warnings in java.util.stream Reviewed-by: psandoz, forax ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java ! src/share/classes/java/util/stream/ForEachOps.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SortedOps.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! src/share/classes/java/util/stream/Streams.java Changeset: 0fefdcab3608 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0fefdcab3608 8037210: Get rid of char-based descriptions 'J' of basic types Reviewed-by: jrose, psandoz, twisti ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/SimpleMethodHandle.java + test/java/lang/invoke/LambdaFormTest.java Changeset: 2b3bf1a8ed13 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2b3bf1a8ed13 8037209: Improvements and cleanups to bytecode assembly for lambda forms Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/sun/invoke/util/VerifyType.java ! src/share/classes/sun/invoke/util/Wrapper.java Changeset: a31f793f509b Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a31f793f509b 8038261: JSR292: cache and reuse typed array accessors Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: bd8627f3bd21 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bd8627f3bd21 8049555: Move varargsArray from sun.invoke.util package to java.lang.invoke Reviewed-by: psandoz, iignatyev ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/sun/invoke/util/ValueConversions.java + test/java/lang/invoke/VarargsArrayTest.java ! test/sun/invoke/util/ValueConversionsTest.java Changeset: 828ec5a0bf5f Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/828ec5a0bf5f 8050052: Small cleanups in java.lang.invoke code Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MemberName.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! test/java/lang/invoke/MethodHandlesTest.java Changeset: f66dc99dac52 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f66dc99dac52 8050053: Improve caching of different invokers Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java Changeset: c7be76a1dda5 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c7be76a1dda5 8050166: Get rid of some package-private methods on arguments in j.l.i.MethodHandle Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/SimpleMethodHandle.java Changeset: 9cfb4b22a01e Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9cfb4b22a01e 8050173: Add j.l.i.MethodHandle.copyWith(MethodType, LambdaForm) Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/SimpleMethodHandle.java Changeset: d33546256199 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d33546256199 8050174: Support overriding of isInvokeSpecial flag in WrappedMember Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: bae3f8ea54a1 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bae3f8ea54a1 8050057: Improve caching of MethodHandle reinvokers Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/BoundMethodHandle.java + src/share/classes/java/lang/invoke/DelegatingMethodHandle.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! src/share/classes/java/lang/invoke/SimpleMethodHandle.java Changeset: 4e6337ca7989 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4e6337ca7989 8050200: Make LambdaForm intrinsics detection more robust Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: d33c58176d0c Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d33c58176d0c 8050877: Improve code for pairwise argument conversions and value boxing/unboxing Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! test/sun/invoke/util/ValueConversionsTest.java Changeset: db52173c10e4 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/db52173c10e4 8050884: Intrinsify ValueConversions.identity() functions Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! test/sun/invoke/util/ValueConversionsTest.java Changeset: 2419b8500b27 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2419b8500b27 8050887: Intrinsify constants for default values Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 9d3feb922367 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9d3feb922367 8057654: Extract checks performed during MethodHandle construction into separate methods Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 4b2bc06d521c Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4b2bc06d521c 8057656: Improve MethodType.isCastableTo() & MethodType.isConvertibleTo() checks Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/MethodType.java Changeset: c9cc83fba300 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c9cc83fba300 8057657: Annotate LambdaForm parameters with types Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/DelegatingMethodHandle.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: 4a505ea8cc0a Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4a505ea8cc0a 8056926: Improve caching of GuardWithTest combinator Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java Changeset: 914aea3f4893 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/914aea3f4893 8057042: LambdaFormEditor: derive new LFs from a base LF Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/LambdaForm.java + src/share/classes/java/lang/invoke/LambdaFormBuffer.java + src/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java Changeset: 24ac0f2fad86 Author: vlivanov Date: 2014-09-10 18:34 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/24ac0f2fad86 8057922: Improve LambdaForm sharing by using LambdaFormEditor more extensively Reviewed-by: vlivanov, psandoz Contributed-by: john.r.rose at oracle.com ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/LambdaFormBuffer.java ! src/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleStatics.java ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 0a85994e76cb Author: jfranck Date: 2014-09-11 10:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0a85994e76cb 8054987: (reflect) Add sharing of annotations between instances of Executable Reviewed-by: duke ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java + test/java/lang/reflect/annotationSharing/AnnotationSharing.java Changeset: 3c0f4b204de5 Author: igerasim Date: 2014-09-09 19:02 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3c0f4b204de5 7010989: Duplicate closure of file descriptors leads to unexpected and incorrect closure of sockets Reviewed-by: chegar ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/java/net/net_util_md.c Changeset: a89c75ba7881 Author: aefimov Date: 2014-09-07 23:04 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a89c75ba7881 8049343: (tz) Support tzdata2014g Reviewed-by: mfang, okutsu ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/factory ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/pacificnew ! make/data/tzdata/southamerica ! make/data/tzdata/systemv ! make/data/tzdata/zone.tab ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/etcetera ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/factory ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/pacificnew ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/systemv ! test/sun/util/calendar/zi/tzdata/zone.tab ! test/sun/util/resources/TimeZone/Bug6317929.java Changeset: 3ae82f0c6b31 Author: aefimov Date: 2014-09-11 15:13 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3ae82f0c6b31 8057747: Several test failing after update to tzdata2014g Reviewed-by: alanb ! test/ProblemList.txt Changeset: 41a560c247af Author: lana Date: 2014-09-11 17:25 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/41a560c247af Merge Changeset: 54f883975308 Author: sla Date: 2014-05-09 12:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/54f883975308 8039173: Propagate errors from Diagnostic Commands as exceptions in the attach framework Reviewed-by: alanb, dsamersoff, jbachorik + src/share/classes/com/sun/tools/attach/AttachOperationFailedException.java ! src/share/classes/com/sun/tools/attach/VirtualMachine.java ! src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/share/classes/sun/tools/jcmd/JCmd.java ! src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java ! src/solaris/classes/sun/tools/attach/LinuxVirtualMachine.java ! src/solaris/classes/sun/tools/attach/SolarisVirtualMachine.java ! src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ! src/solaris/native/sun/tools/attach/LinuxVirtualMachine.c ! src/solaris/native/sun/tools/attach/SolarisVirtualMachine.c ! src/windows/classes/sun/tools/attach/WindowsVirtualMachine.java ! src/windows/native/sun/tools/attach/WindowsVirtualMachine.c ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java Changeset: e9263f359a28 Author: sla Date: 2014-06-11 15:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e9263f359a28 8044135: Add API to start JMX agent from attach framework Reviewed-by: alanb, dsamersoff, jbachorik ! src/share/classes/com/sun/tools/attach/VirtualMachine.java ! src/share/classes/sun/tools/attach/HotSpotVirtualMachine.java ! src/share/classes/sun/tools/jconsole/LocalVirtualMachine.java ! test/com/sun/tools/attach/SimpleProvider.java + test/com/sun/tools/attach/StartManagementAgent.java ! test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java ! test/sun/management/jmxremote/bootstrap/LocalManagementTest.java ! test/sun/management/jmxremote/bootstrap/TestManager.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.java Changeset: 7bc1a074773b Author: rriggs Date: 2014-09-08 08:45 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7bc1a074773b 8057751: CompileNativeLibraries for custom build Summary: Invoke CompileNativeLibraries in custom/closed build Reviewed-by: dholmes ! make/CompileNativeLibraries.gmk Changeset: 59deb2d00b29 Author: coleenp Date: 2014-06-24 11:23 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/59deb2d00b29 6642881: Improve performance of Class.getClassLoader() Summary: Add classLoader to java/lang/Class instance for fast access Reviewed-by: alanb, lfoltan, rriggs, vlivanov, twisti, mchung, jfranck, dholmes ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/AccessibleObject.java ! src/share/javavm/export/jvm.h ! src/share/native/common/check_code.c ! src/share/native/java/lang/Class.c Changeset: 6254d9b7b722 Author: coleenp Date: 2014-09-08 22:35 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6254d9b7b722 Merge Changeset: 24cf810f6ff9 Author: amurillo Date: 2014-09-12 13:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/24cf810f6ff9 Merge Changeset: 25788892a672 Author: amurillo Date: 2014-09-16 11:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/25788892a672 Merge Changeset: 07f0e22b5c23 Author: katleman Date: 2014-09-17 13:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/07f0e22b5c23 Added tag jdk8u40-b06 for changeset 25788892a672 ! .hgtags Changeset: 296758967295 Author: katleman Date: 2014-09-24 11:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/296758967295 Added tag jdk8u40-b07 for changeset 07f0e22b5c23 ! .hgtags Changeset: eb4956a1974f Author: dmarkov Date: 2014-09-12 14:16 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/eb4956a1974f 8048110: Using tables in JTextPane leads to infinite loop in FlowLayout.layoutRow Reviewed-by: alexp, alexsch ! src/share/classes/javax/swing/text/FlowView.java ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/View.java + test/javax/swing/text/View/8048110/bug8048110.java Changeset: 8375459f193f Author: alexsch Date: 2014-09-12 15:17 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8375459f193f 8051359: JPopupMenu creation in headless mode with JDK9b23 causes NPE Reviewed-by: serb, pchelko ! src/share/classes/sun/awt/SunToolkit.java Changeset: fdb6ac617320 Author: chegar Date: 2014-09-12 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/fdb6ac617320 8058216: NetworkInterface.getHardwareAddress can return zero length byte array when run with preferIPv4Stack Reviewed-by: michaelm ! src/windows/native/java/net/NetworkInterface.c ! test/java/net/NetworkInterface/Test.java Changeset: ddba61b06470 Author: xuelei Date: 2014-09-10 17:42 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ddba61b06470 8052406: SSLv2Hello protocol may be filter out unexpectedly Reviewed-by: weijun ! src/share/classes/sun/security/ssl/Handshaker.java + test/javax/net/ssl/TLSv12/ProtocolFilter.java Changeset: 0a96f21d3e40 Author: coffeys Date: 2014-09-12 17:08 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0a96f21d3e40 8057813: Alterations to jdk_security3 test target Reviewed-by: mullan, wetmore, xuelei ! test/TEST.groups Changeset: fab04dd17d8d Author: coffeys Date: 2014-09-12 17:08 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/fab04dd17d8d Merge Changeset: d7a9bf5851be Author: kshefov Date: 2014-09-12 22:33 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d7a9bf5851be 8057707: TEST library enhancement in lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java Reviewed-by: iignatyev, vlivanov ! test/java/lang/invoke/MethodHandles/CatchExceptionTest.java ! test/lib/testlibrary/jsr292/com/oracle/testlibrary/jsr292/Helper.java Changeset: 03903e40f93e Author: kshefov Date: 2014-09-12 22:33 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/03903e40f93e 8057719: Develop new tests for LambdaForm Reduction and Caching feature Reviewed-by: iignatyev, vlivanov, psandoz + test/java/lang/invoke/LFCaching/LFCachingTestCase.java + test/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java + test/java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java + test/java/lang/invoke/LFCaching/LFSingleThreadCachingTest.java + test/java/lang/invoke/LFCaching/LambdaFormTestCase.java + test/java/lang/invoke/LFCaching/TestMethods.java Changeset: bf094ac688e2 Author: ctornqvi Date: 2014-08-19 06:56 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bf094ac688e2 8055012: [TESTBUG] NMTHelper fails to parse NMT output Summary: Fixed the regular expression to parse the slightly changed output format of the new NMT implementation Reviewed-by: olagneau, sla ! test/java/lang/instrument/NMTHelper.java Changeset: 8e77f0117e66 Author: sla Date: 2014-08-21 13:09 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8e77f0117e66 8055677: java/lang/instrument/RedefineBigClass.sh RetransformBigClass.sh start failing after JDK-8055012 Summary: Write dcmd output to separate files so it does not confuse the output. Reviewed-by: ctornqvi, mgronlun ! test/java/lang/instrument/NMTHelper.java ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/instrument/RetransformBigClass.sh Changeset: ad111e5f6571 Author: sjiang Date: 2014-09-12 12:19 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ad111e5f6571 8049303: Transient network problems cause JMX thread to fail silenty Reviewed-by: dfuchs, jbachorik ! src/share/classes/javax/management/remote/rmi/RMIConnector.java Changeset: a5e04c3c3b05 Author: sjiang Date: 2014-09-16 17:08 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a5e04c3c3b05 8042205: javax/management/monitor/*: some tests didn't get all the notifications Reviewed-by: dfuchs ! test/javax/management/monitor/AttributeArbitraryDataTypeTest.java ! test/javax/management/monitor/CounterMonitorTest.java ! test/javax/management/monitor/NonComparableAttributeValueTest.java ! test/javax/management/monitor/ReflectionExceptionTest.java ! test/javax/management/monitor/RuntimeExceptionTest.java Changeset: 2be3555a6a37 Author: ceisserer Date: 2014-09-16 10:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2be3555a6a37 8054638: xrender: text drawn after setColor(Color.white) is actually black Reviewed-by: bae, prr ! src/solaris/classes/sun/java2d/xr/XRSolidSrcPict.java + test/java/awt/Graphics2D/WhiteTextColorTest.java Changeset: bbece7eab49f Author: lana Date: 2014-09-16 14:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bbece7eab49f Merge Changeset: 083041dc0035 Author: vlivanov Date: 2014-09-17 16:22 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/083041dc0035 8058626: Missing part of 8057656 in 8u40 compared to 9 Reviewed-by: psandoz ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java Changeset: c1c6b66ffd46 Author: vlivanov Date: 2014-09-16 18:05 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c1c6b66ffd46 8058291: Missing some checks during parameter validation Reviewed-by: jrose ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java Changeset: 632d403a6834 Author: vlivanov Date: 2014-09-16 18:05 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/632d403a6834 8058293: Bit set computation in MHs.findFirstDupOrDrop/findFirstDrop is broken Reviewed-by: jrose ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 440c3dfbdab8 Author: vlivanov Date: 2014-09-16 23:04 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/440c3dfbdab8 8058584: Ignore java/lang/invoke/LFCaching/LFGarbageCollectedTest until 8057020 is fixed Reviewed-by: darcy, alanb ! test/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java Changeset: 3c839095e564 Author: igerasim Date: 2014-09-17 23:52 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3c839095e564 8055949: ByteArrayOutputStream capacity should be maximal array size permitted by VM Summary: Try to resize to "well-known" hotspot max array size first. Reviewed-by: alanb, mduigou ! src/share/classes/java/io/ByteArrayOutputStream.java + test/java/io/ByteArrayOutputStream/MaxCapacity.java Changeset: b2bd6792a38b Author: jfranck Date: 2014-09-18 12:26 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b2bd6792a38b 8058632: Revert JDK-8054984 from 8u40 Reviewed-by: sla ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! test/java/lang/annotation/typeAnnotations/ConstructorReceiverTest.java ! test/java/lang/annotation/typeAnnotations/GetAnnotatedReceiverType.java ! test/java/lang/annotation/typeAnnotations/TestExecutableGetAnnotatedType.java Changeset: a506ce907582 Author: naoto Date: 2014-09-17 13:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a506ce907582 8033370: [parfait] warning from b126 for solaris/native/sun/util/locale/provider: JNI exception pending Reviewed-by: msheppar ! make/mapfiles/libjava/mapfile-vers ! src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java - src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! src/windows/native/java/lang/java_props_md.c ! src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Changeset: 2a117e8416b9 Author: naoto Date: 2014-09-17 14:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2a117e8416b9 8035826: [parfait] JNI exception pending in src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Reviewed-by: msheppar ! src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Changeset: 59dc07537a78 Author: mchung Date: 2014-09-17 15:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/59dc07537a78 8033893: jdk build is broken due to the changeset of JDK-8033370 Reviewed-by: naoto ! make/lib/CoreLibraries.gmk Changeset: a69d209ab181 Author: naoto Date: 2014-09-18 08:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a69d209ab181 Merge Changeset: 4df174a954be Author: bpb Date: 2014-09-15 13:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4df174a954be 8057793: BigDecimal is no longer effectively immutable Summary: Modify MutableBigInteger.divideAndRemainderBurnikelZiegler() to copy the instance (this) to a new MutableBigInteger to use as the dividend. Reviewed-by: darcy Contributed-by: robbiexgibson at yahoo.com ! src/share/classes/java/math/MutableBigInteger.java ! test/java/math/BigDecimal/ZeroScalingTests.java Changeset: cf6a8e9723bd Author: bpb Date: 2014-09-15 13:25 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/cf6a8e9723bd 8058505: BigIntegerTest does not exercise Burnikel-Ziegler division Summary: Modify divideLarge() method such that the w/z division exercises the B-Z branch. Reviewed-by: darcy Contributed-by: Robert Gibson ! test/java/math/BigInteger/BigIntegerTest.java Changeset: ccad707bf8f9 Author: bpb Date: 2014-09-17 11:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ccad707bf8f9 8058664: Bad fonts in BigIntegerTest Summary: Replace bad fonts with spaces. Reviewed-by: alanb ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 68478db63e3b Author: bpb Date: 2014-09-18 10:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/68478db63e3b 8058679: More bad characters in BigIntegerTest Summary: Remove remaining non-US-ASCII characters Reviewed-by: alanb ! test/java/math/BigInteger/BigIntegerTest.java Changeset: 2e21cf543781 Author: sjiang Date: 2014-09-19 08:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2e21cf543781 8050115: javax/management/monitor/GaugeMonitorDeadlockTest.java fails intermittently Reviewed-by: dfuchs, dholmes ! test/javax/management/monitor/GaugeMonitorDeadlockTest.java Changeset: 4e80afe7f867 Author: kshefov Date: 2014-09-22 15:56 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4e80afe7f867 8058728: TEST_BUG: Make java/lang/invoke/LFCaching/LFGarbageCollectedTest.java skip arrayElementSetter and arrayElementGetter methods Reviewed-by: vlivanov, iignatyev, psandoz ! test/java/lang/invoke/LFCaching/LFGarbageCollectedTest.java Changeset: 58763fc44fcb Author: lana Date: 2014-09-22 18:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/58763fc44fcb Merge - src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Changeset: dae860c8ddf1 Author: bae Date: 2014-09-23 14:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/dae860c8ddf1 8025917: JDK demo applets not running with >=7u40 or (JDK 8 and JDK 9) Reviewed-by: alexp ! src/share/demo/README Changeset: 8f6565182535 Author: ant Date: 2014-09-24 16:29 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8f6565182535 8058870: Mac: JFXPanel deadlocks in jnlp mode Reviewed-by: serb, alexsch ! src/share/classes/javax/swing/JComponent.java Changeset: 755b15fcac3b Author: sgabdura Date: 2014-09-24 12:14 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/755b15fcac3b 8057564: JVM hangs at getAgentProperties after attaching to VM with lower Summary: Create custom Security Descriptor for Named Pipe. Reviewed-by: mgronlun, dsamersoff, uta ! src/windows/native/sun/tools/attach/WindowsVirtualMachine.c Changeset: 0f0d70abca09 Author: lana Date: 2014-09-25 11:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0f0d70abca09 Merge - src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Changeset: d48e056ea066 Author: asaha Date: 2014-10-01 07:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d48e056ea066 Added tag jdk8u40-b08 for changeset 0f0d70abca09 ! .hgtags Changeset: 2cf506bc1522 Author: dtitov Date: 2014-09-22 12:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2cf506bc1522 8015376: Remove jnlp and applet files from the JDK samples Reviewed-by: herrick, ddehaven ! make/CompileDemos.gmk Changeset: a7f226d059c6 Author: dcherepanov Date: 2014-09-24 18:21 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a7f226d059c6 Merge ! make/CompileDemos.gmk Changeset: d6ffd32b9703 Author: dtitov Date: 2014-09-30 08:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d6ffd32b9703 8059136: Reverse removal of applet demos [backout 8015376] Reviewed-by: erikj, ptbrunet ! make/CompileDemos.gmk Changeset: b43fd8d3c20f Author: dcherepanov Date: 2014-10-01 14:20 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b43fd8d3c20f Merge - src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c Changeset: 064adeb65ce8 Author: dcherepanov Date: 2014-10-03 18:39 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/064adeb65ce8 Merge Changeset: ce07e31b483a Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-10 15:52 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ce07e31b483a Merge up to jdk8u40-b09 ! .hgtags ! make/CompileDemos.gmk ! make/CompileNativeLibraries.gmk ! make/Images.gmk ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/etcetera ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica ! make/data/tzdata/zone.tab ! make/lib/CoreLibraries.gmk ! make/mapfiles/libjava/mapfile-vers ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/classes/com/sun/tools/attach/VirtualMachine.java ! src/share/classes/java/io/ByteArrayOutputStream.java ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/CallSite.java ! src/share/classes/java/lang/invoke/DirectMethodHandle.java ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/Invokers.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MemberName.java ! src/share/classes/java/lang/invoke/MethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java ! src/share/classes/java/lang/invoke/MethodHandleProxies.java ! src/share/classes/java/lang/invoke/MethodHandles.java ! src/share/classes/java/lang/invoke/MethodType.java ! src/share/classes/java/lang/invoke/MethodTypeForm.java ! src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/math/MutableBigInteger.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/util/stream/Nodes.java ! src/share/classes/java/util/stream/SortedOps.java ! src/share/classes/java/util/stream/SpinedBuffer.java ! src/share/classes/java/util/stream/StreamSpliterators.java ! src/share/classes/java/util/stream/Streams.java ! src/share/classes/javax/management/remote/rmi/RMIConnector.java ! src/share/classes/javax/swing/JComponent.java ! src/share/classes/javax/swing/JDesktopPane.java ! src/share/classes/javax/swing/text/FlowView.java ! src/share/classes/javax/swing/text/GlyphView.java ! src/share/classes/javax/swing/text/View.java ! src/share/classes/sun/invoke/util/ValueConversions.java ! src/share/classes/sun/invoke/util/VerifyType.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c ! src/share/native/sun/java2d/cmm/lcms/cmsio0.c ! src/solaris/classes/sun/awt/X11/XTextAreaPeer.java ! src/solaris/classes/sun/awt/X11/XWindow.java - src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/java/net/net_util_md.c ! test/ProblemList.txt ! test/TEST.groups ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/instrument/RetransformBigClass.sh ! test/java/lang/invoke/MethodHandlesTest.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java ! test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java ! test/sun/management/jmxremote/bootstrap/TestManager.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/etcetera ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/zone.tab ! test/sun/util/resources/TimeZone/Bug6317929.java From iris.clark at oracle.com Mon Oct 13 19:04:17 2014 From: iris.clark at oracle.com (Iris Clark) Date: Mon, 13 Oct 2014 12:04:17 -0700 (PDT) Subject: [aarch64-port-dev ] AArch64 staging forests In-Reply-To: <54386289.3010309@oracle.com> References: <9a429a99-b9a5-488d-9d3b-73b5998b2c9a@default> <5433A29F.7070303@redhat.com> <9437ec38-93ee-4733-b088-189d3fadbb3b@default> <543460EE.2070200@oracle.com> <26dbda08-3239-448c-9d22-263a8f48825e@default> <5437FD67.3000305@redhat.com> <02e42dc4-df6e-4cc6-81be-56b3a717f0f9@default> <6eb23ad3-6f0d-4eba-a951-ce60793dfaa5@default> <54386289.3010309@oracle.com> Message-ID: <4e34b75e-16e0-4a03-be2f-f42bc2058c6a@default> Hi, Andrew. One more reference... > Me and Roland are Reviewers. Other Reviewers are listed in the JDK 9 Census entry: http://openjdk.java.net/census#jdk9 Thanks, iris -----Original Message----- From: Vladimir Kozlov Sent: Friday, October 10, 2014 3:50 PM To: Iris Clark; Andrew Haley Cc: Roland Westrelin; aarch64-port-dev at openjdk.java.net Subject: Re: AArch64 staging forests Thank you, Iris Andrew, To avoid problems in a future (which would require rollback changes, for example) I want all us to follow rules we use in Hotspot/JDK development. All changes have to be reviewed by jdk9 official Reviewers before push. 2 official reviews are required by rules. Me and Roland are Reviewers. Other people may review changes too. Very small changes need only one official review. Requests for review should be sent to hotspot-dev at openjdk.java.net for Hotspot changes and jdk9-dev at openjdk.java.net for jdk changes. You can also CC them to aarch64-port-dev at openjdk.java.net for records. All changes which create new directories, add or modify shared files should pass our testing system: JPRT. Roland will help with that. When we get aarch64 committer status we will help to push changes using JPRT. Later on when you need to do changes only in aarch64 specific files, they could be pushed after reviews without testing in JPRT. For each change a separate JBS report should be filed. Please, add prefix AARCH64 to report's synopsis. Please, make sure Changeset Comments follow official format: : Summary: Reviewed-by: , Contributed-by: http://openjdk.java.net/guide/producingChangeset.html Make sure your ~/.hgrc has following information: [ui] username=aph [extensions] jcheck = $DIR/jcheck.py [hooks] pretxnchangegroup=python:jcheck.hook pretxncommit=python:jcheck.hook http://openjdk.java.net/projects/code-tools/jcheck/ Thanks, Vladimir On 10/10/14 3:08 PM, Iris Clark wrote: > Hi, Andrew. > > I've created your forest: > > http://hg.openjdk.java.net/aarch64-port/stage/ > > It's a clone of the JDK 9 master forest, jdk9/jdk9 with tag jdk9-b34. jcheck is fully enabled as it would be for a JDK 9 forest. Notifications go to aarch64-port-dev at ojn. At the moment, you are the only one who can push to it. Hgupdater is not on as we haven't heard from Joe regarding the new JIRA Version. > > I recommend that you sync the new forest with either jdk9/jdk9 (after the next promotion) or jdk9/dev as a test that everything is configured correctly. > > Thanks, > iris > > -----Original Message----- > From: Iris Clark > Sent: Friday, October 10, 2014 9:55 AM > To: Andrew Haley; Vladimir Kozlov > Cc: Iris Clark > Subject: RE: AArch64 staging forests > > Hi, Andrew. > >> I will be able to add authors once they are JDK9 authors, right? I'm rather hazy. > > Pushers to the aarch64-port/stage repo need to be at least Committers in both AArch64 and JDK 9. Similarly, changeset authors will need to be at least Authors in both Projects. > > You are at least a Committer in both Projects so you're set. > > AndrewD needs to be a JDK 9 Author to be listed as a changeset author. Until that time, his contributions should be acknowledged in the "Contributed-by" line. > > Vladimir (and possibly Roland and Dean) need to become AArch64 Committers if you want to allow them to push into aarch64-port/stage. > > For the aarch64-port/stage forest, I will configure it so that you are the only pusher. I will assume that I should add Vladimir, Roland, and Dean once I see the Registrar process their CFVs. If you want to add anybody else in the future, just send mail to ops at ojn and somebody (probably me) will take care of updating the server configuration. AndrewD (and any additional changeset authors) will be automatically allowed once the Registrar adds them to the JDK 9 census entry. > > If you're still hazy about a few things, I'd be happy to chat on the phone to answer your questions. > > Thanks, > iris > > -----Original Message----- > From: Andrew Haley [mailto:aph at redhat.com] > Sent: Friday, October 10, 2014 8:38 AM > To: Iris Clark; Vladimir Kozlov > Subject: Re: AArch64 staging forests > > On 10/10/2014 04:21 PM, Iris Clark wrote: >> Hi, Andrew. >> >> Do you agree with Vladimir's request? > > Yes. > >>>> Hmmm. I can configure jcheck in aarch64-port/stage to allow >>>> duplicate bugIDs, but then you won't be able to directly push those >>>> changesets into a jdk9/* forest since that forest's configuration >>>> doesn't allow it. >> >>> Please, don't do that - don't relax jcheck. Configure jcheck as we >>> did for PPC/AIX. >> >> I think that the jcheck settings and the JIRA version are the only >> things that still need to be settled. I'll set up the forest today, >> assuming default jcheck (we can always relax if you don't agree with >> Vladimir). You didn't want automatic bug updates (hg updates) so the >> lack of a JIRA version in the system shouldn't be a problem. >> You'll have the option to enable it once the version appears in JIRA > > OK, thanks. > > I will be able to add authors once they are JDK9 authors, right? I'm rather hazy. > > Andrew. > From ed at camswl.com Tue Oct 14 21:43:59 2014 From: ed at camswl.com (Edward Nevill) Date: Tue, 14 Oct 2014 22:43:59 +0100 Subject: [aarch64-port-dev ] JTREG, SPECjbb2013 and Hadoop/Terasort results for OpenJDK 8 on AArch64 Message-ID: <1413323039.3482.1.camel@mint> This is a summary of the JTREG test results =========================================== The build and test results are cycled every 10 days. For detailed information on the test output please refer to: http://openjdk.linaro.org/openjdk8-jtreg-nightly-tests/summary/2014/287/summary.html ------------------------------------------------------------------------------- client-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 545; fail: 19 Build 1: aarch64/2014/sep/05 pass: 31; error: 555 Build 2: aarch64/2014/sep/06 pass: 34; error: 555 Build 3: aarch64/2014/sep/10 pass: 540; fail: 20; error: 29 Build 4: aarch64/2014/sep/11 pass: 540; fail: 20; error: 29 Build 5: aarch64/2014/sep/18 pass: 540; fail: 20; error: 29 Build 6: aarch64/2014/sep/23 pass: 540; fail: 20; error: 29 Build 7: aarch64/2014/sep/24 pass: 540; fail: 20; error: 29 Build 8: aarch64/2014/sep/25 pass: 540; fail: 20; error: 29 Build 9: aarch64/2014/oct/14 pass: 578; fail: 48; error: 1 ------------------------------------------------------------------------------- client-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 5,270; fail: 192; error: 48 Build 1: aarch64/2014/sep/05 pass: 265; fail: 37; error: 5,268 Build 2: aarch64/2014/sep/06 pass: 257; fail: 38; error: 5,278 Build 3: aarch64/2014/sep/10 pass: 5,288; fail: 207; error: 78 Build 4: aarch64/2014/sep/11 pass: 5,303; fail: 191; error: 79 Build 5: aarch64/2014/sep/18 pass: 5,299; fail: 201; error: 73 Build 6: aarch64/2014/sep/23 pass: 5,282; fail: 215; error: 76 Build 7: aarch64/2014/sep/24 pass: 5,301; fail: 196; error: 76 Build 8: aarch64/2014/sep/25 pass: 5,297; fail: 200; error: 76 Build 9: aarch64/2014/oct/14 pass: 5,296; fail: 236; error: 16 ------------------------------------------------------------------------------- client-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 2,999; error: 16 Build 1: aarch64/2014/sep/05 pass: 1,922; fail: 22; error: 1,101 Build 2: aarch64/2014/sep/06 pass: 1,921; fail: 22; error: 1,104 Build 3: aarch64/2014/sep/10 pass: 3,031; error: 16 Build 4: aarch64/2014/sep/11 pass: 3,033; error: 14 Build 5: aarch64/2014/sep/18 pass: 3,031; error: 16 Build 6: aarch64/2014/sep/23 pass: 3,031; error: 16 Build 7: aarch64/2014/sep/24 pass: 3,031; error: 16 Build 8: aarch64/2014/sep/25 pass: 3,031; error: 16 Build 9: aarch64/2014/oct/14 pass: 3,037; error: 9 ------------------------------------------------------------------------------- server-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 562; fail: 2 Build 1: aarch64/2014/sep/05 pass: 565; fail: 12; error: 9 Build 2: aarch64/2014/sep/06 pass: 548; fail: 12; error: 29 Build 3: aarch64/2014/sep/10 pass: 550; fail: 10; error: 29 Build 4: aarch64/2014/sep/11 pass: 550; fail: 10; error: 29 Build 5: aarch64/2014/sep/18 pass: 550; fail: 10; error: 29 Build 6: aarch64/2014/sep/23 pass: 550; fail: 10; error: 29 Build 7: aarch64/2014/sep/24 pass: 550; fail: 10; error: 29 Build 8: aarch64/2014/sep/25 pass: 559; fail: 1; error: 29 Build 9: aarch64/2014/oct/14 pass: 594; fail: 32; error: 1 ------------------------------------------------------------------------------- server-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 5,280; fail: 180; error: 50 Build 1: aarch64/2014/sep/05 pass: 5,300; fail: 193; error: 77 Build 2: aarch64/2014/sep/06 pass: 5,305; fail: 190; error: 78 Build 3: aarch64/2014/sep/10 pass: 5,311; fail: 184; error: 78 Build 4: aarch64/2014/sep/11 pass: 5,300; fail: 193; error: 80 Build 5: aarch64/2014/sep/18 pass: 5,312; fail: 185; error: 76 Build 6: aarch64/2014/sep/23 pass: 5,302; fail: 193; error: 78 Build 7: aarch64/2014/sep/24 pass: 5,305; fail: 194; error: 74 Build 8: aarch64/2014/sep/25 pass: 5,303; fail: 194; error: 76 Build 9: aarch64/2014/oct/14 pass: 5,304; fail: 226; error: 18 ------------------------------------------------------------------------------- server-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2014/sep/02 pass: 3,003; fail: 1; error: 11 Build 1: aarch64/2014/sep/05 pass: 3,034; error: 11 Build 2: aarch64/2014/sep/06 pass: 3,036; error: 11 Build 3: aarch64/2014/sep/10 pass: 3,036; error: 11 Build 4: aarch64/2014/sep/11 pass: 3,036; error: 11 Build 5: aarch64/2014/sep/18 pass: 3,036; error: 11 Build 6: aarch64/2014/sep/23 pass: 3,036; error: 11 Build 7: aarch64/2014/sep/24 pass: 3,036; error: 11 Build 8: aarch64/2014/sep/25 pass: 3,036; error: 11 Build 9: aarch64/2014/oct/14 pass: 3,037; error: 9 Previous results can be found here: http://openjdk.linaro.org/openjdk8-jtreg-nightly-tests/index.html SPECjbb2013 composite regression test completed =============================================== This test measures the relative performance of the server compiler running the SPECjbb2013 composite tests and compares the performance against the baseline performance of the server compiler taken on 2014-04-01. In accordance with [1], the SPECjbb2013 tests are run on a system which is not production ready and does not meet all the requirements for publishing compliant results. The numbers below shall be treated as non-compliant (nc) and are for experimental purposes only. Relative performance: Server max-jOPS (nc): 0.94x Relative performance: Server critical-jOPS (nc): 1.12x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/SPECjbb2013-1.00-results/ [1] http://www.spec.org/fairuse.html#Academic Regression test Hadoop-Terasort completed ========================================= This test measures the performance of the server and client compilers running Hadoop sorting a 1GB file using Terasort and compares the performance against the baseline performance of the Zero interpreter and against the baseline performance of the client and server compilers on 2014-04-01. Relative performance: Zero: 1.0, Client: 48.51, Server: 81.12 Client 48.51 / Client 2014-04-01 (43.00): 1.13x Server 81.12 / Server 2014-04-01 (71.00): 1.14x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/hadoop-terasort-benchmark-results/ This is a summary of the jcstress test results ============================================== The build and test results are cycled every 20 days. 2014-08-22 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/234/results/ 2014-09-02 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/245/results/ 2014-09-05 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/248/results/ 2014-09-06 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/249/results/ 2014-09-10 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/253/results/ 2014-09-11 pass rate: 872/872, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/254/results/ 2014-09-18 pass rate: 11546/11546, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/261/results/ 2014-09-23 pass rate: 11546/11546, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/266/results/ 2014-09-24 pass rate: 11545/11546, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/267/results/ 2014-09-25 pass rate: 11546/11546, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/268/results/ 2014-10-14 pass rate: 881/881, results: http://openjdk.linaro.org/jcstress-nightly-runs/2014/287/results/ From thuhc at yahoo.com Wed Oct 15 03:41:15 2014 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Wed, 15 Oct 2014 03:41:15 +0000 (UTC) Subject: [aarch64-port-dev ] OpenJDK8 & Java Dhrystone In-Reply-To: <1413323039.3482.1.camel@mint> References: <1413323039.3482.1.camel@mint> Message-ID: <800766293.167190.1413344475645.JavaMail.yahoo@jws10750.mail.gq1.yahoo.com> Hi all,I ran Java Dhrystone with openjdk8 but I got dhrystone's numbers not reliable Here are the 10 runs results( 16% difference) # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar echo 333333333 | java -jar dhry.jar total time: 22664ms Result: 14707612 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 21419ms Result: 15562506 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 21406ms Result: 15571958 dhrystone/sec. [root at slave1 dhry]# echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 19043ms Result: 17504244 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 22616ms Result: 14738827 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 22615ms Result: 14739479 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 18990ms Result: 17553098 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 22620ms Result: 14736221 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 19038ms Result: 17508841 dhrystone/sec. # echo 333333333 | java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: Execution starts, 333333333 runs through Dhrystone total time: 22669ms Result: 14704368 dhrystone/sec. Regards,Thu Cao From edward.nevill at linaro.org Thu Oct 16 09:34:23 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Thu, 16 Oct 2014 10:34:23 +0100 Subject: [aarch64-port-dev ] RFR: JDK9 merge up to jdk9-b35 Message-ID: <1413452063.17920.24.camel@localhost.localdomain> Hi, The following webrevs merge the aarch64 jdk9 forest up to revision jdk9-b35 from jdk9-b27. http://openjdk.linaro.org/webrev/141015/corba/ http://openjdk.linaro.org/webrev/141015/hotspot/ http://openjdk.linaro.org/webrev/141015/jaxp/ http://openjdk.linaro.org/webrev/141015/jaxws/ http://openjdk.linaro.org/webrev/141015/jdk/ http://openjdk.linaro.org/webrev/141015/jdk9/ http://openjdk.linaro.org/webrev/141015/langtools/ http://openjdk.linaro.org/webrev/141015/nashorn/ The following webrev contains the aarch64 specific changes (also pasted inline below). http://openjdk.linaro.org/webrev/141015/aarch64_hotspot/ I have tested the following builds Cross compile: client: release Cross compile: server: release Cross compile: zero: release Native compile: server: release Native compile: server: fastdebug Native compile: server: slowdebug I have run JTreg hotspot and langtools and compared against aarch64 jdk9-b27 and x86 jdk9-b35. In the following the numbers in brackets are (aarch64 jdk9-b35/aarch64 jdk9-b27/x86 jdk9-b35) server/hotspot: Pass: (639/587/640), Fail: (7/7/5), Error: (18/11/19) langtools/hotspot: Pass: (3084/3053/3086), Fail (0/1/0), Error: (29/29/26) OK to push? Ed. --- CUT HERE --- # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1413450007 -3600 # Thu Oct 16 10:00:07 2014 +0100 # Node ID 0d8213bd2a8ff054e18f69a485ac3fdd3dc3919a # Parent 2f147fc9cff1015dd36bd7fb3361211a90c9f99c aarch64 specific merge up to jdk9-b35 diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/c1_globals_aarch64.hpp --- a/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Thu Oct 16 10:00:07 2014 +0100 @@ -57,6 +57,9 @@ define_pd_global(intx, NewSizeThreadIncrease, 4*K ); define_pd_global(intx, InitialCodeCacheSize, 160*K); define_pd_global(intx, ReservedCodeCacheSize, 32*M ); +define_pd_global(intx, NonProfiledCodeHeapSize, 13*M ); +define_pd_global(intx, ProfiledCodeHeapSize, 14*M ); +define_pd_global(intx, NonMethodCodeHeapSize, 5*M ); define_pd_global(bool, ProfileInterpreter, false); define_pd_global(intx, CodeCacheExpansionSize, 32*K ); define_pd_global(uintx, CodeCacheMinBlockLength, 1); diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/c2_globals_aarch64.hpp --- a/src/cpu/aarch64/vm/c2_globals_aarch64.hpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/c2_globals_aarch64.hpp Thu Oct 16 10:00:07 2014 +0100 @@ -75,6 +75,9 @@ define_pd_global(bool, OptoBundling, false); define_pd_global(intx, ReservedCodeCacheSize, 48*M); +define_pd_global(intx, NonProfiledCodeHeapSize, 21*M); +define_pd_global(intx, ProfiledCodeHeapSize, 22*M); +define_pd_global(intx, NonMethodCodeHeapSize, 5*M ); define_pd_global(uintx, CodeCacheMinBlockLength, 4); define_pd_global(uintx, CodeCacheMinimumUseSpace, 400*K); diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/frame_aarch64.cpp --- a/src/cpu/aarch64/vm/frame_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/frame_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -689,6 +689,13 @@ return NULL; } +#ifndef PRODUCT +// This is a generic constructor which is only used by pns() in debug.cpp. +frame::frame(void* sp, void* fp, void* pc) { + frame((intptr_t*)sp, (intptr_t*)fp, (address)pc); +} +#endif + intptr_t* frame::real_fp() const { if (_cb != NULL) { // use the frame size if valid diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/interpreterGenerator_aarch64.hpp --- a/src/cpu/aarch64/vm/interpreterGenerator_aarch64.hpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/interpreterGenerator_aarch64.hpp Thu Oct 16 10:00:07 2014 +0100 @@ -43,8 +43,9 @@ address generate_abstract_entry(void); address generate_math_entry(AbstractInterpreter::MethodKind kind); void generate_transcendental_entry(AbstractInterpreter::MethodKind kind, int fpargs); - address generate_empty_entry(void); - address generate_accessor_entry(void); + address generate_jump_to_normal_entry(void); + address generate_accessor_entry(void) { return generate_jump_to_normal_entry(); } + address generate_empty_entry(void) { return generate_jump_to_normal_entry(); } address generate_Reference_get_entry(); address generate_CRC32_update_entry(); address generate_CRC32_updateBytes_entry(AbstractInterpreter::MethodKind kind); diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/interpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/interpreter_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/interpreter_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -237,6 +237,17 @@ __ blrt(rscratch1, gpargs, fpargs, rtype); } +// Jump into normal path for accessor and empty entry to jump to normal entry +// The "fast" optimization don't update compilation count therefore can disable inlining +// for these functions that should be inlined. +address InterpreterGenerator::generate_jump_to_normal_entry(void) { + address entry_point = __ pc(); + + assert(Interpreter::entry_for_kind(Interpreter::zerolocals) != NULL, "should already be generated"); + __ b(RuntimeAddress(Interpreter::entry_for_kind(Interpreter::zerolocals))); + return entry_point; +} + // Abstract method entry // Attempt to execute abstract method. Throw exception address InterpreterGenerator::generate_abstract_entry(void) { @@ -261,43 +272,6 @@ return entry_point; } - -// Empty method, generate a very fast return. - -address InterpreterGenerator::generate_empty_entry(void) { - // rmethod: Method* - // r13: sender sp must set sp to this value on return - - if (!UseFastEmptyMethods) { - return NULL; - } - - address entry_point = __ pc(); - - // If we need a safepoint check, generate full interpreter entry. - Label slow_path; - { - unsigned long offset; - assert(SafepointSynchronize::_not_synchronized == 0, - "SafepointSynchronize::_not_synchronized"); - __ adrp(rscratch2, SafepointSynchronize::address_of_state(), offset); - __ ldrw(rscratch2, Address(rscratch2, offset)); - __ cbnz(rscratch2, slow_path); - } - - // do nothing for empty methods (do not even increment invocation counter) - // Code: _return - // _return - // return w/o popping parameters - __ mov(sp, r13); // Restore caller's SP - __ br(lr); - - __ bind(slow_path); - (void) generate_normal_entry(false); - return entry_point; - -} - void Deoptimization::unwind_callee_save_values(frame* f, vframeArray* vframe_array) { // This code is sort of the equivalent of C2IAdapter::setup_stack_frame back in diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -660,12 +660,6 @@ // // -// Call an accessor method (assuming it is resolved, otherwise drop -// into vanilla (slow path) entry -address InterpreterGenerator::generate_accessor_entry(void) { - return NULL; -} - // Method entry for java.lang.ref.Reference.get. address InterpreterGenerator::generate_Reference_get_entry(void) { return NULL; @@ -1461,50 +1455,6 @@ // ... // [ parameter 1 ] <--- rlocals -address AbstractInterpreterGenerator::generate_method_entry( - AbstractInterpreter::MethodKind kind) { - // determine code generation flags - bool synchronized = false; - address entry_point = NULL; - - switch (kind) { - case Interpreter::zerolocals : break; - case Interpreter::zerolocals_synchronized: synchronized = true; break; - case Interpreter::native : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(false); break; - case Interpreter::native_synchronized : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(true); break; - case Interpreter::empty : entry_point = ((InterpreterGenerator*) this)->generate_empty_entry(); break; - case Interpreter::accessor : entry_point = ((InterpreterGenerator*) this)->generate_accessor_entry(); break; - case Interpreter::abstract : entry_point = ((InterpreterGenerator*) this)->generate_abstract_entry(); break; - - case Interpreter::java_lang_math_sin : // fall thru - case Interpreter::java_lang_math_cos : // fall thru - case Interpreter::java_lang_math_tan : // fall thru - case Interpreter::java_lang_math_abs : // fall thru - case Interpreter::java_lang_math_log : // fall thru - case Interpreter::java_lang_math_log10 : // fall thru - case Interpreter::java_lang_math_sqrt : // fall thru - case Interpreter::java_lang_math_pow : // fall thru - case Interpreter::java_lang_math_exp : entry_point = ((InterpreterGenerator*) this)->generate_math_entry(kind); break; - case Interpreter::java_lang_ref_reference_get - : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break; - case Interpreter::java_util_zip_CRC32_update - : entry_point = ((InterpreterGenerator*)this)->generate_CRC32_update_entry(); break; - case Interpreter::java_util_zip_CRC32_updateBytes - : // fall thru - case Interpreter::java_util_zip_CRC32_updateByteBuffer - : entry_point = ((InterpreterGenerator*)this)->generate_CRC32_updateBytes_entry(kind); break; - default : ShouldNotReachHere(); break; - } - - if (entry_point) { - return entry_point; - } - - return ((InterpreterGenerator*) this)-> - generate_normal_entry(synchronized); -} - - // These should never be compiled since the interpreter will prefer // the compiled version to the intrinsic version. bool AbstractInterpreter::can_be_compiled(methodHandle m) { diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/templateTable_aarch64.cpp --- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -1761,11 +1761,9 @@ // r2: scratch __ cbz(r0, dispatch); // test result -- no osr if null // nmethod may have been invalidated (VM may block upon call_VM return) - __ ldrw(r2, Address(r0, nmethod::entry_bci_offset())); - // InvalidOSREntryBci == -2 which overflows cmpw as unsigned - // use cmnw against -InvalidOSREntryBci which does the same thing - __ cmn(r2, -InvalidOSREntryBci); - __ br(Assembler::EQ, dispatch); + __ ldrb(r2, Address(r0, nmethod::state_offset())); + __ cmpw(r2, nmethod::in_use); + __ br(Assembler::NE, dispatch); // We have the address of an on stack replacement routine in r0 // We need to prepare to execute the OSR method. First we must diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/cpu/aarch64/vm/vm_version_aarch64.cpp --- a/src/cpu/aarch64/vm/vm_version_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/cpu/aarch64/vm/vm_version_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -136,6 +136,17 @@ if (FLAG_IS_DEFAULT(UseCRC32Intrinsics)) { UseCRC32Intrinsics = true; } + + if (UseSHA) { + warning("SHA instructions are not implemented"); + FLAG_SET_DEFAULT(UseSHA, false); + } + if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) { + warning("SHA intrinsics are not implemented"); + FLAG_SET_DEFAULT(UseSHA1Intrinsics, false); + FLAG_SET_DEFAULT(UseSHA256Intrinsics, false); + FLAG_SET_DEFAULT(UseSHA512Intrinsics, false); + } } void VM_Version::initialize() { diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/os/linux/vm/os_linux.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -1400,7 +1400,7 @@ #ifndef SYS_clock_getres #if defined(IA32) || defined(AMD64) -#define SYS_clock_getres IA32_ONLY(266) AMD64_ONLY(229) AARCH64_ONLY(114) + #define SYS_clock_getres IA32_ONLY(266) AMD64_ONLY(229) AARCH64_ONLY(114) #define sys_clock_getres(x,y) ::syscall(SYS_clock_getres, x, y) #else #warning "SYS_clock_getres not defined for this platform, disabling fast_thread_cpu_time" @@ -1980,11 +1980,11 @@ static Elf32_Half running_arch_code=EM_MIPS; #elif (defined M68K) static Elf32_Half running_arch_code=EM_68K; - #elif (defined AARCH64) - static Elf32_Half running_arch_code=EM_AARCH64; +#elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; #else #error Method os::dll_load requires that one of following is defined:\ - IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64 + IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64 #endif // Identify compatability class for VM's architecture and library's architecture @@ -5876,11 +5876,11 @@ extern char** environ; #ifndef __NR_fork -#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) AARCH64_ONLY(1079) + #define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) AARCH64_ONLY(1079) #endif #ifndef __NR_execve -#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) AARCH64_ONLY(221) + #define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) AARCH64_ONLY(221) #endif // Run the specified command in a separate process. Return its exit value, diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp --- a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -690,6 +690,10 @@ } #endif +int os::extra_bang_size_in_bytes() { + return 0; +} + extern "C" { int SpinPause() { } diff -r 2f147fc9cff1 -r 0d8213bd2a8f src/share/vm/runtime/arguments.cpp --- a/src/share/vm/runtime/arguments.cpp Wed Oct 15 14:19:15 2014 +0100 +++ b/src/share/vm/runtime/arguments.cpp Thu Oct 16 10:00:07 2014 +0100 @@ -1148,7 +1148,7 @@ if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) { FLAG_SET_ERGO(uintx, ReservedCodeCacheSize, ReservedCodeCacheSize * 5); // The maximum B/BL offset range on AArch64 is 128MB - AARCH64_ONLY(FLAG_SET_DEFAULT(ReservedCodeCacheSize, MIN2(ReservedCodeCacheSize, 128*M))); + AARCH64_ONLY(FLAG_SET_ERGO(uintx, ReservedCodeCacheSize, MIN2(ReservedCodeCacheSize, 128*M))); } // Enable SegmentedCodeCache if TieredCompilation is enabled and ReservedCodeCacheSize >= 240M if (FLAG_IS_DEFAULT(SegmentedCodeCache) && ReservedCodeCacheSize >= 240*M) { --- CUT HERE --- From aph at redhat.com Thu Oct 16 09:38:40 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 16 Oct 2014 10:38:40 +0100 Subject: [aarch64-port-dev ] RFR: JDK9 merge up to jdk9-b35 In-Reply-To: <1413452063.17920.24.camel@localhost.localdomain> References: <1413452063.17920.24.camel@localhost.localdomain> Message-ID: <543F9220.9080108@redhat.com> On 16/10/14 10:34, Edward Nevill wrote: > OK to push? Please wait a little while. Oracle are creating a staging forest for AArch64, and it'd be better to merge the patch set from there. Andrew. From edward.nevill at linaro.org Thu Oct 16 09:52:33 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Thu, 16 Oct 2014 10:52:33 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 Use CmpL3 pattern from jdk9 tree Message-ID: <1413453153.17920.30.camel@localhost.localdomain> Hi, The following patch replaces the CmpL3 pattern in the jdk8 tree with the one from the jdk9 tree. This is to make the trees more consistent and also the one in the jdk9 tree is more readable. Built and smoke tested. OK to push? Ed. --- CUT HERE --- # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1413452656 -3600 # Thu Oct 16 10:44:16 2014 +0100 # Node ID 3ac6832f79010037f67acd7314143545add91cba # Parent 89ebbc29144cb6cf9d3d3c55bb65a2162a9dd00a Replace CmpL3 with version from jdk9 tree diff -r 89ebbc29144c -r 3ac6832f7901 src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Mon Oct 13 10:53:11 2014 +0100 +++ b/src/cpu/aarch64/vm/aarch64.ad Thu Oct 16 10:44:16 2014 +0100 @@ -11051,27 +11051,27 @@ %} -instruct compL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg cr) +// Manifest a CmpL result in an integer register. +// (src1 < src2) ? -1 : ((src1 > src2) ? 1 : 0) +instruct cmpL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg flags) %{ match(Set dst (CmpL3 src1 src2)); - effect(KILL cr); - format %{ "cmp $src1, $src2 # CmpL3\n\t" - "csinvw $dst, zr, zr, eq\n\t" - "csnegw $dst, $dst, $dst, lt" - %} - - ins_cost(3 * INSN_COST); - ins_encode %{ - Register d = as_Register($dst$$reg); - Register s1 = as_Register($src1$$reg); - Register s2 = as_Register($src2$$reg); - __ cmp(s1, s2); - // installs 0 if EQ else -1 - __ csinvw(d, zr, zr, Assembler::EQ); - // keeps -1 if less else installs 1 - __ csnegw(d, d, d, Assembler::LT); - %} - ins_pipe(pipe_class_default); + effect(KILL flags); + + ins_cost(INSN_COST * 6); + format %{ + "cmp $src1, $src2" + "csetw $dst, ne" + "cnegw $dst, lt" + %} + // format %{ "CmpL3 $dst, $src1, $src2" %} + ins_encode %{ + __ cmp($src1$$Register, $src2$$Register); + __ csetw($dst$$Register, Assembler::NE); + __ cnegw($dst$$Register, $dst$$Register, Assembler::LT); + %} + + ins_pipe(pipe_class_default); %} instruct cmpLTMask_reg_reg(iRegINoSp dst, iRegI p, iRegI q, rFlagsReg cr) --- CUT HERE --- From aph at redhat.com Thu Oct 16 10:47:56 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 16 Oct 2014 11:47:56 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 Use CmpL3 pattern from jdk9 tree In-Reply-To: <1413453153.17920.30.camel@localhost.localdomain> References: <1413453153.17920.30.camel@localhost.localdomain> Message-ID: <543FA25C.4090201@redhat.com> On 16/10/14 10:52, Edward Nevill wrote: > OK to push? Yes, thanks. Andrew. From ed at camswl.com Thu Oct 16 10:52:46 2014 From: ed at camswl.com (ed at camswl.com) Date: Thu, 16 Oct 2014 10:52:46 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Replace CmpL3 with version from jdk9 tree Message-ID: <201410161052.s9GAqkeK011454@aojmv0008> Changeset: 3ac6832f7901 Author: Edward Nevill edward.nevill at linaro.org Date: 2014-10-16 10:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3ac6832f7901 Replace CmpL3 with version from jdk9 tree ! src/cpu/aarch64/vm/aarch64.ad From edward.nevill at linaro.org Thu Oct 16 13:32:25 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Thu, 16 Oct 2014 14:32:25 +0100 Subject: [aarch64-port-dev ] RFR: JDK8 merge up to jdk8u40-b10 Message-ID: <1413466345.10490.11.camel@localhost.localdomain> Hi, The following webrevs merge the aarch6 jdk8 forest up to jdk8u40-b10 from jdk8u40-b09. http://openjdk.linaro.org/webrev/141016/corba/ http://openjdk.linaro.org/webrev/141016/hotspot/ http://openjdk.linaro.org/webrev/141016/jaxp/ http://openjdk.linaro.org/webrev/141016/jaxws/ http://openjdk.linaro.org/webrev/141016/jdk/ http://openjdk.linaro.org/webrev/141016/jdk8/ http://openjdk.linaro.org/webrev/141016/langtools/ http://openjdk.linaro.org/webrev/141016/nashorn/ There are no aarch64 specific diffs. I have build and smoke tested the following images builtin sim: server: fastdebug builtin sim: client: release builtin sim: client: release cross compile: server: release cross compile: client: release cross compile: zero: release I have run JTreg hotspot and langtools on the server build. In the following the numbers in brackets are the results for b09. server/hotspot::: Pass 609(607), Fail 8(10), Error 10(10) server/langtools: Pass 3017(3017), Fail 0, Error 29(29) OK to push? Ed. From edward.nevill at linaro.org Fri Oct 17 15:18:59 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 17 Oct 2014 16:18:59 +0100 Subject: [aarch64-port-dev ] RFR: Add fast accessors and java.lang.ref.Reference.get In-Reply-To: <54375BC6.5090307@oracle.com> References: <1412843526.2398.5.camel@localhost.localdomain> <54375BC6.5090307@oracle.com> Message-ID: <1413559139.5097.9.camel@localhost.localdomain> Hi, Yes, fast accessors were removed in jdk9, however the java.lang.ref.Reference.get intrinsic is still present in both jdk8 and jdk9. The patch below adds just the java.lang.ref.Reference.get intrinsic. The reason I believe this is important is because I am not convinced that the G1GC implementation is correct without it as I cannot see how the SATB buffer gets updated without a special purpose intrinsic like this. C1 and C2 both have special purpose code to handle updating the SATB buffer on java.language.Reference.get, and I think we need the same in the template interpreter. Tested with hotspot JTreg -Xint -XX:+UseG1GC. Ok to push to jdk8 and 9? Ed. On Thu, 2014-10-09 at 21:08 -0700, dean long wrote: > FYI, I believe fast accessors were removed in jdk9. > > https://bugs.openjdk.java.net/browse/JDK-8003426 > > dl > > On 10/9/2014 1:32 AM, Edward Nevill wrote: > > Hi, > > > > The following patch adds support for fast accessors and java.lang.ref.Reference.get to the template interpreter. > > > > This probably doesn't add a great deal to overall performance but I think it is worthwhile including for completeness. > > > > Tested with hotspot jtreg. > > > > Best regards, > > Ed. > > --- CUT HERE --- # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1413559012 -3600 # Fri Oct 17 16:16:52 2014 +0100 # Node ID b581f52e36b3f02b7e47fda48821ee1f14708e69 # Parent 7b8991391eaeb60bd7e816653e6772997e718326 Add java.lang.ref.Reference.get intrinsic to template interpreter diff -r 7b8991391eae -r b581f52e36b3 src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Thu Oct 16 13:33:13 2014 +0100 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Fri Oct 17 16:16:52 2014 +0100 @@ -669,7 +669,78 @@ // Method entry for java.lang.ref.Reference.get. address InterpreterGenerator::generate_Reference_get_entry(void) { - return NULL; +#if INCLUDE_ALL_GCS + // Code: _aload_0, _getfield, _areturn + // parameter size = 1 + // + // The code that gets generated by this routine is split into 2 parts: + // 1. The "intrinsified" code for G1 (or any SATB based GC), + // 2. The slow path - which is an expansion of the regular method entry. + // + // Notes:- + // * In the G1 code we do not check whether we need to block for + // a safepoint. If G1 is enabled then we must execute the specialized + // code for Reference.get (except when the Reference object is null) + // so that we can log the value in the referent field with an SATB + // update buffer. + // If the code for the getfield template is modified so that the + // G1 pre-barrier code is executed when the current method is + // Reference.get() then going through the normal method entry + // will be fine. + // * The G1 code can, however, check the receiver object (the instance + // of java.lang.Reference) and jump to the slow path if null. If the + // Reference object is null then we obviously cannot fetch the referent + // and so we don't need to call the G1 pre-barrier. Thus we can use the + // regular method entry code to generate the NPE. + // + // This code is based on generate_accessor_enty. + // + // rmethod: Method* + // r13: senderSP must preserve for slow path, set SP to it on fast path + + address entry = __ pc(); + + const int referent_offset = java_lang_ref_Reference::referent_offset; + guarantee(referent_offset > 0, "referent offset not initialized"); + + if (UseG1GC) { + Label slow_path; + const Register local_0 = c_rarg0; + // Check if local 0 != NULL + // If the receiver is null then it is OK to jump to the slow path. + __ ldr(local_0, Address(esp, 0)); + __ cbz(local_0, slow_path); + + + // Load the value of the referent field. + const Address field_address(local_0, referent_offset); + __ load_heap_oop(local_0, field_address); + + // Generate the G1 pre-barrier code to log the value of + // the referent field in an SATB buffer. + __ enter(); // g1_write may call runtime + __ g1_write_barrier_pre(noreg /* obj */, + local_0 /* pre_val */, + rthread /* thread */, + rscratch2 /* tmp */, + true /* tosca_live */, + true /* expand_call */); + __ leave(); + // areturn + __ andr(sp, r13, -16); // done with stack + __ ret(lr); + + // generate a vanilla interpreter entry as the slow path + __ bind(slow_path); + (void) generate_normal_entry(false); + + return entry; + } +#endif // INCLUDE_ALL_GCS + + // If G1 is not enabled then attempt to go through the accessor entry point + // Reference.get is an accessor + return generate_accessor_entry(); } /** --- CUT HERE --- From adinn at redhat.com Tue Oct 21 09:27:54 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:27:54 +0100 Subject: [aarch64-port-dev ] Intro to icedtea7-forest-aarch64 port Message-ID: <5446271A.9020701@redhat.com> Here is an explanation of what has been going on regarding the jdk7-aarch64 port and why. More notes will follow detailing work done so far as detailed below. Why are we porting Icedtea7 to AArch64? --------------------------------------- The code in http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot/ is used to build the VM employed in current releases of Icedtea7 on AArch64. However, it is not really a JDK7 VM. It is (modulo a few details) essentially the same implementation as the jdk8-aarch64 hotspot. This is a problem because eventually jdk8-aarch64 is going to diverge far enough from jdk7 that we will not be able to use the jdk8 derived VM to support our JDK7 icedtea7 releases. In fact, we are already in a position where we cannot pull upstream jdk8-aarch64/jdk8u changes due to incompatibilities in dynamic method execution. We cannot really live with the status quo of an increasingly out of date JDK7 (amongst other things RHEL7 still needs to use it as part of its build process for many years to come). So, in order to be able to continue releasing Icedtea7 on AArch64 we need to perform and the maintain a full port of JDK7 to AArch64. I have spent the last few weeks back-porting our AArch64 code into the icedtea7-forest. The intention is to produce an icedtea7-forest which includes aarch64-specific code in its hotspot tree and which can be used to build icedtea7 on AArch64 architectures. Where are we so far? -------------------- Backporting has already been started based on a cloned version of the icedtea7-forest repo (changeset 5556 SHA1 Id: b517477362d1 at the point where the PPC code was merged) and the aarch64 port jdk7u repo. The plan involves the following steps: 1 change shared code in icedtea7 hotspot to allow for the presence of the AArch64 port 2 import the cpu- and os_cpu-specific code found in aarch64-port/jdk7u/hotspot into the icedeta7/hotspot tree 3 rework the imported code to conform to the jdk7 design 4 build and debug the resulting code to the point where it can run some basic smoke tests (java Hello; javac Hello.java; eclipse) 5 perform full testing (specJVM, jcstress, TCK etc) and QE of the build, fixing any bugs which turn up 6 pull in any outstanding changes from upstream icedtea7 and also apply outstanding fixes/updates which need backporting from jdk8 7 merge the working aarch64 build up into the icedtea7-forest and ensure it does not break any of the other builds I have now performed steps 1 to 4 (n.b. step 4 has been performed using both the x86-aarch64sim hybrid build and mustang hardware -- modulo no eclipse on mustang). n.b. steps 5, 6 and 7 can all sort of happen in parallel to some degree. *help from Linaro* on testing and patching would be much appreciated :-) n.b.b. we have a choice for step 7. let's assume we have our latest port in a public icedtea7-forest-aarch64 repo somewhere. we can EITHER maintain icedtea7-forest-aarch64 as a downstream copy of icedtea7-forest and pull in upstream changes, leaving upstream untouched OR push changes up into icedtea7-forest and use icedtea7-forest-aarch64 merely as a staging repo I would prefer option 2 as it means icedtea7 builds all just run off the same repo. Does anyone else have any views? What comes next? ---------------- I will move my (currently) Red Hat-private icedtea7-forest-aarch64 forest onto a public server. I don't yet know where it is going. It probably needs to be on the same server as the icedtea7 forest (icedtea.classpath.org). I will publish the sequence of changesets needed to arrive at this point to the aarch64-port list. This is i) to record what the code changes made so far and ii) ensure that there are more eyeballs verifying those changes. Once we have a public icedtea7-forest-aarch64 forest I think we should configure it so that changes go to this list. Anyone have any other opinions on this? regards, Andrew Dinn ----------- From adinn at redhat.com Tue Oct 21 09:38:12 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:38:12 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5557 : modified shared src to support full aarch64 backport Message-ID: <54462984.9010107@redhat.com> A non-text attachment was scrubbed... Name: 5557.patch Type: text/x-patch Size: 73955 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:39:09 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:39:09 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5559 : reverted os_cpu/linux_aarch64 code to conform to jdk7 Message-ID: <544629BD.6010509@redhat.com> A non-text attachment was scrubbed... Name: 5559.patch Type: text/x-patch Size: 10039 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:40:12 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:40:12 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5561 : reverted bytecodeInterpreter_aarch64 to conform to jdk7 Message-ID: <544629FC.1050206@redhat.com> A non-text attachment was scrubbed... Name: 5561.patch Type: text/x-patch Size: 1297 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:41:13 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:41:13 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5562 : reverted aarch64 c1_xxx files to conform to jdk7 Message-ID: <54462A39.9080802@redhat.com> A non-text attachment was scrubbed... Name: 5562.patch Type: text/x-patch Size: 35677 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:42:20 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:42:20 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5563 : reverted aarch64 c2 globals to conform to jdk7 Message-ID: <54462A7C.7040602@redhat.com> A non-text attachment was scrubbed... Name: 5563.patch Type: text/x-patch Size: 1929 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:42:41 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:42:41 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5564 : removed aarch64 compiled_IC implementation to conform to jdk7 Message-ID: <54462A91.2000209@redhat.com> A non-text attachment was scrubbed... Name: 5564.patch Type: text/x-patch Size: 7478 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:43:08 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:43:08 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5565 : Relocated aarch64 vtable generate code to conform to jdk7 Message-ID: <54462AAC.4090505@redhat.com> A non-text attachment was scrubbed... Name: 5565.patch Type: text/x-patch Size: 5566 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:43:33 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:43:33 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5566 : reverted aarch64 frame code to conform to jdk7 Message-ID: <54462AC5.3090205@redhat.com> A non-text attachment was scrubbed... Name: 5566.patch Type: text/x-patch Size: 4317 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:43:53 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:43:53 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5567 : reverted global defs code to conform to jdk7 Message-ID: <54462AD9.3040402@redhat.com> A non-text attachment was scrubbed... Name: 5567.patch Type: text/x-patch Size: 1641 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:44:40 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:44:40 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5569 : reverted interpreter masm code to conform to jdk7 Message-ID: <54462B08.4040207@redhat.com> A non-text attachment was scrubbed... Name: 5569.patch Type: text/x-patch Size: 9091 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:45:03 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:45:03 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5570 : reverted interpreter code to conform to jdk7 Message-ID: <54462B1F.2090602@redhat.com> A non-text attachment was scrubbed... Name: 5570.patch Type: text/x-patch Size: 2944 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:45:23 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:45:23 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5571 : reverted jni code to conform to jdk7 Message-ID: <54462B33.1070308@redhat.com> A non-text attachment was scrubbed... Name: 5571.patch Type: text/x-patch Size: 1913 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:46:19 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:46:19 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5572 : removed metaspaceShared code to conform to jdk7 Message-ID: <54462B6B.8010105@redhat.com> A non-text attachment was scrubbed... Name: 5572.patch Type: text/x-patch Size: 5327 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:46:45 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:46:45 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5573 : reverted method handles code to conform to jdk7 Message-ID: <54462B85.8010900@redhat.com> A non-text attachment was scrubbed... Name: 5573.patch Type: text/x-patch Size: 9109 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:47:07 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:47:07 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5574 : reverted native instr code to conform to jdk7 Message-ID: <54462B9B.7070400@redhat.com> A non-text attachment was scrubbed... Name: 5574.patch Type: text/x-patch Size: 714 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:47:31 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:47:31 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5575 : reverted reloc info code to conform to jdk7 Message-ID: <54462BB3.3030208@redhat.com> A non-text attachment was scrubbed... Name: 5575.patch Type: text/x-patch Size: 2149 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:47:57 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:47:57 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5576 : reverted aarch64 runtime code to conform to jdk7 Message-ID: <54462BCD.5020309@redhat.com> A non-text attachment was scrubbed... Name: 5576.patch Type: text/x-patch Size: 8840 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:48:21 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:48:21 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5577 : reverted aarch64 stubs code to conform to jdk7 Message-ID: <54462BE5.6030806@redhat.com> A non-text attachment was scrubbed... Name: 5577.patch Type: text/x-patch Size: 6585 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:48:50 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:48:50 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5578 : reverted aarch64 template interpreter code to conform to jdk7 Message-ID: <54462C02.8000709@redhat.com> A non-text attachment was scrubbed... Name: 5578.patch Type: text/x-patch Size: 49358 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:50:00 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:50:00 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5580 : reverted aarch64 vm version code to conform to jdk7 Message-ID: <54462C48.9070103@redhat.com> A non-text attachment was scrubbed... Name: 5580.patch Type: text/x-patch Size: 1116 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:50:27 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:50:27 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5581 : reverted aarch64 vtable stubs code to conform to jdk7 Message-ID: <54462C63.6090800@redhat.com> A non-text attachment was scrubbed... Name: 5581.patch Type: text/x-patch Size: 2929 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:50:50 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:50:50 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5582 : reverted aarch64 architecture description (ad) file to conform to jdk7 Message-ID: <54462C7A.3060907@redhat.com> A non-text attachment was scrubbed... Name: 5582.patch Type: text/x-patch Size: 12163 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:51:23 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:51:23 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5583 : modified make files to support aarch64 build Message-ID: <54462C9B.1020201@redhat.com> A non-text attachment was scrubbed... Name: 5583.patch Type: text/x-patch Size: 5734 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:51:47 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:51:47 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5584 : missing change needed to support aarch64 build Message-ID: <54462CB3.8090008@redhat.com> A non-text attachment was scrubbed... Name: 5584.patch Type: text/x-patch Size: 703 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:52:05 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:52:05 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5585 : fix cut and paste-o in header Message-ID: <54462CC5.4050802@redhat.com> A non-text attachment was scrubbed... Name: 5585.patch Type: text/x-patch Size: 637 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:52:26 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:52:26 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5586 : restore working x86 build Message-ID: <54462CDA.3070404@redhat.com> A non-text attachment was scrubbed... Name: 5586.patch Type: text/x-patch Size: 6653 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:52:47 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:52:47 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5587 : added missing aarch64-specific make file Message-ID: <54462CEF.1090404@redhat.com> A non-text attachment was scrubbed... Name: 5587.patch Type: text/x-patch Size: 2173 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:53:35 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:53:35 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5588 : added make rules to allow aarch64-x86 hybrid build to progress Message-ID: <54462D1F.509@redhat.com> A non-text attachment was scrubbed... Name: 5588.patch Type: text/x-patch Size: 842 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:53:51 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:53:51 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5589 : added missing aarch64-specific include Message-ID: <54462D2F.4080804@redhat.com> A non-text attachment was scrubbed... Name: 5589.patch Type: text/x-patch Size: 651 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:54:10 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:54:10 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5590 : corrected include Message-ID: <54462D42.6040303@redhat.com> A non-text attachment was scrubbed... Name: 5590.patch Type: text/x-patch Size: 651 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:54:42 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:54:42 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5591 : removed undefined metadata case Message-ID: <54462D62.9040103@redhat.com> A non-text attachment was scrubbed... Name: 5591.patch Type: text/x-patch Size: 966 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:54:58 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:54:58 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5592 : restored missing open brace Message-ID: <54462D72.5070508@redhat.com> A non-text attachment was scrubbed... Name: 5592.patch Type: text/x-patch Size: 727 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:55:24 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:55:24 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5593 : changed klass oop encode to heap oop encode Message-ID: <54462D8C.2090908@redhat.com> A non-text attachment was scrubbed... Name: 5593.patch Type: text/x-patch Size: 862 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:55:42 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:55:42 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5594 : remove redundant bracket Message-ID: <54462D9E.3070408@redhat.com> A non-text attachment was scrubbed... Name: 5594.patch Type: text/x-patch Size: 617 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:56:01 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:56:01 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5595 : corrected include path Message-ID: <54462DB1.1030506@redhat.com> A non-text attachment was scrubbed... Name: 5595.patch Type: text/x-patch Size: 737 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:56:16 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:56:16 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5596 : defn of BIND does not need to use __ macro Message-ID: <54462DC0.2010009@redhat.com> A non-text attachment was scrubbed... Name: 5596.patch Type: text/x-patch Size: 716 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:56:45 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:56:45 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5597 : renamed emit_int32 to emit_long and added local emit_long64 in place of missing emit_int64 Message-ID: <54462DDD.5020403@redhat.com> A non-text attachment was scrubbed... Name: 5597.patch Type: text/x-patch Size: 2546 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:57:00 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:57:00 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5598 : removed redundant field use_XOR_for_compressed_class_base Message-ID: <54462DEC.1070602@redhat.com> A non-text attachment was scrubbed... Name: 5598.patch Type: text/x-patch Size: 1242 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:57:19 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:57:19 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5599 : add wrapper method to avoid dependency on not yet defined code buffer class Message-ID: <54462DFF.8010301@redhat.com> A non-text attachment was scrubbed... Name: 5599.patch Type: text/x-patch Size: 2603 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:57:39 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:57:39 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5600 : fix several small typos Message-ID: <54462E13.1060209@redhat.com> A non-text attachment was scrubbed... Name: 5600.patch Type: text/x-patch Size: 2055 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:57:59 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:57:59 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5601 : remove support for volatile load/store rules in ad file Message-ID: <54462E27.2050206@redhat.com> A non-text attachment was scrubbed... Name: 5601.patch Type: text/x-patch Size: 3283 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:58:19 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:58:19 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5602 : remove comment to avoid breaking macro Message-ID: <54462E3B.8040708@redhat.com> A non-text attachment was scrubbed... Name: 5602.patch Type: text/x-patch Size: 963 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:58:43 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:58:43 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5603 : add local method to redirect to AbstractAssembler::relocate Message-ID: <54462E53.1090108@redhat.com> A non-text attachment was scrubbed... Name: 5603.patch Type: text/x-patch Size: 1360 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:59:03 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:59:03 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5604 : fix various typos Message-ID: <54462E67.4000809@redhat.com> A non-text attachment was scrubbed... Name: 5604.patch Type: text/x-patch Size: 1464 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:59:18 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:59:18 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5605 : fix relocations Message-ID: <54462E76.7000405@redhat.com> A non-text attachment was scrubbed... Name: 5605.patch Type: text/x-patch Size: 1669 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 09:59:36 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 10:59:36 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5606 : use membar rules and delete special case volatile rules Message-ID: <54462E88.7040209@redhat.com> A non-text attachment was scrubbed... Name: 5606.patch Type: text/x-patch Size: 16722 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:00:42 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:00:42 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5607 : fix various typos Message-ID: <54462ECA.9060400@redhat.com> A non-text attachment was scrubbed... Name: 5607.patch Type: text/x-patch Size: 1812 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:00:56 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:00:56 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5608 : guess at how to implement C1 deoptimize_trap generator Message-ID: <54462ED8.4060804@redhat.com> A non-text attachment was scrubbed... Name: 5608.patch Type: text/x-patch Size: 2452 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:01:13 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:01:13 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5609 : fix some typos Message-ID: <54462EE9.1050508@redhat.com> A non-text attachment was scrubbed... Name: 5609.patch Type: text/x-patch Size: 987 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:01:34 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:01:34 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5610 : fix up aarch64-specific patching code Message-ID: <54462EFE.3040309@redhat.com> A non-text attachment was scrubbed... Name: 5610.patch Type: text/x-patch Size: 3291 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:01:54 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:01:54 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5611 : fix up crc32 support Message-ID: <54462F12.1040806@redhat.com> A non-text attachment was scrubbed... Name: 5611.patch Type: text/x-patch Size: 15511 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:02:11 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:02:11 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5612 : get rid of unnecessary declaration Message-ID: <54462F23.4060008@redhat.com> A non-text attachment was scrubbed... Name: 5612.patch Type: text/x-patch Size: 710 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:02:29 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:02:29 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5613 : add missing include Message-ID: <54462F35.6020306@redhat.com> A non-text attachment was scrubbed... Name: 5613.patch Type: text/x-patch Size: 675 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:02:48 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:02:48 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5614 : added pd global UseVectoredExceptions Message-ID: <54462F48.4030409@redhat.com> A non-text attachment was scrubbed... Name: 5614.patch Type: text/x-patch Size: 813 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:03:06 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:03:06 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5615 : emit_int64 is renamed Message-ID: <54462F5A.4050007@redhat.com> A non-text attachment was scrubbed... Name: 5615.patch Type: text/x-patch Size: 807 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:03:21 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:03:21 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5616 : changed Method* to methodOop Message-ID: <54462F69.9090104@redhat.com> A non-text attachment was scrubbed... Name: 5616.patch Type: text/x-patch Size: 1547 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:03:43 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:03:43 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5617 : corrected include Message-ID: <54462F7F.4080604@redhat.com> A non-text attachment was scrubbed... Name: 5617.patch Type: text/x-patch Size: 761 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:04:01 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:04:01 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5618 : revert Method:: etc to methodOopDesc:: etc Message-ID: <54462F91.4030303@redhat.com> A non-text attachment was scrubbed... Name: 5618.patch Type: text/x-patch Size: 5215 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:04:16 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:04:16 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5619 : add support for storing aarch64 call format Message-ID: <54462FA0.102@redhat.com> A non-text attachment was scrubbed... Name: 5619.patch Type: text/x-patch Size: 1683 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:04:39 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:04:39 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5620 : correct Method to methdoOopDesc Message-ID: <54462FB7.5040300@redhat.com> A non-text attachment was scrubbed... Name: 5620.patch Type: text/x-patch Size: 1507 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:04:53 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:04:53 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5621 : fix couple of mistakes in generate of method handle dispatch Message-ID: <54462FC5.3040303@redhat.com> A non-text attachment was scrubbed... Name: 5621.patch Type: text/x-patch Size: 1717 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:05:05 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:05:05 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5622 : fixed error in include Message-ID: <54462FD1.2040905@redhat.com> A non-text attachment was scrubbed... Name: 5622.patch Type: text/x-patch Size: 735 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:05:21 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:05:21 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5623 : corrected typo Message-ID: <54462FE1.2030205@redhat.com> From adinn at redhat.com Tue Oct 21 10:06:57 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:06:57 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5623 : corrected typo In-Reply-To: <54462FE1.2030205@redhat.com> References: <54462FE1.2030205@redhat.com> Message-ID: <54463041.3050907@redhat.com> Oops, missed attachment! -------------- next part -------------- A non-text attachment was scrubbed... Name: 5623.patch Type: text/x-patch Size: 593 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:07:11 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:07:11 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5624 : fixed various typos, overlooked cases and wrong accessors Message-ID: <5446304F.4070807@redhat.com> A non-text attachment was scrubbed... Name: 5624.patch Type: text/x-patch Size: 2853 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:07:27 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:07:27 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5625 : fixed another typo Message-ID: <5446305F.809@redhat.com> A non-text attachment was scrubbed... Name: 5625.patch Type: text/x-patch Size: 871 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:07:45 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:07:45 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5626 : work around weird compiler issue Message-ID: <54463071.9020006@redhat.com> A non-text attachment was scrubbed... Name: 5626.patch Type: text/x-patch Size: 1350 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:08:50 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:08:50 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5627 : added missing shared global UseCRC32Intrinsics Message-ID: <544630B2.30907@redhat.com> A non-text attachment was scrubbed... Name: 5627.patch Type: text/x-patch Size: 5949 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:09:06 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:09:06 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5628 : fix typo Message-ID: <544630C2.8070708@redhat.com> A non-text attachment was scrubbed... Name: 5628.patch Type: text/x-patch Size: 909 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:09:19 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:09:19 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5629 : add missing declarations for CRC32 methods Message-ID: <544630CF.1060503@redhat.com> A non-text attachment was scrubbed... Name: 5629.patch Type: text/x-patch Size: 1312 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:09:48 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:09:48 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5630 : fixed various typos and omissions Message-ID: <544630EC.8020803@redhat.com> A non-text attachment was scrubbed... Name: 5630.patch Type: text/x-patch Size: 9718 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:10:01 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:10:01 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5631 : moved fields which need access from java to top level Message-ID: <544630F9.50607@redhat.com> A non-text attachment was scrubbed... Name: 5631.patch Type: text/x-patch Size: 2463 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:10:23 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:10:23 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5632 : add rules to assemble .S files Message-ID: <5446310F.2020108@redhat.com> A non-text attachment was scrubbed... Name: 5632.patch Type: text/x-patch Size: 736 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:10:39 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:10:39 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5633 : provide missing CRC32 methods Message-ID: <5446311F.8020505@redhat.com> A non-text attachment was scrubbed... Name: 5633.patch Type: text/x-patch Size: 2791 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:10:53 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:10:53 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5634 : correct includes Message-ID: <5446312D.4010007@redhat.com> A non-text attachment was scrubbed... Name: 5634.patch Type: text/x-patch Size: 788 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:11:06 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:11:06 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5635 : temporarily disable running test_gamma Message-ID: <5446313A.5020301@redhat.com> A non-text attachment was scrubbed... Name: 5635.patch Type: text/x-patch Size: 1360 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:11:26 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:11:26 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5636 : make aarch64-x86 hybrid buiold use correct paths Message-ID: <5446314E.80907@redhat.com> A non-text attachment was scrubbed... Name: 5636.patch Type: text/x-patch Size: 5618 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:11:41 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:11:41 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5637 : aded missing endif Message-ID: <5446315D.2050606@redhat.com> A non-text attachment was scrubbed... Name: 5637.patch Type: text/x-patch Size: 558 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:11:56 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:11:56 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5638 : corrcted type Message-ID: <5446316C.7040800@redhat.com> A non-text attachment was scrubbed... Name: 5638.patch Type: text/x-patch Size: 782 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:12:14 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:12:14 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5639 : tweaked .debuginfo wrangling for STRIP_POLICY==nostrip case Message-ID: <5446317E.30109@redhat.com> A non-text attachment was scrubbed... Name: 5639.patch Type: text/x-patch Size: 2447 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:12:32 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:12:32 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5640 : need to pass CFLAGS when assembling .S files using CC_COMPILE Message-ID: <54463190.4060907@redhat.com> A non-text attachment was scrubbed... Name: 5640.patch Type: text/x-patch Size: 1621 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:12:47 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:12:47 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5641 : various changes to accommodate inclusion of ppc port in icedtea7 Message-ID: <5446319F.5090902@redhat.com> A non-text attachment was scrubbed... Name: 5641.patch Type: text/x-patch Size: 8277 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:13:11 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:13:11 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5642 : Fixed hsdis for aarch64 native or simulated Message-ID: <544631B7.1090302@redhat.com> A non-text attachment was scrubbed... Name: 5642.patch Type: text/x-patch Size: 1373 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:13:24 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:13:24 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5643 : removed some errors in signal handling code Message-ID: <544631C4.9060100@redhat.com> A non-text attachment was scrubbed... Name: 5643.patch Type: text/x-patch Size: 1526 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:13:38 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:13:38 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5644 : some errors revealed when building debug image Message-ID: <544631D2.1060409@redhat.com> A non-text attachment was scrubbed... Name: 5644.patch Type: text/x-patch Size: 3872 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:13:54 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:13:54 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5645 : don't test arraycopy routines when using AArch64 simulator Message-ID: <544631E2.8090802@redhat.com> A non-text attachment was scrubbed... Name: 5645.patch Type: text/x-patch Size: 1020 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:14:09 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:14:09 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5646 : use method register to access counter increment field Message-ID: <544631F1.4050805@redhat.com> A non-text attachment was scrubbed... Name: 5646.patch Type: text/x-patch Size: 1511 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:14:21 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:14:21 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5647 : add missing special case code for aarch64 Message-ID: <544631FD.1010908@redhat.com> A non-text attachment was scrubbed... Name: 5647.patch Type: text/x-patch Size: 1954 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:14:39 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:14:39 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5648 : corrected error in disassembler code Message-ID: <5446320F.5@redhat.com> A non-text attachment was scrubbed... Name: 5648.patch Type: text/x-patch Size: 817 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:14:54 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:14:54 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5649 : added missing inline method Message-ID: <5446321E.8020903@redhat.com> A non-text attachment was scrubbed... Name: 5649.patch Type: text/x-patch Size: 737 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:15:06 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:15:06 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5650 : added missing changes for debug code Message-ID: <5446322A.5090505@redhat.com> A non-text attachment was scrubbed... Name: 5650.patch Type: text/x-patch Size: 1301 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:15:27 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:15:27 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5651 : correct assert to allow for AArch64 Message-ID: <5446323F.4050009@redhat.com> A non-text attachment was scrubbed... Name: 5651.patch Type: text/x-patch Size: 884 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:15:45 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:15:45 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5652 : array load must only read 32 bits Message-ID: <54463251.5090603@redhat.com> A non-text attachment was scrubbed... Name: 5652.patch Type: text/x-patch Size: 907 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:15:57 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:15:57 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5653 : use correct post-increment size in repne_scanw Message-ID: <5446325D.2010407@redhat.com> A non-text attachment was scrubbed... Name: 5653.patch Type: text/x-patch Size: 1130 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:16:14 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:16:14 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5654 : Reload rcpool register after a VM call in case a permgen GC has moved the cache Message-ID: <5446326E.3030005@redhat.com> A non-text attachment was scrubbed... Name: 5654.patch Type: text/x-patch Size: 711 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:16:28 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:16:28 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5655 : ensure C1 static call stub employs absolute move to allow patching Message-ID: <5446327C.70308@redhat.com> A non-text attachment was scrubbed... Name: 5655.patch Type: text/x-patch Size: 880 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:16:39 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:16:39 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5656 : use the correct return value from the VM resolve call Message-ID: <54463287.7020803@redhat.com> A non-text attachment was scrubbed... Name: 5656.patch Type: text/x-patch Size: 830 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:16:57 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:16:57 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5657 : ensure C2 static calls use correct call adddress in static stub reloc Message-ID: <54463299.4050705@redhat.com> A non-text attachment was scrubbed... Name: 5657.patch Type: text/x-patch Size: 2857 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:17:12 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:17:12 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5658 : use movoop in C1 ic_call to keep verifier happy Message-ID: <544632A8.2080001@redhat.com> A non-text attachment was scrubbed... Name: 5658.patch Type: text/x-patch Size: 2757 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:17:25 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:17:25 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5659 : fix error introduced into profiling code Message-ID: <544632B5.4060309@redhat.com> A non-text attachment was scrubbed... Name: 5659.patch Type: text/x-patch Size: 1448 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:17:47 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:17:47 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5660 : fix more errors introduced into interpreter profile counter increment Message-ID: <544632CB.3050407@redhat.com> A non-text attachment was scrubbed... Name: 5660.patch Type: text/x-patch Size: 2193 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:18:08 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:18:08 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5661 : add arch-specific processing of tmp1 register needed for d/f2i Message-ID: <544632E0.1070207@redhat.com> A non-text attachment was scrubbed... Name: 5661.patch Type: text/x-patch Size: 892 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:18:22 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:18:22 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5662 : make static stubs load methodOop in cpool to avoid problems at GC Message-ID: <544632EE.6040500@redhat.com> A non-text attachment was scrubbed... Name: 5662.patch Type: text/x-patch Size: 3024 bytes Desc: not available URL: From adinn at redhat.com Tue Oct 21 10:18:37 2014 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 21 Oct 2014 11:18:37 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5663 : make hsdis handle aarch64 native case Message-ID: <544632FD.60103@redhat.com> A non-text attachment was scrubbed... Name: 5663.patch Type: text/x-patch Size: 1346 bytes Desc: not available URL: From adinn at redhat.com Wed Oct 22 11:55:35 2014 From: adinn at redhat.com (Andrew Dinn) Date: Wed, 22 Oct 2014 12:55:35 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port repo now available on icedtea.classpath.org Message-ID: <54479B37.4050806@redhat.com> The repos for JDK7 backport of the aarch4 code to icedtea7 are now available via http://icedtea.classpath.org/hg/icedtea7-forest-aarch64/ http://icedtea.classpath.org/hg/icedtea7-forest-aarch64/hotspot etc Note that there is a full forest even though changes have only been made to the hotspot tree (so far!). So, you can check out the top level tree and then use the get_source.sh script to populate the other trees. This build has been tested by running java Hello, javac helo.java and (on x86-aarch64 hybrid) eclipse. It would be very helpful if others could kick the tires and/or do some further, more systematic testing. regards, Andrew Dinn ----------- My build scripts for building x86 hybrid (buildaarch64.sh) and native (buildnative.sh) are attached. Note: the scripts tweak the env and source jdk_generic_profile.sh to do et more tweaking so it is best to run them using bash buildxxx.sh don't forget to install stupid numbers of packages on aarch64 in order for it to build. oh and on x86 too, actually. mind you, you may already have them all. I had to tweak the aarch64 simulator to get the x86 hybrid build to work. The buildaarch script will pull the latest version if you don't have one paralle with your checked out tree but if you do have one then be sure to pull. The scripts also expect a binutil tree to be sitting parallel with your checkout. It uses this to build and install hsdis-aarch64.so on aarch64 and hsdis-amd64.so on x86. From aph at redhat.com Sat Oct 25 08:26:26 2014 From: aph at redhat.com (Andrew Haley) Date: Sat, 25 Oct 2014 09:26:26 +0100 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5662 : make static stubs load methodOop in cpool to avoid problems at GC In-Reply-To: <544632EE.6040500@redhat.com> References: <544632EE.6040500@redhat.com> Message-ID: <544B5EB2.3000805@redhat.com> On 21/10/14 11:18, Andrew Dinn wrote: > jdk7 needs to insert method oops for static/virtual calls using movoop > instead of movptr. the same applies for static stubs. we would like to > use a simple mov immediate with no oop record to do the patching but > that falls foul of the reloc code. > > we can use a mov immediate /with/ an oop record for the static/virtual > call. however if we do that for the stub load then the oop does not > get updated and a GC causes the patched stub oop to be reverted to > movz/k 0x0000. in order to avoid this we have to do the stub oop load > via the cpool using a ldr. This does not sound right. Do you know why the patching doesn't work? Andrew. From adinn at redhat.com Mon Oct 27 11:19:36 2014 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 27 Oct 2014 11:19:36 +0000 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5662 : make static stubs load methodOop in cpool to avoid problems at GC In-Reply-To: <544B5EB2.3000805@redhat.com> References: <544632EE.6040500@redhat.com> <544B5EB2.3000805@redhat.com> Message-ID: <544E2A48.7010002@redhat.com> On 25/10/14 09:26, Andrew Haley wrote: > On 21/10/14 11:18, Andrew Dinn wrote: >> jdk7 needs to insert method oops for static/virtual calls using movoop >> instead of movptr. the same applies for static stubs. we would like to >> use a simple mov immediate with no oop record to do the patching but >> that falls foul of the reloc code. >> >> we can use a mov immediate /with/ an oop record for the static/virtual >> call. however if we do that for the stub load then the oop does not >> get updated and a GC causes the patched stub oop to be reverted to >> movz/k 0x0000. in order to avoid this we have to do the stub oop load >> via the cpool using a ldr. > > This does not sound right. Do you know why the patching doesn't > work? Hmm, well sort of . . . I don't think I have fully understood all the details of patching. At first when planting the stub call I tried using movoop to install the stub oop in the oop recorder (which JDK7 shared code requires) while planting a movz/k sequence to install the oop in a register. When the patching code rewrites the stub call it updates the movz/k insns but it does not update the 0x000000000000 value recorded in the cpool (n.b. of course, in jdk8 there is no cpool entry to update). Subsquently, when a GC relocates the cpool data the reloc code is supplied with the zero oop originally inserted into the cpool and repatches the stub call movz/k insns back to 0x0000. If the patching code were to update the cpool entry we would be ok. I did not think it was possible for the stub rewrite code to do so (lack of relevant cpool info in the right place at the right time). So, instead I planted a ldr to load the oop via the cpool. Since the oop is in the cpool the ldr uses always the correct oop. I am not really clear why this same problem does not arise for the oop data encoded in the static/virtual call which redirects to the stub. Initially it is provided with the oop value (jobject)-1. That call does use a movz/k sequence and the GC does not seem to rewrite it to -1. But, then again, maybe it does get rewritten to -1 and we just perform the patching again? Your advice and expertise is very welcome (even more so your patches :-) regards, Andrew Dinn ----------- From aph at redhat.com Mon Oct 27 16:56:25 2014 From: aph at redhat.com (Andrew Haley) Date: Mon, 27 Oct 2014 16:56:25 +0000 Subject: [aarch64-port-dev ] icedtea7-aarch64 port changeset 5662 : make static stubs load methodOop in cpool to avoid problems at GC In-Reply-To: <544E2A48.7010002@redhat.com> References: <544632EE.6040500@redhat.com> <544B5EB2.3000805@redhat.com> <544E2A48.7010002@redhat.com> Message-ID: <544E7939.8010702@redhat.com> On 27/10/14 11:19, Andrew Dinn wrote: > Your advice and expertise is very welcome (even more so your patches :-) Okay. I'll have a look at it when I get a chance. I don't like mysteries. Andrew. From aph at redhat.com Thu Oct 30 07:15:04 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:15:04 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Dean Long In-Reply-To: <54380B7F.1060907@redhat.com> References: <54380B7F.1060907@redhat.com> Message-ID: <5451E578.5080402@redhat.com> Voting for Dean Long [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001472.html From aph at redhat.com Thu Oct 30 07:19:23 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:19:23 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Vladimir Kozlov In-Reply-To: <54380B1F.6030409@redhat.com> References: <54380B1F.6030409@redhat.com> Message-ID: <5451E67B.4000107@redhat.com> Voting for Vladimir Kozlov [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001471.html From aph at redhat.com Thu Oct 30 07:22:42 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:22:42 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Roland Westrelin In-Reply-To: <54380B9B.1040505@redhat.com> References: <54380B9B.1040505@redhat.com> Message-ID: <5451E742.7090605@redhat.com> Voting for Roland Westrelin [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001473.html From aph at redhat.com Thu Oct 30 07:24:05 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:24:05 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Dean Long In-Reply-To: <54380B7F.1060907@redhat.com> References: <54380B7F.1060907@redhat.com> Message-ID: <5451E795.40907@redhat.com> Voting for Dean Long [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001472.html From aph at redhat.com Thu Oct 30 07:24:42 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:24:42 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Vladimir Kozlov In-Reply-To: <54380B1F.6030409@redhat.com> References: <54380B1F.6030409@redhat.com> Message-ID: <5451E7BA.2090202@redhat.com> Voting for Vladimir Kozlov [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001471.html From aph at redhat.com Thu Oct 30 07:25:21 2014 From: aph at redhat.com (Andrew Haley) Date: Thu, 30 Oct 2014 07:25:21 +0000 Subject: [aarch64-port-dev ] Result: New aarch64-port Committer: Roland Westrelin In-Reply-To: <54380B9B.1040505@redhat.com> References: <54380B9B.1040505@redhat.com> Message-ID: <5451E7E1.9090906@redhat.com> Voting for Roland Westrelin [1] is now closed. Yes: 2 Veto: 0 Abstain: 2 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Andrew Haley. [1] http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2014-October/001473.html From adinn at redhat.com Thu Oct 30 10:55:40 2014 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 30 Oct 2014 10:55:40 +0000 Subject: [aarch64-port-dev ] jdk7 port: Patch to avoid RMI stub generation failure when using the newly generated JVM In-Reply-To: <54510981.1020006@redhat.com> References: <544A5ADE.9000104@redhat.com> <1414517824.26378.29.camel@localhost.localdomain> <5450EF44.8020801@redhat.com> <1414594942.28686.10.camel@localhost.localdomain> <54510981.1020006@redhat.com> Message-ID: <5452192C.6020306@redhat.com> I tweaked jdk/make/com/sun/jmx/Makefile during development so that it used the bootstrap JVM to generate the RMI stubs. this was needed in order to get the build to complete. WHowever, when Ed tried to do a full build from scratch without this tweak a weird heap alignment issue in jdk7 (but not present in jdk8) caused an assert when trying to load the card table byte map base. The heap alignment for the jdk7 JVM is 0x80000 and passing -Xms512M -Xmx512M appears always to result in the base being allocated at an odd multiple. Of course, that is exactly what the RMI stub generate command passes, something I managed to miss. The problem arises as follows. The card table base address, byte_map, is aligned to 0x1000 but the base address _byte_map_base is computed as _byte_map_base = (byte_map - (heap_start >> 9)) i.e. it is aligned to min(0x1000, 0x80000 >> 9) = 0x400 n.b. the original heap alignment is determined by this definition at gc_implementation/parallelScavenge/parallelScavengeHeap.hpp size_t intra_heap_alignment() const { return 64 * K * HeapWordSize; } That has disappeared from jdk8. The assert which Ed hit occurs in MacroAssembler::pd_patch_instruction in file assembler_aarch64.cpp. The offset for a patched adrp instruction is assumed always to be 0x0. This assert covers two cases where we generate an adrp without a following ldr in aarch64.ad:2589 in the encoding rule for aarch64_enc_mov_byte_map_base Register dst_reg = as_Register($dst$$reg); unsigned long off; __ adrp(dst_reg, ExternalAddress(page), off); assert(off == 0, "assumed offset == 0"); in c1_Runtime_aarch64.cpp:1235 in method Runtime1::generate_code_for(StubID id, StubAssembler* sasm) when id == case g1_post_barrier_slow_id __ lsr(card_addr, card_addr, CardTableModRefBS::card_shift); unsigned long offset; __ adrp(rscratch1, cardtable, offset); __ add(card_addr, card_addr, rscratch1); __ ldrb(rscratch1, Address(card_addr, offset)); (n.b. no actual assert there) Now in order to fix this we have two choices: change intra_heap_alignment() to ensure the correct alignment (we can make this arch-specific so it only affects AArch64) change the code which generates the adrp to check the offset and, if it is non-zero, to plant a following ldr. n.b. the offset value will never change so with the latter option the patching code still only needs to update the adrp, whether or not there is a following ldr. We would need to change the assert so that it allowed for a multiple of 0x400 offset but only when the address is for the card table. In that case we ought also to assert that the next instruction is indeed an ldr. Personally I think choice 1 is simpler and better -- it is essentially what JDK8 does. We lose a bit more heap but we avoid the possibility of having to plant the trailing ldr after the adrp. Anyone have an opinion? regards, Andrew Dinn ----------- From adinn at redhat.com Thu Oct 30 11:40:20 2014 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 30 Oct 2014 11:40:20 +0000 Subject: [aarch64-port-dev ] jdk7 port: Patch to avoid RMI stub generation failure when using the newly generated JVM In-Reply-To: <5452192C.6020306@redhat.com> References: <544A5ADE.9000104@redhat.com> <1414517824.26378.29.camel@localhost.localdomain> <5450EF44.8020801@redhat.com> <1414594942.28686.10.camel@localhost.localdomain> <54510981.1020006@redhat.com> <5452192C.6020306@redhat.com> Message-ID: <545223A4.7000804@redhat.com> n.b. patch for my preferred solution attached regards, Andrew Dinn ----------- -------------- next part -------------- A non-text attachment was scrubbed... Name: 5664.patch Type: text/x-patch Size: 1344 bytes Desc: not available URL: From ed at lab.validation.linaro.org Thu Oct 30 11:59:05 2014 From: ed at lab.validation.linaro.org (Edward Nevill) Date: Thu, 30 Oct 2014 11:59:05 +0000 Subject: [aarch64-port-dev ] jdk7 port: Patch to avoid RMI stub generation failure when using the newly generated JVM In-Reply-To: <545223A4.7000804@redhat.com> References: <544A5ADE.9000104@redhat.com> <1414517824.26378.29.camel@localhost.localdomain> <5450EF44.8020801@redhat.com> <1414594942.28686.10.camel@localhost.localdomain> <54510981.1020006@redhat.com> <5452192C.6020306@redhat.com> <545223A4.7000804@redhat.com> Message-ID: <1414670345.11583.5.camel@localhost.localdomain> Hi Andrew, This patch looks fine and I think it is the preferable solution as it is consistent with JDK8/JDK9. Perhaps you could add in the missing assert c1_Runtime_aarch64.cpp. Would it be worthwhile allocating the byte_map_base in a global register like rheapbase? I don't think there is undue register pressure. I am happy to look at this and do some benchmarking. All the best, Ed. On Thu, 2014-10-30 at 11:40 +0000, Andrew Dinn wrote: > n.b. patch for my preferred solution attached > > regards, > > > Andrew Dinn > ----------- > From edward.nevill at linaro.org Thu Oct 30 12:01:51 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Thu, 30 Oct 2014 12:01:51 +0000 Subject: [aarch64-port-dev ] jdk7 port: Patch to avoid RMI stub generation failure when using the newly generated JVM In-Reply-To: <545223A4.7000804@redhat.com> References: <544A5ADE.9000104@redhat.com> <1414517824.26378.29.camel@localhost.localdomain> <5450EF44.8020801@redhat.com> <1414594942.28686.10.camel@localhost.localdomain> <54510981.1020006@redhat.com> <5452192C.6020306@redhat.com> <545223A4.7000804@redhat.com> Message-ID: <1414670511.11583.7.camel@localhost.localdomain> <> On Thu, 2014-10-30 at 11:40 +0000, Andrew Dinn wrote: > n.b. patch for my preferred solution attached > > regards, > > > Andrew Dinn > ----------- Hi Andrew, This patch looks fine and I think it is the preferable solution as it is consistent with JDK8/JDK9. Perhaps you could add in the missing assert c1_Runtime_aarch64.cpp. Would it be worthwhile allocating the byte_map_base in a global register like rheapbase? I don't think there is undue register pressure. I am happy to look at this and do some benchmarking. All the best, Ed. From adinn at redhat.com Thu Oct 30 12:22:18 2014 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 30 Oct 2014 12:22:18 +0000 Subject: [aarch64-port-dev ] jdk7 port: Patch to avoid RMI stub generation failure when using the newly generated JVM In-Reply-To: <1414670511.11583.7.camel@localhost.localdomain> References: <544A5ADE.9000104@redhat.com> <1414517824.26378.29.camel@localhost.localdomain> <5450EF44.8020801@redhat.com> <1414594942.28686.10.camel@localhost.localdomain> <54510981.1020006@redhat.com> <5452192C.6020306@redhat.com> <545223A4.7000804@redhat.com> <1414670511.11583.7.camel@localhost.localdomain> Message-ID: <54522D7A.8040204@redhat.com> On 30/10/14 12:01, Edward Nevill wrote: > This patch looks fine and I think it is the preferable solution as it > is consistent with JDK8/JDK9. Ok, that's two of us. If Andrew is also happy then I will push modulo . . . > Perhaps you could add in the missing assert c1_Runtime_aarch64.cpp. Yes, thanks for catching that. Will do so. > Would it be worthwhile allocating the byte_map_base in a global > register like rheapbase? I don't think there is undue register > pressure. I am happy to look at this and do some benchmarking. That's an interesting idea. However, it is probably best considered wrt the JDK8 (or maybe even JDK9) code. Also, it's really a separate issue to this fix which we need now to get the build to work. If your idea really gives an edge we would probably want it to be used in all the trees in which case we should maybe start by adding it to 8 (or 9) and then backporting to 7. I'll leave Andrew to consider whether this is worth pursuing. regards, Andrew Dinn ----------- From adinn at icedtea.classpath.org Thu Oct 30 14:50:42 2014 From: adinn at icedtea.classpath.org (adinn at icedtea.classpath.org) Date: Thu, 30 Oct 2014 14:50:42 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure byte_map_base can be... Message-ID: changeset eff2294b2b17 in /hg/icedtea7-forest-aarch64/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest-aarch64/hotspot?cmd=changeset;node=eff2294b2b17 author: adinn date: Thu Oct 30 10:46:37 2014 -0400 ensure byte_map_base can be loaded using adrp with no need for following ldr on AArch64 we want the card table base to be aligned to 4K so we can load using a single adrp with no need to load an offset. this means the heap needs to be aligned at 2Mb (i.e 256K heapwords). that's because byte_map_base is calculated as (byte_map - (heap_base >> 9)) diffstat: src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp | 1 + src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletions(-) diffs (28 lines): diff -r 5b7dcf16fe5d -r eff2294b2b17 src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Tue Oct 21 05:09:50 2014 -0400 +++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Thu Oct 30 10:46:37 2014 -0400 @@ -1235,6 +1235,7 @@ __ lsr(card_addr, card_addr, CardTableModRefBS::card_shift); unsigned long offset; __ adrp(rscratch1, cardtable, offset); + assert(offset == 0, "assumed offset == 0"); __ add(card_addr, card_addr, rscratch1); __ ldrb(rscratch1, Address(card_addr, offset)); __ cmpw(rscratch1, (int)G1SATBCardTableModRefBS::g1_young_card_val()); diff -r 5b7dcf16fe5d -r eff2294b2b17 src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp Tue Oct 21 05:09:50 2014 -0400 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp Thu Oct 30 10:46:37 2014 -0400 @@ -129,8 +129,12 @@ // The alignment used for eden and survivors within the young gen // and for boundary between young gen and old gen. +#ifdef TARGET_ARCH_aarch64 + // ensure byte_map_base can be loaded using adrp with no following ldr + size_t intra_heap_alignment() const { return 256 * K * HeapWordSize; } +#else size_t intra_heap_alignment() const { return 64 * K * HeapWordSize; } - +#endif size_t capacity() const; size_t used() const; From adinn at redhat.com Thu Oct 30 16:25:07 2014 From: adinn at redhat.com (Andrew Dinn) Date: Thu, 30 Oct 2014 16:25:07 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure byte_map_base can be... In-Reply-To: References: Message-ID: <54526663.4020609@redhat.com> Hmm, this patch may need to be reconsidered :-( I just tried running jtreg with this patch included and it fails to compile the test code. That's because jtreg passes argument -Xms8m to javac. This causes eden_size to be computed as zero leading to an assert. It is possible to override this by passing EXTRA_JTREG_ARGS="-Xms16m" to the "make test" command. That seems rather unsatisfactory though. I wonder if anything else important -- other than jtreg -- is relying on being able to run with a heap size of 8Mb? Any opinions? regards, Andrew Dinn ----------- From edward.nevill at linaro.org Fri Oct 31 10:24:39 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 31 Oct 2014 10:24:39 +0000 Subject: [aarch64-port-dev ] RFR: Add support for pipeline scheduling Message-ID: <1414751079.20118.25.camel@localhost.localdomain> Hi, The following webrev is a first pass at adding pipeline scheduling to JDK8. The pipeline implementation is modeled on A53. http://openjdk.linaro.org/webrev/141031/hotspot/ - The model only models 4 stages ISS1, EX1, EX2 and WR. It does not model the additional 4 stages in the fetch and decode stages of the pipeline because these are fixed and therefore make no difference to the scheduling. - The A53 pipeline is dual issue and this is modeled by having 2 dummy resources 'INS0' and 'INS1' and a combined resource 'INS01' which means an instruction can issue as either instruction 0 or instruction 1. The resource INS0, INS1 or INS01 is used in the ISS stage. - The different A53 pipelines (ALU0, ALU1, MAC, DIV, STORE & BRANCH) are modeled as resources (ALU, MAC, DEV, BRANCH, LDST) which are used in the final stage of the pipeline - ie. the stage where the result could be forwarded. - I have made no attempt to model Late and Early pipeline stage. IE if a result can be available in Late_ISS I require it to be available in ISS and similarly if a result can be forwarded in Early_WR I say it is available at WR. - I have not modeled the Neon pipeline. These are simply fixed latency. The following is the performance improvement I see on A53 on a selection of benchmarks. Grinderbench Parallel: +16% kXML: +1% PNG: +2% Chess: +4% Crypto: +6% SpecJVM2008 compiler.compiler: +5% compress: +3% crypto.aes: +26% crypto.rsa: +2% crypto.signverify: +6% derby: -1% mpegaudio: +5% scimark.fft.large: +12% scimark.lu.large: +0% scimark.sor.large: -1% scimark.sparse.large: +28% scimark.fft.small: +2% scimark.lu.small: +8% scimark.sor.small: -1% scimark.sparse.small: +0% scimark.monte_carlo: +9% serial: +1% sunflow: +3% xml.transform: +5% xml.validation: +2% There is quite a large variation on these results and I would be suspect about some of the larger improvements (+16%, +26%, +28%) however it does seem to offer a consistent improvement. In the webrev I have turned the default for pipeline scheduling ('OptoScheduling'). It may be that we want to refine this and only turn it on for In-Order cores (not sure what you do about Big-Little). However for the moment I would like to make it the default so the overnight tests will run with it switched on. OK to push to JDK8? All the best, Ed. From edward.nevill at linaro.org Fri Oct 31 10:37:08 2014 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 31 Oct 2014 10:37:08 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure byte_map_base can be... In-Reply-To: <54526663.4020609@redhat.com> References: <54526663.4020609@redhat.com> Message-ID: <1414751828.20118.36.camel@localhost.localdomain> On Thu, 2014-10-30 at 16:25 +0000, Andrew Dinn wrote: > Hmm, this patch may need to be reconsidered :-( > > I just tried running jtreg with this patch included and it fails to > compile the test code. That's because jtreg passes argument -Xms8m to > javac. This causes eden_size to be computed as zero leading to an assert. > > It is possible to override this by passing EXTRA_JTREG_ARGS="-Xms16m" to > the "make test" command. That seems rather unsatisfactory though. > > I wonder if anything else important -- other than jtreg -- is relying on > being able to run with a heap size of 8Mb? > > Any opinions? Hi, I think the best thing may be to back out this patch and put in the extra ADD instruction. I think it needs an extra ADD, not an extra LDR/STR. IE. The existing sequence is something like lsr Xtmp, Xobject, #9 adrp Xtable, CardTable strb zr, [Xtable, Xtmp] This becomes lsr Xtmp, Xobject, #9 adrp Xtable, CardTable & ~0xfff add Xtable, Xtable, CardTable & 0xfff strb zr, [Xtable, Xtmp] I did some experiments with using a global register, and it seems to work ok, but what I am doing is. lsr Xtmp, Xobject, #9 mov Xtable, Xcardtable (aka X27) strb zr, [Xtable, Xtmp] I am struggling to get a pattern which merges the mov and the strb into a single store. So, I think it would be best to simply put in the extra ADD instruction which should work and continue experiment on what is the most performant way to do it. All the best, Ed. From adinn at redhat.com Fri Oct 31 11:09:01 2014 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 31 Oct 2014 11:09:01 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure byte_map_base can be... In-Reply-To: <1414751828.20118.36.camel@localhost.localdomain> References: <54526663.4020609@redhat.com> <1414751828.20118.36.camel@localhost.localdomain> Message-ID: <54536DCD.7090201@redhat.com> On 31/10/14 10:37, Edward Nevill wrote: > I think the best thing may be to back out this patch and put in the > extra ADD instruction. I think it needs an extra ADD, not an extra > LDR/STR. Oops, sorry, it does indeed require an add to be inserted not an ldr. What I was struggling to suggest was that we use Assembler::lea. As in long offset; __ adrp(dst_reg, CardTable, offset; assert((offset & 0x3ff) == 0, "offset must be 0x400 aligned"); __ lea(dst_reg, Address(dst_reg, offset); > IE. The existing sequence is something like > > lsr Xtmp, Xobject, #9 > adrp Xtable, CardTable > strb zr, [Xtable, Xtmp] > > This becomes > > lsr Xtmp, Xobject, #9 > adrp Xtable, CardTable & ~0xfff > add Xtable, Xtable, CardTable & 0xfff > strb zr, [Xtable, Xtmp] Which I believe the above code will achieve. > I did some experiments with using a global register, and it seems to work ok, but what I am doing is. > > lsr Xtmp, Xobject, #9 > mov Xtable, Xcardtable (aka X27) > strb zr, [Xtable, Xtmp] > > I am struggling to get a pattern which merges the mov and the strb into a single store. > > So, I think it would be best to simply put in the extra ADD > instruction which should work and continue experiment on what is the > most performant way to do it. Yes, I'll back out the old change and modify the callers of adrp and the asserts in the reloc code accordingly. However, there is still one simple improvement we can make. The intra-page offset is never going to change so the reloc code only needs to adjust the adrp to fix the 4K aligned page offset. It doesn't care whetehr or not there is a following add. So, we can forget about the add if the offset is zero i.e. long offset; __ adrp(dst_reg, CardTable, offset; assert((offset & 0x3ff) == 0, "offset must be 0x400 aligned"); if (offset != 0) { __ lea(dst_reg, Address(dst_reg, offset); } regards, Andrew Dinn ----------- From adinn at redhat.com Fri Oct 31 15:56:17 2014 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 31 Oct 2014 15:56:17 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: ensure rmethod is reloaded ... In-Reply-To: References: Message-ID: <5453B121.9060009@redhat.com> [forwarding bounced checking message] Return-path: Received: from localhost ([127.0.0.1] helo=icedtea.classpath.org) by icedtea.classpath.org with esmtp (Exim 4.69) (envelope-from ) id 1XkDXR-0008QP-HV for aarch64-port-dev at openjdk.java.net; Fri, 31 Oct 2014 14:50:53 +0000 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Date: Fri, 31 Oct 2014 14:50:53 +0000 Subject: /hg/icedtea7-forest-aarch64/hotspot: ensure rmethod is reloaded ... From: adinn at icedtea.classpath.org X-Hg-Notification: changeset 99a0ed4de8a1 Message-Id: To: aarch64-port-dev at openjdk.java.net changeset 99a0ed4de8a1 in /hg/icedtea7-forest-aarch64/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest-aarch64/hotspot?cmd=changeset;node=99a0ed4de8a1 author: adinn date: Fri Oct 31 14:50:26 2014 +0000 ensure rmethod is reloaded from stack when interpreter makes non leaf VM call n.b. we always push and pop rmethod around VM calls because it is volatile. this is redundant for calls from the interpreter and it would be godo to be able to avoid it. there is a FIXME comment in the code as a reminder. diffstat: src/cpu/aarch64/vm/assembler_aarch64.cpp | 3 +++ src/cpu/aarch64/vm/interp_masm_aarch64.cpp | 3 +++ 2 files changed, 6 insertions(+), 0 deletions(-) diffs (33 lines): diff -r eff2294b2b17 -r 99a0ed4de8a1 src/cpu/aarch64/vm/assembler_aarch64.cpp --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Oct 30 10:46:37 2014 -0400 +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Fri Oct 31 14:50:26 2014 +0000 @@ -2687,6 +2687,9 @@ Label *retaddr) { Label E, L; + // !!! FIXME AARCH64 we normally need to save rmethod as it is + // volatile. however we don't need to when calling from the + // interpreter. stp(rscratch1, rmethod, Address(pre(sp, -2 * wordSize))); // We add 1 to number_of_arguments because the thread in arg0 is diff -r eff2294b2b17 -r 99a0ed4de8a1 src/cpu/aarch64/vm/interp_masm_aarch64.cpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Thu Oct 30 10:46:37 2014 -0400 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Fri Oct 31 14:50:26 2014 +0000 @@ -1413,6 +1413,7 @@ // Note: No need to save/restore rbcp & rlocals pointer since these // are callee saved registers and no blocking/ GC can happen // in leaf calls. + // also no need to restore method register #ifdef ASSERT { Label L; @@ -1456,6 +1457,8 @@ entry_point, number_of_arguments, check_exceptions); // interpreter specific + // method oop may have moved so reload from interpreter stack frame + get_method(rmethod); restore_bcp(); restore_locals(); // reload the constant pool cache in case a PermGen GC moved it From adinn at redhat.com Fri Oct 31 16:24:54 2014 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 31 Oct 2014 16:24:54 +0000 Subject: [aarch64-port-dev ] /hg/icedtea7-forest-aarch64/hotspot: allow for 0x400 aligned off... In-Reply-To: References: Message-ID: <5453B7D6.60505@redhat.com> forwarding bounced check-in message Return-path: Received: from localhost ([127.0.0.1] helo=icedtea.classpath.org) by icedtea.classpath.org with esmtp (Exim 4.69) (envelope-from ) id 1XkEsf-00007V-SI for aarch64-port-dev at openjdk.java.net; Fri, 31 Oct 2014 16:16:54 +0000 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Date: Fri, 31 Oct 2014 16:16:53 +0000 Subject: /hg/icedtea7-forest-aarch64/hotspot: allow for 0x400 aligned off... From: adinn at icedtea.classpath.org X-Hg-Notification: changeset 1759697c36a4 Message-Id: To: aarch64-port-dev at openjdk.java.net changeset 1759697c36a4 in /hg/icedtea7-forest-aarch64/hotspot details: http://icedtea.classpath.org/hg/icedtea7-forest-aarch64/hotspot?cmd=changeset;node=1759697c36a4 author: adinn date: Fri Oct 31 12:08:03 2014 -0400 allow for 0x400 aligned offsets for byte_map_base this reverts change set: 5664 SHA1 id: eff2294b2b17 which fixed the same problem as this fix but only at the cost of padding up to 1.5 extra Mbs between heap regions. That stopped jtreg running some of its tests with -Xms8Mb. That might, admittedly, be considered unimportant but we don't want to make it hard for anyone to run standard tests. diffstat: src/cpu/aarch64/vm/aarch64.ad | 7 ++- src/cpu/aarch64/vm/assembler_aarch64.cpp | 28 ++++++--- src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp | 7 ++- src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp | 5 - 4 files changed, 31 insertions(+), 16 deletions(-) diffs (104 lines): diff -r 99a0ed4de8a1 -r 1759697c36a4 src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Fri Oct 31 14:50:26 2014 +0000 +++ b/src/cpu/aarch64/vm/aarch64.ad Fri Oct 31 12:08:03 2014 -0400 @@ -2589,7 +2589,12 @@ Register dst_reg = as_Register($dst$$reg); unsigned long off; __ adrp(dst_reg, ExternalAddress(page), off); - assert(off == 0, "assumed offset == 0"); + assert((off & 0x3ffL) == 0, "assumed offset aligned to 0x400"); + // n.b. intra-page offset will never change even if this gets + // relocated so it is safe to omit the lea when off == 0 + if (off != 0) { + __ lea(dst_reg, Address(dst_reg, off)); + } %} enc_class aarch64_enc_mov_n(iRegN dst, immN src) %{ diff -r 99a0ed4de8a1 -r 1759697c36a4 src/cpu/aarch64/vm/assembler_aarch64.cpp --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Fri Oct 31 14:50:26 2014 +0000 +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Fri Oct 31 12:08:03 2014 -0400 @@ -1609,15 +1609,22 @@ // 2 - adrp Rx, target_page // add Ry, Rx, #offset_in_page // 3 - adrp Rx, target_page (page aligned reloc, offset == 0) - // In the first 2 cases we must check that Rx is the same in the adrp and the - // subsequent ldr/str or add instruction. Otherwise we could accidentally end - // up treating a type 3 relocation as a type 1 or 2 just because it happened - // to be followed by a random unrelated ldr/str or add instruction. // - // In the case of a type 3 relocation, we know that these are only generated - // for the safepoint polling page, or for the card type byte map base so we - // assert as much and of course that the offset is 0. + // In the first 2 cases we must check that Rx is the same in the + // adrp and the subsequent ldr/str or add instruction. Otherwise + // we could accidentally end up treating a type 3 relocation as + // a type 1 or 2 just because it happened to be followed by a + // random unrelated ldr/str or add instruction. // + // In the case of a type 3 relocation, we know that these are + // only generated for the safepoint polling page, the crc table + // base or the card type byte map base so we assert as much + // and of course that the offset is 0. + // + // In jdk7 the card type byte map base is aligned on a 1K + // boundary which may fail to be 4K aligned. In that case the + // card table load will fall into category 2. + unsigned insn2 = ((unsigned*)branch)[1]; if (Instruction_aarch64::extract(insn2, 29, 24) == 0b111001 && Instruction_aarch64::extract(insn, 4, 0) == @@ -1631,6 +1638,9 @@ Instruction_aarch64::extract(insn, 4, 0) == Instruction_aarch64::extract(insn2, 4, 0)) { // add (immediate) + assert (((jbyte *)target != + ((CardTableModRefBS*)(Universe::heap()->barrier_set()))->byte_map_base) || + (offset_lo & 0x3FFl) == 0, "offset must be 0x400 aligned for crc_table"); Instruction_aarch64::patch(branch + sizeof (unsigned), 21, 10, offset_lo); } else { @@ -1638,8 +1648,8 @@ ((CardTableModRefBS*)(Universe::heap()->barrier_set()))->byte_map_base || target == StubRoutines::crc_table_addr() || (address)target == os::get_polling_page(), - "adrp must be polling page or byte map base"); - assert(offset_lo == 0, "offset must be 0 for polling page or byte map base"); + "adrp must be polling page, crc_table or byte map base"); + assert(offset_lo == 0, "offset must be 0 for polling page, crc_table or byte map base"); } } int offset_lo = offset & 3; diff -r 99a0ed4de8a1 -r 1759697c36a4 src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Fri Oct 31 14:50:26 2014 +0000 +++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Fri Oct 31 12:08:03 2014 -0400 @@ -1235,7 +1235,12 @@ __ lsr(card_addr, card_addr, CardTableModRefBS::card_shift); unsigned long offset; __ adrp(rscratch1, cardtable, offset); - assert(offset == 0, "assumed offset == 0"); + assert((offset & 0x3ffL) == 0, "assumed offset aligned to 0x400"); + // n.b. intra-page offset will never change even if this gets + // relocated so it is safe to omit the lea when offset == 0 + if (offset != 0) { + __ lea(rscratch1, Address(rscratch1, offset)); + } __ add(card_addr, card_addr, rscratch1); __ ldrb(rscratch1, Address(card_addr, offset)); __ cmpw(rscratch1, (int)G1SATBCardTableModRefBS::g1_young_card_val()); diff -r 99a0ed4de8a1 -r 1759697c36a4 src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp Fri Oct 31 14:50:26 2014 +0000 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp Fri Oct 31 12:08:03 2014 -0400 @@ -129,12 +129,7 @@ // The alignment used for eden and survivors within the young gen // and for boundary between young gen and old gen. -#ifdef TARGET_ARCH_aarch64 - // ensure byte_map_base can be loaded using adrp with no following ldr - size_t intra_heap_alignment() const { return 256 * K * HeapWordSize; } -#else size_t intra_heap_alignment() const { return 64 * K * HeapWordSize; } -#endif size_t capacity() const; size_t used() const; From aph at redhat.com Fri Oct 31 16:50:24 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 31 Oct 2014 16:50:24 +0000 Subject: [aarch64-port-dev ] RFR: Add support for pipeline scheduling In-Reply-To: <1414751079.20118.25.camel@localhost.localdomain> References: <1414751079.20118.25.camel@localhost.localdomain> Message-ID: <5453BDD0.8010805@redhat.com> On 31/10/14 10:24, Edward Nevill wrote: > There is quite a large variation on these results and I would be > suspect about some of the larger improvements (+16%, +26%, +28%) > however it does seem to offer a consistent improvement. > > In the webrev I have turned the default for pipeline scheduling > ('OptoScheduling'). It may be that we want to refine this and only > turn it on for In-Order cores (not sure what you do about > Big-Little). However for the moment I would like to make it the > default so the overnight tests will run with it switched on. > > OK to push to JDK8? Oh that's excellent, thanks! One or two nits: I trust you did not edit the part of the file marked // BEGIN This section of the file is automatically generated. Do not edit -------------- If you did, please remove your edits and regenerate that part of the file. It's an m4 program, just run it though m4 and insert it. Also: all changes should go into JDK9. Thanks again, Andrew. From ed at camswl.com Fri Oct 31 20:57:27 2014 From: ed at camswl.com (ed at camswl.com) Date: Fri, 31 Oct 2014 20:57:27 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Add support for pipeline scheduling Message-ID: <201410312057.s9VKvSqU007209@aojmv0008> Changeset: 788f964d727f Author: Edward Nevill Date: 2014-10-31 21:04 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/788f964d727f Add support for pipeline scheduling ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/aarch64_ad.m4 ! src/cpu/aarch64/vm/vm_version_aarch64.cpp