From aph at redhat.com Tue Sep 3 07:25:51 2013 From: aph at redhat.com (Andrew Haley) Date: Tue, 03 Sep 2013 15:25:51 +0100 Subject: [aarch64-port-dev ] A few fixes for lambdas Message-ID: <5225F16F.4090103@redhat.com> I've been kicking the tyres of Lambdas, and I have noticed a few thinkos that I made, some way back in Dec 2012. Andrew. # HG changeset patch # User aph # Date 1378218141 -3600 # Node ID 9a45e1894e290674555275c7ca5d8ee4ed0165d6 # Parent 3a09edaa2c42ea1b910484d4c3d878858dd9634a A few fixes for lambdas diff -r 3a09edaa2c42 -r 9a45e1894e29 src/cpu/aarch64/vm/interp_masm_aarch64.cpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Thu Aug 29 17:15:33 2013 +0100 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Tue Sep 03 15:22:21 2013 +0100 @@ -127,7 +127,7 @@ // we have to change the following assembler code to calculate the // plain index. assert(ConstantPool::decode_invokedynamic_index(~123) == 123, "else change next line"); - eonw(index, index, 0); // convert to plain index + eonw(index, index, zr); // convert to plain index } else if (index_size == sizeof(u1)) { load_unsigned_byte(index, Address(rbcp, bcp_offset)); } else { @@ -798,6 +798,8 @@ // %%% this does 64bit counters at best it is wasting space // at worst it is a rare bug when counters overflow + assert_different_registers(rscratch2, rscratch1, mdp_in, reg); + Address addr1(mdp_in, constant); Address addr2(rscratch2, reg, Address::lsl(0)); Address &addr = addr1; diff -r 3a09edaa2c42 -r 9a45e1894e29 src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Thu Aug 29 17:15:33 2013 +0100 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Tue Sep 03 15:22:21 2013 +0100 @@ -1226,7 +1226,7 @@ SharedRuntime::check_member_name_argument_is_last_argument(method, sig_bt, regs); VMReg r = regs[member_arg_pos].first(); if (r->is_stack()) { - __ ldr(member_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize)); + __ ldr(member_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size)); } else { // no data motion is needed member_reg = r->as_Register(); @@ -1245,7 +1245,7 @@ // platform, pick a temp and load the receiver from stack. fatal("receiver always in a register"); receiver_reg = r2; // known to be free at this point - __ ldr(receiver_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize)); + __ ldr(receiver_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size)); } else { // no data motion is needed receiver_reg = r->as_Register(); diff -r 3a09edaa2c42 -r 9a45e1894e29 src/cpu/aarch64/vm/templateTable_aarch64.cpp --- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp Thu Aug 29 17:15:33 2013 +0100 +++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp Tue Sep 03 15:22:21 2013 +0100 @@ -3075,10 +3075,11 @@ __ verify_oop(r2); __ null_check(r2); - // Note: rax_mtype is already pushed (if necessary) by prepare_invoke - // FIXME: profile the LambdaForm also - __ profile_final_call(rscratch1); + + // r13 is safe to use here as a scratch reg because it is about to + // be clobbered by jump_from_interpreted(). + __ profile_final_call(r13); __ jump_from_interpreted(rmethod, r0); } From thuhc at yahoo.com Tue Sep 3 22:39:00 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Tue, 3 Sep 2013 22:39:00 -0700 (PDT) Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers In-Reply-To: <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> Message-ID: <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> I got error when run any java command: (example: java -version or java) # # A fatal error has been detected by the Java Runtime Environment: # # ?SIGILL (0x4) at pc=0x0000007f920c281c, pid=1910, tid=548033499664 # # JRE version: ?(8.0) (build ) # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) # Problematic frame: # v ?~BufferBlob::native signature handlers # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please visit: # ? http://bugreport.sun.com/bugreport/crash.jsp # --------------- ?T H R E A D ?--------------- Current thread (0x0000007f94006e10): ?JavaThread "main" [_thread_in_Java, id=1911, stack(0x0000007f9937a000,0x0000007f9957a000)] siginfo:si_signo=SIGILL: si_errno=0, si_code=1 (ILL_ILLOPC), si_addr=0x0000007f920c281c Registers: R0=0x0000007f94006e10 R1=0x0000000000000000 R2=0x0000000000000013 R3=0x0000007f940073c0 R4=0x0000007f94008bd0 R5=0x0000007f98ac8e50 R6=0x0000000000000014 R7=0xf2c00fe0f2b24100 R8=0x0000000000000000 R9=0x0000007f99572e00 R10=0x0000007f98ac0ef0 R11=0x0000000000000017 R12=0x0000007f98ac8e50 R13=0x0000007f99576e40 R14=0x0000000000000000 R15=0x0005ac17dc000000 R16=0x0000007f99d70698 R17=0x0000007f920c281c R18=0x0000007f99576a30 R19=0x0000000000000009 R20=0x0000007f99576df8 R21=0x0000007f99dd1380 R22=0x0000007f98ac8e40 R23=0x0000007f92088820 R24=0x0000007f99576e68 R25=0x0000000000000000 R26=0x0000007f98b4f970 R27=0x0000007f99577090 R28=0x0000007f94006e10 R29=0x0000007f99576e40 R30=0x0000007f9208b034 Top of Stack: (sp=0x0000007f99576df0) 0x0000007f99576df0: ? 0000007f99576df0 0000007f98ac4d11 0x0000007f99576e00: ? 0000007f99576e00 0000007f98ac8e40 0x0000007f99576e10: ? 0000007f99576e68 0000007f98b4f970 0x0000007f99576e20: ? 0000000000000000 0000007f98ac8e50 0x0000007f99576e30: ? 0000000000000000 0000007f99576e40 0x0000007f99576e40: ? 0000007f99576eb0 0000007f9208026c 0x0000007f99576e50: ? 0000007f99576e40 0000000000000000 0x0000007f99576e60: ? 0000000000000000 0000007f82008fb0 0x0000007f99576e70: ? 0000007f99576e70 0000007f98ac8d5a 0x0000007f99576e80: ? 0000007f99576ee8 0000007f98b4f970 0x0000007f99576e90: ? 0000000000000000 0000007f98ac8db0 0x0000007f99576ea0: ? 0000007f99576e68 0000007f99576ec0 0x0000007f99576eb0: ? 0000007f99576f30 0000007f9208026c 0x0000007f99576ec0: ? 0000007f99576ec0 0000000000000000 0x0000007f99576ed0: ? 0000000000000000 0000000000000000 0x0000007f99576ee0: ? 0000000000000000 0000007f82008fb0 0x0000007f99576ef0: ? 0000007f99576ef0 0000007f98b6c9a3 0x0000007f99576f00: ? 0000007f99576f48 0000007f98b6ca50 0x0000007f99576f10: ? 0000000000000000 0000007f98b6c9f0 0x0000007f99576f20: ? 0000007f99576ee8 0000007f99575f50 0x0000007f99576f30: ? 0000007f99576fe0 0000007f9207a60c 0x0000007f99576f40: ? 0000007f99575f50 0000007f94006e10 0x0000007f99576f50: ? 0000007f940073c0 0000007f99577090 0x0000007f99576f60: ? 0000007f94006e10 0000000000000000 0x0000007f99576f70: ? 000000000000000a 0000007f92088820 0x0000007f99576f80: ? 0000007f995771d0 0000007f99577140 0x0000007f99576f90: ? 0000007f94006e10 0000007f98b6c9f0 0x0000007f99576fa0: ? 0000007f99577050 0000007f995771d8 0x0000007f99576fb0: ? 000000000000000a 0000007f98b6c9f0 0x0000007f99576fc0: ? 0000007f92088820 0000007f99577148 0x0000007f99576fd0: ? 0000007f00000000 0000007f94006e10 0x0000007f99576fe0: ? 0000007f99576ff0 0000007f99a692a4? Instructions: (pc=0x0000007f920c281c) 0x0000007f920c27fc: ? 01 03 00 91 20 10 80 52 80 39 00 f9 00 d7 8e d2 0x0000007f920c280c: ? 00 41 b2 f2 e0 0f c0 f2 00 00 e0 f2 c0 03 5f d6 0x0000007f920c281c: ? 00 03 00 91 02 00 80 d2 08 00 40 f9 48 00 00 b4 0x0000007f920c282c: ? e2 03 00 aa 20 18 80 52 80 39 00 f9 00 d0 8e d2? Register to memory mapping: R0=0x0000007f94006e10 R1=0x0000000000000000 R2=0x0000000000000013 R3=0x0000007f940073c0 R4=0x0000007f94008bd0 R5=0x0000007f98ac8e50 R6=0x0000000000000014 R7=0xf2c00fe0f2b24100 R8=0x0000000000000000 R9=0x0000007f99572e00 R10=0x0000007f98ac0ef0 R11=0x0000000000000017 R12=0x0000007f98ac8e50 R13=0x0000007f99576e40 R14=0x0000000000000000 R15=0x0005ac17dc000000 R16=0x0000007f99d70698 R17=0x0000007f920c281c R18=0x0000007f99576a30 R19=0x0000000000000009 R20=0x0000007f99576df8 R21=0x0000007f99dd1380 R22=0x0000007f98ac8e40 R23=0x0000007f92088820 R24=0x0000007f99576e68 R25=0x0000000000000000 R26=0x0000007f98b4f970 R27=0x0000007f99577090 R28=0x0000007f94006e10 R29=0x0000007f99576e40 R30=0x0000007f9208b034 Stack: [0x0000007f9937a000,0x0000007f9957a000], ?sp=0x0000007f99576df0, ?free space=2035k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) v ?~BufferBlob::native signature handlers j ?java.lang.Class.desiredAssertionStatus()Z+10 j ?java.lang.Math.()V+3 v ?~StubRoutines::call_stub V ?[libjvm.so+0x3022a4] ?AsyncGetCallTrace+0xba1e4 V ?[libjvm.so+0x473f40] ?fork1+0x2480 V ?[libjvm.so+0x2c6040] ?AsyncGetCallTrace+0x7df80 V ?[libjvm.so+0x2c64c4] ?AsyncGetCallTrace+0x7e404 V ?[libjvm.so+0x2c67e0] ?AsyncGetCallTrace+0x7e720 V ?[libjvm.so+0x3adaf4] ?JVM_FindSignal+0x57354 V ?[libjvm.so+0x3ae7cc] ?JVM_FindSignal+0x5802c V ?[libjvm.so+0x3b2918] ?JVM_FindSignal+0x5c178 V ?[libjvm.so+0x2fa970] ?AsyncGetCallTrace+0xb28b0 j ?java.util.Hashtable.(IF)V+129 j ?java.util.Hashtable.()V+5 j ?java.util.Properties.(Ljava/util/Properties;)V+1 j ?java.util.Properties.()V+2 j ?sun.misc.VM.()V+28 v ?~StubRoutines::call_stub V ?[libjvm.so+0x3022a4] ?AsyncGetCallTrace+0xba1e4 V ?[libjvm.so+0x473f40] ?fork1+0x2480 V ?[libjvm.so+0x2c6040] ?AsyncGetCallTrace+0x7df80 V ?[libjvm.so+0x2c64c4] ?AsyncGetCallTrace+0x7e404 V ?[libjvm.so+0x2c67e0] ?AsyncGetCallTrace+0x7e720 V ?[libjvm.so+0x3adaf4] ?JVM_FindSignal+0x57354 V ?[libjvm.so+0x3ae7cc] ?JVM_FindSignal+0x5802c V ?[libjvm.so+0x3b2918] ?JVM_FindSignal+0x5c178 V ?[libjvm.so+0x2fa970] ?AsyncGetCallTrace+0xb28b0 j ?sun.misc.Hashing.randomHashSeed(Ljava/lang/Object;)I+0 j ?java.util.Hashtable.(IF)V+11 j ?java.util.Hashtable.()V+5 j ?java.util.Properties.(Ljava/util/Properties;)V+1 j ?java.util.Properties.()V+2 j ?java.lang.System.initializeSystemClass()V+4 v ?~StubRoutines::call_stub V ?[libjvm.so+0x3022a4] ?AsyncGetCallTrace+0xba1e4 V ?[libjvm.so+0x473f40] ?fork1+0x2480 V ?[libjvm.so+0x300c88] ?AsyncGetCallTrace+0xb8bc8 V ?[libjvm.so+0x3011f4] ?AsyncGetCallTrace+0xb9134 V ?[libjvm.so+0x53abd4] ?JVM_handle_linux_signal+0xc39b4 V ?[libjvm.so+0x326cb0] ?JNI_CreateJavaVM+0x70 C ?[libjli.so+0x6e68] ?memcpy+0x6e68 C ?[libpthread.so.0+0x7d0c] ?start_thread+0xac --------------- ?P R O C E S S ?--------------- Java Threads: ( => current thread ) ? 0x0000007f94069340 JavaThread "Finalizer" daemon [_thread_blocked, id=1914, stack(0x0000007f980e2000,0x0000007f982e2000)] ? 0x0000007f94066eb0 JavaThread "Reference Handler" daemon [_thread_blocked, id=1913, stack(0x0000007f982e2000,0x0000007f984e2000)] =>0x0000007f94006e10 JavaThread "main" [_thread_in_Java, id=1911, stack(0x0000007f9937a000,0x0000007f9957a000)] Other Threads: ? 0x0000007f94061ac0 VMThread [stack: 0x0000007f984e2000,0x0000007f986e2000] [id=1912] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap ?def new generation ? total 4928K, used 88K [0x0000007f82000000, 0x0000007f82550000, 0x0000007f87550000) ? eden space 4416K, ? 2% used [0x0000007f82000000, 0x0000007f82016158, 0x0000007f82450000) ? from space 512K, ? 0% used [0x0000007f82450000, 0x0000007f82450000, 0x0000007f824d0000) ? to ? space 512K, ? 0% used [0x0000007f824d0000, 0x0000007f824d0000, 0x0000007f82550000) ?tenured generation ? total 10944K, used 0K [0x0000007f87550000, 0x0000007f88000000, 0x0000007f92000000) ? ?the space 10944K, ? 0% used [0x0000007f87550000, 0x0000007f87550000, 0x0000007f87550200, 0x0000007f88000000) ?Metaspace total 4480K, used 810K, reserved 10240K ? data space ? ? 4096K, used 720K, reserved 8192K ? class space ? ?384K, used 90K, reserved 2048K Card table byte_map: [0x0000007f989b8000,0x0000007f98a39000] byte_map_base: 0x0000007f58da8000 Polling page: 0x0000007f99fc2000 CodeCache: size=32768Kb used=820Kb max_used=820Kb free=31947Kb max_free_chunk=31947Kb ?bounds [0x0000007f92000000, 0x0000007f920d0000, 0x0000007f94000000] ?total_blobs=72 nmethods=0 adapters=50 ?compilation: enabled Compilation events (0 events): No events GC Heap History (0 events): No events Deoptimization events (0 events): No events Internal exceptions (0 events): No events Events (10 events): Event: 0.032 loading class 0x0000007f988ea010 Event: 0.032 loading class 0x0000007f988ea010 done Event: 0.032 loading class 0x0000007f988eeb60 Event: 0.033 loading class 0x0000007f988eeb60 done Event: 0.033 loading class 0x0000007f988f4110 Event: 0.033 loading class 0x0000007f988e9d20 Event: 0.033 loading class 0x0000007f988e9d20 done Event: 0.033 loading class 0x0000007f988f4110 done Event: 0.033 loading class 0x0000007f988e07b0 Event: 0.034 loading class 0x0000007f988e07b0 done Dynamic libraries: 00400000-00401000 r-xp 00000000 08:01 43221000 ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/bin/java 00410000-00411000 rwxp 00000000 08:01 43221000 ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/bin/java 1c78d000-1c7ae000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[heap] 7f74000000-7f74021000 rwxp 00000000 00:00 0? 7f74021000-7f78000000 ---p 00000000 00:00 0? 7f78000000-7f78021000 rwxp 00000000 00:00 0? 7f78021000-7f7c000000 ---p 00000000 00:00 0? 7f7c000000-7f7c021000 rwxp 00000000 00:00 0? 7f7c021000-7f80000000 ---p 00000000 00:00 0? 7f81e00000-7f81e60000 rwxp 00000000 00:00 0? 7f81e60000-7f82000000 rwxp 00000000 00:00 0? 7f82000000-7f82550000 rwxp 00000000 00:00 0? 7f82550000-7f87550000 rwxp 00000000 00:00 0? 7f87550000-7f88000000 rwxp 00000000 00:00 0? 7f88000000-7f92000000 rwxp 00000000 00:00 0? 7f92000000-7f920d0000 rwxp 00000000 00:00 0? 7f920d0000-7f9407e000 rwxp 00000000 00:00 0? 7f9407e000-7f98000000 ---p 00000000 00:00 0? 7f980b2000-7f980e2000 rwxp 00000000 00:00 0? 7f980e2000-7f980e5000 ---p 00000000 00:00 0? 7f980e5000-7f982e2000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1914] 7f982e2000-7f982e5000 ---p 00000000 00:00 0? 7f982e5000-7f984e2000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1913] 7f984e2000-7f984e3000 ---p 00000000 00:00 0? 7f984e3000-7f9872b000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1912] 7f9872b000-7f988df000 r-xs 038be000 08:01 43221147 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/rt.jar 7f988df000-7f98968000 rwxp 00000000 00:00 0? 7f98968000-7f989b8000 rwxp 00000000 00:00 0? 7f989b8000-7f989bb000 rwxp 00000000 00:00 0? 7f989bb000-7f989e2000 rwxp 00000000 00:00 0? 7f989e2000-7f989e8000 rwxp 00000000 00:00 0? 7f989e8000-7f98a38000 rwxp 00000000 00:00 0? 7f98a38000-7f98a3d000 rwxp 00000000 00:00 0? 7f98a3d000-7f98ab9000 rwxp 00000000 00:00 0? 7f98ab9000-7f98eb9000 rwxp 00000000 00:00 0? 7f98eb9000-7f992b9000 rwxp 00000000 00:00 0? 7f992b9000-7f992d2000 r-xp 00000000 08:01 43221101 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f992d2000-7f992e2000 ---p 00019000 08:01 43221101 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f992e2000-7f992e3000 rwxp 00019000 08:01 43221101 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f992e3000-7f992eb000 rwxs 00000000 00:0d 5470 ? ? ? ? ? ? ? ? ? ? ? ? ? /tmp/hsperfdata_root/1910 7f992eb000-7f992f6000 r-xp 00000000 08:01 27877420 ? ? ? ? ? ? ? ? ? ? ? /lib/libnss_files-2.17.so 7f992f6000-7f99305000 ---p 0000b000 08:01 27877420 ? ? ? ? ? ? ? ? ? ? ? /lib/libnss_files-2.17.so 7f99305000-7f99306000 r-xp 0000a000 08:01 27877420 ? ? ? ? ? ? ? ? ? ? ? /lib/libnss_files-2.17.so 7f99306000-7f99307000 rwxp 0000b000 08:01 27877420 ? ? ? ? ? ? ? ? ? ? ? /lib/libnss_files-2.17.so 7f99307000-7f99333000 r-xp 00000000 08:01 43221084 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f99333000-7f99343000 ---p 0002c000 08:01 43221084 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f99343000-7f99345000 rwxp 0002c000 08:01 43221084 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f99345000-7f99351000 r-xp 00000000 08:01 43221093 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f99351000-7f99360000 ---p 0000c000 08:01 43221093 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f99360000-7f99362000 rwxp 0000b000 08:01 43221093 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f99362000-7f99368000 r-xp 00000000 08:01 27877426 ? ? ? ? ? ? ? ? ? ? ? /lib/librt-2.17.so 7f99368000-7f99378000 ---p 00006000 08:01 27877426 ? ? ? ? ? ? ? ? ? ? ? /lib/librt-2.17.so 7f99378000-7f99379000 r-xp 00006000 08:01 27877426 ? ? ? ? ? ? ? ? ? ? ? /lib/librt-2.17.so 7f99379000-7f9937a000 rwxp 00007000 08:01 27877426 ? ? ? ? ? ? ? ? ? ? ? /lib/librt-2.17.so 7f9937a000-7f9937d000 ---p 00000000 00:00 0? 7f9937d000-7f9957a000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1911] 7f9957a000-7f9958d000 r-xp 00000000 08:01 27877421 ? ? ? ? ? ? ? ? ? ? ? /lib/libgcc_s.so.1 7f9958d000-7f9959c000 ---p 00013000 08:01 27877421 ? ? ? ? ? ? ? ? ? ? ? /lib/libgcc_s.so.1 7f9959c000-7f9959d000 rwxp 00012000 08:01 27877421 ? ? ? ? ? ? ? ? ? ? ? /lib/libgcc_s.so.1 7f9959d000-7f9962d000 r-xp 00000000 08:01 27877381 ? ? ? ? ? ? ? ? ? ? ? /lib/libm-2.17.so 7f9962d000-7f9963c000 ---p 00090000 08:01 27877381 ? ? ? ? ? ? ? ? ? ? ? /lib/libm-2.17.so 7f9963c000-7f9963d000 r-xp 0008f000 08:01 27877381 ? ? ? ? ? ? ? ? ? ? ? /lib/libm-2.17.so 7f9963d000-7f9963e000 rwxp 00090000 08:01 27877381 ? ? ? ? ? ? ? ? ? ? ? /lib/libm-2.17.so 7f9963e000-7f9973a000 r-xp 00000000 08:01 43188944 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f9973a000-7f99749000 ---p 000fc000 08:01 43188944 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f99749000-7f99750000 r-xp 000fb000 08:01 43188944 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f99750000-7f99752000 rwxp 00102000 08:01 43188944 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f99752000-7f99767000 rwxp 00000000 00:00 0? 7f99767000-7f99d3b000 r-xp 00000000 08:01 43221082 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f99d3b000-7f99d4b000 ---p 005d4000 08:01 43221082 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f99d4b000-7f99d89000 rwxp 005d4000 08:01 43221082 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f99d89000-7f99ddf000 rwxp 00000000 00:00 0? 7f99ddf000-7f99f19000 r-xp 00000000 08:01 27877413 ? ? ? ? ? ? ? ? ? ? ? /lib/libc-2.17.so 7f99f19000-7f99f29000 ---p 0013a000 08:01 27877413 ? ? ? ? ? ? ? ? ? ? ? /lib/libc-2.17.so 7f99f29000-7f99f2d000 r-xp 0013a000 08:01 27877413 ? ? ? ? ? ? ? ? ? ? ? /lib/libc-2.17.so 7f99f2d000-7f99f2f000 rwxp 0013e000 08:01 27877413 ? ? ? ? ? ? ? ? ? ? ? /lib/libc-2.17.so 7f99f2f000-7f99f33000 rwxp 00000000 00:00 0? 7f99f33000-7f99f35000 r-xp 00000000 08:01 27877384 ? ? ? ? ? ? ? ? ? ? ? /lib/libdl-2.17.so 7f99f35000-7f99f45000 ---p 00002000 08:01 27877384 ? ? ? ? ? ? ? ? ? ? ? /lib/libdl-2.17.so 7f99f45000-7f99f46000 r-xp 00002000 08:01 27877384 ? ? ? ? ? ? ? ? ? ? ? /lib/libdl-2.17.so 7f99f46000-7f99f47000 rwxp 00003000 08:01 27877384 ? ? ? ? ? ? ? ? ? ? ? /lib/libdl-2.17.so 7f99f47000-7f99f5d000 r-xp 00000000 08:01 43229187 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f99f5d000-7f99f6d000 ---p 00016000 08:01 43229187 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f99f6d000-7f99f6e000 rwxp 00016000 08:01 43229187 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f99f6e000-7f99f85000 r-xp 00000000 08:01 27877399 ? ? ? ? ? ? ? ? ? ? ? /lib/libpthread-2.17.so 7f99f85000-7f99f94000 ---p 00017000 08:01 27877399 ? ? ? ? ? ? ? ? ? ? ? /lib/libpthread-2.17.so 7f99f94000-7f99f95000 r-xp 00016000 08:01 27877399 ? ? ? ? ? ? ? ? ? ? ? /lib/libpthread-2.17.so 7f99f95000-7f99f96000 rwxp 00017000 08:01 27877399 ? ? ? ? ? ? ? ? ? ? ? /lib/libpthread-2.17.so 7f99f96000-7f99f9a000 rwxp 00000000 00:00 0? 7f99f9a000-7f99fb7000 r-xp 00000000 08:01 27877382 ? ? ? ? ? ? ? ? ? ? ? /lib/ld-2.17.so 7f99fbc000-7f99fbf000 rwxp 00000000 00:00 0? 7f99fc2000-7f99fc3000 r-xp 00000000 00:00 0? 7f99fc3000-7f99fc4000 rwxp 00000000 00:00 0? 7f99fc4000-7f99fc6000 r-xp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[vdso] 7f99fc6000-7f99fc7000 r-xp 0001c000 08:01 27877382 ? ? ? ? ? ? ? ? ? ? ? /lib/ld-2.17.so 7f99fc7000-7f99fc9000 rwxp 0001d000 08:01 27877382 ? ? ? ? ? ? ? ? ? ? ? /lib/ld-2.17.so 7fe27de000-7fe27ff000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack] VM Arguments: java_command: java_class_path (initial): . Launcher Type: SUN_STANDARD Environment Variables: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin SHELL=/bin/bash Signal Handlers: SIGSEGV: [libjvm.so+0x571800], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x571800], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x46d820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x46d820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x46d820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x46d820], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x46d700], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGINT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGTERM: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGQUIT: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 From aph at redhat.com Wed Sep 4 02:59:48 2013 From: aph at redhat.com (Andrew Haley) Date: Wed, 04 Sep 2013 10:59:48 +0100 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers In-Reply-To: <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> Message-ID: <52270494.3010904@redhat.com> On 09/04/2013 06:39 AM, Cao Hoang Thu wrote: > I got error when run any java command: (example: java -version or java) > > # A fatal error has been detected by the Java Runtime Environment: > # > # SIGILL (0x4) at pc=0x0000007f920c281c, pid=1910, tid=548033499664 > # > # JRE version: (8.0) (build ) > # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) > # Problematic frame: > # v ~BufferBlob::native signature handlers > # > # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again > # > # If you would like to submit a bug report, please visit: > # http://bugreport.sun.com/bugreport/crash.jsp > # Yes, we know about this one. It's a cache flush bug that affects some environments. Try this patch. Andrew. # HG changeset patch # User aph # Date 1378288603 -3600 # Node ID d3018f52f95024ab552222f1086fa2b94a502d6f # Parent 39453e27d28bb97d40e138103e49c33d3758177f Implement ICacheStubGenerator::generate_icache_flush diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/assembler_aarch64.hpp --- a/src/cpu/aarch64/vm/assembler_aarch64.hpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/assembler_aarch64.hpp Wed Sep 04 10:56:43 2013 +0100 @@ -978,6 +978,14 @@ system(0b00, 0b011, 0b00011, SY, 0b110); } + void dc(Register Rt) { + system(0b01, 0b011, 0b0111, 0b1011, 0b001, Rt); + } + + void ic(Register Rt) { + system(0b01, 0b011, 0b0111, 0b0101, 0b001, Rt); + } + // Unconditional branch (register) void branch_reg(Register R, int opc) { starti; diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/icache_aarch64.cpp --- a/src/cpu/aarch64/vm/icache_aarch64.cpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/icache_aarch64.cpp Wed Sep 04 10:56:43 2013 +0100 @@ -33,21 +33,13 @@ #define __ _masm-> -int _flush_icache_stub_dummy(address addr, int lines, int magic) -{ - // no need to do any cache flushing on x86 so just obey the implicit - // contract to return the magic arg - - return magic; -} - void ICacheStubGenerator::generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub) { aarch64TestHook(); StubCodeMark mark(this, "ICache", "flush_icache_stub"); - address start = __ pc(); + address entry = __ pc(); // generate a c stub prolog which will bootstrap into the ARM code // which follows, loading the 3 general registers passed by the @@ -57,24 +49,21 @@ __ c_stub_prolog(3, 0, MacroAssembler::ret_type_integral); #endif - address entry = __ pc(); + Register start = r0, lines = r1, auto_magic = r2; - // hmm, think we probably need an instruction synchronizaton barrier - // and a memory and data synchronization barrier but we will find - // out when we get real hardware :-) + // First flush the dcache + __ generate_flush_loop(&Assembler::dc, start, lines); - // n.b. SY means a system wide barrier which is the overkill option + __ dsb(Assembler::SY); - address loop = __ pc(); - __ dsb(Assembler::SY); - __ isb(); - // args 1 and 2 identify the start address and size of the flush - // region but we cannot use them on ARM. the stub is supposed to - // return the 3rd argument - __ mov(r0, r2); + // And then the icache + __ generate_flush_loop(&Assembler::ic, start, lines); + + // the stub is supposed to return the 3rd argument + __ mov(r0, auto_magic); __ ret(r30); - *flush_icache_stub = (ICache::flush_icache_stub_t)start; + *flush_icache_stub = (ICache::flush_icache_stub_t)entry; } #undef __ diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/icache_aarch64.hpp --- a/src/cpu/aarch64/vm/icache_aarch64.hpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/icache_aarch64.hpp Wed Sep 04 10:56:43 2013 +0100 @@ -30,16 +30,6 @@ // Interface for updating the instruction cache. Whenever the VM modifies // code, part of the processor instruction cache potentially has to be flushed. -// On the x86, this is a no-op -- the I-cache is guaranteed to be consistent -// after the next jump, and the VM never modifies instructions directly ahead -// of the instruction fetch path. - -// [phh] It's not clear that the above comment is correct, because on an MP -// system where the dcaches are not snooped, only the thread doing the invalidate -// will see the update. Even in the snooped case, a memory fence would be -// necessary if stores weren't ordered. Fortunately, they are on all known -// x86 implementations. - class ICache : public AbstractICache { public: enum { diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 04 10:56:43 2013 +0100 @@ -2588,3 +2588,19 @@ } } +void MacroAssembler::generate_flush_loop(flush_insn flush, Register start, Register lines) { + Label again, exit; + + assert_different_registers(start, lines, rscratch1, rscratch2); + + cmp(lines, zr); + br(Assembler::LE, exit); + mov(rscratch1, start); + mov(rscratch2, lines); + bind(again); + (this->*flush)(rscratch1); + sub(rscratch2, rscratch2, 1); + add(rscratch1, rscratch1, ICache::line_size); + cbnz(rscratch2, again); + bind(exit); +} diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Sep 04 10:56:43 2013 +0100 @@ -1365,6 +1365,9 @@ } address read_polling_page(Register r, address page, relocInfo::relocType rtype); + + typedef void (Assembler::* flush_insn)(Register Rt); + void generate_flush_loop(flush_insn flush, Register start, Register lines); }; #ifdef ASSERT diff -r 39453e27d28b -r d3018f52f950 src/share/vm/runtime/icache.cpp --- a/src/share/vm/runtime/icache.cpp Wed Sep 04 10:55:35 2013 +0100 +++ b/src/share/vm/runtime/icache.cpp Wed Sep 04 10:56:43 2013 +0100 @@ -55,8 +55,8 @@ static int magic = 0xbaadbabe; int auto_magic = magic; // Make a local copy to avoid race condition - // int r = (*_flush_icache_stub)(start, lines, auto_magic); - // guarantee(r == auto_magic, "flush stub routine did not execute"); + int r = (*_flush_icache_stub)(start, lines, auto_magic); + guarantee(r == auto_magic, "flush stub routine did not execute"); ++magic; } From aph at redhat.com Wed Sep 4 03:08:17 2013 From: aph at redhat.com (aph at redhat.com) Date: Wed, 04 Sep 2013 10:08:17 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 3 new changesets Message-ID: <20130904100829.F16D762541@hg.openjdk.java.net> Changeset: 9a45e1894e29 Author: aph Date: 2013-09-03 15:22 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9a45e1894e29 A few fixes for lambdas ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp Changeset: 39453e27d28b Author: aph Date: 2013-09-04 10:55 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/39453e27d28b A few fixes for lambdas ! src/cpu/aarch64/vm/methodHandles_aarch64.cpp Changeset: d3018f52f950 Author: aph Date: 2013-09-04 10:56 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d3018f52f950 Implement ICacheStubGenerator::generate_icache_flush ! src/cpu/aarch64/vm/assembler_aarch64.hpp ! src/cpu/aarch64/vm/icache_aarch64.cpp ! src/cpu/aarch64/vm/icache_aarch64.hpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/share/vm/runtime/icache.cpp From adinn at redhat.com Wed Sep 4 05:00:52 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Wed, 04 Sep 2013 12:00:52 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 9 new changesets Message-ID: <20130904120112.E05ED62548@hg.openjdk.java.net> Changeset: 09ab880016e0 Author: adinn Date: 2013-08-23 09:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/09ab880016e0 fixed str encoding to deal with case where we need to write rsp to thread previous code was a simple str which actually writes zr ! src/cpu/aarch64/vm/aarch64.ad Changeset: 34e5f49ce8e2 Author: adinn Date: 2013-08-27 13:03 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/34e5f49ce8e2 corrected java frame reset in deopt blob to be consistent with x86 ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Changeset: e7f98a209538 Author: adinn Date: 2013-09-03 17:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e7f98a209538 Merge ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Changeset: b8ccef72ee8d Author: adinn Date: 2013-09-03 18:13 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b8ccef72ee8d correct offset to return address into instructions for C2 runtime call ! src/cpu/aarch64/vm/aarch64.ad Changeset: cdd044d042d4 Author: adinn Date: 2013-09-03 18:15 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cdd044d042d4 corrected cmpxchg encodings so they set flags correctly ! src/cpu/aarch64/vm/aarch64.ad Changeset: b05ca31c2410 Author: adinn Date: 2013-09-04 10:24 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b05ca31c2410 fixed oopmap at C2 safepoint read with dependent change to c1 safepoint check Safepoint in C2 cannot be generated as a macro sequence "load the poll address; read from it" because the generic C2 code can only place the oop map at the start of such a sequence. thsi is no good because the SEGV trap handler relies on the oop map being placed at the read. this means we have to configure the C2 rule for a Safepoint node to accept the node address as an input and let C2 plant the address load (constant load) as a prior step. this means the address load will not always directly precede the read. this doe snot change c1 per se. it can still plant these instructions adjacent to each other. however, the native instruction safepoint check and the reloc code need to be modified: i) to accept a reloc_a pollah on a ldr(zr, [reg, off]) instruction but do no relocation on it rather than look for a preceding reloc address load to relocate ii) to relocate the constant load (adrp or mov64) merely by virtue of it being marked as reloc_poll ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/nativeInst_aarch64.cpp ! src/cpu/aarch64/vm/nativeInst_aarch64.hpp Changeset: 56f293cc8b58 Author: adinn Date: 2013-09-04 10:26 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/56f293cc8b58 corfrected 32/64 bit error in encoding of CompareAndSwapN ! src/cpu/aarch64/vm/aarch64.ad Changeset: 1125579f0c94 Author: adinn Date: 2013-09-04 11:35 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1125579f0c94 made frame set/reset follow x86 and corrected some errors in frame code fetch of reset fp in frame::initial_deoptimization_info() needs to call real_fp() rather than fp() so that it works corrcetly for compiled frames calls to set_last_Java_frame in shared_runtime code must specify noreg for fp register because this ensures it stays at zero which means we can still sanity check sp/fp in the frame constructors this also required removing the shouldn't in set_last_Java_frame if fpreg was not valid the deopt blob was not passing the correct pc address to set_last_Java_frame (it apssed NULL) and this was breaking C2 deopt ! src/cpu/aarch64/vm/frame_aarch64.cpp ! src/cpu/aarch64/vm/frame_aarch64.inline.hpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Changeset: ae164fab64ea Author: adinn Date: 2013-09-04 12:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ae164fab64ea Merge ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp From andy.johnson at linaro.org Wed Sep 4 07:15:49 2013 From: andy.johnson at linaro.org (Andy Johnson) Date: Wed, 4 Sep 2013 10:15:49 -0400 Subject: [aarch64-port-dev ] Another hotspot test failure Message-ID: Test hotspot/test/compiler/8007722/Test8007722.java fails on aarch64 with the following error: Internal Error (/home/andyj/openjdk-8/jdk8/hotspot/src/share/vm/c1/c1_LIR.hpp:93) assert(type() == t1 || type() == t2) failed: type check The type() is 11 (long), t1 is 10 (int) and t2 is 15 (address). I can only find one instance of a call to LIR_Const::type_check(BasicType, BasicType) from arith_op, and that's in as_jint(), which is called at line 1716 in c1_LIRAssembler_aarch64.cpp. The operand in question is a constant. The only constant value in the "test" method is 5. Why is it of type long? This is the stack trace: Stack: [0x0000007f80bb7000,0x0000007f80db7000], sp=0x0000007f80db3cd0, free space=2035k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x819fb4] VMError::report_and_die()+0x148 V [libjvm.so+0x3209f8] report_vm_error(char const*, int, char const*, char const*)+0x74 V [libjvm.so+0x13feac] LIR_Const::type_check(BasicType, BasicType) const+0x120 V [libjvm.so+0x1919a0] LIR_Assembler::arith_op(LIR_Code, LIR_OprDesc*, LIR_OprDesc*, LIR_OprDesc*, CodeEmitInfo*, bool)+0x6e4 V [libjvm.so+0x18ba4c] LIR_Assembler::emit_lir_list(LIR_List*)+0x78 V [libjvm.so+0x18bfdc] LIR_Assembler::emit_block(BlockBegin*)+0xfc V [libjvm.so+0x18c114] LIR_Assembler::emit_code(BlockList*)+0x9c V [libjvm.so+0x142490] Compilation::emit_code_body()+0x138 V [libjvm.so+0x1427f8] Compilation::compile_java_method()+0x238 V [libjvm.so+0x142ab8] Compilation::compile_method()+0x58 V [libjvm.so+0x142d7c] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*)+0x184 V [libjvm.so+0x144334] Compiler::compile_method(ciEnv*, ciMethod*, int)+0x12c V [libjvm.so+0x2bfe78] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xc70 V [libjvm.so+0x2c0d74] CompileBroker::compiler_thread_loop()+0x9f0 V [libjvm.so+0x7d083c] JavaThread::thread_main_inner()+0x198 V [libjvm.so+0x6ab5f0] java_start(Thread*)+0x154 C [libpthread.so.0+0x7b24] __pthread_get_minstack+0x1344 Current CompileTask: C1: 6211 24 b Test8007722::test (23 bytes) From aph at redhat.com Wed Sep 4 07:42:32 2013 From: aph at redhat.com (aph at redhat.com) Date: Wed, 04 Sep 2013 14:42:32 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130904144238.8711762557@hg.openjdk.java.net> Changeset: c0715823d09e Author: aph Date: 2013-09-04 15:40 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c0715823d09e Another fix for obj + long, this time for constant RHS. ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Changeset: 93a04adc792a Author: aph Date: 2013-09-04 15:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/93a04adc792a merge From aph at redhat.com Wed Sep 4 08:57:22 2013 From: aph at redhat.com (Andrew Haley) Date: Wed, 04 Sep 2013 16:57:22 +0100 Subject: [aarch64-port-dev ] Temporary fix for single-stepping through method handle calls Message-ID: <52275862.7010008@redhat.com> What it says. I think this is probably a bug that has already been fixed in more recent HotSpot versions. Andrew. # HG changeset patch # User aph # Date 1378310141 -3600 # Node ID c8353ab9f44ccc708500a188c9452a7c8be3a2e2 # Parent 93a04adc792aef141d1832fb9aaa7c598fedfef4 Temporary fix for single-stepping through method handle calls. diff -r 93a04adc792a -r c8353ab9f44c src/share/vm/prims/jvmtiExport.cpp --- a/src/share/vm/prims/jvmtiExport.cpp Wed Sep 04 15:41:31 2013 +0100 +++ b/src/share/vm/prims/jvmtiExport.cpp Wed Sep 04 16:55:41 2013 +0100 @@ -1231,7 +1231,11 @@ } } - state->decr_cur_stack_depth(); + // FIXME: this is just a kludge to get JVMTI going. Compiled + // MethodHandle code doesn't call the JVMTI notify routines, so the + // stack depth we see here is wrong. + state->invalidate_cur_stack_depth(); + // state->decr_cur_stack_depth(); } From aph at redhat.com Wed Sep 4 08:57:29 2013 From: aph at redhat.com (aph at redhat.com) Date: Wed, 04 Sep 2013 15:57:29 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Temporary fix for single-stepping through method handle calls. Message-ID: <20130904155732.0F25162560@hg.openjdk.java.net> Changeset: c8353ab9f44c Author: aph Date: 2013-09-04 16:55 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c8353ab9f44c Temporary fix for single-stepping through method handle calls. ! src/share/vm/prims/jvmtiExport.cpp From aph at redhat.com Wed Sep 4 09:02:51 2013 From: aph at redhat.com (Andrew Haley) Date: Wed, 04 Sep 2013 17:02:51 +0100 Subject: [aarch64-port-dev ] Another hotspot test failure In-Reply-To: References: Message-ID: <522759AB.1090902@redhat.com> On 09/04/2013 03:15 PM, Andy Johnson wrote: > Test hotspot/test/compiler/8007722/Test8007722.java fails on aarch64 with > the following error: > Internal Error > (/home/andyj/openjdk-8/jdk8/hotspot/src/share/vm/c1/c1_LIR.hpp:93) > assert(type() == t1 || type() == t2) failed: type check > > The type() is 11 (long), t1 is 10 (int) and t2 is 15 (address). I can only > find one instance of a call to LIR_Const::type_check(BasicType, BasicType) > from arith_op, and that's in as_jint(), which is called at line 1716 in > c1_LIRAssembler_aarch64.cpp. The operand in question is a constant. The > only constant value in the "test" method is 5. Why is it of type long? It's probably not the method called "test" that is being compiled. I think you'll find this is fixed if you update. Andrew. From andy.johnson at linaro.org Wed Sep 4 10:16:39 2013 From: andy.johnson at linaro.org (Andy Johnson) Date: Wed, 4 Sep 2013 13:16:39 -0400 Subject: [aarch64-port-dev ] PrintAssembly Message-ID: Is a plugin available to support the PrintAssembly option for aarch64? From aph at redhat.com Thu Sep 5 00:57:48 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 05 Sep 2013 08:57:48 +0100 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers In-Reply-To: <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> Message-ID: <5228397C.1080202@redhat.com> On 09/05/2013 05:20 AM, Cao Hoang Thu wrote: > I got error sometimes (only run command: java) I'm sorry, I don't know how to reproduce this. Andrew. From thuhc at yahoo.com Wed Sep 4 21:20:01 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Wed, 4 Sep 2013 21:20:01 -0700 (PDT) Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers In-Reply-To: <52270494.3010904@redhat.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> Message-ID: <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> Hi Andrew, I got error sometimes (only run command: ?java) # # A fatal error has been detected by the Java Runtime Environment: # # ?SIGILL (0x4) at pc=0x0000007f720b3120, pid=1798, tid=547509223952 # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_05_09_35-b00) # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) # Problematic frame: # v ?~BufferBlob::InlineCacheBuffer # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please visit: # ? http://bugreport.sun.com/bugreport/crash.jsp # --------------- ?T H R E A D ?--------------- Current thread (0x0000007f74006e10): ?JavaThread "main" [_thread_in_Java, id=1799, stack(0x0000007f79f7d000,0x0000007f7a17d000)] siginfo:si_signo=SIGILL: si_errno=0, si_code=1 (ILL_ILLOPC), si_addr=0x0000007f720b3120 Registers: R0=0x0000007f620e2e68 R1=0x0000007f620e2e68 R2=0x0000000000000000 R3=0x0000007f61e4e670 R4=0x0000000000000060 R5=0x0000000074000003 R6=0x0000000000000004 R7=0x0000000000000000 R8=0x0000007f61e4e670 R9=0xffffffffffffffff R10=0x0000007f61e4e8b0 R11=0x0000007f798fb9e7 R12=0x0000007f79799bc0 R13=0x0000007f7a17a670 R14=0x0000000000000000 R15=0x00168d26e0000000 R16=0x0000007f7a974868 R17=0x0000007f7ab7f280 R18=0x0000007f7a177ce0 R19=0x00000000000000b9 R20=0x0000007f7a17a698 R21=0x0000007f7a9d5380 R22=0x0000007f79870a30 R23=0x0000007f72088820 R24=0x0000007f7a17a738 R25=0x0000000000000000 R26=0x0000007f79870d20 R27=0x0000007f7a17b560 R28=0x0000007f74006e10 R29=0x0000007f7a17a620 R30=0x0000007f7217a208 Top of Stack: (sp=0x0000007f7a17a5f0) 0x0000007f7a17a5f0: ? 0000007f7a17a738 0000000000000000 0x0000007f7a17a600: ? 0000007f79870d20 0000007f7a17b560 0x0000007f7a17a610: ? 0000007f620c9e20 0000007f7a17a620 0x0000007f7a17a620: ? 0000007f7a17a660 0000007f7217a238 0x0000007f7a17a630: ? 0000007f7a17a630 0000007f798d71a5 0x0000007f7a17a640: ? 0000007f7a17a698 0000007f798d7840 0x0000007f7a17a650: ? 0000007f620c9c78 0000007f798d71c0 0x0000007f7a17a660: ? 0000007f7a17a6f0 0000007f72080a94 0x0000007f7a17a670: ? 0000007f7a17a6f0 0000007f720803c8 0x0000007f7a17a680: ? 0000007f7a17a670 0000007f74006e10 0x0000007f7a17a690: ? 0000007f620cc638 0000007f620c9c78 0x0000007f7a17a6a0: ? 0000000000000001 0000007f620c9910 0x0000007f7a17a6b0: ? 0000007f7a17a6a0 0000007f79870a30 0x0000007f7a17a6c0: ? 0000007f7a17a738 0000007f79870d20 0x0000007f7a17a6d0: ? 0000000000000000 0000007f79870aa0 0x0000007f7a17a6e0: ? 0000007f7a17a698 0000007f7a17a710 0x0000007f7a17a6f0: ? 0000007f7a17a780 0000007f720803c8 0x0000007f7a17a700: ? 0000007f7a17a710 0000007f74006e10 0x0000007f7a17a710: ? 0000000000000000 0000007f620cc638 0x0000007f7a17a720: ? 0000007f620c9c78 0000007f620c9ae0 0x0000007f7a17a730: ? 0000007f620c9910 0000007f620c9910 0x0000007f7a17a740: ? 0000007f7a17a740 0000007f79870893 0x0000007f7a17a750: ? 0000007f7a17a7b8 0000007f79870d20 0x0000007f7a17a760: ? 0000000000000000 0000007f798708c0 0x0000007f7a17a770: ? 0000007f7a17a738 0000007f7a17a760 0x0000007f7a17a780: ? 0000007f7a17a800 0000007f7208026c 0x0000007f7a17a790: ? 0000007f7a17a760 0000007f720803c8 0x0000007f7a17a7a0: ? 0000007f7a17a760 0000007f620c9910 0x0000007f7a17a7b0: ? 0000007f620b8c28 0000007f620c9910 0x0000007f7a17a7c0: ? 0000007f7a17a7c0 0000007f798b7b49 0x0000007f7a17a7d0: ? 0000007f7a17a848 0000007f798b8980 0x0000007f7a17a7e0: ? 0000000000000000 0000007f798b7b90? Instructions: (pc=0x0000007f720b3120) 0x0000007f720b3100: ? 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0000007f720b3110: ? 40 00 00 00 00 00 00 00 04 a2 17 72 7f 00 00 00 0x0000007f720b3120: ? 49 00 00 58 e7 1e 03 14 b0 e8 e4 61 7f 00 00 00 0x0000007f720b3130: ? 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00? Register to memory mapping: R0=0x0000007f620e2e68 R1=0x0000007f620e2e68 R2=0x0000000000000000 R3=0x0000007f61e4e670 R4=0x0000000000000060 R5=0x0000000074000003 R6=0x0000000000000004 R7=0x0000000000000000 R8=0x0000007f61e4e670 R9=0xffffffffffffffff R10=0x0000007f61e4e8b0 R11=0x0000007f798fb9e7 R12=0x0000007f79799bc0 R13=0x0000007f7a17a670 R14=0x0000000000000000 R15=0x00168d26e0000000 R16=0x0000007f7a974868 R17=0x0000007f7ab7f280 R18=0x0000007f7a177ce0 R19=0x00000000000000b9 R20=0x0000007f7a17a698 R21=0x0000007f7a9d5380 R22=0x0000007f79870a30 R23=0x0000007f72088820 R24=0x0000007f7a17a738 R25=0x0000000000000000 R26=0x0000007f79870d20 R27=0x0000007f7a17b560 R28=0x0000007f74006e10 R29=0x0000007f7a17a620 R30=0x0000007f7217a208 Stack: [0x0000007f79f7d000,0x0000007f7a17d000], ?sp=0x0000007f7a17a5f0, ?free space=2037k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) v ?~BufferBlob::InlineCacheBuffer J ?sun.util.ResourceBundleEnumeration.hasMoreElements()Z j ?java.util.ResourceBundle.handleKeySet()Ljava/util/Set;+32 j ?java.util.ResourceBundle.containsKey(Ljava/lang/String;)Z+19 j ?sun.util.locale.provider.LocaleResources.getCurrencyName(Ljava/lang/String;)Ljava/lang/String;+89 j ?sun.util.locale.provider.CurrencyNameProviderImpl.getString(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;+24 j ?sun.util.locale.provider.CurrencyNameProviderImpl.getSymbol(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;+9 j ?java.util.Currency$CurrencyNameGetter.getObject(Ljava/util/spi/CurrencyNameProvider;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+63 j ?java.util.Currency$CurrencyNameGetter.getObject(Ljava/util/spi/LocaleServiceProvider;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+9 j ?sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObjectImpl(Lsun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter;Ljava/util/Locale;ZLjava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+40 j ?sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObject(Lsun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;+7 j ?java.util.Currency.getSymbol(Ljava/util/Locale;)Ljava/lang/String;+27 j ?java.text.DecimalFormatSymbols.initialize(Ljava/util/Locale;)V+258 j ?java.text.DecimalFormatSymbols.(Ljava/util/Locale;)V+11 j ?sun.util.locale.provider.DecimalFormatSymbolsProviderImpl.getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;+17 j ?java.text.DecimalFormatSymbols.getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;+15 j ?sun.util.locale.provider.NumberFormatProviderImpl.getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;+31 j ?sun.util.locale.provider.NumberFormatProviderImpl.getNumberInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;+3 j ?java.text.NumberFormat.getInstance(Lsun/util/locale/provider/LocaleProviderAdapter;Ljava/util/Locale;I)Ljava/text/NumberFormat;+46 j ?java.text.NumberFormat.getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;+11 j ?java.text.NumberFormat.getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;+2 j ?java.text.MessageFormat.subformat([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;+202 j ?java.text.MessageFormat.format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;+11 j ?java.text.Format.format(Ljava/lang/Object;)Ljava/lang/String;+17 j ?java.text.MessageFormat.format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+11 j ?sun.launcher.LauncherHelper.getLocalizedMessage(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;+14 j ?sun.launcher.LauncherHelper.initHelpMessage(Ljava/lang/String;)V+48 v ?~StubRoutines::call_stub V ?[libjvm.so+0x3025e4] ?JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xe04 V ?[libjvm.so+0x474180] ?os::os_exception_wrapper(void (*)(JavaValue*, methodHandle*, JavaCallArguments*, Thread*), JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x20 V ?[libjvm.so+0x312ce8] ?jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) [clone .isra.150]+0x288 V ?[libjvm.so+0x325ff0] ?jni_CallStaticVoidMethod+0x190 C ?[libjli.so+0x71b4] ?JavaMain+0x3d4 C ?[libpthread.so.0+0x7d0c] ?start_thread+0xac --------------- ?P R O C E S S ?--------------- Java Threads: ( => current thread ) ? 0x0000007f74094b40 JavaThread "Service Thread" daemon [_thread_blocked, id=1805, stack(0x0000007f786e0000,0x0000007f788e0000)] ? 0x0000007f74091e90 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=1804, stack(0x0000007f788e0000,0x0000007f78ae0000)] ? 0x0000007f7408f960 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1803, stack(0x0000007f78ae0000,0x0000007f78ce0000)] ? 0x0000007f74069340 JavaThread "Finalizer" daemon [_thread_blocked, id=1802, stack(0x0000007f78ce0000,0x0000007f78ee0000)] ? 0x0000007f74066eb0 JavaThread "Reference Handler" daemon [_thread_blocked, id=1801, stack(0x0000007f78ee0000,0x0000007f790e0000)] =>0x0000007f74006e10 JavaThread "main" [_thread_in_Java, id=1799, stack(0x0000007f79f7d000,0x0000007f7a17d000)] Other Threads: ? 0x0000007f74061ac0 VMThread [stack: 0x0000007f790e0000,0x0000007f792e0000] [id=1800] ? 0x0000007f7401b180 WatcherThread [stack: 0x0000007f784e0000,0x0000007f786e0000] [id=1806] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap ?def new generation ? total 4928K, used 931K [0x0000007f62000000, 0x0000007f62550000, 0x0000007f67550000) ? eden space 4416K, ?21% used [0x0000007f62000000, 0x0000007f620e8ee0, 0x0000007f62450000) ? from space 512K, ? 0% used [0x0000007f62450000, 0x0000007f62450000, 0x0000007f624d0000) ? to ? space 512K, ? 0% used [0x0000007f624d0000, 0x0000007f624d0000, 0x0000007f62550000) ?tenured generation ? total 10944K, used 0K [0x0000007f67550000, 0x0000007f68000000, 0x0000007f72000000) ? ?the space 10944K, ? 0% used [0x0000007f67550000, 0x0000007f67550000, 0x0000007f67550200, 0x0000007f68000000) ?Metaspace total 4480K, used 2642K, reserved 10240K ? data space ? ? 4096K, used 2327K, reserved 8192K ? class space ? ?384K, used 314K, reserved 2048K Card table byte_map: [0x0000007f795b6000,0x0000007f79637000] byte_map_base: 0x0000007f39aa6000 Polling page: 0x0000007f7abc6000 CodeCache: size=32768Kb used=1517Kb max_used=1517Kb free=31250Kb max_free_chunk=31250Kb ?bounds [0x0000007f72000000, 0x0000007f72180000, 0x0000007f74000000] ?total_blobs=232 nmethods=43 adapters=132 ?compilation: enabled Compilation events (10 events): Event: 0.288 Thread 0x0000007f74091e90 nmethod 37 0x0000007f72179610 code [0x0000007f72179770, 0x0000007f72179970] Event: 0.290 Thread 0x0000007f74091e90 ? 38 ? ? ? ? ? ? java.util.HashMap::getEntry (77 bytes) Event: 0.290 Thread 0x0000007f74091e90 nmethod 38 0x0000007f72179ad0 code [0x0000007f72179c60, 0x0000007f72179e50] Event: 0.290 Thread 0x0000007f74091e90 ? 39 ? ? ? ? ? ? sun.util.ResourceBundleEnumeration::hasMoreElements (117 bytes) Event: 0.291 Thread 0x0000007f74091e90 nmethod 39 0x0000007f72179f90 code [0x0000007f7217a1c0, 0x0000007f7217a428] Event: 0.291 Thread 0x0000007f74091e90 ? 40 ? ? ? ? ? ? java.util.HashMap$HashIterator::nextEntry (99 bytes) Event: 0.292 Thread 0x0000007f74091e90 nmethod 40 0x0000007f7217a590 code [0x0000007f7217a730, 0x0000007f7217a970] Event: 0.292 Thread 0x0000007f74091e90 ? 41 ? ? ? ? ? ? java.util.HashMap$HashIterator::hasNext (13 bytes) Event: 0.292 Thread 0x0000007f74091e90 nmethod 41 0x0000007f7217ab90 code [0x0000007f7217acc0, 0x0000007f7217adb0] Event: 0.292 Thread 0x0000007f74091e90 ? 42 ? ? ? ? ? ? sun.util.ResourceBundleEnumeration::nextElement (5 bytes) GC Heap History (0 events): No events Deoptimization events (0 events): No events Internal exceptions (10 events): Event: 0.142 Thread 0x0000007f74006e10 Threw 0x0000007f62071100 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.142 Thread 0x0000007f74006e10 Threw 0x0000007f62071380 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.142 Thread 0x0000007f74006e10 Threw 0x0000007f62071ee8 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.142 Thread 0x0000007f74006e10 Threw 0x0000007f62072168 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.158 Thread 0x0000007f74006e10 Threw 0x0000007f620787b8 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.159 Thread 0x0000007f74006e10 Threw 0x0000007f62079ad0 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.160 Thread 0x0000007f74006e10 Threw 0x0000007f620914c8 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.160 Thread 0x0000007f74006e10 Threw 0x0000007f62092268 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.283 Thread 0x0000007f74006e10 Threw 0x0000007f620c67d0 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Event: 0.283 Thread 0x0000007f74006e10 Threw 0x0000007f620c79f8 at /AMCC/thcao/ws/processor/amcc_integration/rootfs/buildroot/output/build/openjdk8-aarch64/hotspot/src/share/vm/prims/jvm.cpp:1159 Events (10 events): Event: 0.277 loading class 0x0000007f79536270 Event: 0.278 loading class 0x0000007f79536270 done Event: 0.278 loading class 0x0000007f740c4d70 Event: 0.278 loading class 0x0000007f740c4d70 done Event: 0.283 loading class 0x0000007f740e6c00 Event: 0.283 loading class 0x0000007f740e6c00 done Event: 0.284 loading class 0x0000007f50015bc0 Event: 0.285 loading class 0x0000007f50015bc0 done Event: 0.288 loading class 0x0000007f795120f0 Event: 0.289 loading class 0x0000007f795120f0 done Dynamic libraries: 00400000-00401000 r-xp 00000000 08:01 39981180 ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/bin/java 00410000-00411000 rwxp 00000000 08:01 39981180 ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/bin/java 17f9f000-17fc0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[heap] 7f44000000-7f44021000 rwxp 00000000 00:00 0? 7f44021000-7f48000000 ---p 00000000 00:00 0? 7f48000000-7f48021000 rwxp 00000000 00:00 0? 7f48021000-7f4c000000 ---p 00000000 00:00 0? 7f4c000000-7f4c021000 rwxp 00000000 00:00 0? 7f4c021000-7f50000000 ---p 00000000 00:00 0? 7f50000000-7f50081000 rwxp 00000000 00:00 0? 7f50081000-7f54000000 ---p 00000000 00:00 0? 7f54000000-7f54021000 rwxp 00000000 00:00 0? 7f54021000-7f58000000 ---p 00000000 00:00 0? 7f58000000-7f58021000 rwxp 00000000 00:00 0? 7f58021000-7f5c000000 ---p 00000000 00:00 0? 7f5c000000-7f5c021000 rwxp 00000000 00:00 0? 7f5c021000-7f60000000 ---p 00000000 00:00 0? 7f61e00000-7f61e60000 rwxp 00000000 00:00 0? 7f61e60000-7f62000000 rwxp 00000000 00:00 0? 7f62000000-7f62550000 rwxp 00000000 00:00 0? 7f62550000-7f67550000 rwxp 00000000 00:00 0? 7f67550000-7f68000000 rwxp 00000000 00:00 0? 7f68000000-7f72000000 rwxp 00000000 00:00 0? 7f72000000-7f72180000 rwxp 00000000 00:00 0? 7f72180000-7f74103000 rwxp 00000000 00:00 0? 7f74103000-7f78000000 ---p 00000000 00:00 0? 7f7830c000-7f784bb000 rwxp 00000000 00:00 0? 7f784bb000-7f784c5000 r-xs 00107000 08:01 39981228 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/ext/localedata.jar 7f784c5000-7f784e0000 r-xs 00344000 08:01 39981233 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/ext/cldrdata.jar 7f784e0000-7f784e1000 ---p 00000000 00:00 0? 7f784e1000-7f786e0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1806] 7f786e0000-7f786e3000 ---p 00000000 00:00 0? 7f786e3000-7f788e0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1805] 7f788e0000-7f788e3000 ---p 00000000 00:00 0? 7f788e3000-7f78ae0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1804] 7f78ae0000-7f78ae3000 ---p 00000000 00:00 0? 7f78ae3000-7f78ce0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1803] 7f78ce0000-7f78ce3000 ---p 00000000 00:00 0? 7f78ce3000-7f78ee0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1802] 7f78ee0000-7f78ee3000 ---p 00000000 00:00 0? 7f78ee3000-7f790e0000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1801] 7f790e0000-7f790e1000 ---p 00000000 00:00 0? 7f790e1000-7f79329000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1800] 7f79329000-7f794dd000 r-xs 038be000 08:01 39981331 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/rt.jar 7f794dd000-7f79566000 rwxp 00000000 00:00 0? 7f79566000-7f795b6000 rwxp 00000000 00:00 0? 7f795b6000-7f795b9000 rwxp 00000000 00:00 0? 7f795b9000-7f795e0000 rwxp 00000000 00:00 0? 7f795e0000-7f795e6000 rwxp 00000000 00:00 0? 7f795e6000-7f79636000 rwxp 00000000 00:00 0? 7f79636000-7f7963d000 rwxp 00000000 00:00 0? 7f7963d000-7f796b7000 rwxp 00000000 00:00 0? 7f796b7000-7f79ab7000 rwxp 00000000 00:00 0? 7f79ab7000-7f79eb7000 rwxp 00000000 00:00 0? 7f79eb7000-7f79ed0000 r-xp 00000000 08:01 39981281 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f79ed0000-7f79ee0000 ---p 00019000 08:01 39981281 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f79ee0000-7f79ee1000 rwxp 00019000 08:01 39981281 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libzip.so 7f79ee1000-7f79ee9000 rwxs 00000000 00:0d 1660 ? ? ? ? ? ? ? ? ? ? ? ? ? /tmp/hsperfdata_root/1798 7f79ee9000-7f79ef4000 r-xp 00000000 08:01 4194348 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libnss_files-2.17.so 7f79ef4000-7f79f03000 ---p 0000b000 08:01 4194348 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libnss_files-2.17.so 7f79f03000-7f79f04000 r-xp 0000a000 08:01 4194348 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libnss_files-2.17.so 7f79f04000-7f79f05000 rwxp 0000b000 08:01 4194348 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libnss_files-2.17.so 7f79f0a000-7f79f36000 r-xp 00000000 08:01 39981264 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f79f36000-7f79f46000 ---p 0002c000 08:01 39981264 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f79f46000-7f79f48000 rwxp 0002c000 08:01 39981264 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libjava.so 7f79f48000-7f79f54000 r-xp 00000000 08:01 39981273 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f79f54000-7f79f63000 ---p 0000c000 08:01 39981273 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f79f63000-7f79f65000 rwxp 0000b000 08:01 39981273 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/libverify.so 7f79f65000-7f79f6b000 r-xp 00000000 08:01 4194354 ? ? ? ? ? ? ? ? ? ? ? ?/lib/librt-2.17.so 7f79f6b000-7f79f7b000 ---p 00006000 08:01 4194354 ? ? ? ? ? ? ? ? ? ? ? ?/lib/librt-2.17.so 7f79f7b000-7f79f7c000 r-xp 00006000 08:01 4194354 ? ? ? ? ? ? ? ? ? ? ? ?/lib/librt-2.17.so 7f79f7c000-7f79f7d000 rwxp 00007000 08:01 4194354 ? ? ? ? ? ? ? ? ? ? ? ?/lib/librt-2.17.so 7f79f7d000-7f79f80000 ---p 00000000 00:00 0? 7f79f80000-7f7a17d000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack:1799] 7f7a17d000-7f7a190000 r-xp 00000000 08:01 4194349 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libgcc_s.so.1 7f7a190000-7f7a19f000 ---p 00013000 08:01 4194349 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libgcc_s.so.1 7f7a19f000-7f7a1a0000 rwxp 00012000 08:01 4194349 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libgcc_s.so.1 7f7a1a0000-7f7a230000 r-xp 00000000 08:01 4194309 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libm-2.17.so 7f7a230000-7f7a23f000 ---p 00090000 08:01 4194309 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libm-2.17.so 7f7a23f000-7f7a240000 r-xp 0008f000 08:01 4194309 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libm-2.17.so 7f7a240000-7f7a241000 rwxp 00090000 08:01 4194309 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libm-2.17.so 7f7a241000-7f7a33d000 r-xp 00000000 08:01 39980059 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f7a33d000-7f7a34c000 ---p 000fc000 08:01 39980059 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f7a34c000-7f7a353000 r-xp 000fb000 08:01 39980059 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f7a353000-7f7a355000 rwxp 00102000 08:01 39980059 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/libstdc++.so.6.0.18 7f7a355000-7f7a36a000 rwxp 00000000 00:00 0? 7f7a36a000-7f7a93f000 r-xp 00000000 08:01 39981262 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f7a93f000-7f7a94f000 ---p 005d5000 08:01 39981262 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f7a94f000-7f7a98d000 rwxp 005d5000 08:01 39981262 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/client/libjvm.so 7f7a98d000-7f7a9e3000 rwxp 00000000 00:00 0? 7f7a9e3000-7f7ab1d000 r-xp 00000000 08:01 4194341 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libc-2.17.so 7f7ab1d000-7f7ab2d000 ---p 0013a000 08:01 4194341 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libc-2.17.so 7f7ab2d000-7f7ab31000 r-xp 0013a000 08:01 4194341 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libc-2.17.so 7f7ab31000-7f7ab33000 rwxp 0013e000 08:01 4194341 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libc-2.17.so 7f7ab33000-7f7ab37000 rwxp 00000000 00:00 0? 7f7ab37000-7f7ab39000 r-xp 00000000 08:01 4194312 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libdl-2.17.so 7f7ab39000-7f7ab49000 ---p 00002000 08:01 4194312 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libdl-2.17.so 7f7ab49000-7f7ab4a000 r-xp 00002000 08:01 4194312 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libdl-2.17.so 7f7ab4a000-7f7ab4b000 rwxp 00003000 08:01 4194312 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libdl-2.17.so 7f7ab4b000-7f7ab61000 r-xp 00000000 08:01 39981290 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f7ab61000-7f7ab71000 ---p 00016000 08:01 39981290 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f7ab71000-7f7ab72000 rwxp 00016000 08:01 39981290 ? ? ? ? ? ? ? ? ? ? ? /usr/lib/jvm/openjdk8/jre/lib/aarch64/jli/libjli.so 7f7ab72000-7f7ab89000 r-xp 00000000 08:01 4194327 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libpthread-2.17.so 7f7ab89000-7f7ab98000 ---p 00017000 08:01 4194327 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libpthread-2.17.so 7f7ab98000-7f7ab99000 r-xp 00016000 08:01 4194327 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libpthread-2.17.so 7f7ab99000-7f7ab9a000 rwxp 00017000 08:01 4194327 ? ? ? ? ? ? ? ? ? ? ? ?/lib/libpthread-2.17.so 7f7ab9a000-7f7ab9e000 rwxp 00000000 00:00 0? 7f7ab9e000-7f7abbb000 r-xp 00000000 08:01 4194310 ? ? ? ? ? ? ? ? ? ? ? ?/lib/ld-2.17.so 7f7abbf000-7f7abc2000 rwxp 00000000 00:00 0? 7f7abc6000-7f7abc7000 r-xp 00000000 00:00 0? 7f7abc7000-7f7abc8000 rwxp 00000000 00:00 0? 7f7abc8000-7f7abca000 r-xp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[vdso] 7f7abca000-7f7abcb000 r-xp 0001c000 08:01 4194310 ? ? ? ? ? ? ? ? ? ? ? ?/lib/ld-2.17.so 7f7abcb000-7f7abcd000 rwxp 0001d000 08:01 4194310 ? ? ? ? ? ? ? ? ? ? ? ?/lib/ld-2.17.so 7fca8ee000-7fca90f000 rwxp 00000000 00:00 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[stack] VM Arguments: java_command: java_class_path (initial): . Launcher Type: SUN_STANDARD Environment Variables: PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin SHELL=/bin/bash Signal Handlers: SIGSEGV: [libjvm.so+0x571b00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x571b00], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x46da60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: [libjvm.so+0x46da60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGXFSZ: [libjvm.so+0x46da60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x46da60], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x46d940], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: [libjvm.so+0x46dac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGINT: [libjvm.so+0x46dac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x46dac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x46dac0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 ________________________________ From: Andrew Haley To: Cao Hoang Thu Cc: "aarch64-port-dev at openjdk.java.net" Sent: Wednesday, September 4, 2013 4:59 PM Subject: Re: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers On 09/04/2013 06:39 AM, Cao Hoang Thu wrote: > I got error when run any java command: (example: java -version or java) > > # A fatal error has been detected by the Java Runtime Environment: > # > #? SIGILL (0x4) at pc=0x0000007f920c281c, pid=1910, tid=548033499664 > # > # JRE version:? (8.0) (build ) > # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) > # Problematic frame: > # v? ~BufferBlob::native signature handlers > # > # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again > # > # If you would like to submit a bug report, please visit: > #? http://bugreport.sun.com/bugreport/crash.jsp > # Yes, we know about this one.? It's a cache flush bug that affects some environments.? Try this patch. Andrew. # HG changeset patch # User aph # Date 1378288603 -3600 # Node ID d3018f52f95024ab552222f1086fa2b94a502d6f # Parent? 39453e27d28bb97d40e138103e49c33d3758177f Implement ICacheStubGenerator::generate_icache_flush diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/assembler_aarch64.hpp --- a/src/cpu/aarch64/vm/assembler_aarch64.hpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/assembler_aarch64.hpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -978,6 +978,14 @@ ? ? system(0b00, 0b011, 0b00011, SY, 0b110); ? } +? void dc(Register Rt) { +? ? system(0b01, 0b011, 0b0111, 0b1011, 0b001, Rt); +? } + +? void ic(Register Rt) { +? ? system(0b01, 0b011, 0b0111, 0b0101, 0b001, Rt); +? } + ? // Unconditional branch (register) ? void branch_reg(Register R, int opc) { ? ? starti; diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/icache_aarch64.cpp --- a/src/cpu/aarch64/vm/icache_aarch64.cpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/icache_aarch64.cpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -33,21 +33,13 @@ #define __ _masm-> -int _flush_icache_stub_dummy(address addr, int lines, int magic) -{ -? // no need to do any cache flushing on x86 so just obey the implicit -? // contract to return the magic arg - -? return magic; -} - void ICacheStubGenerator::generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub) { ? aarch64TestHook(); ? StubCodeMark mark(this, "ICache", "flush_icache_stub"); -? address start = __ pc(); +? address entry = __ pc(); ? // generate a c stub prolog which will bootstrap into the ARM code ? // which follows, loading the 3 general registers passed by the @@ -57,24 +49,21 @@ ? __ c_stub_prolog(3, 0, MacroAssembler::ret_type_integral); #endif -? address entry = __ pc(); +? Register start = r0, lines = r1, auto_magic = r2; -? // hmm, think we probably need an instruction synchronizaton barrier -? // and a memory and data synchronization barrier but we will find -? // out when we get real hardware :-) +? // First flush the dcache +? __ generate_flush_loop(&Assembler::dc, start, lines); -? // n.b. SY means a system wide barrier which is the overkill option +? __ dsb(Assembler::SY); -? address loop = __ pc(); -? __ dsb(Assembler::SY); -? __ isb(); -? // args 1 and 2 identify the start address and size of the flush -? // region but we cannot use them on ARM. the stub is supposed to -? // return the 3rd argument -? __ mov(r0, r2); +? // And then the icache +? __ generate_flush_loop(&Assembler::ic, start, lines); + +? // the stub is supposed to return the 3rd argument +? __ mov(r0, auto_magic); ? __ ret(r30); -? *flush_icache_stub =? (ICache::flush_icache_stub_t)start; +? *flush_icache_stub =? (ICache::flush_icache_stub_t)entry; } #undef __ diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/icache_aarch64.hpp --- a/src/cpu/aarch64/vm/icache_aarch64.hpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/icache_aarch64.hpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -30,16 +30,6 @@ // Interface for updating the instruction cache.? Whenever the VM modifies // code, part of the processor instruction cache potentially has to be flushed. -// On the x86, this is a no-op -- the I-cache is guaranteed to be consistent -// after the next jump, and the VM never modifies instructions directly ahead -// of the instruction fetch path. - -// [phh] It's not clear that the above comment is correct, because on an MP -// system where the dcaches are not snooped, only the thread doing the invalidate -// will see the update.? Even in the snooped case, a memory fence would be -// necessary if stores weren't ordered.? Fortunately, they are on all known -// x86 implementations. - class ICache : public AbstractICache { ? public: ? enum { diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -2588,3 +2588,19 @@ ? } } +void MacroAssembler::generate_flush_loop(flush_insn flush, Register start, Register lines) { +? Label again, exit; + +? assert_different_registers(start, lines, rscratch1, rscratch2); + +? cmp(lines, zr); +? br(Assembler::LE, exit); +? mov(rscratch1, start); +? mov(rscratch2, lines); +? bind(again); +? (this->*flush)(rscratch1); +? sub(rscratch2, rscratch2, 1); +? add(rscratch1, rscratch1, ICache::line_size); +? cbnz(rscratch2, again); +? bind(exit); +} diff -r 39453e27d28b -r d3018f52f950 src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -1365,6 +1365,9 @@ ? } ? address read_polling_page(Register r, address page, relocInfo::relocType rtype); + +? typedef void (Assembler::* flush_insn)(Register Rt); +? void generate_flush_loop(flush_insn flush, Register start, Register lines); }; #ifdef ASSERT diff -r 39453e27d28b -r d3018f52f950 src/share/vm/runtime/icache.cpp --- a/src/share/vm/runtime/icache.cpp??? Wed Sep 04 10:55:35 2013 +0100 +++ b/src/share/vm/runtime/icache.cpp??? Wed Sep 04 10:56:43 2013 +0100 @@ -55,8 +55,8 @@ ? static int magic = 0xbaadbabe; ? int auto_magic = magic; // Make a local copy to avoid race condition -? // int r = (*_flush_icache_stub)(start, lines, auto_magic); -? // guarantee(r == auto_magic, "flush stub routine did not execute"); +? int r = (*_flush_icache_stub)(start, lines, auto_magic); +? guarantee(r == auto_magic, "flush stub routine did not execute"); ? ++magic; } From adinn at redhat.com Thu Sep 5 10:17:12 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Thu, 05 Sep 2013 17:17:12 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 5 new changesets Message-ID: <20130905171728.40A0D625AE@hg.openjdk.java.net> Changeset: a29173e10354 Author: adinn Date: 2013-09-05 18:10 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a29173e10354 ensured reset_last_Java_frame calls clear the pc if they previously set it ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Changeset: ad7e2d740858 Author: adinn Date: 2013-09-05 18:12 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ad7e2d740858 added csetw alias for csincw as per AArch64 spec definition ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Changeset: c202de09da0a Author: adinn Date: 2013-09-05 18:14 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c202de09da0a ensured call_VM_Leaf_base clears the pc it has just set ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Changeset: 27e47f82dad5 Author: adinn Date: 2013-09-05 18:15 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/27e47f82dad5 added missing CmpLTMask instruction ! src/cpu/aarch64/vm/aarch64.ad Changeset: 6cb0224e9626 Author: adinn Date: 2013-09-05 18:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6cb0224e9626 Merge From thuhc at yahoo.com Thu Sep 5 20:02:10 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Thu, 5 Sep 2013 20:02:10 -0700 (PDT) Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <5228397C.1080202@redhat.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> Message-ID: <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> Hi Andrew, I only run test SPECjvm2008, it always happen this issue # # A fatal error has been detected by the Java Runtime Environment: # # ?SIGILL (0x4) at pc=0x0000007f720b3120, pid=1798, tid=547509223952 # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_05_09_35-b00) # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) # Problematic frame: # v ?~BufferBlob::InlineCacheBuffer # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please visit: # ? http://bugreport.sun.com/bugreport/crash.jsp # --------------- ?T H R E A D ?--------------- Current thread (0x0000007f74006e10): ?JavaThread "main" [_thread_in_Java, id=1799, stack(0x0000007f79f7d000,0x0000007f7a17d000)] siginfo:si_signo=SIGILL: si_errno=0, si_code=1 (ILL_ILLOPC), si_addr=0x0000007f720b3120? Thu Cao ________________________________ From: Andrew Haley To: Cao Hoang Thu Cc: "aarch64-port-dev at openjdk.java.net" Sent: Thursday, September 5, 2013 2:57 PM Subject: Re: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers On 09/05/2013 05:20 AM, Cao Hoang Thu wrote: > I got error sometimes (only run command:? java) I'm sorry, I don't know how to reproduce this. Andrew. From adinn at redhat.com Fri Sep 6 00:22:13 2013 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 06 Sep 2013 08:22:13 +0100 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> Message-ID: <522982A5.5040305@redhat.com> On 06/09/13 04:02, Cao Hoang Thu wrote: > Hi Andrew, > > I only run test SPECjvm2008, it always happen this issue Have you pulled the latest updates to the simulator repository? It was updated along with the patch to icache stub code that Andrew Haley posted earlier. This error happens if you don't have the version which implements the corresponding system instruction behaviour. regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) > # > # A fatal error has been detected by the Java Runtime Environment: > # > # SIGILL (0x4) at pc=0x0000007f720b3120, pid=1798, tid=547509223952 > # > # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_05_09_35-b00) > # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) > # Problematic frame: > # v ~BufferBlob::InlineCacheBuffer > # > # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again > # > # If you would like to submit a bug report, please visit: > # http://bugreport.sun.com/bugreport/crash.jsp > # > > --------------- T H R E A D --------------- > > Current thread (0x0000007f74006e10): JavaThread "main" [_thread_in_Java, id=1799, stack(0x0000007f79f7d000,0x0000007f7a17d000)] > > siginfo:si_signo=SIGILL: si_errno=0, si_code=1 (ILL_ILLOPC), si_addr=0x0000007f720b3120 > > > Thu Cao > > > ________________________________ > From: Andrew Haley > To: Cao Hoang Thu > Cc: "aarch64-port-dev at openjdk.java.net" > Sent: Thursday, September 5, 2013 2:57 PM > Subject: Re: [aarch64-port-dev ] Problematic frame: ~BufferBlob::native signature handlers > > > On 09/05/2013 05:20 AM, Cao Hoang Thu wrote: >> I got error sometimes (only run command: java) > > I'm sorry, I don't know how to reproduce this. > > Andrew. > > From adinn at redhat.com Fri Sep 6 00:35:48 2013 From: adinn at redhat.com (Andrew Dinn) Date: Fri, 06 Sep 2013 08:35:48 +0100 Subject: [aarch64-port-dev ] PrintAssembly In-Reply-To: References: Message-ID: <522985D4.3010008@redhat.com> On 04/09/13 18:16, Andy Johnson wrote: > Is a plugin available to support the PrintAssembly option for aarch64? I assume you are referring to the hsdis disassembler library which is dynamically loaded by the JVM? The code in hotspot/src/share/tools/hsdis can be used to build hsdis-aarch64.so so long as you point the makefile at a binutils which knows about AArch64 code. Details of how to obtain the binutils we use when running on x86 (with the simulator) are provided in the README.aarch64 in the aarch64-port tree top-level. The download, build and install steps for building the aarch64 disassembler library to run on x86 can be viewed in script sim_compile. If you want a native version of this library then: i) the AArch64 Linux OS release should provide a suitable binutils but you you should also be able to build it using the library specified in the README. ii) you will probably do best to cross-compile the hsdis annd binutils code for aarch64 but I guess you could also compile on the native platform if you are happy to wait long enough. iii) whichever way you do the previous step you will probably need to tweak the makefile slightly (exercise for the reader :-) as I don't think anyone has done this yet. regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) From edward.nevill at linaro.org Fri Sep 6 06:54:27 2013 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 06 Sep 2013 14:54:27 +0100 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> Message-ID: <1378475667.1845.11.camel@fleetfoot.lan> On Thu, 2013-09-05 at 20:02 -0700, Cao Hoang Thu wrote: > I only run test SPECjvm2008, it always happen this issue > > # > # A fatal error has been detected by the Java Runtime Environment: > # > # SIGILL (0x4) at pc=0x0000007f720b3120, pid=1798, tid=547509223952 > # > # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_05_09_35-b00) > # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) > # Problematic frame: > # v ~BufferBlob::InlineCacheBuffer > # Dear Cao Hoang Thu, I have managed to replicate this problem, but only when using the RTSM model which models the I cache and D cache behaviour rather than the foundation model. The patch below should fix this problem. Ed. --- CUT HERE --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1378474791 -3600 # Fri Sep 06 14:39:51 2013 +0100 # Node ID 49648b3f8a17289d275a5291cb7364ca89261310 # Parent 6cb0224e9626d3767fe96bd05b55fda2a350b17e Fix ICache flusing problem found in RTSM diff -r 6cb0224e9626 -r 49648b3f8a17 src/cpu/aarch64/vm/icBuffer_aarch64.cpp --- a/src/cpu/aarch64/vm/icBuffer_aarch64.cpp Thu Sep 05 18:16:19 2013 +0100 +++ b/src/cpu/aarch64/vm/icBuffer_aarch64.cpp Fri Sep 06 14:39:51 2013 +0100 @@ -55,6 +55,8 @@ masm->b(ExternalAddress(entry_point)); masm->bind(l); masm->emit_int64((int64_t)cached_value); + // Only need to invalidate the 1st two instructions - not the whole ic stub + ICache::invalidate_range(code_begin, NativeInstruction::instruction_size * 2); 0; } --- CUT HERE --- From ed at camswl.com Fri Sep 6 08:39:47 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 06 Sep 2013 15:39:47 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Fix ICache flusing problem found in RTSM Message-ID: <20130906153952.0DD8062609@hg.openjdk.java.net> Changeset: 49648b3f8a17 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-06 14:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/49648b3f8a17 Fix ICache flusing problem found in RTSM ! src/cpu/aarch64/vm/icBuffer_aarch64.cpp From aph at redhat.com Fri Sep 6 14:23:32 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 06 Sep 2013 22:23:32 +0100 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <1378475667.1845.11.camel@fleetfoot.lan> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> <1378475667.1845.11.camel@fleetfoot.lan> Message-ID: <522A47D4.60903@redhat.com> On 09/06/2013 02:54 PM, Edward Nevill wrote: > The patch below should fix this problem. Thanks, Ed. Andrew. From thuhc at yahoo.com Fri Sep 6 16:39:52 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Sat, 7 Sep 2013 06:39:52 +0700 Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <522A47D4.60903@redhat.com> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> <1378475667.1845.11.camel@fleetfoot.lan> <522A47D4.60903@redhat.com> Message-ID: Thanks everybody, I will check it today. Regards, Thu Cao On 07-09-2013, at 04:23, Andrew Haley wrote: > On 09/06/2013 02:54 PM, Edward Nevill wrote: >> The patch below should fix this problem. > > Thanks, Ed. > > Andrew. From thuhc at yahoo.com Sat Sep 7 03:37:52 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Sat, 7 Sep 2013 03:37:52 -0700 (PDT) Subject: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer In-Reply-To: <1378475667.1845.11.camel@fleetfoot.lan> References: <1377586601.4410.YahooMailNeo@web164602.mail.gq1.yahoo.com> <521F746B.7070602@redhat.com> <1377834622.83738.YahooMailNeo@web164605.mail.gq1.yahoo.com> <1378273140.42340.YahooMailNeo@web164604.mail.gq1.yahoo.com> <52270494.3010904@redhat.com> <1378354801.51578.YahooMailNeo@web164606.mail.gq1.yahoo.com> <5228397C.1080202@redhat.com> <1378436530.18411.YahooMailNeo@web164604.mail.gq1.yahoo.com> <1378475667.1845.11.camel@fleetfoot.lan> Message-ID: <1378550272.18050.YahooMailNeo@web164602.mail.gq1.yahoo.com> Hi Edward, Yes, all ok, don't crash..... except pending on test-case startup.compiler.sunflow (SPECjvm2008) --- --- --- --- --- --- --- --- --- ? Benchmark: ? startup.compiler.sunflow ? Run mode: ? ?static run ? Test type: ? single ? Threads: ? ? 1 ? Iterations: ?1 ? Run length: ?1 operation Iteration 1 (1 operation) begins: Sat Sep 07 10:34:58 GMT 2013 Regards, Thu Cao ________________________________ From: Edward Nevill To: aarch64-port-dev at openjdk.java.net Cc: thuhc at yahoo.com; patches at linaro.org Sent: Friday, September 6, 2013 8:54 PM Subject: Re: [aarch64-port-dev ] Problematic frame: ~BufferBlob::InlineCacheBuffer On Thu, 2013-09-05 at 20:02 -0700, Cao Hoang Thu wrote: > I only run test SPECjvm2008, it always happen this issue > > # > # A fatal error has been detected by the Java Runtime Environment: > # > #? SIGILL (0x4) at pc=0x0000007f720b3120, pid=1798, tid=547509223952 > # > # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_05_09_35-b00) > # Java VM: OpenJDK 64-Bit Client VM (25.0-b22 mixed mode linux-aarch64 ) > # Problematic frame: > # v? ~BufferBlob::InlineCacheBuffer > # Dear Cao Hoang Thu, I have managed to replicate this problem, but only when using the RTSM model which models the I cache and D cache behaviour rather than the foundation model. The patch below should fix this problem. Ed. --- CUT HERE --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1378474791 -3600 #? ? ? Fri Sep 06 14:39:51 2013 +0100 # Node ID 49648b3f8a17289d275a5291cb7364ca89261310 # Parent? 6cb0224e9626d3767fe96bd05b55fda2a350b17e Fix ICache flusing problem found in RTSM diff -r 6cb0224e9626 -r 49648b3f8a17 src/cpu/aarch64/vm/icBuffer_aarch64.cpp --- a/src/cpu/aarch64/vm/icBuffer_aarch64.cpp??? Thu Sep 05 18:16:19 2013 +0100 +++ b/src/cpu/aarch64/vm/icBuffer_aarch64.cpp??? Fri Sep 06 14:39:51 2013 +0100 @@ -55,6 +55,8 @@ ? masm->b(ExternalAddress(entry_point)); ? masm->bind(l); ? masm->emit_int64((int64_t)cached_value); +? // Only need to invalidate the 1st two instructions - not the whole ic stub +? ICache::invalidate_range(code_begin, NativeInstruction::instruction_size * 2); ? 0; } --- CUT HERE --- From adinn at redhat.com Mon Sep 9 05:37:58 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Mon, 09 Sep 2013 12:37:58 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 3 new changesets Message-ID: <20130909123808.02AD06267C@hg.openjdk.java.net> Changeset: ccaa84f70564 Author: adinn Date: 2013-09-09 13:06 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ccaa84f70564 corrected declaration of FP regs 16-31 to make them save on call ! src/cpu/aarch64/vm/aarch64.ad Changeset: d53e6b858c0a Author: adinn Date: 2013-09-09 13:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d53e6b858c0a Merge Changeset: 3e2e4b129ae4 Author: adinn Date: 2013-09-09 13:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3e2e4b129ae4 relocated save and restore of cpu state from doCallout() to caller of run() n.b. if you pull this change you also need to pull the latest sim tree (the save and restore in the sim code stop this change fixing the problem) the purpose of this change is to ensure the sim print/debug routines always view the state of the calling JDK code when you are debugging a call into the JVM. n.b. the save restore has to be done by the caller of sim.run() after the caller has retrieved the result in r0/v0. taht is why it cannot be localized to the sim code itself. ! src/cpu/aarch64/vm/aarch64_call.cpp From adinn at redhat.com Mon Sep 9 08:52:56 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Mon, 09 Sep 2013 15:52:56 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: use correct count for number of int registers Message-ID: <20130909155300.0A9BB62686@hg.openjdk.java.net> Changeset: 7d5123b70f5c Author: adinn Date: 2013-09-09 16:52 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7d5123b70f5c use correct count for number of int registers ! src/cpu/aarch64/vm/aarch64.ad From adinn at redhat.com Tue Sep 10 03:28:29 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Tue, 10 Sep 2013 10:28:29 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: corrected logic for virtual call check Message-ID: <20130910102836.DFADF626B5@hg.openjdk.java.net> Changeset: 4144276f0a36 Author: adinn Date: 2013-09-10 11:28 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4144276f0a36 corrected logic for virtual call check ! src/cpu/aarch64/vm/aarch64.ad From adinn at redhat.com Tue Sep 10 10:06:57 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Tue, 10 Sep 2013 17:06:57 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130910170706.A4550626CB@hg.openjdk.java.net> Changeset: 8b6affe717d1 Author: adinn Date: 2013-09-10 18:05 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8b6affe717d1 make cmovUI_reg_zero use correct flags register type ! src/cpu/aarch64/vm/aarch64.ad Changeset: e2a4091b92eb Author: adinn Date: 2013-09-10 18:06 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e2a4091b92eb ensured that maxI and minI declare their use of the flags register ! src/cpu/aarch64/vm/aarch64.ad From aph at redhat.com Thu Sep 12 06:33:08 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 14:33:08 +0100 Subject: [aarch64-port-dev ] Fixes for compressed OOPs and VerifyOops Message-ID: <5231C293.206@redhat.com> We had a couple of bugs in compressed OOPs and VerifyOops. VerifyOops didn't really work at all, so this is a substantial rewrite. Andrew. # HG changeset patch # User aph # Date 1378921822 -3600 # Node ID a9f01f39ab447c9d32395c77a770381da22a407d # Parent 3c1ff2b85f84f7d8fb6adb4ad3739c43cd20fe67 Fixes for compressed OOPs and VerifyOops diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -2763,18 +2763,6 @@ } } else if (src->is_address()) { LIR_Address* from_addr = src->as_address_ptr(); - Register compressed_dest = noreg; - if (is_reg(dest)) { - compressed_dest = as_reg(dest); - if (type == T_ARRAY || type == T_OBJECT) { - __ verify_oop(dest->as_register()); - if (UseCompressedOops) { - compressed_dest = rscratch2; - __ mov(compressed_dest, as_reg(dest)); - __ encode_heap_oop(compressed_dest); - } - } - } if (src->is_double_cpu()) __ lea(rscratch1, as_Address(from_addr)); diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -190,7 +190,7 @@ str(t1, Address(obj, oopDesc::mark_offset_in_bytes())); if (UseCompressedKlassPointers) { // Take care not to kill klass - encode_heap_oop_not_null(t1, klass); + encode_klass_not_null(t1, klass); strw(t1, Address(obj, oopDesc::klass_offset_in_bytes())); } else { str(klass, Address(obj, oopDesc::klass_offset_in_bytes())); @@ -466,7 +466,10 @@ #ifndef PRODUCT -void C1_MacroAssembler::verify_stack_oop(int stack_offset) { Unimplemented(); } +void C1_MacroAssembler::verify_stack_oop(int stack_offset) { + if (!VerifyOops) return; + verify_oop_addr(Address(sp, stack_offset), "oop"); +} void C1_MacroAssembler::verify_not_null_oop(Register r) { if (!VerifyOops) return; diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -850,31 +850,68 @@ void MacroAssembler::verify_oop(Register reg, const char* s) { if (!VerifyOops) return; - assert(reg != rmethod, "bad reg in verify_oop"); - // Pass register number to verify_oop_subroutine char* b = new char[strlen(s) + 50]; sprintf(b, "verify_oop: %s: %s", reg->name(), s); BLOCK_COMMENT("verify_oop {"); - stp(r0, rscratch1, Address(pre(sp, -16))); + stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); ExternalAddress buffer((address) b); // our contract is not to modify anything mov(rscratch1, buffer.target()); - stp(rscratch1, reg, Address(pre(sp, -16))); + stp(rscratch1, reg, Address(pre(sp, -2 * wordSize))); // call indirectly to solve generation ordering problem - stp(reg, lr, Address(pre(sp, -16))); + stp(reg, lr, Address(pre(sp, -2 * wordSize))); lea(rscratch1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); ldr(rscratch1, Address(rscratch1)); blr(rscratch1); - ldp(reg, lr, Address(post(sp, 16))); + ldp(reg, lr, Address(post(sp, 2 * wordSize))); add(sp, sp, 2 * wordSize); - ldp(r0, rscratch1, Address(post(sp, 16))); + ldp(r0, rscratch1, Address(post(sp, 2 * wordSize))); BLOCK_COMMENT("} verify_oop"); } +void MacroAssembler::verify_oop_addr(Address addr, const char* s) { + return; + if (!VerifyOops) return; + + // Pass register number to verify_oop_subroutine + char* b = new char[strlen(s) + 50]; + sprintf(b, "verify_oop_addr: %s", s); + + BLOCK_COMMENT("verify_oop_addr {"); + + stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); + // addr may contain rsp so we will have to adjust it based on the push + // we just did (and on 64 bit we do two pushes) + // NOTE: 64bit seemed to have had a bug in that it did movq(addr, r0); which + // stores r0 into addr which is backwards of what was intended. + if (addr.uses(sp)) { + lea(r0, addr); + ldr(r0, Address(r0, 2 * wordSize)); + } else { + ldr(r0, addr); + } + + ExternalAddress buffer((address) b); + // our contract is not to modify anything + mov(rscratch1, buffer.target()); + stp(rscratch1, r0, Address(pre(sp, -2 * wordSize))); + + // call indirectly to solve generation ordering problem + stp(zr, lr, Address(pre(sp, -2 * wordSize))); + lea(rscratch1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); + ldr(rscratch1, Address(rscratch1)); + blr(rscratch1); + ldp(zr, lr, Address(post(sp, 2 * wordSize))); + add(sp, sp, 2 * wordSize); + ldp(r0, rscratch1, Address(post(sp, 2 * wordSize))); + + BLOCK_COMMENT("} verify_oop_addr"); +} + Address MacroAssembler::argument_address(RegisterOrConstant arg_slot, int extra_slot_offset) { // cf. TemplateTable::prepare_invoke(), if (load_receiver). @@ -2176,7 +2213,7 @@ add(dst, zr, src, Assembler::LSL, LogKlassAlignmentInBytes); } } else { - assert (Universe::narrow_oop_base() == NULL, "sanity"); + assert (Universe::narrow_klass_base() == NULL, "sanity"); if (dst != src) { mov(dst, src); } @@ -2514,28 +2551,26 @@ #ifdef ASSERT if (UseTLAB && VerifyOops) { Label next, ok; - Register t1 = r4; - str(t1, Address(pre(sp, -16))); - push(t1); + stp(rscratch2, rscratch1, Address(pre(sp, -16))); - ldr(t1, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); + ldr(rscratch2, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); ldr(rscratch1, Address(rthread, in_bytes(JavaThread::tlab_start_offset()))); - cmp(t1, rscratch1); + cmp(rscratch2, rscratch1); br(Assembler::HS, next); STOP("assert(top >= start)"); should_not_reach_here(); bind(next); - ldr(t1, Address(rthread, in_bytes(JavaThread::tlab_end_offset()))); + ldr(rscratch2, Address(rthread, in_bytes(JavaThread::tlab_end_offset()))); ldr(rscratch1, Address(rthread, in_bytes(JavaThread::tlab_top_offset()))); - cmp(t1, rscratch1); + cmp(rscratch2, rscratch1); br(Assembler::HS, ok); STOP("assert(top <= end)"); should_not_reach_here(); bind(ok); - ldr(t1, Address(post(sp, 16))); + ldp(rscratch2, rscratch1, Address(post(sp, 16))); } #endif } diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Wed Sep 11 18:50:22 2013 +0100 @@ -937,10 +937,7 @@ // only if +VerifyOops void verify_oop(Register reg, const char* s = "broken oop"); - // unimplemented -#if 0 void verify_oop_addr(Address addr, const char * s = "broken oop addr"); -#endif // TODO: verify method and klass metadata (compare against vptr?) void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {} @@ -1373,6 +1370,7 @@ typedef void (Assembler::* flush_insn)(Register Rt); void generate_flush_loop(flush_insn flush, Register start, Register lines); + }; #ifdef ASSERT diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/methodHandles_aarch64.cpp --- a/src/cpu/aarch64/vm/methodHandles_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/methodHandles_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -102,13 +102,6 @@ assert(method == rmethod, "interpreter calling convention"); __ verify_method_ptr(method); -#ifndef PRODUCT - // tell the simulator that the method has been entered - if (NotifySimulator) { - __ notify(Assembler::method_entry); - } -#endif - if (!for_compiler_entry && JvmtiExport::can_post_interpreter_events()) { Label run_compiled_code; // JVMTI events, such as single-stepping, are implemented partly by avoiding running diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -1188,7 +1188,7 @@ VMReg r = regs[i].first(); assert(r->is_valid(), "bad oop arg"); if (r->is_stack()) { - __ ldr(temp_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size + wordSize)); + __ ldr(temp_reg, Address(sp, r->reg2stack() * VMRegImpl::stack_slot_size)); __ verify_oop(temp_reg); } else { __ verify_oop(r->as_Register()); diff -r 3c1ff2b85f84 -r a9f01f39ab44 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Wed Sep 11 13:32:05 2013 +0100 +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Wed Sep 11 18:50:22 2013 +0100 @@ -713,19 +713,24 @@ // * [tos + 7]: saved rscratch1 - saved by caller // * = popped on exit address generate_verify_oop() { + StubCodeMark mark(this, "StubRoutines", "verify_oop"); address start = __ pc(); Label exit, error; // __ pushf(); - // __ incrementl(ExternalAddress((address) StubRoutines::verify_oop_count_addr())); - // __ push(r12); // save c_rarg2 and c_rarg3 __ stp(c_rarg3, c_rarg2, Address(__ pre(sp, -16))); + // __ incrementl(ExternalAddress((address) StubRoutines::verify_oop_count_addr())); + __ lea(c_rarg2, ExternalAddress((address) StubRoutines::verify_oop_count_addr())); + __ ldr(c_rarg3, Address(c_rarg2)); + __ add(c_rarg3, c_rarg3, 1); + __ str(c_rarg3, Address(c_rarg2)); + enum { // After previous pushes. oop_to_verify = 5 * wordSize, @@ -743,12 +748,14 @@ __ cbz(r0, exit); // if obj is NULL it is OK // Check if the oop is in the right area of memory - __ mov(c_rarg2, r0); __ mov(c_rarg3, (intptr_t) Universe::verify_oop_mask()); - __ andr(c_rarg2, c_rarg2, c_rarg3); + __ andr(c_rarg2, r0, c_rarg3); __ mov(c_rarg3, (intptr_t) Universe::verify_oop_bits()); - __ cmp(c_rarg2, c_rarg3); - __ br(Assembler::NE, error); + + // Compare c_rarg2 and c_rarg3. We don't use a compare + // instruction here because the flags register is live. + __ eor(c_rarg2, c_rarg2, c_rarg3); + __ cbnz(c_rarg2, error); // make sure klass is 'reasonable', which is not zero. __ load_klass(r0, r0); // get klass @@ -757,6 +764,7 @@ // return if everything seems ok __ bind(exit); + __ ldp(c_rarg3, c_rarg2, Address(__ post(sp, 16))); __ ret(lr); @@ -791,6 +799,7 @@ __ mov(sp, r19); // restore rsp __ pop(0x7fffffff, sp); __ ldr(lr, Address(sp, 0)); + __ ret(lr); return start; From aph at redhat.com Thu Sep 12 06:35:23 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 14:35:23 +0100 Subject: [aarch64-port-dev ] Use C fallback arraycopy for UseCompressedOops Message-ID: <5231C31B.3040709@redhat.com> The arraycopy optimization logic doesn't work with UseCompressedOops, so this used the C fallback arraycopy for all object arrays for the time being. I'm going to write a fast arraycopy implementation, so this is just something slow but correct. Andrew. From aph at redhat.com Thu Sep 12 06:36:55 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 14:36:55 +0100 Subject: [aarch64-port-dev ] Fix VerifyOops Message-ID: <5231C377.6070004@redhat.com> More of the VerifyOops rewrite. Andrew. # HG changeset patch # User aph # Date 1378992624 -3600 # Node ID b4b5d34fb848ba2b32e5f1c5b8a104297adcd8ce # Parent 6af07c154ab396a431a85dd121d7b67e373a15ab Fix VerifyOops diff -r 6af07c154ab3 -r b4b5d34fb848 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Thu Sep 12 14:27:56 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Thu Sep 12 14:30:24 2013 +0100 @@ -854,59 +854,50 @@ char* b = new char[strlen(s) + 50]; sprintf(b, "verify_oop: %s: %s", reg->name(), s); BLOCK_COMMENT("verify_oop {"); + stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); + stp(rscratch2, lr, Address(pre(sp, -2 * wordSize))); - ExternalAddress buffer((address) b); - // our contract is not to modify anything - mov(rscratch1, buffer.target()); - stp(rscratch1, reg, Address(pre(sp, -2 * wordSize))); + mov(r0, reg); + mov(rscratch1, (address)b); // call indirectly to solve generation ordering problem - stp(reg, lr, Address(pre(sp, -2 * wordSize))); - lea(rscratch1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); - ldr(rscratch1, Address(rscratch1)); - blr(rscratch1); - ldp(reg, lr, Address(post(sp, 2 * wordSize))); - add(sp, sp, 2 * wordSize); + lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); + ldr(rscratch2, Address(rscratch2)); + blr(rscratch2); + + ldp(rscratch2, lr, Address(post(sp, 2 * wordSize))); ldp(r0, rscratch1, Address(post(sp, 2 * wordSize))); BLOCK_COMMENT("} verify_oop"); } void MacroAssembler::verify_oop_addr(Address addr, const char* s) { - return; if (!VerifyOops) return; - // Pass register number to verify_oop_subroutine char* b = new char[strlen(s) + 50]; sprintf(b, "verify_oop_addr: %s", s); - BLOCK_COMMENT("verify_oop_addr {"); stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); - // addr may contain rsp so we will have to adjust it based on the push - // we just did (and on 64 bit we do two pushes) - // NOTE: 64bit seemed to have had a bug in that it did movq(addr, r0); which - // stores r0 into addr which is backwards of what was intended. + stp(rscratch2, lr, Address(pre(sp, -2 * wordSize))); + + // addr may contain sp so we will have to adjust it based on the + // pushes that we just did. if (addr.uses(sp)) { lea(r0, addr); - ldr(r0, Address(r0, 2 * wordSize)); + ldr(r0, Address(r0, 4 * wordSize)); } else { ldr(r0, addr); } - - ExternalAddress buffer((address) b); - // our contract is not to modify anything - mov(rscratch1, buffer.target()); - stp(rscratch1, r0, Address(pre(sp, -2 * wordSize))); + mov(rscratch1, (address)b); // call indirectly to solve generation ordering problem - stp(zr, lr, Address(pre(sp, -2 * wordSize))); - lea(rscratch1, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); - ldr(rscratch1, Address(rscratch1)); - blr(rscratch1); - ldp(zr, lr, Address(post(sp, 2 * wordSize))); - add(sp, sp, 2 * wordSize); + lea(rscratch2, ExternalAddress(StubRoutines::verify_oop_subroutine_entry_address())); + ldr(rscratch2, Address(rscratch2)); + blr(rscratch2); + + ldp(rscratch2, lr, Address(post(sp, 2 * wordSize))); ldp(r0, rscratch1, Address(post(sp, 2 * wordSize))); BLOCK_COMMENT("} verify_oop_addr"); diff -r 6af07c154ab3 -r b4b5d34fb848 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 12 14:27:56 2013 +0100 +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 12 14:30:24 2013 +0100 @@ -700,18 +700,16 @@ // Non-destructive plausibility checks for oops // // Arguments: - // all args on stack! + // r0: oop to verify + // rscratch1: error message // // Stack after saving c_rarg3: // [tos + 0]: saved c_rarg3 // [tos + 1]: saved c_rarg2 - // [tos + 2]: scratch -- saves LR around call to debug64 + // [tos + 2]: saved rscratch2 // [tos + 3]: saved lr - // * [tos + 4]: error message (char*) - // * [tos + 5]: object to verify (oop) - // * [tos + 6]: saved r0 - saved by caller and bashed - // * [tos + 7]: saved rscratch1 - saved by caller - // * = popped on exit + // [tos + 4]: saved rscratch1 + // [tos + 5]: saved r0 address generate_verify_oop() { StubCodeMark mark(this, "StubRoutines", "verify_oop"); @@ -731,19 +729,7 @@ __ add(c_rarg3, c_rarg3, 1); __ str(c_rarg3, Address(c_rarg2)); - enum { - // After previous pushes. - oop_to_verify = 5 * wordSize, - saved_r0 = 6 * wordSize, - - // Before the call to MacroAssembler::debug(), see below. - return_addr = (32+2) * wordSize, - error_msg = (32+3) * wordSize - }; - - // get object - __ ldr(r0, Address(sp, oop_to_verify)); - + // object is in r0 // make sure object is 'reasonable' __ cbz(r0, exit); // if obj is NULL it is OK @@ -771,34 +757,22 @@ // handle errors __ bind(error); __ ldp(c_rarg3, c_rarg2, Address(__ post(sp, 16))); - __ str(lr, Address(sp, 0)); - __ ldp(zr, lr, Address(sp, 0)); - __ ldp(r0, rscratch1, Address(sp, 2 * wordSize)); + __ push(0x7fffffff, sp); // debug(char* msg, int64_t pc, int64_t regs[]) - // We've popped the registers we'd saved (c_rarg3, c_rarg2), and - // pushed all the registers, so now the stack looks like: - // [tos + 0] 32 saved registers - // [ + 0]: garbage - // [ + 1]: saved lr - // * [ + 2]: error message (char*) - // * [ + 3]: object to verify (oop) - // * [ + 4]: saved r0 - saved by caller and bashed - // * [ + 5]: saved rscratch1 - saved by caller - - __ ldr(c_rarg0, Address(sp, error_msg)); // pass address of error message - __ ldr(c_rarg1, Address(sp, return_addr)); // pass return address + __ ldr(c_rarg0, Address(sp, rscratch1->encoding())); // pass address of error message + __ mov(c_rarg1, Address(sp, lr)); // pass return address __ mov(c_rarg2, sp); // pass address of regs on stack - __ mov(r19, sp); // remember rsp #ifndef PRODUCT assert(frame::arg_reg_save_area_bytes == 0, "not expecting frame reg save area"); #endif BLOCK_COMMENT("call MacroAssembler::debug"); __ mov(rscratch1, CAST_FROM_FN_PTR(address, MacroAssembler::debug64)); __ blrt(rscratch1, 3, 0, 1); - __ mov(sp, r19); // restore rsp __ pop(0x7fffffff, sp); - __ ldr(lr, Address(sp, 0)); + + __ ldp(rscratch2, lr, Address(__ post(sp, 2 * wordSize))); + __ ldp(r0, rscratch1, Address(__ post(sp, 2 * wordSize))); __ ret(lr); From adinn at redhat.com Thu Sep 12 06:53:24 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Thu, 12 Sep 2013 13:53:24 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130912135328.1FE136275C@hg.openjdk.java.net> Changeset: 9210f221f047 Author: adinn Date: 2013-09-11 16:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9210f221f047 make partialSubtypeCheck pass expected registers to check_klass_subtype_slow_path the implementation of partialSubtypeCheck uses MacroAssembler method check_klass_subtype_slow_path. since the latter spills any of the registers it does not expect before use we force the allocator to use the ones it does expect. if this involves shuffles or saves then we will be no worse off and we might be able to use them free anyway. ! src/cpu/aarch64/vm/aarch64.ad Changeset: 21d2a6b25f23 Author: adinn Date: 2013-09-12 14:52 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/21d2a6b25f23 Merge From aph at redhat.com Thu Sep 12 08:02:21 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 16:02:21 +0100 Subject: [aarch64-port-dev ] Another reproducer for AArch64 HS In-Reply-To: <523091D1.7020502@redhat.com> References: <523091D1.7020502@redhat.com> Message-ID: <5231D77D.4080609@redhat.com> On 09/11/2013 04:52 PM, Pavel Tisnovsky wrote: > Hi Andrew, > > here's another reproducer for AArch64 HS. The reproducer itself looks complicated, but the problem is > in the following statement: > > boolean b = (new Double(n)).equals(new Double(-0.0)); > > which should return false when n==0.0 > > The code breaks (starts to return true) after the method myFormat() is JITted. > > Here you can see which values is passed to Double.doubleToLongBits() from Double.equals(): > > iter#: 0 value: 0.0... > doubleToLongBits input 1: -9223372036854775808 (-0.0) > doubleToLongBits input 2: 0 (0.0) > false > > iter#: 1 value: 0.0... > doubleToLongBits input 1: -9223372036854775808 (-0.0) > doubleToLongBits input 2: 0 (0.0) > false > > (JIT just compiled the method myFormat()...) > > iter#: 8 value: 0.0... > doubleToLongBits input 1: 0 <- wrong, should be -0.0 ie in int representation -9223372036854775808 > doubleToLongBits input 2: 0 (0.0) > true > > > I've tried to understand what's wrong (to teach myself AArch64 assembly and JIT internals ;) > > Double.equals() looks like: > 807 public boolean equals(Object obj) { > 808 return (obj instanceof Double) > 809 && (doubleToLongBits(((Double)obj).value) == > 810 doubleToLongBits(value)); > 811 } > > It's bytecode is easy to understand: > public boolean equals(java.lang.Object); > Code: > 0: aload_1 > 1: instanceof #38 // class java/lang/Double > 4: ifeq 32 > 7: aload_1 > 8: checkcast #38 // class java/lang/Double > 11: getfield #49 // Field value:D > 14: invokestatic #19 // Method doubleToLongBits:(D)J > 17: aload_0 > 18: getfield #49 // Field value:D > 21: invokestatic #19 // Method doubleToLongBits:(D)J > 24: lcmp > 25: ifne 32 > 28: iconst_1 > 29: goto 33 > 32: iconst_0 > 33: ireturn > > JITed bytecode is still IMHO ok (don't know exactly the target for those bl/call instructions): > > /jck/7/jdk/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompilation -XX:+PrintAssembly FormatTests > > 0x00007fedd9a6b00c: ldr d1, [x0,#16] ;*getfield value > ; - java.lang.Double::equals at 11 (line 808) > ; - FormatTests::myFormat at 18 (line 229) > > 0x00007fedd9a6b010: fmov d0, d1 ;*invokestatic doubleToLongBits > ; - java.lang.Double::equals at 14 (line 809) > ; - FormatTests::myFormat at 18 (line 229) > > 0x00007fedd9a6b014: bl 0x00007fedd9948060 ; OopMap{[176]=Oop [184]=Oop [192]=Oop off=184} > ;*invokestatic doubleToLongBits > ; - java.lang.Double::equals at 14 (line 809) > ; - FormatTests::myFormat at 18 (line 229) > ; {static_call} > 0x00007fedd9a6b018: ldr x1, [sp,#176] > 0x00007fedd9a6b01c: ldr d0, [x1,#16] ;*getfield value > ; - java.lang.Double::equals at 18 (line 809) > ; - FormatTests::myFormat at 18 (line 229) > > 0x00007fedd9a6b020: str x0, [sp,#200] > 0x00007fedd9a6b024: bl 0x00007fedd9948060 ; OopMap{[184]=Oop [192]=Oop off=200} > ;*invokestatic doubleToLongBits > ; - java.lang.Double::equals at 21 (line 810) > ; - FormatTests::myFormat at 18 (line 229) > ; {static_call} > 0x00007fedd9a6b028: ldr x2, [sp,#200] > 0x00007fedd9a6b02c: cmp x2, x0 > > 0x00007fedd9a6b030: b.ne 0x00007fedd9a6b03c ;*lcmp > ; - java.lang.Double::equals at 24 (line 810) > ; - FormatTests::myFormat at 18 (line 229) > 0x00007fedd9a6b034: orr w2, wzr, #0x1 > ;; 64 branch [AL] [B37] > 0x00007fedd9a6b038: b 0x00007fedd9a6b040 ;*goto > ; - java.lang.Double::equals at 29 (line 810) > ; - FormatTests::myFormat at 18 (line 229) > > ;; block B35 [32, 33] > > ;; 0x0 > 0x00007fedd9a6b03c: movz w2, #0x0, lsl #16 ;*ireturn > ; - java.lang.Double::equals at 33 (line 810) > ; - FormatTests::myFormat at 18 (line 229) > > I'd like to know more how to debug/trace AArm64 code :-) is it possible (how?) to see the JITed > code of Double.equals() and the code for double autoboxing (I suppose there would be problem)? Double.equals() was interpreted. The killer code is the second call to Double. on Line 235: ;; 176 move [metadata:0x0|] [c_rarg3|] [patch_normal] [bci:55] 0x00007fffee530160: b 0x00007fffee5311e4 ; {section_word} ;; 178 branch [AL] [NewInstanceStub: 0xbca441e8] [bci:55] 0x00007fffee530164: b 0x00007fffee5311ec ;*new ; - FormatTests::myFormat at 55 (line 235) 0x00007fffee530168: fmov d1, d0 0x00007fffee53016c: fmov d0, d1 0x00007fffee530170: mov x1, x0 ;*invokespecial ; - FormatTests::myFormat at 60 (line 235) 0x00007fffee530174: str x0, [sp,#232] 0x00007fffee530178: bl 0x00007fffee147c20 ; OopMap{[192]=Oop [184]=Oop [216]=Oop [232]=Oop off=956} ;*invokespecial ; - FormatTests::myFormat at 60 (line 235) ; {optimized virtual_call} ;; 190 move [metadata:0x0|] [c_rarg3|] [patch_normal] [bci:63] 0x00007fffee53017c: b 0x00007fffee531200 ; {section_word} ;; 192 branch [AL] [NewInstanceStub: 0xbca44828] [bci:63] 0x00007fffee530180: b 0x00007fffee531208 ;*new ; - FormatTests::myFormat at 63 (line 235) 0x00007fffee530184: fmov d0, xzr HERE IS THE BUG ^^^^^^^^^^^^^^^^^^^^^^^^^^ 0x00007fffee530188: mov x1, x0 ;*invokespecial ; - FormatTests::myFormat at 70 (line 235 0x00007fffee53018c: str x0, [sp,#248] 0x00007fffee530190: bl 0x00007fffee147c20 ; OopMap{[192]=Oop [184]=Oop [216]=Oop [232]=Oop [248]=Oop off=980} ;*invokespecial ; - FormatTests::myFormat at 70 (line 235) ; {optimized virtual_call} Note that we're using XZR as the source for an argument that's -0.0. This is wrong: XZR is the bit pattern for all zeroes, 0.0. The real cause of the bug is here: bool Assembler::operand_valid_for_float_immediate(double imm) { union { unsigned ival; float val; }; val = (float)imm; unsigned result = fp_immediate_for_encoding(ival, true); return encoding_for_fp_immediate(result) == imm; } This takes a double, tries to encode it as a floating-point immediate, then decodes the value and makes sure it's the same. BUT -- that test is wrong. encoding_for_fp_immediate(result) returns 0.0 when imm is -0.0. And the test then does 0.0 == -0.0 which returns true. Here's the fix: bool Assembler::operand_valid_for_float_immediate(double imm) { // We try to encode the immediate value then we convert the encoded // back and make sure it's the exact same bit pattern unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); return doubleToLongBits(imm) == doubleToLongBits(encoding_for_fp_immediate(result)); } Andrew. # HG changeset patch # User aph # Date 1378997906 -3600 # Node ID 5b2374dbfc861f06fba6f60be6e0e4555710eb38 # Parent 87e7a0585407aecaa36dda94bf71559d1f62afbc Fix operand_valid_for_float_immediate so that it returns false for negative zero. diff -r 87e7a0585407 -r 5b2374dbfc86 src/cpu/aarch64/vm/assembler_aarch64.cpp --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 14:37:30 2013 +0100 +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 15:58:26 2013 +0100 @@ -1480,14 +1480,33 @@ return encode_logical_immediate(is32, imm) != 0xffffffff; } +static jlong doubleToLongBits(jdouble d) { + union { + jdouble double_value; + jlong double_bits; + }; + + double_value = d; + return double_bits; +} + +static jint floatToIntBits(jfloat f) { + union { + jfloat float_value; + jint float_bits; + }; + + float_value = f; + return float_bits; +} + bool Assembler::operand_valid_for_float_immediate(double imm) { - union { - unsigned ival; - float val; - }; - val = (float)imm; - unsigned result = fp_immediate_for_encoding(ival, true); - return encoding_for_fp_immediate(result) == imm; + // We try to encode the immediate value then we convert the encoded + // back and make sure it's the exact same bit pattern + + unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); + return doubleToLongBits(imm) + == doubleToLongBits(encoding_for_fp_immediate(result)); } int AbstractAssembler::code_fill_byte() { From aph at redhat.com Thu Sep 12 08:04:45 2013 From: aph at redhat.com (aph at redhat.com) Date: Thu, 12 Sep 2013 15:04:45 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130912150500.C3CFB62765@hg.openjdk.java.net> Changeset: 5b2374dbfc86 Author: aph Date: 2013-09-12 15:58 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5b2374dbfc86 Fix operand_valid_for_float_immediate so that it returns false for negative zero. ! src/cpu/aarch64/vm/assembler_aarch64.cpp Changeset: 5e4c8854ea19 Author: aph Date: 2013-09-12 16:04 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5e4c8854ea19 Merge From aph at redhat.com Thu Sep 12 06:40:31 2013 From: aph at redhat.com (aph at redhat.com) Date: Thu, 12 Sep 2013 13:40:31 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 7 new changesets Message-ID: <20130912134051.7441562758@hg.openjdk.java.net> Changeset: a63a4f808bdf Author: aph Date: 2013-09-10 16:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a63a4f808bdf Comment changes only ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp Changeset: eaf9cb5b0f6a Author: aph Date: 2013-09-10 16:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/eaf9cb5b0f6a merge Changeset: 3c1ff2b85f84 Author: aph Date: 2013-09-11 13:32 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3c1ff2b85f84 Small optimization when unlocking ! src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp Changeset: a9f01f39ab44 Author: aph Date: 2013-09-11 18:50 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a9f01f39ab44 Fixes for compressed OOPs and VerifyOops ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/methodHandles_aarch64.cpp ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 6af07c154ab3 Author: aph Date: 2013-09-12 14:27 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6af07c154ab3 Use C fallback arraycopy for UseCompressedOops ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Changeset: b4b5d34fb848 Author: aph Date: 2013-09-12 14:30 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b4b5d34fb848 Fix VerifyOops ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 87e7a0585407 Author: aph Date: 2013-09-12 14:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/87e7a0585407 Merge From ptisnovs at redhat.com Thu Sep 12 08:57:36 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Thu, 12 Sep 2013 11:57:36 -0400 (EDT) Subject: [aarch64-port-dev ] Another reproducer for AArch64 HS In-Reply-To: <5231D77D.4080609@redhat.com> References: <523091D1.7020502@redhat.com> <5231D77D.4080609@redhat.com> Message-ID: <578024551.13570008.1379001456326.JavaMail.root@redhat.com> Hi Andrew, your changes have fixed this well hidden bug. Thank you very much, Pavel ----- Andrew Haley wrote: > On 09/11/2013 04:52 PM, Pavel Tisnovsky wrote: > > Hi Andrew, > > > > here's another reproducer for AArch64 HS. The reproducer itself looks complicated, but the problem is > > in the following statement: > > > > boolean b = (new Double(n)).equals(new Double(-0.0)); > > > > which should return false when n==0.0 > > > > The code breaks (starts to return true) after the method myFormat() is JITted. > > > > Here you can see which values is passed to Double.doubleToLongBits() from Double.equals(): > > > > iter#: 0 value: 0.0... > > doubleToLongBits input 1: -9223372036854775808 (-0.0) > > doubleToLongBits input 2: 0 (0.0) > > false > > > > iter#: 1 value: 0.0... > > doubleToLongBits input 1: -9223372036854775808 (-0.0) > > doubleToLongBits input 2: 0 (0.0) > > false > > > > (JIT just compiled the method myFormat()...) > > > > iter#: 8 value: 0.0... > > doubleToLongBits input 1: 0 <- wrong, should be -0.0 ie in int representation -9223372036854775808 > > doubleToLongBits input 2: 0 (0.0) > > true > > > > > > I've tried to understand what's wrong (to teach myself AArch64 assembly and JIT internals ;) > > > > Double.equals() looks like: > > 807 public boolean equals(Object obj) { > > 808 return (obj instanceof Double) > > 809 && (doubleToLongBits(((Double)obj).value) == > > 810 doubleToLongBits(value)); > > 811 } > > > > It's bytecode is easy to understand: > > public boolean equals(java.lang.Object); > > Code: > > 0: aload_1 > > 1: instanceof #38 // class java/lang/Double > > 4: ifeq 32 > > 7: aload_1 > > 8: checkcast #38 // class java/lang/Double > > 11: getfield #49 // Field value:D > > 14: invokestatic #19 // Method doubleToLongBits:(D)J > > 17: aload_0 > > 18: getfield #49 // Field value:D > > 21: invokestatic #19 // Method doubleToLongBits:(D)J > > 24: lcmp > > 25: ifne 32 > > 28: iconst_1 > > 29: goto 33 > > 32: iconst_0 > > 33: ireturn > > > > JITed bytecode is still IMHO ok (don't know exactly the target for those bl/call instructions): > > > > /jck/7/jdk/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintCompilation -XX:+PrintAssembly FormatTests > > > > 0x00007fedd9a6b00c: ldr d1, [x0,#16] ;*getfield value > > ; - java.lang.Double::equals at 11 (line 808) > > ; - FormatTests::myFormat at 18 (line 229) > > > > 0x00007fedd9a6b010: fmov d0, d1 ;*invokestatic doubleToLongBits > > ; - java.lang.Double::equals at 14 (line 809) > > ; - FormatTests::myFormat at 18 (line 229) > > > > 0x00007fedd9a6b014: bl 0x00007fedd9948060 ; OopMap{[176]=Oop [184]=Oop [192]=Oop off=184} > > ;*invokestatic doubleToLongBits > > ; - java.lang.Double::equals at 14 (line 809) > > ; - FormatTests::myFormat at 18 (line 229) > > ; {static_call} > > 0x00007fedd9a6b018: ldr x1, [sp,#176] > > 0x00007fedd9a6b01c: ldr d0, [x1,#16] ;*getfield value > > ; - java.lang.Double::equals at 18 (line 809) > > ; - FormatTests::myFormat at 18 (line 229) > > > > 0x00007fedd9a6b020: str x0, [sp,#200] > > 0x00007fedd9a6b024: bl 0x00007fedd9948060 ; OopMap{[184]=Oop [192]=Oop off=200} > > ;*invokestatic doubleToLongBits > > ; - java.lang.Double::equals at 21 (line 810) > > ; - FormatTests::myFormat at 18 (line 229) > > ; {static_call} > > 0x00007fedd9a6b028: ldr x2, [sp,#200] > > 0x00007fedd9a6b02c: cmp x2, x0 > > > > 0x00007fedd9a6b030: b.ne 0x00007fedd9a6b03c ;*lcmp > > ; - java.lang.Double::equals at 24 (line 810) > > ; - FormatTests::myFormat at 18 (line 229) > > 0x00007fedd9a6b034: orr w2, wzr, #0x1 > > ;; 64 branch [AL] [B37] > > 0x00007fedd9a6b038: b 0x00007fedd9a6b040 ;*goto > > ; - java.lang.Double::equals at 29 (line 810) > > ; - FormatTests::myFormat at 18 (line 229) > > > > ;; block B35 [32, 33] > > > > ;; 0x0 > > 0x00007fedd9a6b03c: movz w2, #0x0, lsl #16 ;*ireturn > > ; - java.lang.Double::equals at 33 (line 810) > > ; - FormatTests::myFormat at 18 (line 229) > > > > I'd like to know more how to debug/trace AArm64 code :-) is it possible (how?) to see the JITed > > code of Double.equals() and the code for double autoboxing (I suppose there would be problem)? > > Double.equals() was interpreted. The killer code is the second call to Double. > on Line 235: > > ;; 176 move [metadata:0x0|] [c_rarg3|] [patch_normal] [bci:55] > 0x00007fffee530160: b 0x00007fffee5311e4 ; {section_word} > ;; 178 branch [AL] [NewInstanceStub: 0xbca441e8] [bci:55] > 0x00007fffee530164: b 0x00007fffee5311ec ;*new ; - FormatTests::myFormat at 55 (line 235) > > 0x00007fffee530168: fmov d1, d0 > 0x00007fffee53016c: fmov d0, d1 > 0x00007fffee530170: mov x1, x0 ;*invokespecial > ; - FormatTests::myFormat at 60 (line 235) > > 0x00007fffee530174: str x0, [sp,#232] > 0x00007fffee530178: bl 0x00007fffee147c20 ; OopMap{[192]=Oop [184]=Oop [216]=Oop [232]=Oop off=956} > ;*invokespecial > ; - FormatTests::myFormat at 60 (line 235) > ; {optimized virtual_call} > ;; 190 move [metadata:0x0|] [c_rarg3|] [patch_normal] [bci:63] > 0x00007fffee53017c: b 0x00007fffee531200 ; {section_word} > ;; 192 branch [AL] [NewInstanceStub: 0xbca44828] [bci:63] > 0x00007fffee530180: b 0x00007fffee531208 ;*new ; - FormatTests::myFormat at 63 (line 235) > > 0x00007fffee530184: fmov d0, xzr > > HERE IS THE BUG ^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > 0x00007fffee530188: mov x1, x0 ;*invokespecial > ; - FormatTests::myFormat at 70 (line 235 > 0x00007fffee53018c: str x0, [sp,#248] > 0x00007fffee530190: bl 0x00007fffee147c20 ; OopMap{[192]=Oop [184]=Oop [216]=Oop [232]=Oop [248]=Oop off=980} > ;*invokespecial > ; - FormatTests::myFormat at 70 (line 235) > ; {optimized virtual_call} > > Note that we're using XZR as the source for an argument that's -0.0. This is wrong: > XZR is the bit pattern for all zeroes, 0.0. > > The real cause of the bug is here: > > bool Assembler::operand_valid_for_float_immediate(double imm) { > union { > unsigned ival; > float val; > }; > val = (float)imm; > unsigned result = fp_immediate_for_encoding(ival, true); > return encoding_for_fp_immediate(result) == imm; > } > > This takes a double, tries to encode it as a floating-point immediate, then > decodes the value and makes sure it's the same. BUT -- that test is wrong. > encoding_for_fp_immediate(result) returns 0.0 when imm is -0.0. And the > test then does > > 0.0 == -0.0 > > which returns true. > > Here's the fix: > > bool Assembler::operand_valid_for_float_immediate(double imm) { > // We try to encode the immediate value then we convert the encoded > // back and make sure it's the exact same bit pattern > > unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); > return doubleToLongBits(imm) > == doubleToLongBits(encoding_for_fp_immediate(result)); > } > > Andrew. > > > > # HG changeset patch > # User aph > # Date 1378997906 -3600 > # Node ID 5b2374dbfc861f06fba6f60be6e0e4555710eb38 > # Parent 87e7a0585407aecaa36dda94bf71559d1f62afbc > Fix operand_valid_for_float_immediate so that it returns false for negative zero. > > diff -r 87e7a0585407 -r 5b2374dbfc86 src/cpu/aarch64/vm/assembler_aarch64.cpp > --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 14:37:30 2013 +0100 > +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 15:58:26 2013 +0100 > @@ -1480,14 +1480,33 @@ > return encode_logical_immediate(is32, imm) != 0xffffffff; > } > > +static jlong doubleToLongBits(jdouble d) { > + union { > + jdouble double_value; > + jlong double_bits; > + }; > + > + double_value = d; > + return double_bits; > +} > + > +static jint floatToIntBits(jfloat f) { > + union { > + jfloat float_value; > + jint float_bits; > + }; > + > + float_value = f; > + return float_bits; > +} > + > bool Assembler::operand_valid_for_float_immediate(double imm) { > - union { > - unsigned ival; > - float val; > - }; > - val = (float)imm; > - unsigned result = fp_immediate_for_encoding(ival, true); > - return encoding_for_fp_immediate(result) == imm; > + // We try to encode the immediate value then we convert the encoded > + // back and make sure it's the exact same bit pattern > + > + unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); > + return doubleToLongBits(imm) > + == doubleToLongBits(encoding_for_fp_immediate(result)); > } > > int AbstractAssembler::code_fill_byte() { From aph at redhat.com Thu Sep 12 09:22:44 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 12 Sep 2013 17:22:44 +0100 Subject: [aarch64-port-dev ] Another reproducer for AArch64 HS In-Reply-To: <5231D77D.4080609@redhat.com> References: <523091D1.7020502@redhat.com> <5231D77D.4080609@redhat.com> Message-ID: <5231EA54.4050406@redhat.com> Argh! I completely messed that up. I got the encodings the wrong way round, and was decoding what I should have been encoding. So it returned false except for values of zero. This one is right, I swear. Andrew. # HG changeset patch # User aph # Date 1379002844 -3600 # Node ID 4afcbbbfaf7a4018766521e2b580c167c9c1f1e3 # Parent 5e4c8854ea19ea3c673847d9f66d5184a1aa601c Fix the fix for operand_valid_for_float_immediate. diff -r 5e4c8854ea19 -r 4afcbbbfaf7a src/cpu/aarch64/vm/assembler_aarch64.cpp --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 16:04:07 2013 +0100 +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 @@ -1480,33 +1480,26 @@ return encode_logical_immediate(is32, imm) != 0xffffffff; } -static jlong doubleToLongBits(jdouble d) { +static uint64_t doubleTo64Bits(jdouble d) { union { jdouble double_value; - jlong double_bits; + uint64_t double_bits; }; double_value = d; return double_bits; } -static jint floatToIntBits(jfloat f) { - union { - jfloat float_value; - jint float_bits; - }; +bool Assembler::operand_valid_for_float_immediate(double imm) { + // If imm is all zero bits we can use ZR as the source of a + // floating-point value. + if (doubleTo64Bits(imm) == 0) + return true; - float_value = f; - return float_bits; -} - -bool Assembler::operand_valid_for_float_immediate(double imm) { - // We try to encode the immediate value then we convert the encoded - // back and make sure it's the exact same bit pattern - - unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); - return doubleToLongBits(imm) - == doubleToLongBits(encoding_for_fp_immediate(result)); + // Otherwise try to encode imm then convert the encoded value back + // and make sure it's the exact same bit pattern. + unsigned result = encoding_for_fp_immediate(imm); + return doubleTo64Bits(imm) == fp_immediate_for_encoding(result, true); } int AbstractAssembler::code_fill_byte() { From aph at redhat.com Thu Sep 12 09:23:16 2013 From: aph at redhat.com (aph at redhat.com) Date: Thu, 12 Sep 2013 16:23:16 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Fix the fix for operand_valid_for_float_immediate. Message-ID: <20130912162326.6B1106276D@hg.openjdk.java.net> Changeset: 4afcbbbfaf7a Author: aph Date: 2013-09-12 17:20 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4afcbbbfaf7a Fix the fix for operand_valid_for_float_immediate. ! src/cpu/aarch64/vm/assembler_aarch64.cpp From ptisnovs at redhat.com Fri Sep 13 10:08:49 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 13 Sep 2013 13:08:49 -0400 (EDT) Subject: [aarch64-port-dev ] Another reproducer for AArch64 HS In-Reply-To: <5231EA54.4050406@redhat.com> References: <523091D1.7020502@redhat.com> <5231D77D.4080609@redhat.com> <5231EA54.4050406@redhat.com> Message-ID: <817637808.14288023.1379092129839.JavaMail.root@redhat.com> Hi Andrew, the following reproducer ($attachment) is shorter and IMHO better than the previous one (I'm not sure how to reproduce the issue introduced in changeset#4905) Result for Hotspot @changeset#4904: Testing for 1.0 against -0.0 OK Testing for 1.7976931348623157E308 against -0.0 OK Testing for -1.7976931348623157E308 against -0.0 OK Testing for Infinity against -0.0 OK Testing for -Infinity against -0.0 OK Testing for NaN against -0.0 OK Testing for 0.0 against -0.0 Iteration: 0 Double.equals() is broken! Testing for -0.0 against -0.0 Iteration: 0 Double.equals() is broken! Testing for 1.0 against +0.0 OK Testing for 1.7976931348623157E308 against +0.0 OK Testing for -1.7976931348623157E308 against +0.0 OK Testing for Infinity against +0.0 OK Testing for -Infinity against +0.0 OK Testing for NaN against +0.0 OK Testing for -0.0 against +0.0 OK Testing for 0.0 against +0.0 OK Result for Hotspot @changeset#4907: Testing for 1.0 against -0.0 OK Testing for 1.7976931348623157E308 against -0.0 OK Testing for -1.7976931348623157E308 against -0.0 OK Testing for Infinity against -0.0 OK Testing for -Infinity against -0.0 OK Testing for NaN against -0.0 OK Testing for 0.0 against -0.0 OK Testing for -0.0 against -0.0 OK Testing for 1.0 against +0.0 OK Testing for 1.7976931348623157E308 against +0.0 OK Testing for -1.7976931348623157E308 against +0.0 OK Testing for Infinity against +0.0 OK Testing for -Infinity against +0.0 OK Testing for NaN against +0.0 OK Testing for -0.0 against +0.0 OK Testing for 0.0 against +0.0 OK Cheers, Pavel ----- Andrew Haley wrote: > Argh! I completely messed that up. I got the encodings the wrong > way round, and was decoding what I should have been encoding. So it > returned false except for values of zero. > > This one is right, I swear. > > Andrew. > > > # HG changeset patch > # User aph > # Date 1379002844 -3600 > # Node ID 4afcbbbfaf7a4018766521e2b580c167c9c1f1e3 > # Parent 5e4c8854ea19ea3c673847d9f66d5184a1aa601c > Fix the fix for operand_valid_for_float_immediate. > > diff -r 5e4c8854ea19 -r 4afcbbbfaf7a src/cpu/aarch64/vm/assembler_aarch64.cpp > --- a/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 16:04:07 2013 +0100 > +++ b/src/cpu/aarch64/vm/assembler_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 > @@ -1480,33 +1480,26 @@ > return encode_logical_immediate(is32, imm) != 0xffffffff; > } > > -static jlong doubleToLongBits(jdouble d) { > +static uint64_t doubleTo64Bits(jdouble d) { > union { > jdouble double_value; > - jlong double_bits; > + uint64_t double_bits; > }; > > double_value = d; > return double_bits; > } > > -static jint floatToIntBits(jfloat f) { > - union { > - jfloat float_value; > - jint float_bits; > - }; > +bool Assembler::operand_valid_for_float_immediate(double imm) { > + // If imm is all zero bits we can use ZR as the source of a > + // floating-point value. > + if (doubleTo64Bits(imm) == 0) > + return true; > > - float_value = f; > - return float_bits; > -} > - > -bool Assembler::operand_valid_for_float_immediate(double imm) { > - // We try to encode the immediate value then we convert the encoded > - // back and make sure it's the exact same bit pattern > - > - unsigned result = fp_immediate_for_encoding(floatToIntBits(imm), true); > - return doubleToLongBits(imm) > - == doubleToLongBits(encoding_for_fp_immediate(result)); > + // Otherwise try to encode imm then convert the encoded value back > + // and make sure it's the exact same bit pattern. > + unsigned result = encoding_for_fp_immediate(imm); > + return doubleTo64Bits(imm) == fp_immediate_for_encoding(result, true); > } > > int AbstractAssembler::code_fill_byte() { > From aph at redhat.com Fri Sep 13 10:25:40 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 13 Sep 2013 18:25:40 +0100 Subject: [aarch64-port-dev ] C1: Deoptimize when patching Message-ID: <52334A94.4090503@redhat.com> "The ARMv8 architecture limits the set of instructions that can be executed by one thread of execution as they are being modified by another thread of execution without requiring explicit synchronization. "Concurrent modification and execution of instructions can lead to the resulting instruction performing any behavior that can be achieved by executing any sequence of instructions that can be executed from the same Exception level, except where the instruction before modification and the instruction after modification is a B, BL, NOP, BKPT, SVC, HVC, or SMC instruction." So, the patching we do in C1 (where e.g. an unresolved field offset is compiled as a jump to a patching stub which replaces the jump with a load) are not possible. We could in theory replace a jump to a patching stub with a jump to another stub that loads the field offset and returns. However, I'm not convinced that it's worth the effort right now. We can revisit this decision at a later date. Instead, we deoptimize when we hit a patching stub. Note that this doesn't affect method calls, which replace a BL to the resolver with a BL instruction to the method: it only affects things such as getfield and ldc with targets that were unresolved when the method was compiled. I've added a flag -XX:DeoptimizeWhenPatching that can be turned off to allow on-the-fly patching. We can use this if we're running on hardware that we know allows concurrent instruction modification. Andrew. # HG changeset patch # User aph # Date 1379092972 -3600 # Node ID 423577eb8f6efc66ddd7ff2b490c3702dbd4bcc3 # Parent 4afcbbbfaf7a4018766521e2b580c167c9c1f1e3 Default to DeoptimizeWhenPatching. diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 @@ -438,6 +438,11 @@ void C1_MacroAssembler::build_frame(int frame_size_in_bytes) { + // If we have to make this method not-entrant we'll overwrite its + // first instruction with a jump. For this action to be legal we + // must ensure that this first instruction is a B, BL, NOP, BKPT, + // SVC, HVC, or SMC. Make it a NOP. + nop(); // Make sure there is enough stack space for this method's activation. // Note that we do this before doing an enter(). generate_stack_overflow_check(frame_size_in_bytes); diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 @@ -1193,6 +1193,35 @@ frame runtime_frame = thread->last_frame(); frame caller_frame = runtime_frame.sender(®_map); + if (DeoptimizeWhenPatching) { + // According to the ARMv8 ARM, "Concurrent modification and + // execution of instructions can lead to the resulting instruction + // performing any behavior that can be achieved by executing any + // sequence of instructions that can be executed from the same + // Exception level, except where the instruction before + // modification and the instruction after modification is a B, BL, + // NOP, BKPT, SVC, HVC, or SMC instruction." + // + // This effectively makes the games we play when patching + // impossible, so when we come across an access that needs + // patching we must deoptimize. + + if (TracePatching) { + tty->print_cr("Deoptimizing because patch is needed"); + } + // It's possible the nmethod was invalidated in the last + // safepoint, but if it's still alive then make it not_entrant. + nmethod* nm = CodeCache::find_nmethod(caller_frame.pc()); + if (nm != NULL) { + nm->make_not_entrant(); + } + + Deoptimization::deoptimize_frame(thread, caller_frame.id()); + + // Return to the now deoptimized frame. + return; + } + // last java frame on stack vframeStream vfst(thread, true); assert(!vfst.at_end(), "Java frame must exist"); diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/globals_aarch64.hpp --- a/src/cpu/aarch64/vm/globals_aarch64.hpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/globals_aarch64.hpp Fri Sep 13 18:22:52 2013 +0100 @@ -81,18 +81,22 @@ #ifdef BUILTIN_SIM #define UseBuiltinSim true #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \ - \ + \ product(bool, NotifySimulator, UseBuiltinSim, \ - "tell the AArch64 sim where we are in method code") \ - \ - product(bool, UseSimulatorCache, false, \ - "tell sim to cache memory updates until exclusive op occurs") \ - \ - product(bool, DisableBCCheck, true, \ + "tell the AArch64 sim where we are in method code") \ + \ + product(bool, UseSimulatorCache, false, \ + "tell sim to cache memory updates until exclusive op occurs") \ + \ + product(bool, DisableBCCheck, true, \ "tell sim not to invoke bccheck callback") \ - \ - product(bool, NearCpool, true, \ - "constant pool is close to instructions") + \ + product(bool, NearCpool, true, \ + "constant pool is close to instructions") \ + \ + product(bool, DeoptimizeWhenPatching, true, \ + "doptimize instead of patching instructions") \ + #else #define UseBuiltinSim false @@ -102,7 +106,10 @@ #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) \ \ product(bool, NearCpool, true, \ - "constant pool is close to instructions") + "constant pool is close to instructions") \ + \ + product(bool, DeoptimizeWhenPatching, true, \ + "doptimize instead of patching instructions") #endif #endif // CPU_AARCH64_VM_GLOBALS_AARCH64_HPP diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/icBuffer_aarch64.cpp --- a/src/cpu/aarch64/vm/icBuffer_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/icBuffer_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 @@ -57,7 +57,6 @@ masm->emit_int64((int64_t)cached_value); // Only need to invalidate the 1st two instructions - not the whole ic stub ICache::invalidate_range(code_begin, NativeInstruction::instruction_size * 2); - 0; } address InlineCacheBuffer::ic_buffer_entry_point(address code_begin) { diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/nativeInst_aarch64.cpp --- a/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/nativeInst_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 @@ -228,6 +228,8 @@ unsigned int insn = (0b000101 << 26) | ((disp >> 2) & 0x3ffffff); + assert(nativeInstruction_at(verified_entry)->is_jump_or_nop(), + "Aarch64 cannot replace non-jump with jump"); *(unsigned int*)verified_entry = insn; ICache::invalidate_range(verified_entry, instruction_size); } @@ -252,21 +254,14 @@ } // MT-safe patching of a long jump instruction. -// First patches first word of instruction to two jmp's that jmps to them -// selfs (spinlock). Then patches the last byte, and then atomicly replaces -// the jmp's with the first 4 byte of the new instruction. -// -// FIXME: I don't think that this can be done on AArch64. The memory -// is not coherent, so it does no matter what order we patch things -// in. The only way to do it AFAIK is to have: -// -// ldr rscratch, 0f -// b rscratch -// 0: absolute address -// void NativeGeneralJump::replace_mt_safe(address instr_addr, address code_buffer) { + assert((! DeoptimizeWhenPatching) + || nativeInstruction_at(instr_addr)->is_jump_or_nop(), + "Aarch64 cannot replace non-jump with jump"); uint32_t instr = *(uint32_t*)code_buffer; *(uint32_t*)instr_addr = instr; + ICache::invalidate_range(instr_addr, instruction_size); } bool NativeInstruction::is_dtrace_trap() { return false; } + diff -r 4afcbbbfaf7a -r 423577eb8f6e src/cpu/aarch64/vm/nativeInst_aarch64.hpp --- a/src/cpu/aarch64/vm/nativeInst_aarch64.hpp Thu Sep 12 17:20:44 2013 +0100 +++ b/src/cpu/aarch64/vm/nativeInst_aarch64.hpp Fri Sep 13 18:22:52 2013 +0100 @@ -55,12 +55,13 @@ friend class Relocation; public: enum { instruction_size = BytesPerWord }; - bool is_nop(); + inline bool is_nop(); bool is_dtrace_trap(); inline bool is_call(); inline bool is_illegal(); inline bool is_return(); - inline bool is_jump(); + bool is_jump(); + inline bool is_jump_or_nop(); inline bool is_cond_jump(); bool is_safepoint_poll(); inline bool is_mov_literal64(); @@ -426,6 +427,11 @@ inline bool NativeInstruction::is_call() { Unimplemented(); return false; } inline bool NativeInstruction::is_return() { Unimplemented(); return false; } +inline bool NativeInstruction::is_nop() { + uint32_t insn = *(uint32_t*)addr_at(0); + return insn == 0xd503201f; +} + inline bool NativeInstruction::is_jump() { uint32_t insn = *(uint32_t*)addr_at(0); @@ -445,6 +451,10 @@ return false; } +inline bool NativeInstruction::is_jump_or_nop() { + return is_nop() || is_jump(); +} + inline bool NativeInstruction::is_cond_jump() { Unimplemented(); return false; } inline bool NativeInstruction::is_mov_literal64() { Unimplemented(); return false; } exporting patch: From aph at redhat.com Fri Sep 13 10:25:57 2013 From: aph at redhat.com (aph at redhat.com) Date: Fri, 13 Sep 2013 17:25:57 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Default to DeoptimizeWhenPatching. Message-ID: <20130913172604.BF4A762800@hg.openjdk.java.net> Changeset: 423577eb8f6e Author: aph Date: 2013-09-13 18:22 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/423577eb8f6e Default to DeoptimizeWhenPatching. ! src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp ! src/cpu/aarch64/vm/globals_aarch64.hpp ! src/cpu/aarch64/vm/icBuffer_aarch64.cpp ! src/cpu/aarch64/vm/nativeInst_aarch64.cpp ! src/cpu/aarch64/vm/nativeInst_aarch64.hpp From adinn at redhat.com Tue Sep 17 08:46:22 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Tue, 17 Sep 2013 15:46:22 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130917154632.BED91628B4@hg.openjdk.java.net> Changeset: dc46fe854d5d Author: adinn Date: 2013-09-17 11:38 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dc46fe854d5d initial unroll info should use stored fp as per x86 ! src/cpu/aarch64/vm/frame_aarch64.cpp Changeset: 4e0a354578c5 Author: adinn Date: 2013-09-17 16:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4e0a354578c5 Merge From adinn at redhat.com Tue Sep 17 09:08:18 2013 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 17 Sep 2013 17:08:18 +0100 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Default to DeoptimizeWhenPatching. In-Reply-To: <20130913172604.BF4A762800@hg.openjdk.java.net> References: <20130913172604.BF4A762800@hg.openjdk.java.net> Message-ID: <52387E72.4050204@redhat.com> On 13/09/13 18:25, aph at redhat.com wrote: > Changeset: 423577eb8f6e > Author: aph > Date: 2013-09-13 18:22 +0100 > URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/423577eb8f6e > > Default to DeoptimizeWhenPatching. > > ! src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp > ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp > ! src/cpu/aarch64/vm/globals_aarch64.hpp > ! src/cpu/aarch64/vm/icBuffer_aarch64.cpp > ! src/cpu/aarch64/vm/nativeInst_aarch64.cpp > ! src/cpu/aarch64/vm/nativeInst_aarch64.hpp This has broken the C2 compiler which is hitting an assert at nativeInst_aarch64.cpp:232 viz assert(nativeInstruction_at(verified_entry)->is_jump_or_nop()) failed: Aarch64 cannot replace non-jump with jump The error occurs in NativeJump::patch_verified_entry(address entry, address verified_entry, address dest) which gets called from nmethod::make_not_entrant_or_zombie(unsigned int state). The relevant compiled code snippet is: [Entry Point] [Verified Entry Point] [Constants] # {method} {0x00007ffff5934420} '' '()V' in 'sun/launcher/LauncherHelper' # [sp+0x20] (sp of caller) ;; N1: # B1 <- B1 Freq: 1 ;; B1: # N1 <- BLOCK HEAD IS JUNK Freq: 1 0x00007fffed17a780: stp xfp, xlr, [sp,#-16]! ;; 0x20 where entry == verified_entry == 0x00007fffed17a780 This is a standard C2 method entry which starts by pushing a stack frame (the generator calls masm.entry()). I don't understand . . . i) why the code is assuming that a C2 method starts with a jump or nop? ii) what I need to do to fix this? regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) From adinn at redhat.com Tue Sep 17 09:15:26 2013 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 17 Sep 2013 17:15:26 +0100 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Default to DeoptimizeWhenPatching. In-Reply-To: <52387E72.4050204@redhat.com> References: <20130913172604.BF4A762800@hg.openjdk.java.net> <52387E72.4050204@redhat.com> Message-ID: <5238801E.3070908@redhat.com> On 17/09/13 17:08, Andrew Dinn wrote: > This is a standard C2 method entry which starts by pushing a stack frame > (the generator calls masm.entry()). > > I don't understand . . . > > i) why the code is assuming that a C2 method starts with a jump or nop? > > ii) what I need to do to fix this? n.b. I'm assuming that I just need to place a nop before the stp. Just want to be sure that is what is required. regards, Andrew Dinn ----------- From adinn at redhat.com Tue Sep 17 09:28:12 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Tue, 17 Sep 2013 16:28:12 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: added a patchable nop at the start of a C2 method for use at deopt Message-ID: <20130917162818.34CBB628B9@hg.openjdk.java.net> Changeset: 85043109d8e9 Author: adinn Date: 2013-09-17 17:27 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/85043109d8e9 added a patchable nop at the start of a C2 method for use at deopt ! src/cpu/aarch64/vm/aarch64.ad From edward.nevill at linaro.org Wed Sep 18 10:04:27 2013 From: edward.nevill at linaro.org (Edward Nevill) Date: Wed, 18 Sep 2013 18:04:27 +0100 Subject: [aarch64-port-dev ] RFR: Merge hotspot up to b85 Message-ID: <1379523867.26969.16.camel@localhost.localdomain> Apologies if this message appears twice. The first time I sent it, it seems to have gone into the ether. Hi, The attached patches merge hotspot up to jdk8-b85 (hotspot version hs25-b26). This brings all the components in the forest to the same rev jdk8-b85. There are two changeset following. The first (huge) changeset is the merge up to b85. Because of the size of it (>1Mb), I have not posted it here and have put it at http://people.linaro.org/~edward.nevill/patches/b85_merge.patch The second (smaller) changeset is the corresponding set of changes to aarch64 only code. I have tested the client build and run it against jtreg hotspot and langtools. It has the same failures as its x86 jdk8-b85 counterpart. I have tested the server build and run it against Queens, Java dhrystone, and ECM. It seems to perform as well as it did prior to the merge. OK to push? Ed. --- CUT HERE --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1379507787 -3600 # Wed Sep 18 13:36:27 2013 +0100 # Node ID b7628169c4f3ef0843ca6fabb4aca9b6fbc0fc9d # Parent ac276b4157cb7ce6c9cbb530f60986e4023e0c3c Added changes to aarch64 code for merge up to jdk8-b85 diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -132,6 +132,15 @@ void RangeCheckStub::emit_code(LIR_Assembler* ce) { __ bind(_entry); + if (_info->deoptimize_on_exception()) { + address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id); + __ call(RuntimeAddress(a)); + ce->add_call_info_here(_info); + ce->verify_oop_map(_info); + debug_only(__ should_not_reach_here()); + return; + } + if (_index->is_cpu_register()) { __ mov(rscratch1, _index->as_register()); } else { @@ -145,6 +154,20 @@ } __ call(RuntimeAddress(Runtime1::entry_for(stub_id))); ce->add_call_info_here(_info); + ce->verify_oop_map(_info); + debug_only(__ should_not_reach_here()); +} + +PredicateFailedStub::PredicateFailedStub(CodeEmitInfo* info) { + _info = new CodeEmitInfo(info); +} + +void PredicateFailedStub::emit_code(LIR_Assembler* ce) { + __ bind(_entry); + address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id); + __ call(RuntimeAddress(a)); + ce->add_call_info_here(_info); + ce->verify_oop_map(_info); debug_only(__ should_not_reach_here()); } @@ -432,10 +455,19 @@ void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce) { + address a; + if (_info->deoptimize_on_exception()) { + // Deoptimize, do not throw the exception, because it is probably wrong to do it here. + a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id); + } else { + a = Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id); + } + ce->compilation()->implicit_exception_table()->append(_offset, __ offset()); __ bind(_entry); - __ bl(RuntimeAddress(Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id))); + __ call(RuntimeAddress(a)); ce->add_call_info_here(_info); + ce->verify_oop_map(_info); debug_only(__ should_not_reach_here()); } diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -2832,6 +2832,45 @@ ShouldNotReachHere(); } +#ifdef ASSERT +// emit run-time assertion +void LIR_Assembler::emit_assert(LIR_OpAssert* op) { + assert(op->code() == lir_assert, "must be"); + + if (op->in_opr1()->is_valid()) { + assert(op->in_opr2()->is_valid(), "both operands must be valid"); + comp_op(op->condition(), op->in_opr1(), op->in_opr2(), op); + } else { + assert(op->in_opr2()->is_illegal(), "both operands must be illegal"); + assert(op->condition() == lir_cond_always, "no other conditions allowed"); + } + + Label ok; + if (op->condition() != lir_cond_always) { + Assembler::Condition acond = Assembler::AL; + switch (op->condition()) { + case lir_cond_equal: acond = Assembler::EQ; break; + case lir_cond_notEqual: acond = Assembler::NE; break; + case lir_cond_less: acond = Assembler::LT; break; + case lir_cond_lessEqual: acond = Assembler::LE; break; + case lir_cond_greaterEqual: acond = Assembler::GE; break; + case lir_cond_greater: acond = Assembler::GT; break; + case lir_cond_belowEqual: acond = Assembler::LS; break; + case lir_cond_aboveEqual: acond = Assembler::HS; break; + default: ShouldNotReachHere(); + } + __ br(acond, ok); + } + if (op->halt()) { + const char* str = __ code_string(op->msg()); + __ stop(str); + } else { + breakpoint(); + } + __ bind(ok); +} +#endif + #ifndef PRODUCT #define COMMENT(x) do { __ block_comment(x); } while (0) #else diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -317,7 +317,7 @@ void LIRGenerator::do_StoreIndexed(StoreIndexed* x) { assert(x->is_pinned(),""); - bool needs_range_check = true; + bool needs_range_check = x->compute_needs_range_check(); bool use_length = x->length() != NULL; bool obj_store = x->elt_type() == T_ARRAY || x->elt_type() == T_OBJECT; bool needs_store_check = obj_store && (x->value()->as_Constant() == NULL || @@ -332,12 +332,10 @@ array.load_item(); index.load_nonconstant(); - if (use_length) { - needs_range_check = x->compute_needs_range_check(); - if (needs_range_check) { - length.set_instruction(x->length()); - length.load_item(); - } + if (use_length && needs_range_check) { + length.set_instruction(x->length()); + length.load_item(); + } if (needs_store_check) { value.load_item(); diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_LinearScan_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LinearScan_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LinearScan_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -679,7 +679,8 @@ switch (op2->code()) { case lir_cmp: case lir_cmp_fd2i: - case lir_ucmp_fd2i: { + case lir_ucmp_fd2i: + case lir_assert: { assert(left->is_fpu_register(), "invalid LIR"); assert(right->is_fpu_register(), "invalid LIR"); diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -543,12 +543,10 @@ // distinguish each RT-Call. // Note: This number affects also the RT-Call in generate_handle_exception because // the oop-map is shared for all calls. - const int num_rt_args = 2; // thread + dummy - DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob(); assert(deopt_blob != NULL, "deoptimization blob must have been created"); - OopMap* oop_map = save_live_registers(sasm, num_rt_args); + OopMap* oop_map = save_live_registers(sasm); __ mov(c_rarg0, rthread); Label retaddr; @@ -771,7 +769,7 @@ } __ enter(); - OopMap* map = save_live_registers(sasm, 2); + OopMap* map = save_live_registers(sasm); int call_offset = __ call_RT(obj, noreg, CAST_FROM_FN_PTR(address, new_instance), klass); oop_maps = new OopMapSet(); oop_maps->add_gc_map(call_offset, map); @@ -789,7 +787,7 @@ { Register bci = r0, method = r1; __ enter(); - OopMap* map = save_live_registers(sasm, 3); + OopMap* map = save_live_registers(sasm); // Retrieve bci __ ldrw(bci, Address(rfp, 2*BytesPerWord)); // And a pointer to the Method* @@ -911,7 +909,7 @@ } __ enter(); - OopMap* map = save_live_registers(sasm, 3); + OopMap* map = save_live_registers(sasm); int call_offset; if (id == new_type_array_id) { call_offset = __ call_RT(obj, noreg, CAST_FROM_FN_PTR(address, new_type_array), klass, length); @@ -936,7 +934,7 @@ // r0,: klass // r19,: rank // r2: address of 1st dimension - OopMap* map = save_live_registers(sasm, 4); + OopMap* map = save_live_registers(sasm); __ mov(c_rarg1, r0); __ mov(c_rarg3, r2); __ mov(c_rarg2, r19); @@ -1145,6 +1143,24 @@ } break; + case predicate_failed_trap_id: + { + StubFrame f(sasm, "predicate_failed_trap", dont_gc_arguments); + + OopMap* map = save_live_registers(sasm); + + int call_offset = __ call_RT(noreg, noreg, CAST_FROM_FN_PTR(address, predicate_failed_trap)); + oop_maps = new OopMapSet(); + oop_maps->add_gc_map(call_offset, map); + restore_live_registers(sasm); + __ leave(); + DeoptimizationBlob* deopt_blob = SharedRuntime::deopt_blob(); + assert(deopt_blob != NULL, "deoptimization blob must have been created"); + + __ b(RuntimeAddress(deopt_blob->unpack_with_reexecution())); + } + break; + default: { StubFrame f(sasm, "unimplemented entry", dont_gc_arguments); diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/c1_globals_aarch64.hpp --- a/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_globals_aarch64.hpp Wed Sep 18 13:36:27 2013 +0100 @@ -57,7 +57,7 @@ define_pd_global(intx, NewSizeThreadIncrease, 4*K ); define_pd_global(intx, InitialCodeCacheSize, 160*K); define_pd_global(intx, ReservedCodeCacheSize, 32*M ); -define_pd_global(bool, ProfileInterpreter, true); +define_pd_global(bool, ProfileInterpreter, false); define_pd_global(intx, CodeCacheExpansionSize, 32*K ); define_pd_global(uintx,CodeCacheMinBlockLength, 1); define_pd_global(uintx,MetaspaceSize, 12*M ); diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/frame_aarch64.cpp --- a/src/cpu/aarch64/vm/frame_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/frame_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -44,7 +44,7 @@ #include "runtime/vframeArray.hpp" #endif -#if ASSERT +#ifdef ASSERT void RegisterMap::check_location_valid() { } #endif @@ -358,7 +358,7 @@ // Verifies the calculated original PC of a deoptimization PC for the // given unextended SP. The unextended SP might also be the saved SP // for MethodHandle call sites. -#if ASSERT +#ifdef ASSERT void frame::verify_deopt_original_pc(nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return) { frame fr; diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/frame_aarch64.hpp --- a/src/cpu/aarch64/vm/frame_aarch64.hpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/frame_aarch64.hpp Wed Sep 18 13:36:27 2013 +0100 @@ -171,7 +171,7 @@ return (intptr_t*) addr_at(offset); } -#if ASSERT +#ifdef ASSERT // Used in frame::sender_for_{interpreter,compiled}_frame static void verify_deopt_original_pc( nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return = false); static void verify_deopt_mh_original_pc(nmethod* nm, intptr_t* unextended_sp) { diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/frame_aarch64.inline.hpp --- a/src/cpu/aarch64/vm/frame_aarch64.inline.hpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/frame_aarch64.inline.hpp Wed Sep 18 13:36:27 2013 +0100 @@ -319,12 +319,18 @@ -inline oop frame::saved_oop_result(RegisterMap* map) const { - return *((oop*) map->location(r0->as_VMReg())); +inline oop frame::saved_oop_result(RegisterMap* map) const { + oop* result_adr = (oop *)map->location(r0->as_VMReg()); + guarantee(result_adr != NULL, "bad register save location"); + + return (*result_adr); } inline void frame::set_saved_oop_result(RegisterMap* map, oop obj) { - *((oop*) map->location(r0->as_VMReg())) = obj; + oop* result_adr = (oop *)map->location(r0->as_VMReg()); + guarantee(result_adr != NULL, "bad register save location"); + + *result_adr = obj; } #endif // CPU_AARCH64_VM_FRAME_AARCH64_INLINE_HPP diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/macroAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -851,8 +851,13 @@ if (!VerifyOops) return; // Pass register number to verify_oop_subroutine - char* b = new char[strlen(s) + 50]; - sprintf(b, "verify_oop: %s: %s", reg->name(), s); + const char* b = NULL; + { + ResourceMark rm; + stringStream ss; + ss.print("verify_oop: %s: %s", reg->name(), s); + b = code_string(ss.as_string()); + } BLOCK_COMMENT("verify_oop {"); stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); @@ -875,8 +880,13 @@ void MacroAssembler::verify_oop_addr(Address addr, const char* s) { if (!VerifyOops) return; - char* b = new char[strlen(s) + 50]; - sprintf(b, "verify_oop_addr: %s", s); + const char* b = NULL; + { + ResourceMark rm; + stringStream ss; + ss.print("verify_oop_addr: %s", s); + b = code_string(ss.as_string()); + } BLOCK_COMMENT("verify_oop_addr {"); stp(r0, rscratch1, Address(pre(sp, -2 * wordSize))); diff -r ac276b4157cb -r b7628169c4f3 src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -1462,7 +1462,8 @@ int callee_locals, frame* caller, frame* interpreter_frame, - bool is_top_frame) { + bool is_top_frame, + bool is_bottom_frame) { // Note: This calculation must exactly parallel the frame setup // in AbstractInterpreterGenerator::generate_method_entry. // If interpreter_frame!=NULL, set up the method, locals, and monitors. diff -r ac276b4157cb -r b7628169c4f3 src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp --- a/src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp Wed Sep 18 13:36:27 2013 +0100 @@ -36,7 +36,7 @@ define_pd_global(uintx,JVMInvokeMethodSlack, 8192); -// Used on 64 bit platforms for UseCompressedOops base address or CDS +// Used on 64 bit platforms for UseCompressedOops base address define_pd_global(uintx,HeapBaseMinAddress, 2*G); #endif // OS_CPU_LINUX_AARCH64_VM_GLOBALS_LINUX_AARCH64_HPP diff -r ac276b4157cb -r b7628169c4f3 src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp --- a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -326,6 +326,11 @@ // to handle_unexpected_exception way down below. thread->disable_stack_red_zone(); tty->print_raw_cr("An irrecoverable stack overflow has occurred."); + + // This is a likely cause, but hard to verify. Let's just print + // it as a hint. + tty->print_raw_cr("Please check if any of your loaded .so files has " + "enabled executable stack (see man page execstack(8))"); } else { // Accessing stack address below sp may cause SEGV if current // thread has MAP_GROWSDOWN stack. This should only happen when @@ -356,7 +361,7 @@ // here if the underlying file has been truncated. // Do not crash the VM in such a case. CodeBlob* cb = CodeCache::find_blob_unsafe(pc); - nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; + nmethod* nm = (cb != NULL && cb->is_nmethod()) ? (nmethod*)cb : NULL; if (nm != NULL && nm->has_unsafe_access()) { stub = StubRoutines::handler_for_unsafe_access(); } diff -r ac276b4157cb -r b7628169c4f3 src/share/vm/code/stubs.cpp --- a/src/share/vm/code/stubs.cpp Wed Sep 18 13:29:01 2013 +0100 +++ b/src/share/vm/code/stubs.cpp Wed Sep 18 13:36:27 2013 +0100 @@ -148,7 +148,7 @@ void StubQueue::commit(int committed_code_size, CodeStrings& strings) { - // assert(committed_code_size > 0, "committed_code_size must be > 0"); + assert(committed_code_size > 0, "committed_code_size must be > 0"); int committed_size = round_to(stub_code_size_to_size(committed_code_size), CodeEntryAlignment); Stub* s = current_stub(); assert(committed_size <= stub_size(s), "committed size must not exceed requested size"); --- CUT HERE --- From aph at redhat.com Thu Sep 19 09:01:31 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 19 Sep 2013 17:01:31 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics Message-ID: <523B1FDB.8000703@redhat.com> We've been missing support for System.arraycopy intrinsics, so the port has been falling back to native runtime calls. This is a fairly complete set: the only thing missing is checkcast_copy/ I have written it but it isn't full tested yet so it's not included here. I haven't included any of the intrinsics that are only used by C2 because I don't have any way to test them right now. Andrew. diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/assembler_aarch64.hpp --- a/src/cpu/aarch64/vm/assembler_aarch64.hpp Fri Sep 13 18:22:52 2013 +0100 +++ b/src/cpu/aarch64/vm/assembler_aarch64.hpp Thu Sep 19 11:18:32 2013 +0100 @@ -613,16 +613,25 @@ #endif public: + enum { instruction_size = 4 }; + + Address adjust(Register base, int offset, bool preIncrement) { + if (preIncrement) + return Address(Pre(base, offset)); + else + return Address(Post(base, offset)); + } + Address pre(Register base, int offset) { - return Address(Pre(base, offset)); + return adjust(base, offset, true); } Address post (Register base, int offset) { - return Address(Post(base, offset)); + return adjust(base, offset, false); } Instruction_aarch64* current; -public: + void set_current(Instruction_aarch64* i) { current = i; } void f(unsigned val, int msb, int lsb) { diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 11:18:32 2013 +0100 @@ -2177,7 +2177,8 @@ if (basic_type == T_ARRAY) basic_type = T_OBJECT; // if we don't know anything, just go through the generic arraycopy - if (default_type == NULL || (basic_type == T_OBJECT && UseCompressedOops)) { + if (default_type == NULL // || basic_type == T_OBJECT + ) { Label done; assert(src == r1 && src_pos == r2, "mismatch in calling convention"); @@ -2488,7 +2489,13 @@ bool aligned = (flags & LIR_OpArrayCopy::unaligned) == 0; const char *name; address entry = StubRoutines::select_arraycopy_function(basic_type, aligned, disjoint, name, false); - __ call_VM_leaf(entry, 3); + + CodeBlob *cb = CodeCache::find_blob(entry); + if (cb) { + __ bl(RuntimeAddress(entry)); + } else { + __ call_VM_leaf(entry, 3); + } __ bind(*stub->continuation()); } diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/macroAssembler_aarch64.hpp --- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Fri Sep 13 18:22:52 2013 +0100 +++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp Thu Sep 19 11:18:32 2013 +0100 @@ -1285,12 +1285,13 @@ void adrp(Register reg1, const Address &dest, unsigned long &byte_offset); void tableswitch(Register index, jint lowbound, jint highbound, - Label &jumptable, Label &jumptable_end) { + Label &jumptable, Label &jumptable_end, int stride = 1) { adr(rscratch1, jumptable); subsw(rscratch2, index, lowbound); subsw(zr, rscratch2, highbound - lowbound); br(Assembler::HS, jumptable_end); - add(rscratch1, rscratch1, rscratch2, ext::sxtw, 2); + add(rscratch1, rscratch1, rscratch2, + ext::sxtw, exact_log2(stride * Assembler::instruction_size)); br(rscratch1); } diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 19 11:18:32 2013 +0100 @@ -49,9 +49,8 @@ // For a more detailed description of the stub routine structure // see the comment in stubRoutines.hpp +#undef __ #define __ _masm-> -#define TIMES_OOP (UseCompressedOops ? Address::times_4 : Address::times_8) -#define a__ ((Assembler*)_masm)-> #ifdef PRODUCT #define BLOCK_COMMENT(str) /* nothing */ @@ -826,7 +825,40 @@ // // Destroy no registers! // - void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) { Unimplemented(); } + void gen_write_ref_array_pre_barrier(Register addr, Register count, bool dest_uninitialized) { + BarrierSet* bs = Universe::heap()->barrier_set(); + switch (bs->kind()) { + case BarrierSet::G1SATBCT: + case BarrierSet::G1SATBCTLogging: + // With G1, don't generate the call if we statically know that the target in uninitialized + if (!dest_uninitialized) { + __ push(0x3fffffff, sp); // integer registers except lr & sp + if (count == c_rarg0) { + if (addr == c_rarg1) { + // exactly backwards!! + __ stp(c_rarg0, c_rarg1, __ pre(sp, -2 * wordSize)); + __ ldp(c_rarg1, c_rarg0, __ post(sp, -2 * wordSize)); + } else { + __ mov(c_rarg1, count); + __ mov(c_rarg0, addr); + } + } else { + __ mov(c_rarg0, addr); + __ mov(c_rarg1, count); + } + __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre), 2); + __ pop(0x3fffffff, sp); // integer registers except lr & sp } + break; + case BarrierSet::CardTableModRef: + case BarrierSet::CardTableExtension: + case BarrierSet::ModRef: + break; + default: + ShouldNotReachHere(); + + } + } + } // // Generate code for an array write post barrier @@ -838,38 +870,323 @@ // // The input registers are overwritten. // The ending address is inclusive. - void gen_write_ref_array_post_barrier(Register start, Register end, Register scratch) { Unimplemented(); } + void gen_write_ref_array_post_barrier(Register start, Register end, Register scratch) { + assert_different_registers(start, end, scratch); + BarrierSet* bs = Universe::heap()->barrier_set(); + switch (bs->kind()) { + case BarrierSet::G1SATBCT: + case BarrierSet::G1SATBCTLogging: + { + __ push(0x3fffffff, sp); // integer registers except lr & sp + // must compute element count unless barrier set interface is changed (other platforms supply count) + assert_different_registers(start, end, scratch); + __ lea(scratch, Address(end, BytesPerHeapOop)); + __ sub(scratch, scratch, start); // subtract start to get #bytes + __ lsr(scratch, scratch, LogBytesPerHeapOop); // convert to element count + __ mov(c_rarg0, start); + __ mov(c_rarg1, scratch); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post), 2); + __ pop(0x3fffffff, sp); // integer registers except lr & sp } + } + break; + case BarrierSet::CardTableModRef: + case BarrierSet::CardTableExtension: + { + CardTableModRefBS* ct = (CardTableModRefBS*)bs; + assert(sizeof(*ct->byte_map_base) == sizeof(jbyte), "adjust this code"); - // Copy big chunks forward + Label L_loop; + + __ lsr(start, start, CardTableModRefBS::card_shift); + __ add(end, end, BytesPerHeapOop); + __ lsr(end, end, CardTableModRefBS::card_shift); + __ sub(end, end, start); // number of bytes to copy + + const Register count = end; // 'end' register contains bytes count now + __ mov(scratch, (address)ct->byte_map_base); + __ add(start, start, scratch); + __ BIND(L_loop); + __ strb(zr, Address(start, count)); + __ subs(count, count, 1); + __ br(Assembler::HI, L_loop); + } + break; + default: + ShouldNotReachHere(); + + } + } + + typedef enum { + copy_forwards = 1, + copy_backwards = -1 + } copy_direction; + + void copy_longs_small(Register s, Register d, Register count, copy_direction direction) { + Label again, around; + __ cbz(count, around); + __ bind(again); + __ ldr(r16, Address(__ adjust(s, wordSize * direction, direction == copy_backwards))); + __ str(r16, Address(__ adjust(d, wordSize * direction, direction == copy_backwards))); + __ sub(count, count, 1); + __ cbnz(count, again); + __ bind(around); + } + + void copy_longs(Register s, Register d, Register count, Register tmp, copy_direction direction) { + __ andr(tmp, count, 3); + copy_longs_small(s, d, tmp, direction); + __ andr(count, count, -4); + + Label again, around; + __ cbz(count, around); + __ push(r18->bit() | r19->bit(), sp); + __ bind(again); + if (direction != copy_backwards) { + __ prfm(Address(s, direction == copy_forwards ? 4 * wordSize : -6 * wordSize)); + __ prfm(Address(s, direction == copy_forwards ? 6 * wordSize : -8 * wordSize)); + } + __ ldp(r16, r17, Address(__ adjust(s, 2 * wordSize * direction, direction == copy_backwards))); + __ ldp(r18, r19, Address(__ adjust(s, 2 * wordSize * direction, direction == copy_backwards))); + __ stp(r16, r17, Address(__ adjust(d, 2 * wordSize * direction, direction == copy_backwards))); + __ stp(r18, r19, Address(__ adjust(d, 2 * wordSize * direction, direction == copy_backwards))); + __ subs(count, count, 4); + __ cbnz(count, again); + __ pop(r18->bit() | r19->bit(), sp); + __ bind(around); + } + + void copy_memory_small(Register s, Register d, Register count, Register tmp, int step, Label &done) { + // Small copy: less than one word. + bool is_backwards = step < 0; + int granularity = abs(step); + + __ cbz(count, done); + { + Label loop; + __ bind(loop); + switch (granularity) { + case 1: + __ ldrb(tmp, Address(__ adjust(s, step, is_backwards))); + __ strb(tmp, Address(__ adjust(d, step, is_backwards))); + break; + case 2: + __ ldrh(tmp, Address(__ adjust(s, step, is_backwards))); + __ strh(tmp, Address(__ adjust(d, step, is_backwards))); + break; + case 4: + __ ldrw(tmp, Address(__ adjust(s, step, is_backwards))); + __ strw(tmp, Address(__ adjust(d, step, is_backwards))); + break; + default: + assert(false, "copy_memory called with impossible step"); + } + __ sub(count, count, 1); + __ cbnz(count, loop); + __ b(done); + } + } + + // All-singing all-dancing memory copy. + // + // Copy count units of memory from s to d. The size of a unit is + // step, which can be positive or negative depending on the direction + // of copy. If is_aligned is false, we align the source address. + // + + void copy_memory(bool is_aligned, Register s, Register d, + Register count, Register tmp, int step) { + copy_direction direction = step < 0 ? copy_backwards : copy_forwards; + bool is_backwards = step < 0; + int granularity = abs(step); + + if (is_backwards) { + __ lea(s, Address(s, count, Address::uxtw(exact_log2(-step)))); + __ lea(d, Address(d, count, Address::uxtw(exact_log2(-step)))); + } + + if (granularity == wordSize) { + copy_longs(c_rarg0, c_rarg1, c_rarg2, rscratch1, direction); + return; + } + + Label done, large; + + if (! is_aligned) { + __ cmp(count, wordSize/granularity); + __ br(Assembler::HS, large); + copy_memory_small(s, d, count, tmp, step, done); + __ bind(large); + + // Now we've got the small case out of the way we can align the + // source address. + { + Label skip1, skip2, skip4; + + switch (granularity) { + case 1: + __ tst(s, 1); + __ br(Assembler::EQ, skip1); + __ ldrb(tmp, Address(__ adjust(s, direction, is_backwards))); + __ strb(tmp, Address(__ adjust(d, direction, is_backwards))); + __ sub(count, count, 1); + __ bind(skip1); + // fall through + case 2: + __ tst(s, 2/granularity); + __ br(Assembler::EQ, skip2); + __ ldrh(tmp, Address(__ adjust(s, 2 * direction, is_backwards))); + __ strh(tmp, Address(__ adjust(d, 2 * direction, is_backwards))); + __ sub(count, count, 2/granularity); + __ bind(skip2); + // fall through + case 4: + __ tst(s, 4/granularity); + __ br(Assembler::EQ, skip4); + __ ldrw(tmp, Address(__ adjust(s, 4 * direction, is_backwards))); + __ strw(tmp, Address(__ adjust(d, 4 * direction, is_backwards))); + __ sub(count, count, 4/granularity); + __ bind(skip4); + } + } + } + + // s is now word-aligned. + + // We have a count of units and some trailing bytes. Adjust the + // count and do a bulk copy of words. + __ lsr(rscratch2, count, exact_log2(wordSize/granularity)); + __ sub(count, count, rscratch2, Assembler::LSL, exact_log2(wordSize/granularity)); + + copy_longs(s, d, rscratch2, rscratch1, direction); + + // And the tail. + + copy_memory_small(s, d, count, tmp, step, done); + + __ bind(done); + } + + // Scan over array at d for count oops, verifying each one. + // Preserves d and count, clobbers rscratch1 and rscratch2. + void verify_oop_array (size_t size, Register d, Register count, Register temp) { + Label loop, end; + __ mov(rscratch1, d); + __ mov(rscratch2, zr); + __ bind(loop); + __ cmp(rscratch2, count); + __ br(Assembler::HS, end); + if (size == (size_t)wordSize) { + __ ldr(temp, Address(d, rscratch2, Address::uxtw(exact_log2(size)))); + __ verify_oop(temp); + } else { + __ ldrw(r16, Address(d, rscratch2, Address::uxtw(exact_log2(size)))); + __ decode_heap_oop(temp); // calls verify_oop + } + __ add(rscratch2, rscratch2, size); + __ b(loop); + __ bind(end); + } + + // Arguments: + // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary + // ignored + // is_oop - true => oop array, so generate store check code + // name - stub name string // // Inputs: - // end_from - source arrays end address - // end_to - destination array end address - // qword_count - 64-bits element count, negative - // to - scratch - // L_copy_32_bytes - entry label - // L_copy_8_bytes - exit label + // c_rarg0 - source array address + // c_rarg1 - destination array address + // c_rarg2 - element count, treated as ssize_t, can be zero // - void copy_32_bytes_forward(Register end_from, Register end_to, - Register qword_count, Register to, - Label& L_copy_32_bytes, Label& L_copy_8_bytes) { Unimplemented(); } + // If 'from' and/or 'to' are aligned on 4-byte boundaries, we let + // the hardware handle it. The two dwords within qwords that span + // cache line boundaries will still be loaded and stored atomicly. + // + // Side Effects: + // disjoint_int_copy_entry is set to the no-overlap entry point + // used by generate_conjoint_int_oop_copy(). + // + address generate_disjoint_copy(size_t size, bool aligned, bool is_oop, address *entry, + const char *name, bool dest_uninitialized = false) { + Register s = c_rarg0, d = c_rarg1, count = c_rarg2; + __ align(CodeEntryAlignment); + StubCodeMark mark(this, "StubRoutines", name); + address start = __ pc(); + if (entry != NULL) { + *entry = __ pc(); + // caller can pass a 64-bit byte count here (from Unsafe.copyMemory) + BLOCK_COMMENT("Entry:"); + } + __ enter(); + __ push(r16->bit() | r17->bit(), sp); + if (is_oop) { + __ push(d->bit() | count->bit(), sp); + // no registers are destroyed by this call + gen_write_ref_array_pre_barrier(d, count, dest_uninitialized); + } + copy_memory(aligned, s, d, count, rscratch1, size); + if (is_oop) { + __ pop(d->bit() | count->bit(), sp); + if (VerifyOops) + verify_oop_array(size, s, d, count, r16); + __ lea(count, Address(d, count, Address::uxtw(exact_log2(size)))); + gen_write_ref_array_post_barrier(d, count, rscratch1); + } + __ pop(r16->bit() | r17->bit(), sp); + __ leave(); + __ ret(lr); + return start; + } - - // Copy big chunks backward + // Arguments: + // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary + // ignored + // is_oop - true => oop array, so generate store check code + // name - stub name string // // Inputs: - // from - source arrays address - // dest - destination array address - // qword_count - 64-bits element count - // to - scratch - // L_copy_32_bytes - entry label - // L_copy_8_bytes - exit label + // c_rarg0 - source array address + // c_rarg1 - destination array address + // c_rarg2 - element count, treated as ssize_t, can be zero // - void copy_32_bytes_backward(Register from, Register dest, - Register qword_count, Register to, - Label& L_copy_32_bytes, Label& L_copy_8_bytes) { Unimplemented(); } + // If 'from' and/or 'to' are aligned on 4-byte boundaries, we let + // the hardware handle it. The two dwords within qwords that span + // cache line boundaries will still be loaded and stored atomicly. + // + address generate_conjoint_copy(size_t size, bool aligned, bool is_oop, address nooverlap_target, + address *entry, const char *name, + bool dest_uninitialized = false) { + Register s = c_rarg0, d = c_rarg1, count = c_rarg2; + StubCodeMark mark(this, "StubRoutines", name); + address start = __ pc(); + + __ cmp(d, s); + __ br(Assembler::LS, nooverlap_target); + + __ enter(); + __ push(r16->bit() | r17->bit(), sp); + if (is_oop) { + __ push(d->bit() | count->bit(), sp); + // no registers are destroyed by this call + gen_write_ref_array_pre_barrier(d, count, dest_uninitialized); + } + copy_memory(aligned, s, d, count, rscratch1, -size); + if (is_oop) { + __ pop(d->bit() | count->bit(), sp); + if (VerifyOops) + verify_oop_array(size, s, d, count, r16); + __ lea(c_rarg2, Address(c_rarg1, c_rarg2, Address::uxtw(exact_log2(size)))); + gen_write_ref_array_post_barrier(c_rarg1, c_rarg2, rscratch1); + } + __ pop(r16->bit() | r17->bit(), sp); + __ leave(); + __ ret(lr); + + return start; +} // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary @@ -887,10 +1204,19 @@ // and stored atomically. // // Side Effects: + // disjoint_byte_copy_entry is set to the no-overlap entry point // + // If 'from' and/or 'to' are aligned on 4-, 2-, or 1-byte boundaries, + // we let the hardware handle it. The one to eight bytes within words, + // dwords or qwords that span cache line boundaries will still be loaded + // and stored atomically. + // + // Side Effects: // disjoint_byte_copy_entry is set to the no-overlap entry point // used by generate_conjoint_byte_copy(). // - address generate_disjoint_byte_copy(bool aligned, address* entry, const char *name) { Unimplemented(); return 0; } + address generate_disjoint_byte_copy(bool aligned, address* entry, const char *name) { + return generate_disjoint_copy(sizeof (jbyte), aligned, /*is_oop*/false, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary @@ -908,7 +1234,9 @@ // and stored atomically. // address generate_conjoint_byte_copy(bool aligned, address nooverlap_target, - address* entry, const char *name) { Unimplemented(); return 0; } + address* entry, const char *name) { + return generate_conjoint_copy(sizeof (jbyte), aligned, /*is_oop*/false, nooverlap_target, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary @@ -929,9 +1257,10 @@ // disjoint_short_copy_entry is set to the no-overlap entry point // used by generate_conjoint_short_copy(). // - address generate_disjoint_short_copy(bool aligned, address *entry, const char *name) { Unimplemented(); return 0; } - - address generate_fill(BasicType t, bool aligned, const char *name) { Unimplemented(); return 0; } + address generate_disjoint_short_copy(bool aligned, + address* entry, const char *name) { + return generate_disjoint_copy(sizeof (jshort), aligned, /*is_oop*/false, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary @@ -949,12 +1278,13 @@ // and stored atomically. // address generate_conjoint_short_copy(bool aligned, address nooverlap_target, - address *entry, const char *name) { Unimplemented(); return 0; } + address *entry, const char *name) { + return generate_conjoint_copy(sizeof (jshort), aligned, /*is_oop*/false, nooverlap_target, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary // ignored - // is_oop - true => oop array, so generate store check code // name - stub name string // // Inputs: @@ -970,13 +1300,15 @@ // disjoint_int_copy_entry is set to the no-overlap entry point // used by generate_conjoint_int_oop_copy(). // - address generate_disjoint_int_oop_copy(bool aligned, bool is_oop, address* entry, - const char *name, bool dest_uninitialized = false) { Unimplemented(); return 0; } + address generate_disjoint_int_copy(bool aligned, address *entry, + const char *name, bool dest_uninitialized = false) { + const bool not_oop = false; + return generate_disjoint_copy(sizeof (jint), aligned, not_oop, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord == 8-byte boundary // ignored - // is_oop - true => oop array, so generate store check code // name - stub name string // // Inputs: @@ -988,42 +1320,93 @@ // the hardware handle it. The two dwords within qwords that span // cache line boundaries will still be loaded and stored atomicly. // - address generate_conjoint_int_oop_copy(bool aligned, bool is_oop, address nooverlap_target, - address *entry, const char *name, - bool dest_uninitialized = false) { Unimplemented(); return 0; } + address generate_conjoint_int_copy(bool aligned, address nooverlap_target, + address *entry, const char *name, + bool dest_uninitialized = false) { + const bool not_oop = false; + return generate_conjoint_copy(sizeof (jint), aligned, not_oop, nooverlap_target, entry, name); + } + // Arguments: // aligned - true => Input and output aligned on a HeapWord boundary == 8 bytes // ignored - // is_oop - true => oop array, so generate store check code // name - stub name string // // Inputs: // c_rarg0 - source array address // c_rarg1 - destination array address - // c_rarg2 - element count, treated as ssize_t, can be zero + // c_rarg2 - element count, treated as size_t, can be zero // - // Side Effects: + // Side Effects: // disjoint_oop_copy_entry or disjoint_long_copy_entry is set to the // no-overlap entry point used by generate_conjoint_long_oop_copy(). // - address generate_disjoint_long_oop_copy(bool aligned, bool is_oop, address *entry, - const char *name, bool dest_uninitialized = false) { Unimplemented(); return 0; } + address generate_disjoint_long_copy(bool aligned, address *entry, + const char *name, bool dest_uninitialized = false) { + const bool not_oop = false; + return generate_disjoint_copy(sizeof (jlong), aligned, not_oop, entry, name); + } // Arguments: // aligned - true => Input and output aligned on a HeapWord boundary == 8 bytes // ignored - // is_oop - true => oop array, so generate store check code // name - stub name string // // Inputs: // c_rarg0 - source array address // c_rarg1 - destination array address - // c_rarg2 - element count, treated as ssize_t, can be zero + // c_rarg2 - element count, treated as size_t, can be zero // - address generate_conjoint_long_oop_copy(bool aligned, bool is_oop, - address nooverlap_target, address *entry, - const char *name, bool dest_uninitialized = false) { Unimplemented(); return 0; } + address generate_conjoint_long_copy(bool aligned, + address nooverlap_target, address *entry, + const char *name, bool dest_uninitialized = false) { + const bool not_oop = false; + return generate_conjoint_copy(sizeof (jlong), aligned, not_oop, nooverlap_target, entry, name); + } + + // Arguments: + // aligned - true => Input and output aligned on a HeapWord boundary == 8 bytes + // ignored + // name - stub name string + // + // Inputs: + // c_rarg0 - source array address + // c_rarg1 - destination array address + // c_rarg2 - element count, treated as size_t, can be zero + // + // Side Effects: + // disjoint_oop_copy_entry or disjoint_long_copy_entry is set to the + // no-overlap entry point used by generate_conjoint_long_oop_copy(). + // + address generate_disjoint_oop_copy(bool aligned, address *entry, + const char *name, bool dest_uninitialized = false) { + const bool is_oop = true; + if (UseCompressedOops) + return generate_disjoint_copy(sizeof (jint), aligned, is_oop, entry, name); + else + return generate_disjoint_copy(sizeof (jlong), aligned, is_oop, entry, name); + } + + // Arguments: + // aligned - true => Input and output aligned on a HeapWord boundary == 8 bytes + // ignored + // name - stub name string + // + // Inputs: + // c_rarg0 - source array address + // c_rarg1 - destination array address + // c_rarg2 - element count, treated as size_t, can be zero + // + address generate_conjoint_oop_copy(bool aligned, + address nooverlap_target, address *entry, + const char *name, bool dest_uninitialized = false) { + const bool is_oop = true; + if (UseCompressedOops) + return generate_conjoint_copy(sizeof (jint), aligned, is_oop, nooverlap_target, entry, name); + else + return generate_conjoint_copy(sizeof (jlong), aligned, is_oop, nooverlap_target, entry, name); + } // Helper for generating a dynamic type check. @@ -1110,60 +1493,91 @@ assert(count == 0, "huh?"); } + void generate_arraycopy_stubs() { - // Call the conjoint generation methods immediately after - // the disjoint ones so that short branches from the former - // to the latter can be generated. -#if 0 - StubRoutines::_jbyte_disjoint_arraycopy = (address) fake_arraycopy_stub; - StubRoutines::_jbyte_arraycopy = (address) fake_arraycopy_stub; + address entry; + address entry_jbyte_arraycopy; + address entry_jshort_arraycopy; + address entry_jint_arraycopy; + address entry_oop_arraycopy; + address entry_jlong_arraycopy; + address entry_checkcast_arraycopy; - StubRoutines::_jshort_disjoint_arraycopy = (address) fake_arraycopy_stub; - StubRoutines::_jshort_arraycopy = (address) fake_arraycopy_stub; + //*** jbyte + // Always need aligned and unaligned versions + StubRoutines::_jbyte_disjoint_arraycopy = generate_disjoint_byte_copy(false, &entry, + "jbyte_disjoint_arraycopy"); + StubRoutines::_jbyte_arraycopy = generate_conjoint_byte_copy(false, entry, + &entry_jbyte_arraycopy, + "jbyte_arraycopy"); + StubRoutines::_arrayof_jbyte_disjoint_arraycopy = generate_disjoint_byte_copy(true, &entry, + "arrayof_jbyte_disjoint_arraycopy"); + StubRoutines::_arrayof_jbyte_arraycopy = generate_conjoint_byte_copy(true, entry, NULL, + "arrayof_jbyte_arraycopy"); - StubRoutines::_jint_disjoint_arraycopy = (address) fake_arraycopy_stub; - StubRoutines::_jint_arraycopy = (address) fake_arraycopy_stub; + //*** jshort + // Always need aligned and unaligned versions + StubRoutines::_jshort_disjoint_arraycopy = generate_disjoint_short_copy(false, &entry, + "jshort_disjoint_arraycopy"); + StubRoutines::_jshort_arraycopy = generate_conjoint_short_copy(false, entry, + &entry_jshort_arraycopy, + "jshort_arraycopy"); + StubRoutines::_arrayof_jshort_disjoint_arraycopy = generate_disjoint_short_copy(true, &entry, + "arrayof_jshort_disjoint_arraycopy"); + StubRoutines::_arrayof_jshort_arraycopy = generate_conjoint_short_copy(true, entry, NULL, + "arrayof_jshort_arraycopy"); - StubRoutines::_jlong_disjoint_arraycopy = (address) fake_arraycopy_stub; - StubRoutines::_jlong_arraycopy = (address) fake_arraycopy_stub; -#endif + //*** jint + // Aligned versions + StubRoutines::_arrayof_jint_disjoint_arraycopy = generate_disjoint_int_copy(true, &entry, + "arrayof_jint_disjoint_arraycopy"); + StubRoutines::_arrayof_jint_arraycopy = generate_conjoint_int_copy(true, entry, &entry_jint_arraycopy, + "arrayof_jint_arraycopy"); + // In 64 bit we need both aligned and unaligned versions of jint arraycopy. + // entry_jint_arraycopy always points to the unaligned version + StubRoutines::_jint_disjoint_arraycopy = generate_disjoint_int_copy(false, &entry, + "jint_disjoint_arraycopy"); + StubRoutines::_jint_arraycopy = generate_conjoint_int_copy(false, entry, + &entry_jint_arraycopy, + "jint_arraycopy"); + + //*** jlong + // It is always aligned + StubRoutines::_arrayof_jlong_disjoint_arraycopy = generate_disjoint_long_copy(true, &entry, + "arrayof_jlong_disjoint_arraycopy"); + StubRoutines::_arrayof_jlong_arraycopy = generate_conjoint_long_copy(true, entry, &entry_jlong_arraycopy, + "arrayof_jlong_arraycopy"); + StubRoutines::_jlong_disjoint_arraycopy = StubRoutines::_arrayof_jlong_disjoint_arraycopy; + StubRoutines::_jlong_arraycopy = StubRoutines::_arrayof_jlong_arraycopy; + + //*** oops + { + // With compressed oops we need unaligned versions; notice that + // we overwrite entry_oop_arraycopy. + bool aligned = !UseCompressedOops; + + StubRoutines::_arrayof_oop_disjoint_arraycopy + = generate_disjoint_oop_copy(aligned, &entry, "arrayof_oop_disjoint_arraycopy"); + StubRoutines::_arrayof_oop_arraycopy + = generate_conjoint_oop_copy(aligned, entry, &entry_oop_arraycopy, "arrayof_oop_arraycopy"); + // Aligned versions without pre-barriers + StubRoutines::_arrayof_oop_disjoint_arraycopy_uninit + = generate_disjoint_oop_copy(aligned, &entry, "arrayof_oop_disjoint_arraycopy_uninit", + /*dest_uninitialized*/true); + StubRoutines::_arrayof_oop_arraycopy_uninit + = generate_conjoint_oop_copy(aligned, entry, NULL, "arrayof_oop_arraycopy_uninit", + /*dest_uninitialized*/true); + } + + StubRoutines::_oop_disjoint_arraycopy = StubRoutines::_arrayof_oop_disjoint_arraycopy; + StubRoutines::_oop_arraycopy = StubRoutines::_arrayof_oop_arraycopy; + StubRoutines::_oop_disjoint_arraycopy_uninit = StubRoutines::_arrayof_oop_disjoint_arraycopy_uninit; + StubRoutines::_oop_arraycopy_uninit = StubRoutines::_arrayof_oop_arraycopy_uninit; #if 0 - StubRoutines::_oop_disjoint_arraycopy = ShouldNotCallThisStub(); - StubRoutines::_oop_arraycopy = ShouldNotCallThisStub(); - - StubRoutines::_checkcast_arraycopy = ShouldNotCallThisStub(); - StubRoutines::_unsafe_arraycopy = ShouldNotCallThisStub(); - StubRoutines::_generic_arraycopy = ShouldNotCallThisStub(); -#endif - -#if 0 - // We don't generate specialized code for HeapWord-aligned source - // arrays, so just use the code we've already generated - StubRoutines::_arrayof_jbyte_disjoint_arraycopy = - StubRoutines::_jbyte_disjoint_arraycopy; - StubRoutines::_arrayof_jbyte_arraycopy = - StubRoutines::_jbyte_arraycopy; - - StubRoutines::_arrayof_jshort_disjoint_arraycopy = - StubRoutines::_jshort_disjoint_arraycopy; - StubRoutines::_arrayof_jshort_arraycopy = - StubRoutines::_jshort_arraycopy; - - StubRoutines::_arrayof_jint_disjoint_arraycopy = - StubRoutines::_jint_disjoint_arraycopy; - StubRoutines::_arrayof_jint_arraycopy = - StubRoutines::_jint_arraycopy; - - StubRoutines::_arrayof_jlong_disjoint_arraycopy = - StubRoutines::_jlong_disjoint_arraycopy; - StubRoutines::_arrayof_jlong_arraycopy = - StubRoutines::_jlong_arraycopy; - - StubRoutines::_arrayof_oop_disjoint_arraycopy = - StubRoutines::_oop_disjoint_arraycopy; - StubRoutines::_arrayof_oop_arraycopy = - StubRoutines::_oop_arraycopy; + StubRoutines::_checkcast_arraycopy = generate_checkcast_copy("checkcast_arraycopy", &entry_checkcast_arraycopy); + StubRoutines::_checkcast_arraycopy_uninit = generate_checkcast_copy("checkcast_arraycopy_uninit", NULL, + /*dest_uninitialized*/true); #endif } From aph at redhat.com Thu Sep 19 09:03:37 2013 From: aph at redhat.com (aph at redhat.com) Date: Thu, 19 Sep 2013 16:03:37 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 3 new changesets Message-ID: <20130919160351.DBD476295B@hg.openjdk.java.net> Changeset: d48ba335b26f Author: aph Date: 2013-09-18 11:19 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d48ba335b26f Rough draft of arraycopy prototype ! src/cpu/aarch64/vm/assembler_aarch64.hpp ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.hpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 7c900775ce48 Author: aph Date: 2013-09-19 11:18 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7c900775ce48 Arraycopy intrinsics ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: 5a53550fc681 Author: aph Date: 2013-09-19 17:03 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5a53550fc681 Merge From aph at redhat.com Thu Sep 19 09:09:22 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 19 Sep 2013 17:09:22 +0100 Subject: [aarch64-port-dev ] RFR: Merge hotspot up to b85 In-Reply-To: <1379523867.26969.16.camel@localhost.localdomain> References: <1379523867.26969.16.camel@localhost.localdomain> Message-ID: <523B21B2.7000200@redhat.com> Hi, On 09/18/2013 06:04 PM, Edward Nevill wrote: > Apologies if this message appears twice. The first time I sent it, it seems to have gone into the ether. > > Hi, > > The attached patches merge hotspot up to jdk8-b85 (hotspot version hs25-b26). > > This brings all the components in the forest to the same rev jdk8-b85. > > There are two changeset following. > > The first (huge) changeset is the merge up to b85. Because of the size of it (>1Mb), I have not posted it here and have put it at > > http://people.linaro.org/~edward.nevill/patches/b85_merge.patch > > The second (smaller) changeset is the corresponding set of changes to aarch64 only code. > > I have tested the client build and run it against jtreg hotspot and langtools. It has the same failures as its x86 jdk8-b85 counterpart. > > I have tested the server build and run it against Queens, Java dhrystone, and ECM. It seems to perform as well as it did prior to the merge. > > OK to push? OK. Thanks very much for doing this. Andrew. From aph at redhat.com Thu Sep 19 10:08:32 2013 From: aph at redhat.com (Andrew Haley) Date: Thu, 19 Sep 2013 18:08:32 +0100 Subject: [aarch64-port-dev ] Implement generate_checkcast_copy() Message-ID: <523B2F90.6030704@redhat.com> This is the last of the C1 arraycopy intrinsics. Andrew. # HG changeset patch # User aph # Date 1379607403 -3600 # Node ID 9a83c28d309a91ae474b700b34cab633149363fb # Parent 7f4e0407752a69b3913280236704e5530342cf23 Implement generate_checkcast_copy() diff -r 7f4e0407752a -r 9a83c28d309a src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 17:14:14 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 17:16:43 2013 +0100 @@ -2217,7 +2217,7 @@ __ cbz(r0, *stub->continuation()); if (copyfunc_addr != NULL) { - __ eor(tmp, r0, -1); + __ eon(tmp, r0, zr); } // Reload values from the stack so they are where the stub @@ -2354,8 +2354,9 @@ Address klass_lh_addr(tmp, lh_offset); jint objArray_lh = Klass::array_layout_helper(T_OBJECT); __ ldrw(rscratch1, klass_lh_addr); - __ cmpw(rscratch1, objArray_lh); - __ br(Assembler::NE, *stub->entry()); + __ mov(rscratch2, objArray_lh); + __ eorw(rscratch1, rscratch1, rscratch2); + __ cbnzw(rscratch1, *stub->entry()); } // Spill because stubs can use any register they like and it's @@ -2389,7 +2390,7 @@ } #endif - __ cbnz(r0, *stub->continuation()); + __ cbz(r0, *stub->continuation()); #ifndef PRODUCT if (PrintC1Statistics) { @@ -2397,7 +2398,7 @@ } #endif - __ eor(tmp, r0, -1); + __ eon(tmp, r0, zr); // Restore previously spilled arguments __ ldp(dst, dst_pos, Address(sp, 0*BytesPerWord)); diff -r 7f4e0407752a -r 9a83c28d309a src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 19 17:14:14 2013 +0100 +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 19 17:16:43 2013 +0100 @@ -51,6 +51,7 @@ #undef __ #define __ _masm-> +#define TIMES_OOP Address::sxtw(exact_log2(UseCompressedOops ? 4 : 8)) #ifdef PRODUCT #define BLOCK_COMMENT(str) /* nothing */ @@ -72,7 +73,12 @@ #ifdef PRODUCT #define inc_counter_np(counter) (0) #else - void inc_counter_np_(int& counter) { Unimplemented(); } + void inc_counter_np_(int& counter) { + __ lea(rscratch2, ExternalAddress((address)&counter)); + __ ldrw(rscratch1, Address(rscratch2)); + __ addw(rscratch1, rscratch1, 1); + __ strw(rscratch1, Address(rscratch2)); + } #define inc_counter_np(counter) \ BLOCK_COMMENT("inc_counter " #counter); \ inc_counter_np_(counter); @@ -796,10 +802,10 @@ // c_rarg2 - element count // // Output: - // rax - &from[element count - 1] + // r0 - &from[element count - 1] // void array_overlap_test(address no_overlap_target, int sf) { Unimplemented(); } - void array_overlap_test(Label& L_no_overlap, int sf) { Unimplemented(); } + void array_overlap_test(Label& L_no_overlap, Address::sxtw sf) { __ b(L_no_overlap); } void array_overlap_test(address no_overlap_target, Label* NOLp, int sf) { Unimplemented(); } // Shuffle first three arg regs on Windows into Linux/Solaris locations. @@ -1068,20 +1074,20 @@ __ bind(done); } - // Scan over array at d for count oops, verifying each one. - // Preserves d and count, clobbers rscratch1 and rscratch2. - void verify_oop_array (size_t size, Register d, Register count, Register temp) { + // Scan over array at a for count oops, verifying each one. + // Preserves a and count, clobbers rscratch1 and rscratch2. + void verify_oop_array (size_t size, Register a, Register count, Register temp) { Label loop, end; - __ mov(rscratch1, d); + __ mov(rscratch1, a); __ mov(rscratch2, zr); __ bind(loop); __ cmp(rscratch2, count); __ br(Assembler::HS, end); if (size == (size_t)wordSize) { - __ ldr(temp, Address(d, rscratch2, Address::uxtw(exact_log2(size)))); + __ ldr(temp, Address(a, rscratch2, Address::uxtw(exact_log2(size)))); __ verify_oop(temp); } else { - __ ldrw(r16, Address(d, rscratch2, Address::uxtw(exact_log2(size)))); + __ ldrw(r16, Address(a, rscratch2, Address::uxtw(exact_log2(size)))); __ decode_heap_oop(temp); // calls verify_oop } __ add(rscratch2, rscratch2, size); @@ -1130,7 +1136,7 @@ if (is_oop) { __ pop(d->bit() | count->bit(), sp); if (VerifyOops) - verify_oop_array(size, s, d, count, r16); + verify_oop_array(size, d, count, r16); __ lea(count, Address(d, count, Address::uxtw(exact_log2(size)))); gen_write_ref_array_post_barrier(d, count, rscratch1); } @@ -1177,7 +1183,7 @@ if (is_oop) { __ pop(d->bit() | count->bit(), sp); if (VerifyOops) - verify_oop_array(size, s, d, count, r16); + verify_oop_array(size, d, count, r16); __ lea(c_rarg2, Address(c_rarg1, c_rarg2, Address::uxtw(exact_log2(size)))); gen_write_ref_array_post_barrier(c_rarg1, c_rarg2, rscratch1); } @@ -1410,11 +1416,24 @@ // Helper for generating a dynamic type check. - // Smashes no registers. + // Smashes rscratch1. void generate_type_check(Register sub_klass, Register super_check_offset, Register super_klass, - Label& L_success) { Unimplemented(); } + Label& L_success) { + assert_different_registers(sub_klass, super_check_offset, super_klass); + + BLOCK_COMMENT("type_check:"); + + Label L_miss; + + __ check_klass_subtype_fast_path(sub_klass, super_klass, noreg, &L_success, &L_miss, NULL, + super_check_offset); + __ check_klass_subtype_slow_path(sub_klass, super_klass, noreg, noreg, &L_success, NULL); + + // Fall through on failure! + __ BIND(L_miss); + } // // Generate checkcasting array copy stub @@ -1424,17 +1443,148 @@ // c_rarg1 - destination array address // c_rarg2 - element count, treated as ssize_t, can be zero // c_rarg3 - size_t ckoff (super_check_offset) - // not Win64 // c_rarg4 - oop ckval (super_klass) - // Win64 - // rsp+40 - oop ckval (super_klass) // // Output: - // rax == 0 - success - // rax == -1^K - failure, where K is partial transfer count + // r0 == 0 - success + // r0 == -1^K - failure, where K is partial transfer count // address generate_checkcast_copy(const char *name, address *entry, - bool dest_uninitialized = false) { Unimplemented(); return 0; } + bool dest_uninitialized = false) { + + Label L_load_element, L_store_element, L_do_card_marks, L_done; + + // Input registers (after setup_arg_regs) + const Register from = c_rarg0; // source array address + const Register to = c_rarg1; // destination array address + const Register length = c_rarg2; // elements count + const Register ckoff = c_rarg3; // super_check_offset + const Register ckval = c_rarg4; // super_klass + + // Registers used as temps (r16, r17, r18, r19, r20 are save-on-entry) + const Register end_from = from; // source array end address + const Register end_to = r16; // destination array end address + const Register count = r20; // -(count_remaining) + const Register r17_length = r17; // saved copy of length + // End pointers are inclusive, and if length is not zero they point + // to the last unit copied: end_to[0] := end_from[0] + + const Register copied_oop = r18; // actual oop copied + const Register r19_klass = r19; // oop._klass + + //--------------------------------------------------------------- + // Assembler stub will be used for this call to arraycopy + // if the two arrays are subtypes of Object[] but the + // destination array type is not equal to or a supertype + // of the source type. Each element must be separately + // checked. + + __ align(CodeEntryAlignment); + StubCodeMark mark(this, "StubRoutines", name); + address start = __ pc(); + + __ enter(); // required for proper stackwalking of RuntimeStub frame + +#ifdef ASSERT + // caller guarantees that the arrays really are different + // otherwise, we would have to make conjoint checks + { Label L; + array_overlap_test(L, TIMES_OOP); + __ stop("checkcast_copy within a single array"); + __ bind(L); + } +#endif //ASSERT + + // Caller of this entry point must set up the argument registers. + if (entry != NULL) { + *entry = __ pc(); + BLOCK_COMMENT("Entry:"); + } + + __ push(r16->bit() | r17->bit() | r18->bit() | r19->bit() | r20->bit(), sp); + +#ifdef ASSERT + BLOCK_COMMENT("assert consistent ckoff/ckval"); + // The ckoff and ckval must be mutually consistent, + // even though caller generates both. + { Label L; + int sco_offset = in_bytes(Klass::super_check_offset_offset()); + __ ldrw(count, Address(ckval, sco_offset)); + __ cmpw(ckoff, count); + __ br(Assembler::EQ, L); + __ stop("super_check_offset inconsistent"); + __ bind(L); + } +#endif //ASSERT + + // Loop-invariant addresses. They are exclusive end pointers. + Address end_from_addr(from, length, TIMES_OOP); + Address end_to_addr(to, length, TIMES_OOP); + // Loop-variant addresses. They assume post-incremented count < 0. + Address from_element_addr(end_from, count, TIMES_OOP); + Address to_element_addr(end_to, count, TIMES_OOP); + + gen_write_ref_array_pre_barrier(to, count, dest_uninitialized); + + // Copy from low to high addresses, indexed from the end of each array. + __ lea(end_from, end_from_addr); + __ lea(end_to, end_to_addr); + __ mov(r17_length, length); // save a copy of the length + __ neg(count, length); // negate and test the length + __ cbnz(count, L_load_element); + + // Empty array: Nothing to do. + __ mov(r0, zr); // return 0 on (trivial) success + __ b(L_done); + + // ======== begin loop ======== + // (Loop is rotated; its entry is L_load_element.) + // Loop control: + // for (count = -count; count != 0; count++) + // Base pointers src, dst are biased by 8*(count-1),to last element. + __ align(OptoLoopAlignment); + + __ BIND(L_store_element); + __ store_heap_oop(to_element_addr, copied_oop); // store the oop + __ add(count, count, 1); // increment the count toward zero + __ cbz(count, L_do_card_marks); + + // ======== loop entry is here ======== + __ BIND(L_load_element); + __ load_heap_oop(copied_oop, from_element_addr); // load the oop + __ cbz(copied_oop, L_store_element); + + __ load_klass(r19_klass, copied_oop);// query the object klass + generate_type_check(r19_klass, ckoff, ckval, L_store_element); + // ======== end loop ======== + + // It was a real error; we must depend on the caller to finish the job. + // Register r0 = -1 * number of *remaining* oops, r14 = *total* oops. + // Emit GC store barriers for the oops we have copied and report + // their number to the caller. + assert_different_registers(r0, r17_length, count, to, end_to, ckoff); + __ lea(end_to, to_element_addr); + __ add(end_to, end_to, -heapOopSize); // make an inclusive end pointer + gen_write_ref_array_post_barrier(to, end_to, rscratch1); + __ add(r0, r17_length, count); // K = (original - remaining) oops + __ eon(r0, r0, zr); // report (-1^K) to caller + __ b(L_done); + + // Come here on success only. + __ BIND(L_do_card_marks); + __ add(end_to, end_to, -heapOopSize); // make an inclusive end pointer + gen_write_ref_array_post_barrier(to, end_to, rscratch1); + __ mov(r0, zr); // return 0 on success + + // Common exit point (success or failure). + __ BIND(L_done); + __ pop(r16->bit() | r17->bit() | r18->bit() | r19->bit() | r20->bit(), sp); + inc_counter_np(SharedRuntime::_checkcast_array_copy_ctr); + __ leave(); // required for proper stackwalking of RuntimeStub frame + __ ret(lr); + + return start; + } // // Generate 'unsafe' array copy stub @@ -1574,11 +1724,9 @@ StubRoutines::_oop_disjoint_arraycopy_uninit = StubRoutines::_arrayof_oop_disjoint_arraycopy_uninit; StubRoutines::_oop_arraycopy_uninit = StubRoutines::_arrayof_oop_arraycopy_uninit; -#if 0 StubRoutines::_checkcast_arraycopy = generate_checkcast_copy("checkcast_arraycopy", &entry_checkcast_arraycopy); StubRoutines::_checkcast_arraycopy_uninit = generate_checkcast_copy("checkcast_arraycopy_uninit", NULL, /*dest_uninitialized*/true); -#endif } void generate_math_stubs() { Unimplemented(); } From aph at redhat.com Thu Sep 19 10:20:39 2013 From: aph at redhat.com (aph at redhat.com) Date: Thu, 19 Sep 2013 17:20:39 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 5 new changesets Message-ID: <20130919172049.2D72A6296C@hg.openjdk.java.net> Changeset: 7f4e0407752a Author: aph Date: 2013-09-19 17:14 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7f4e0407752a Merge Changeset: 9a83c28d309a Author: aph Date: 2013-09-19 17:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9a83c28d309a Implement generate_checkcast_copy() ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: fc9a59322b28 Author: aph Date: 2013-09-19 18:06 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fc9a59322b28 Fix off-by-one error in arraycopy barrier calculation. ! src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Changeset: baffa6e7c1b7 Author: aph Date: 2013-09-19 18:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/baffa6e7c1b7 Assert that we must not use the native copy routines with compressed oops. ! src/os_cpu/linux_aarch64/vm/copy_linux_aarch64.inline.hpp Changeset: fdbe037fccad Author: aph Date: 2013-09-19 18:19 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fdbe037fccad Merge From ed at camswl.com Fri Sep 20 03:17:01 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 20 Sep 2013 10:17:01 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 185 new changesets Message-ID: <20130920102410.E18AB629CE@hg.openjdk.java.net> Changeset: f1629878512f Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f1629878512f Added tag jdk8-b81 for changeset 65b797426a3b ! .hgtags Changeset: b95ad0610fef Author: asaha Date: 2012-10-26 09:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b95ad0610fef Merge - agent/make/ClosureFinder.java - agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/Address.java - agent/src/share/classes/sun/jvm/hotspot/asm/Arithmetic.java - agent/src/share/classes/sun/jvm/hotspot/asm/ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/BaseIndexScaleDispAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/CPUHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java - agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLDataTypes.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java - agent/src/share/classes/sun/jvm/hotspot/asm/ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/StoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FP2RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/Format3ADecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IllegalInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/JmplDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LogicDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/MemoryInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RestoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RettDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCAtomicLoadStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCDisassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFP2RegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFlushInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFormat3AInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCJmplInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCOpcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSethiInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStbarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSwapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCTrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCUnimpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV8Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9CasInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ConditionFlags.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9DoneInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FlushwInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9IlltrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ImpdepInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MembarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PopcInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrefetchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RdprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RetryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SavedInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SirInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCWriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SaveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SethiDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/StoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/TrapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpacePrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CCBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CasDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9DoneRetryDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FlushwDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntRegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PopcDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrivilegedReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RdprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ConditionalJmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatGRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/GRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/LogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/MoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/RotateDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CondJmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86GeneralInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86IllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterDirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RotateInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisterAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegisters.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/ContigPermSpace.java - agent/src/share/classes/sun/jvm/hotspot/memory/PermGen.java - agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolderKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/KlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodDataKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64JavaCallWrapper.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64RegisterMap.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/cInterpreter.java - agent/src/share/classes/sun/jvm/hotspot/runtime/linux_ia64/LinuxIA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadOopTreeNodeAdapter.java - make/solaris/makefiles/reorder_COMPILER1_amd64 - make/solaris/makefiles/reorder_COMPILER1_i486 - make/solaris/makefiles/reorder_COMPILER1_sparc - make/solaris/makefiles/reorder_COMPILER1_sparcv9 - make/solaris/makefiles/reorder_COMPILER2_amd64 - make/solaris/makefiles/reorder_COMPILER2_i486 - make/solaris/makefiles/reorder_COMPILER2_sparc - make/solaris/makefiles/reorder_COMPILER2_sparcv9 - make/solaris/makefiles/reorder_CORE_i486 - make/solaris/makefiles/reorder_CORE_sparc - make/solaris/makefiles/reorder_CORE_sparcv9 - make/solaris/makefiles/reorder_TIERED_amd64 - make/solaris/makefiles/reorder_TIERED_i486 - make/solaris/makefiles/reorder_TIERED_sparc - make/solaris/makefiles/reorder_TIERED_sparcv9 - make/solaris/reorder.sh - src/cpu/sparc/vm/dump_sparc.cpp - src/cpu/x86/vm/dump_x86_32.cpp - src/cpu/x86/vm/dump_x86_64.cpp - src/cpu/zero/vm/dump_zero.cpp - src/share/tools/ProjectCreator/DirectoryTree.java - src/share/tools/ProjectCreator/DirectoryTreeNode.java - src/share/tools/ProjectCreator/FileFormatException.java - src/share/tools/ProjectCreator/WinGammaPlatformVC6.java - src/share/vm/ci/ciArrayKlassKlass.hpp - src/share/vm/ci/ciCPCache.cpp - src/share/vm/ci/ciCPCache.hpp - src/share/vm/ci/ciInstanceKlassKlass.cpp - src/share/vm/ci/ciInstanceKlassKlass.hpp - src/share/vm/ci/ciKlassKlass.cpp - src/share/vm/ci/ciKlassKlass.hpp - src/share/vm/ci/ciMethodKlass.cpp - src/share/vm/ci/ciMethodKlass.hpp - src/share/vm/ci/ciObjArrayKlassKlass.cpp - src/share/vm/ci/ciObjArrayKlassKlass.hpp - src/share/vm/ci/ciTypeArrayKlassKlass.cpp - src/share/vm/ci/ciTypeArrayKlassKlass.hpp ! src/share/vm/compiler/compilerOracle.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp - src/share/vm/memory/classify.cpp - src/share/vm/memory/classify.hpp - src/share/vm/memory/compactPermGen.hpp - src/share/vm/memory/compactingPermGenGen.cpp - src/share/vm/memory/compactingPermGenGen.hpp - src/share/vm/memory/dump.cpp - src/share/vm/memory/permGen.cpp - src/share/vm/memory/permGen.hpp - src/share/vm/memory/restore.cpp - src/share/vm/memory/serialize.cpp - src/share/vm/oops/arrayKlassKlass.cpp - src/share/vm/oops/arrayKlassKlass.hpp - src/share/vm/oops/compiledICHolderKlass.cpp - src/share/vm/oops/compiledICHolderKlass.hpp - src/share/vm/oops/compiledICHolderOop.cpp - src/share/vm/oops/compiledICHolderOop.hpp - src/share/vm/oops/constMethodKlass.cpp - src/share/vm/oops/constMethodKlass.hpp - src/share/vm/oops/constMethodOop.cpp - src/share/vm/oops/constMethodOop.hpp - src/share/vm/oops/constantPoolKlass.cpp - src/share/vm/oops/constantPoolKlass.hpp - src/share/vm/oops/constantPoolOop.cpp - src/share/vm/oops/constantPoolOop.hpp - src/share/vm/oops/cpCacheKlass.cpp - src/share/vm/oops/cpCacheKlass.hpp - src/share/vm/oops/cpCacheOop.cpp - src/share/vm/oops/cpCacheOop.hpp - src/share/vm/oops/instanceKlassKlass.cpp - src/share/vm/oops/instanceKlassKlass.hpp - src/share/vm/oops/klassKlass.cpp - src/share/vm/oops/klassKlass.hpp - src/share/vm/oops/klassOop.cpp - src/share/vm/oops/klassOop.hpp - src/share/vm/oops/methodDataKlass.cpp - src/share/vm/oops/methodDataKlass.hpp - src/share/vm/oops/methodDataOop.cpp - src/share/vm/oops/methodDataOop.hpp - src/share/vm/oops/methodKlass.cpp - src/share/vm/oops/methodKlass.hpp - src/share/vm/oops/methodOop.cpp - src/share/vm/oops/methodOop.hpp - src/share/vm/oops/objArrayKlassKlass.cpp - src/share/vm/oops/objArrayKlassKlass.hpp - src/share/vm/oops/typeArrayKlassKlass.cpp - src/share/vm/oops/typeArrayKlassKlass.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 77443715ec55 Author: kamg Date: 2012-11-05 17:03 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/77443715ec55 8001307: Modify ACC_SUPER behavior Summary: Disallow non-virtual calls even when ACC_SUPER is absent. Reviewed-by: kvn, acorn ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/globals.hpp Changeset: b5cb079ecaa4 Author: ewendeli Date: 2013-02-03 22:43 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b5cb079ecaa4 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 1cabf9c80e84 Author: ewendeli Date: 2013-02-19 21:45 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1cabf9c80e84 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp Changeset: d4a32a6f8c82 Author: ewendeli Date: 2013-02-25 07:22 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d4a32a6f8c82 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 11d5942ef9c7 Author: lana Date: 2013-03-12 18:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/11d5942ef9c7 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5ee744831dcb Author: lana Date: 2013-03-14 19:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5ee744831dcb Merge Changeset: 8196357e95b5 Author: amurillo Date: 2013-03-08 08:22 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8196357e95b5 8009688: new hotspot build - hs25-b23 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 255c0a4cb4eb Author: sla Date: 2013-03-05 08:50 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/255c0a4cb4eb 8009287: [parfait] Uninitialised variable in hotspot/agent/src/os/linux/ps_core.c Reviewed-by: dholmes, kvn, mikael, morris ! agent/src/os/linux/ps_core.c Changeset: 9058789475af Author: iklam Date: 2013-03-05 13:55 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9058789475af 7107135: Stack guard pages are no more protected after loading a shared library with executable stack Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op. Reviewed-by: dholmes, zgu Contributed-by: ioi.lam at oracle.com ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp + test/runtime/7107135/Test.java + test/runtime/7107135/Test7107135.sh + test/runtime/7107135/TestMT.java + test/runtime/7107135/test.c Changeset: 6b803ba47588 Author: zgu Date: 2013-03-07 14:06 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6b803ba47588 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option Summary: Corrected virtual memory recording and tagging code when large pages are used Reviewed-by: coleenp, ccheung ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: 3efdfd6ddbf2 Author: coleenp Date: 2013-03-08 11:47 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3efdfd6ddbf2 8003553: NPG: metaspace objects should be zeroed in constructors Summary: Zero metadata in constructors, not in allocation (and some in constructors) Reviewed-by: jmasa, sspitsyn ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/metablock.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.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/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 252ad8d5f22b Author: dcubed Date: 2013-03-08 17:14 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/252ad8d5f22b Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 35ef86296a5d Author: dcubed Date: 2013-03-08 17:49 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/35ef86296a5d Merge ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 5939f5953b45 Author: coleenp Date: 2013-03-13 09:10 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5939f5953b45 8009836: nsk/regression/b4222717 fails with empty stack trace Summary: Some zeroing was missed for bug 8003553, causing empty stack traces and Xcom crashes, add back zeroing to metablock Reviewed-by: dholmes, rbackman ! src/share/vm/memory/metablock.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/method.cpp Changeset: 96480359523a Author: coleenp Date: 2013-03-11 14:00 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/96480359523a 8008965: @Contended fails with classes having static fields Summary: Disable @Contended support for static fields Reviewed-by: coleenp, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/classfile/classFileParser.cpp + test/runtime/8003985/Test8003985.java Changeset: d6320e955c89 Author: coleenp Date: 2013-03-13 13:47 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d6320e955c89 Merge Changeset: 0ede345ec7c9 Author: coleenp Date: 2013-03-13 15:15 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0ede345ec7c9 8009829: CDS: JDK JPRT test fails crash in Symbol::equals() Summary: -Xshare:dump was creating a Symbol in C_heap. There's an assert there that jdk jprt wasn't hitting because it was only done in product Reviewed-by: dholmes, hseigel, iklam ! src/share/vm/classfile/symbolTable.cpp Changeset: c8b31b461e1a Author: coleenp Date: 2013-03-13 17:34 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c8b31b461e1a 8003419: NPG: Clean up metadata created during class loading if failure Summary: Store metadata on ClassFileParser instance to be cleaned up by destructor. This enabled some refactoring of the enormous parseClassFile function. Reviewed-by: jmasa, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: fad90b102190 Author: jprovino Date: 2013-03-06 13:38 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fad90b102190 8008310: Some adjustments needed to minimal VM warnings and errors for unsupported command line options Summary: Changes to arguments.cpp for warnings vs. errors. Changes for CDS arguments. Reviewed-by: coleenp, cjplummer ! make/excludeSrc.make ! src/share/vm/memory/filemap.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 47bc9800972c Author: jprovino Date: 2013-03-06 13:46 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/47bc9800972c 8006498: #if is wrong in the code. Summary: ASSERT and other symbols used incorrectly with #if are supposed to be defined or not. Reviewed-by: dholmes, mikael ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiTrace.hpp Changeset: 67342b960b47 Author: jprovino Date: 2013-03-06 13:50 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/67342b960b47 8008474: Add -Wundef to warning flags. Summary: Force use of undefined macros to be and error. Reviewed-by: dholmes, mikael ! make/bsd/makefiles/gcc.make ! make/linux/makefiles/gcc.make ! make/solaris/makefiles/gcc.make Changeset: cb75b67f04fb Author: jprovino Date: 2013-03-08 12:35 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cb75b67f04fb Merge ! make/bsd/makefiles/gcc.make Changeset: 69ffa4ac9e53 Author: jprovino Date: 2013-03-12 00:02 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/69ffa4ac9e53 8009835: Only produce a warning when -Xshare:auto is explicitly requested Summary: The minimal JVM is printing a warning message for default settings when it should quitely ignore them. Reviewed-by: coleenp, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: 9102c4111564 Author: jprovino Date: 2013-03-14 10:37 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9102c4111564 Merge Changeset: ed53b50794d7 Author: vladidan Date: 2013-03-14 12:49 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ed53b50794d7 Merge Changeset: 0094485b46c7 Author: roland Date: 2013-03-13 09:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0094485b46c7 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly. Reviewed-by: kvn ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp + test/compiler/8009761/Test8009761.java Changeset: 056ab43544a4 Author: neliasso Date: 2013-03-13 10:56 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/056ab43544a4 8009721: Make PhaseLive independent from regalloc Summary: Moved class definition of LRG_List from chaitin.hpp to live.hpp Reviewed-by: kvn, rbackman, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/live.hpp Changeset: 6d98efabf3ba Author: neliasso Date: 2013-03-13 13:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6d98efabf3ba Merge Changeset: b7c2c5b2572c Author: neliasso Date: 2013-02-13 10:25 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b7c2c5b2572c 8005772: Stubs report compile id -1 in phase events Summary: Use 0 to indicate id is NA, -1 for error or uninitalized Reviewed-by: kvn, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/compile.cpp Changeset: 71f13276159d Author: morris Date: 2013-03-14 07:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/71f13276159d 8008560: [parfait] Null pointer deference in hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Summary: add null pointer check in signal handler Reviewed-by: kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Changeset: fba788946616 Author: morris Date: 2013-03-14 16:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fba788946616 Merge Changeset: 9def4075da6d Author: tamao Date: 2013-03-05 15:36 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9def4075da6d 8008079: G1: Add nextObject routine to CMBitMapRO and replace nextWord Summary: Update the task local finger to the start of the next object when marking aborts, in order to avoid the redundant scanning of all 0's when the marking task restarts, if otherwise updating to the next word. In addition, reuse the routine nextObject() in routine iterate(). Reviewed-by: johnc, ysr Contributed-by: tamao ! 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: 209f8ba5020b Author: tamao Date: 2013-03-07 10:44 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/209f8ba5020b 8008368: Deprecate MaxGCMinorPauseMillis Summary: Deprecate MaxGCMinorPauseMillis and emit a warning if set by users Reviewed-by: brutisso, johnc Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 1f3354851c91 Author: stefank Date: 2013-03-11 08:49 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1f3354851c91 Merge Changeset: 167812fe00bb Author: kevinw Date: 2013-03-11 12:56 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/167812fe00bb 8009723: CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection Reviewed-by: jwilhelm, ehelin, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 71f619500f9b Author: kevinw Date: 2013-03-11 15:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/71f619500f9b Merge Changeset: 1c88b99a2b01 Author: mgerdin Date: 2013-03-12 09:42 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1c88b99a2b01 8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation Summary: Assertion is only valid when at a safepoint, adjust accordingly. Reviewed-by: stefank, jmasa, tamao ! src/share/vm/memory/metaspace.cpp Changeset: ca9580859cf4 Author: stefank Date: 2013-03-11 02:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ca9580859cf4 8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA Summary: Don't scan pages outside the given range. Reviewed-by: jwilhelm, jmasa ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Changeset: 62609ffa2fc6 Author: tschatzl Date: 2013-03-12 15:10 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/62609ffa2fc6 8008684: CMS: concurrent phase start markers should always be printed Summary: Print the concurrent phase start markers for CMS when PrintGCDetails is enabled, not only if both PrintGCDetails and PrintGCTimeStamps are. Reviewed-by: mgerdin, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: eac371996b44 Author: brutisso Date: 2013-03-12 08:33 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/eac371996b44 8001049: VM crashes when running with large -Xms and not specifying ObjectAlignmentInBytes Summary: Take the initial heap size into account when checking the heap size for compressed oops Reviewed-by: jmasa, kvn, hseigel, ctornqvi ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 993d878108d9 Author: brutisso Date: 2013-03-13 05:14 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/993d878108d9 Merge Changeset: 82657b6a8cc0 Author: jmasa Date: 2013-03-12 11:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/82657b6a8cc0 6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared Reviewed-by: johnc ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/collectorPolicy.cpp Changeset: 15401203db6b Author: stefank Date: 2013-03-15 08:57 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/15401203db6b Merge ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a10dc1469c3f Author: stefank Date: 2013-03-15 04:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a10dc1469c3f Merge Changeset: 0631ebcc45f0 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0631ebcc45f0 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 3db4ab0e12f4 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3db4ab0e12f4 Added tag hs25-b23 for changeset 0631ebcc45f0 ! .hgtags Changeset: 4f7380dca47e Author: katleman Date: 2013-03-21 10:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4f7380dca47e Added tag jdk8-b82 for changeset 3db4ab0e12f4 ! .hgtags Changeset: 7ae04e71af90 Author: amurillo Date: 2013-03-15 11:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7ae04e71af90 8010105: new hotspot build - hs25-b24 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 39432a1cefdd Author: minqi Date: 2013-03-14 00:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/39432a1cefdd 8003348: SA can not read core file on OS Summary: Macosx uses Mach-O file format for binary files, not ELF format. Currently SA works on core files on other platforms, t his change enables SA work on core file generated on Darwin. Reviewed-by: sla, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/os/bsd/Makefile ! agent/src/os/bsd/libproc.h ! agent/src/os/bsd/libproc_impl.c ! agent/src/os/bsd/libproc_impl.h ! agent/src/os/bsd/ps_core.c ! agent/src/os/bsd/symtab.c ! agent/src/os/bsd/symtab.h ! agent/src/share/classes/sun/jvm/hotspot/BsdVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! agent/src/share/native/sadis.c ! make/bsd/makefiles/saproc.make Changeset: 1fc4d4768b90 Author: coleenp Date: 2013-03-15 17:24 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1fc4d4768b90 8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL) Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up. Reviewed-by: coleenp, acorn, hseigel, minqi Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp Changeset: 82f49e8e2c28 Author: zgu Date: 2013-03-15 11:53 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/82f49e8e2c28 8009614: nsk/split_verifier/stress/ifelse/ifelse002_30 fails with 'assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity() Summary: Align up vm allocation size to os defined granularity Reviewed-by: dholmes, coleenp ! src/share/vm/memory/metaspace.cpp Changeset: 919a5f9f36a9 Author: zgu Date: 2013-03-15 17:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/919a5f9f36a9 Merge Changeset: 82ab039b9680 Author: dcubed Date: 2013-03-17 08:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/82ab039b9680 Merge ! src/share/vm/memory/metaspace.cpp Changeset: 117bb0519114 Author: sla Date: 2013-03-19 13:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/117bb0519114 8009456: SA: typeToVtbl of BasicTypeDataBase should not be static Reviewed-by: coleenp, sla Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Changeset: 686916dc0439 Author: sla Date: 2013-03-19 13:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/686916dc0439 8009457: SA: A small fix on "scanoops" command in CLHSDB Reviewed-by: sla, coleenp, kmo Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Changeset: 9960dce2024f Author: kmo Date: 2013-03-14 13:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9960dce2024f 8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012 Summary: add cases for _MSC_VER == 1600 and 1700 Reviewed-by: zgu ! src/share/vm/runtime/vm_version.cpp Changeset: a40807924950 Author: kmo Date: 2013-03-14 16:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a40807924950 Merge Changeset: f3d486462d36 Author: morris Date: 2013-03-15 18:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f3d486462d36 Merge Changeset: 96ef09c26978 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/96ef09c26978 8009166: [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp Summary: add guarantee() to as_instance_type() Reviewed-by: kvn, twisti ! src/share/vm/opto/type.cpp Changeset: 8b4ce9870fd6 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8b4ce9870fd6 8009156: [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp Summary: add guarantee() to add_generation_memory_pool() Reviewed-by: kvn, twisti ! src/share/vm/services/memoryService.cpp Changeset: 0a2deac0bbfb Author: morris Date: 2013-03-16 07:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0a2deac0bbfb 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Summary: add guarantee() to oop_result inlines Reviewed-by: kvn, twisti ! src/cpu/x86/vm/frame_x86.inline.hpp Changeset: 9ef47379df20 Author: morris Date: 2013-03-16 07:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9ef47379df20 8010144: [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Summary: add null check to signal handler Reviewed-by: dcubed ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp Changeset: 8552f0992748 Author: kmo Date: 2013-03-15 22:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8552f0992748 8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again Summary: add a missing change from JDK-7054512 so that Oop.iterateFields() works with UseCompressedKlassPointers Reviewed-by: coleenp, roland Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Changeset: 592f9722c72e Author: kmo Date: 2013-03-16 21:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/592f9722c72e Merge Changeset: 4efac99a998b Author: iignatyev Date: 2013-03-18 04:29 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4efac99a998b 8008211: Some of WB tests on compiler fail Reviewed-by: kvn, vlivanov ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: a5de0cc2f91c Author: roland Date: 2013-03-18 13:19 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a5de0cc2f91c 8008555: Debugging code in compiled method sometimes leaks memory Summary: support for strings that have same life-time as code that uses them. Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp Changeset: 578d9044c463 Author: roland Date: 2013-03-18 09:08 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/578d9044c463 Merge Changeset: be4d5c6c1f79 Author: neliasso Date: 2013-03-19 10:31 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/be4d5c6c1f79 8010121: Remove definition of ShouldNotReachHere2(msg) Reviewed-by: kvn, stefank, rbackman, twisti Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp Changeset: f15df3af32c5 Author: morris Date: 2013-03-19 07:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f15df3af32c5 8009172: [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp Summary: add guarantee() to DoScheduling() Reviewed-by: twisti, kvn ! src/share/vm/opto/output.cpp Changeset: 75a28f465a12 Author: morris Date: 2013-03-19 07:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/75a28f465a12 8008663: [parfait] Null pointer deference in hotspot/src/share/vm/compiler/compileBroker.cpp Summary: add NULL checks for compiler name Reviewed-by: twisti, kvn ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp Changeset: 80208f353616 Author: kvn Date: 2013-03-19 10:56 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/80208f353616 8010222: 8007439 disabled inlining of cold accessor methods Summary: added missing parenthesis Reviewed-by: jrose ! src/share/vm/opto/bytecodeInfo.cpp Changeset: 2eef6d34833b Author: morris Date: 2013-03-19 11:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2eef6d34833b 8009022: [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp Summary: add guarantee() checks to merge_state_into_bb() Reviewed-by: kvn ! src/share/vm/oops/generateOopMap.cpp Changeset: 3b9368710f08 Author: morris Date: 2013-03-19 12:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3b9368710f08 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp Summary: add guarantee() checks Reviewed-by: kvn ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp Changeset: 1275835a4ccc Author: morris Date: 2013-03-19 16:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1275835a4ccc Merge Changeset: 41340544e182 Author: morris Date: 2013-03-20 06:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/41340544e182 8009248: [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp Summary: add guarantee() to set_to_interpreted() Reviewed-by: kvn ! src/share/vm/code/compiledIC.cpp Changeset: 2dec1d9bfbe1 Author: morris Date: 2013-03-20 06:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2dec1d9bfbe1 8009565: [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp Summary: add guarantee() to get_instance_klass_for_declared_method_holder() Reviewed-by: kvn ! src/share/vm/ci/ciEnv.cpp Changeset: 653d0346aa80 Author: morris Date: 2013-03-20 06:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/653d0346aa80 8009578: [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp Summary: add guarantee() to disqualify_method() Reviewed-by: kvn ! src/share/vm/classfile/defaultMethods.cpp Changeset: a59625d96f71 Author: morris Date: 2013-03-20 07:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a59625d96f71 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp Summary: add guarantee() to insert_pre_post_loops() Reviewed-by: kvn ! src/share/vm/opto/loopTransform.cpp Changeset: 98f3af397705 Author: twisti Date: 2013-03-20 17:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/98f3af397705 8006965: remove test_gamma and add dedicated test_* targets instead Reviewed-by: kvn, jcoomes ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/defs.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make - make/test/Queens.java Changeset: 589aa23334ea Author: morris Date: 2013-03-21 10:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/589aa23334ea 8009584: [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp Summary: added guarantee() to pd_address_in_code() Reviewed-by: kvn ! src/cpu/x86/vm/relocInfo_x86.cpp Changeset: c3c64a973559 Author: morris Date: 2013-03-21 10:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c3c64a973559 8009593: [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp Summary: added guarantee() to print_entry_on() Reviewed-by: kvn ! src/share/vm/oops/constantPool.cpp Changeset: 3536ea6bc4df Author: morris Date: 2013-03-21 21:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3536ea6bc4df Merge - make/test/Queens.java Changeset: 79af1312fc2c Author: mgerdin Date: 2013-03-14 10:54 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/79af1312fc2c 8005602: NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used Summary: Call purge() on CLDG after sweep(), reorder purge() call in GenCollectedHeap Reviewed-by: jmasa, stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp Changeset: 3c226052f7dc Author: tschatzl Date: 2013-03-14 09:37 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3c226052f7dc 6733980: par compact - TraceGen1Time always shows 0.0000 seconds Summary: Use the correct collector to retrieve accumulated gen1 trace time Reviewed-by: johnc, jmasa ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Changeset: 19f9fabd94cc Author: stefank Date: 2013-03-18 09:34 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/19f9fabd94cc Merge ! src/share/vm/memory/metaspace.cpp Changeset: fa08949fe0cb Author: johnc Date: 2013-03-18 11:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fa08949fe0cb 8009536: G1: Apache Lucene hang during reference processing Summary: In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: e864cc14ca75 Author: johnc Date: 2013-03-19 00:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e864cc14ca75 8009940: G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809 Summary: Skip reference processing if the global marking stack overflows during remark. Refactor and rename set_phase(); move code that sets the concurrency level into its own routine. Do not call set_phase() from within parallel reference processing; use the concurrency level routine instead. The marking state should only set reset by CMTask[0] during the concurrent phase of the marking cycle; if an overflow occurs at any stage during the remark, the marking state will be reset after reference processing. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 1179172e9ec9 Author: johnc Date: 2013-03-19 09:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1179172e9ec9 8008301: G1: guarantee(satb_mq_set.completed_buffers_num() == 0) failure Summary: If the marking stack overflows while the marking tasks are draining the SATB buffers, remark will exit with some SATB buffers left unprocessed. Relax the guarantee to allow for overflow. Reviewed-by: jmasa, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 7f0cb32dd233 Author: mgerdin Date: 2013-03-21 09:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7f0cb32dd233 8004241: NPG: Metaspace occupies more memory than specified by -XX:MaxMetaspaceSize option Summary: Enforce MaxMetaspaceSize for both metaspace parts, check MaxMetaspaceSize against "reserved", not "capacity" Reviewed-by: jmasa, johnc ! src/share/vm/memory/metaspace.cpp Changeset: 47902e9acb3a Author: stefank Date: 2013-03-22 10:32 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/47902e9acb3a Merge ! src/share/vm/memory/metaspace.cpp Changeset: 5855e849c7e6 Author: stefank Date: 2013-03-22 12:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5855e849c7e6 Merge Changeset: 499ccc15bbc8 Author: bpittore Date: 2013-03-15 15:20 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/499ccc15bbc8 8005716: Enhance JNI specification to allow support of static JNI libraries in Embedded JREs Reviewed-by: dlong, alanb, mduigou ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jni.h ! src/share/vm/runtime/thread.cpp Changeset: 9e62e72c59cc Author: bobv Date: 2013-03-17 06:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9e62e72c59cc Merge Changeset: 3be6a41ad358 Author: dholmes Date: 2013-03-18 19:34 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3be6a41ad358 8008783: Modifications needed to JPRT to allow for building hard float abi and new bundle changes Reviewed-by: twisti, collins, bobv, jwilhelm ! make/jprt.properties Changeset: 804663118c1f Author: jprovino Date: 2013-03-22 10:09 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/804663118c1f Merge Changeset: aca25026e2a4 Author: vladidan Date: 2013-03-22 17:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/aca25026e2a4 Merge Changeset: e3a41fc02348 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e3a41fc02348 Merge - make/test/Queens.java Changeset: 1c8db54ee9f3 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1c8db54ee9f3 Added tag hs25-b24 for changeset e3a41fc02348 ! .hgtags Changeset: e614fc564ded Author: katleman Date: 2013-03-28 10:54 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e614fc564ded Added tag jdk8-b83 for changeset 1c8db54ee9f3 ! .hgtags Changeset: 59a41e1357ab Author: amurillo Date: 2013-03-23 10:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/59a41e1357ab 8010498: new hotspot build - hs25-b25 Reviewed-by: jcoomes ! make/hotspot_version Changeset: eca90b8a06eb Author: rdurbin Date: 2013-03-19 11:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/eca90b8a06eb 7030610: runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test 7123945: runtime/6878713/Test6878713.sh require about 2G of native memory, swaps and times out Summary: Add new diagnostic option -XX:MallocMaxTestWords=NNN and fix Test6878713.sh. Reviewed-by: dcubed, coleenp, dholmes, iklam ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! test/runtime/6878713/Test6878713.sh Changeset: a649f6511c04 Author: ctornqvi Date: 2013-03-20 08:17 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a649f6511c04 8010084: Race in runtime/NMT/BaselineWithParameter.java Summary: Added a waitFor() on the process Reviewed-by: mgerdin, sla, zgu ! test/runtime/NMT/BaselineWithParameter.java Changeset: 91bf0bdae37b Author: coleenp Date: 2013-03-20 08:04 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/91bf0bdae37b 8008217: CDS: Class data sharing limits the malloc heap on Solaris Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address. Reviewed-by: kvn, dcubed, zgu, hseigel ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2c7663baeb67 Author: acorn Date: 2013-03-20 11:43 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2c7663baeb67 8010017: lambda: reflection get(Declared)Methods support for default methods. Summary: Don't expose vm generated overpass (bridges to default methods). Reviewed-by: dholmes, fparain ! src/share/vm/prims/jvm.cpp Changeset: 79259e97a072 Author: acorn Date: 2013-03-20 12:20 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/79259e97a072 Merge Changeset: 1feda2e9f044 Author: ctornqvi Date: 2013-03-20 20:40 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1feda2e9f044 8007982: some runtime/CommandLine/ tests fail on 32-bit platforms Summary: Changed tests to use platform independent flags Reviewed-by: collins, hseigel, zgu ! test/runtime/CommandLine/BooleanFlagWithInvalidValue.java ! test/runtime/CommandLine/FlagWithInvalidValue.java ! test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java Changeset: 81d1b58c078f Author: rdurbin Date: 2013-03-20 20:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/81d1b58c078f 8010396: checking MallocMaxTestWords in testMalloc() function is redundant Summary: Remove redundant checks in testMalloc and add assert. Reviewed-by: dcubed, coleenp, dholmes ! src/share/vm/runtime/os.cpp Changeset: e7081eb7e786 Author: dcubed Date: 2013-03-20 20:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e7081eb7e786 Merge Changeset: 06db4c0afbf3 Author: zgu Date: 2013-03-20 09:42 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/06db4c0afbf3 8009298: NMT: Special version of class loading/unloading with runThese stresses out NMT 8009777: NMT: add new NMT dcmd to control auto shutdown option Summary: Added diagnostic VM option and DCmd command to allow NMT stay alive under stress situation Reviewed-by: dcubed, coleenp ! src/share/vm/runtime/globals.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/nmtDCmd.hpp Changeset: 0ac03fef364f Author: zgu Date: 2013-03-21 06:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0ac03fef364f Merge ! src/share/vm/runtime/globals.hpp Changeset: 14509df4cd63 Author: iklam Date: 2013-03-21 20:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/14509df4cd63 8010389: After fix for 7107135 a failed dlopen() call results in a VM crash Summary: Call dlerror() in VM thread as necessary. Reviewed-by: coleenp, dholmes ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp + test/runtime/8010389/VMThreadDlopen.java Changeset: 6574f999e0cf Author: dcubed Date: 2013-03-23 22:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6574f999e0cf Merge ! src/share/vm/memory/metaspace.cpp Changeset: c342fbdf8a70 Author: ctornqvi Date: 2013-03-24 09:11 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c342fbdf8a70 8008454: test/runtime/NMT/PrintNMTStatistics is broken Summary: Added @run tag so that it actually runs the test, also fixed broken command line and incorrect parsing. Also reviewed by gerard.ziemski at oracle.com Reviewed-by: mgerdin, zgu ! test/runtime/NMT/PrintNMTStatistics.java Changeset: 9c8e53c7bed0 Author: ctornqvi Date: 2013-03-24 09:21 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9c8e53c7bed0 Merge - make/test/Queens.java Changeset: 729be16a470b Author: hseigel Date: 2013-03-25 08:37 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/729be16a470b 8010667: Non-zero padding is not allowed in splitverifier for tableswitch/lookupswitch instructions. Summary: Don't check the padding bits if class file version is >= 51. Reviewed-by: kvn, dholmes, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: b8deb3205b51 Author: bharadwaj Date: 2013-03-25 09:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b8deb3205b51 8009552: test/vm/verifier/TestStaticIF.java failing with hs25.0-b Summary: Remove support for verification of class files with version 52 and above from type inference verifier. Reviewed-by: acorn, hseigel ! src/share/vm/classfile/verifier.cpp - test/runtime/8007736/TestStaticIF.java Changeset: 1916ca1dec2f Author: rbackman Date: 2013-03-26 15:00 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1916ca1dec2f 8009382: Add JVM_Get{Field|Method}TypeAnnotations Reviewed-by: dcubed, rbackman Contributed-by: Joel Borggren-Franck ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 36376b540a98 Author: hseigel Date: 2013-03-26 09:06 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/36376b540a98 8009595: The UseSplitVerifier option needs to be deprecated. Summary: Put UseSplitVerifier option on the deprecated list. Reviewed-by: dcubed, kmo, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: a8016373a893 Author: hseigel Date: 2013-03-26 12:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a8016373a893 Merge Changeset: 6b748c9e1845 Author: zgu Date: 2013-03-26 14:11 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6b748c9e1845 8010651: create.bat still builds the kernel Summary: Remove old kernel build targets and VS C++ projects created by create.bat on Windows Reviewed-by: coleenp, sla ! make/windows/build.make ! make/windows/create.bat ! make/windows/makefiles/compile.make ! make/windows/makefiles/product.make ! make/windows/makefiles/vm.make - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java Changeset: 85192022ba8c Author: zgu Date: 2013-03-26 11:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/85192022ba8c Merge - test/runtime/8007736/TestStaticIF.java Changeset: 23f2d309e855 Author: zgu Date: 2013-03-26 15:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/23f2d309e855 Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw Changeset: 7f16d1812865 Author: tamao Date: 2013-03-20 12:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7f16d1812865 7196080: assert(max_heap >= InitialHeapSize) in arguments.cpp Summary: Remove the related assertions becasue they do not hold here. Reviewed-by: jmasa, tschatzl Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp Changeset: dbd5837b342f Author: ehelin Date: 2013-03-22 16:10 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dbd5837b342f 8000754: NPG: Implement a MemoryPool MXBean for Metaspace Reviewed-by: jmasa, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp + test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: 338b3a9e29b5 Author: stefank Date: 2013-03-25 11:00 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/338b3a9e29b5 Merge ! src/share/vm/services/memoryService.cpp Changeset: 42e370795a39 Author: ehelin Date: 2013-03-27 10:55 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/42e370795a39 8010818: NPG: Remove metaspace memory pools Reviewed-by: mgerdin, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp - test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: aeb22fdaa14c Author: brutisso Date: 2013-03-28 09:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/aeb22fdaa14c Merge ! src/share/vm/runtime/arguments.cpp Changeset: 728b89404e34 Author: jprovino Date: 2013-03-21 10:18 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/728b89404e34 8009904: jvmtiClassFileReconstituter.cpp needs to be excluded from the minimal jvm Summary: jvmtiClassFileReconstituter.cpp needs to be added to the list of files to exclude when JVMTI is excluded from the jvm Reviewed-by: dholmes, sspitsyn ! make/excludeSrc.make Changeset: 7ca101eef24a Author: jprovino Date: 2013-03-23 14:59 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7ca101eef24a Merge Changeset: 04d6d4322c6a Author: collins Date: 2013-03-27 09:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/04d6d4322c6a 8009152: A number of jtreg tests need review/improvement Summary: Added a new test_env.txt file to capture common shell variable. Added concept of COMPILEJAVA for use when TESTJAVA is a JRE. If COMPILEJAVA not set then TESTJAVA will be the default with assumption it is a JDK. Reviewed-by: kvn, brutisso, coleenp ! test/compiler/5091921/Test6890943.sh ! test/compiler/5091921/Test7005594.sh ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/gc/6941923/test6941923.sh ! test/runtime/6626217/Test6626217.sh ! test/runtime/6878713/Test6878713.sh ! test/runtime/6929067/Test6929067.sh ! test/runtime/7020373/Test7020373.sh ! test/runtime/7051189/Xchecksig.sh ! test/runtime/7107135/Test7107135.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7158804/Test7158804.sh ! test/runtime/7162488/Test7162488.sh + test/test_env.sh Changeset: d1897e7e0488 Author: collins Date: 2013-03-28 15:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d1897e7e0488 Merge ! test/runtime/6878713/Test6878713.sh Changeset: 8d0f263a370c Author: amurillo Date: 2013-03-28 19:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8d0f263a370c Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: af788b85010e Author: amurillo Date: 2013-03-28 19:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/af788b85010e Added tag hs25-b25 for changeset 8d0f263a370c ! .hgtags Changeset: ac242ddfa319 Author: katleman Date: 2013-04-04 19:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ac242ddfa319 Added tag jdk8-b84 for changeset af788b85010e ! .hgtags Changeset: d26674db4d91 Author: amurillo Date: 2013-03-28 19:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d26674db4d91 8011022: new hotspot build - hs25-b26 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 0c3ee6f1fa23 Author: coleenp Date: 2013-03-27 08:19 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0c3ee6f1fa23 8009531: Crash when redefining class with annotated method Summary: Neglected to copy the annotations in clone_with_new_data when they were moved to ConstMethod. Reviewed-by: acorn, sspitsyn, dcubed ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.cpp Changeset: aa758f0c5b1c Author: hseigel Date: 2013-03-27 11:41 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/aa758f0c5b1c 8010833: Test7116786.java is failing on most configs after fix for 8010667 Summary: Update test to recognize that non-zero pad bytes for lookupswitch/tablewsitch opcodes are now valid. Reviewed-by: dcubed, twisti, kvn, coleenp, dholmes ! test/runtime/7116786/Test7116786.java Changeset: b601102d00c8 Author: hseigel Date: 2013-03-27 13:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b601102d00c8 Merge Changeset: cd3089a56438 Author: acorn Date: 2013-03-27 14:10 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cd3089a56438 8009731: Confusing error message for loader constraint violation Summary: Fix text, overwritten type and holder for resolved method Reviewed-by: coleenp, dcubed, minqi, dholmes ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/klassVtable.cpp Changeset: 53f4040e809c Author: acorn Date: 2013-03-27 16:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/53f4040e809c Merge Changeset: b5bae74160b7 Author: zgu Date: 2013-03-27 15:41 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b5bae74160b7 8010474: [parfait] Undefined return value of the functions in hotspot/src/share/vm/services/memTracker.hpp Summary: Fixed functions that miss return values Reviewed-by: coleenp, acorn, kvn ! src/share/vm/services/memTracker.hpp Changeset: 26e0c03da92c Author: zgu Date: 2013-03-27 13:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/26e0c03da92c Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw Changeset: f044c45bee68 Author: zgu Date: 2013-03-27 22:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f044c45bee68 Merge Changeset: 1b90c7607451 Author: minqi Date: 2013-03-27 17:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1b90c7607451 2178143: JVM crashes if the number of bound CPUs changed during runtime Summary: Supply a new flag -XX:+AssumeMP to workaround the problem. With the flag is turned on, assume VM run on MP platform so is_MP() will return true that sync calls will not skip away. Reviewed-by: dholmes, acorn, dcubed, jmasa Contributed-by: yumin.qi at oracle.com ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: d7adf726b18a Author: minqi Date: 2013-03-28 00:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d7adf726b18a Merge Changeset: c0f9217203b2 Author: dcubed Date: 2013-03-29 08:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c0f9217203b2 Merge ! src/share/vm/runtime/arguments.cpp Changeset: d886ac1dfd36 Author: coleenp Date: 2013-03-31 21:43 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d886ac1dfd36 8010723: fatal error: acquiring lock Metaspace allocation lock/5 out of order Summary: Avoid holding SystemDictionary_lock while calling Klass::remove_unshareable_info Reviewed-by: coleenp, acorn Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/systemDictionary.cpp Changeset: e458120c6e1a Author: sla Date: 2013-03-28 15:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e458120c6e1a 8002118: WindbgDebuggerLocal should not try to load 64-bit debug libraries for 32-bit JVM Reviewed-by: sspitsyn, zgu Contributed-by: peter.allwin at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java Changeset: ede380e13960 Author: mgerdin Date: 2013-04-02 11:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ede380e13960 8009763: Add WB test for String.intern() Summary: Add convenience method in StringTable, add WhiteBox method and simple sanity test Reviewed-by: mgerdin, zgu Contributed-by: leonid.mesnik at oracle.com ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/prims/whitebox.cpp + test/runtime/interned/SanityTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 8c03fc47511d Author: iklam Date: 2013-04-01 14:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8c03fc47511d 8011048: Possible reading from unmapped memory in UTF8::as_quoted_ascii() Summary: Pass utf_length parameter to UTF8::as_quoted_ascii() Reviewed-by: dcubed, minqi ! src/share/vm/oops/symbol.cpp ! src/share/vm/utilities/utf8.cpp ! src/share/vm/utilities/utf8.hpp Changeset: a4e8dac9db8c Author: zgu Date: 2013-04-02 07:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a4e8dac9db8c Merge Changeset: 2e093b564241 Author: mgerdin Date: 2013-03-28 10:27 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2e093b564241 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine Summary: Keep a counter of how many times we were stalled by the GC locker, add a diagnostic flag which sets the limit. Reviewed-by: brutisso, ehelin, johnc ! 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/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/runtime/globals.hpp Changeset: 754c24457b20 Author: tschatzl Date: 2013-03-27 19:21 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/754c24457b20 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM Summary: Ergonomics now also takes available virtual memory into account when deciding for a heap size. The helper method to determine the maximum allocatable memory block now uses the appropriate OS specific calls to retrieve available virtual memory for the java process. In 32 bit environments this method now also searches for the maximum actually reservable amount of memory. Merge previously separate implementations for Linux/BSD/Solaris into a single method. Reviewed-by: jmasa, tamao ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 24ef5fb05e0f Author: johnc Date: 2013-03-29 13:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/24ef5fb05e0f 8010463: G1: Crashes with -UseTLAB and heap verification Summary: Some parts of the G1 heap can only be walked during a safepoint. Skip verifying these parts of the heap when verifying during JVM startup. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/thread.cpp + test/gc/TestVerifyBeforeGCDuringStartup.java Changeset: 8bf6338972ce Author: ehelin Date: 2013-03-23 09:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8bf6338972ce 8009408: gc/metaspace/ClassMetaspaceSizeInJmapHeap.java fails with "exit code 1" Reviewed-by: brutisso, sla, ctornqvi ! test/gc/metaspace/ClassMetaspaceSizeInJmapHeap.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolLauncher.java Changeset: cc5b5976d72c Author: tschatzl Date: 2013-04-02 10:03 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cc5b5976d72c 8005857: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose Summary: Use GC_locker::is_active_and_needs_gc() instead of GC_locker::is_active() for providing information about the reason of heap expansion. Reviewed-by: jmasa, johnc ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Changeset: 15c04fe93c18 Author: mgerdin Date: 2013-04-03 09:19 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/15c04fe93c18 Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/os/linux/vm/os_linux.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp - test/runtime/8007736/TestStaticIF.java Changeset: 0c039865ef2b Author: mgerdin Date: 2013-04-04 19:07 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0c039865ef2b Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 46f6f063b272 Author: roland Date: 2013-03-21 09:27 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/46f6f063b272 7153771: array bound check elimination for c1 Summary: when possible optimize out array bound checks, inserting predicates when needed. Reviewed-by: never, kvn, twisti Contributed-by: thomaswue ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp + src/share/vm/c1/c1_RangeCheckElimination.cpp + src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/globals.hpp Changeset: a57fc14f798a Author: roland Date: 2013-03-21 22:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a57fc14f798a Merge Changeset: e370f63dc5b1 Author: bharadwaj Date: 2013-03-22 07:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e370f63dc5b1 8009539: JVM crash when run lambda testng tests Summary: Ensure class pointer is non-null before dereferencing it to check if it is loaded. Reviewed-by: kvn ! src/share/vm/opto/parse2.cpp Changeset: 360ce06580b8 Author: bharadwaj Date: 2013-03-22 13:35 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/360ce06580b8 Merge Changeset: 3c786355ffb4 Author: morris Date: 2013-03-23 06:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3c786355ffb4 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Summary: add guarantee() to nmethod constructor and checks to ensure CodeCache has space before allocation Reviewed-by: kvn ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp Changeset: 818a1ac7da7a Author: morris Date: 2013-03-24 12:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/818a1ac7da7a Merge Changeset: 16885e702c88 Author: twisti Date: 2013-03-25 17:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/16885e702c88 7198429: need checked categorization of caller-sensitive methods in the JDK Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp Changeset: b808febcad9a Author: neliasso Date: 2013-03-26 10:05 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b808febcad9a 8010281: Remove code that is never executed Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/ifg.cpp Changeset: 30f42e691e70 Author: kvn Date: 2013-03-26 12:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/30f42e691e70 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address Summary: always transform AddP nodes in IdealKit by calling _gvn.transform(). Reviewed-by: roland, twisti ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/phaseX.cpp Changeset: d595e8ddadd9 Author: roland Date: 2013-03-29 17:25 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d595e8ddadd9 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" Summary: incorrect code to skip some ArrayLength instructions in LIRGenerator Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp Changeset: cd9ad42dfde0 Author: bharadwaj Date: 2013-03-29 20:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cd9ad42dfde0 Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/globals.hpp Changeset: 6b19fe41b577 Author: kmo Date: 2013-03-30 08:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6b19fe41b577 8011009: Use do-while(0) instead of while(0) in EC_TRACE and RC_TRACE* macros Summary: Improve EC_TRACE and RC_TRACE* to use the do-while(0) trick for statement-like macro Reviewed-by: sspitsyn, dcubed ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp Changeset: 53028d751155 Author: neliasso Date: 2013-04-02 09:30 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/53028d751155 7034299: Faulty winsock initialization code Reviewed-by: dholmes, sla, ctornqvi ! src/os/windows/vm/os_windows.cpp Changeset: e961c11b85fe Author: kvn Date: 2013-04-03 11:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e961c11b85fe 8011102: Clear AVX registers after return from JNI call Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors. Reviewed-by: roland ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/bsd_x86/vm/bsd_x86_64.ad ! src/os_cpu/linux_x86/vm/linux_x86_64.ad ! src/os_cpu/solaris_x86/vm/solaris_x86_64.ad ! src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 0a8c2ea3902d Author: rasbold Date: 2013-04-03 15:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0a8c2ea3902d 8010437: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset Summary: Fix shorten_branches() to accurately count an initial nop that may be inserted in a block that starts with a safepoint. Reviewed-by: kvn ! src/share/vm/opto/output.cpp Changeset: 70c52efb2cbd Author: neliasso Date: 2013-04-04 09:18 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/70c52efb2cbd 8006008: Memory leak in hotspot/src/share/vm/adlc/archDesc.cpp Reviewed-by: roland, kvn Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/archDesc.cpp Changeset: 6c4abd4a9595 Author: roland Date: 2013-04-04 09:33 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6c4abd4a9595 8010399: Test8009761.java "Failed: init recursive calls: 5498. After deopt 5494". Summary: test from 8009761 shouldn't be run with -Xcomp Reviewed-by: kvn ! test/compiler/8009761/Test8009761.java Changeset: 9125a548c1eb Author: roland Date: 2013-04-04 02:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9125a548c1eb Merge Changeset: 573cf206e381 Author: neliasso Date: 2013-04-04 09:30 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/573cf206e381 8006014: Memory leak in hotspot/src/share/vm/adlc/dfa.cpp Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/dfa.cpp Changeset: bab5cbf74b5f Author: kvn Date: 2013-04-04 12:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bab5cbf74b5f 8011198: LP64 setting is not preserved on Solaris after 8006965 Summary: Fixed incremental build makefiles generated by buildtree.make. Consolidated unix build.sh. Reviewed-by: twisti - make/bsd/build.sh ! make/bsd/makefiles/buildtree.make + make/build.sh - make/linux/build.sh ! make/linux/makefiles/buildtree.make - make/solaris/build.sh ! make/solaris/makefiles/buildtree.make ! src/os/posix/launcher/launcher.script Changeset: 0ca3dd0ffaba Author: bharadwaj Date: 2013-04-04 17:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0ca3dd0ffaba Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/globals.hpp Changeset: a947f40fb536 Author: amurillo Date: 2013-04-04 21:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a947f40fb536 Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh Changeset: 42fe530cd478 Author: amurillo Date: 2013-04-04 21:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/42fe530cd478 Added tag hs25-b26 for changeset a947f40fb536 ! .hgtags Changeset: 1f66925f54d8 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-20 08:36 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1f66925f54d8 Merged hotspot up to jdk8-b85 (Hotspot build hs25-b26) ! .hgtags ! make/Makefile - make/bsd/build.sh ! make/defs.make - make/linux/build.sh ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/mapfile-vers-debug - make/solaris/build.sh - make/test/Queens.java - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_version.cpp - test/runtime/8007736/TestStaticIF.java Changeset: 7932538a0cc0 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-20 08:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7932538a0cc0 Added changes to aarch64 code for merge up to jdk8-b85 ! src/cpu/aarch64/vm/c1_CodeStubs_aarch64.cpp ! src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp ! src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp ! src/cpu/aarch64/vm/c1_LinearScan_aarch64.cpp ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp ! src/cpu/aarch64/vm/c1_globals_aarch64.hpp ! src/cpu/aarch64/vm/frame_aarch64.cpp ! src/cpu/aarch64/vm/frame_aarch64.hpp ! src/cpu/aarch64/vm/frame_aarch64.inline.hpp ! src/cpu/aarch64/vm/macroAssembler_aarch64.cpp ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp ! src/os_cpu/linux_aarch64/vm/globals_linux_aarch64.hpp ! src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp ! src/share/vm/code/stubs.cpp From ptisnovs at redhat.com Fri Sep 20 08:48:54 2013 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 20 Sep 2013 11:48:54 -0400 (EDT) Subject: [aarch64-port-dev ] Another AArch64 reproducer - jvmtiEnv->ForceEarlyReturn*() called from JVM TI agent cause HS crash Message-ID: <1691444888.18070325.1379692134417.JavaMail.root@redhat.com> Hi Andrew, here's another AArch64 reproducer which uses jvmtiEnv->ForceEarlyReturn*() functionality from JVM TI interface. The reproducer is not complicated: 1) JVM TI agent setup breakpoints for all methods in Test33.java class which have name appropriate to regexp *method(). I used the easiest solution so please don't add/remove any lines in Test33.java, because line numbers are hardcoded in the agent in the array breakpoints. 2) breakpoints are set to the second line/second statement on all those methods. 3) Test33 is started and JVM TI agent is connected to JVM on startup. 4) when some breakpoint is reached, the corresponding jvmtiEnv->ForceEarlyReturn*() function is called (there are six functions depending of the type which is to be returned) 5) -> only first line/statement of each method should be executed, but in case of AArch64 JVM I got a HS crash (similar when I used JDWP instead of JVM TI). Please note that you would need to update the script compile.sh and test_aarch64.sh because there's a need to set a proper path to AArch64 JDK. Cheers, Pavel From edward.nevill at linaro.org Fri Sep 20 09:01:51 2013 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 20 Sep 2013 17:01:51 +0100 Subject: [aarch64-port-dev ] RFR: A couple of build fixes Message-ID: <1379692911.17280.4.camel@localhost.localdomain> Hi, Below are fixes for a couple of build problems. 1) make zero cross build work again 2) make self hosted build work on RTSM model. OK to push? Ed. --- CUT HERE --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1379689177 -3600 # Fri Sep 20 15:59:37 2013 +0100 # Node ID 731e43d74e37ccb378cd52fd426f1c321ed1295f # Parent 7932538a0cc016e721449ede2ca511a953f20e81 Make zero cross compile build work again diff -r 7932538a0cc0 -r 731e43d74e37 make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Fri Sep 20 08:39:00 2013 +0100 +++ b/make/linux/makefiles/gcc.make Fri Sep 20 15:59:37 2013 +0100 @@ -239,6 +239,7 @@ DEBUG_CFLAGS/aarch64 = -g DEBUG_CFLAGS/arm = -g DEBUG_CFLAGS/ppc = -g + DEBUG_CFLAGS/zero = -g DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),) DEBUG_CFLAGS += -gstabs @@ -250,6 +251,7 @@ FASTDEBUG_CFLAGS/aarch64 = -g FASTDEBUG_CFLAGS/arm = -g FASTDEBUG_CFLAGS/ppc = -g + FASTDEBUG_CFLAGS/zero = -g FASTDEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),) FASTDEBUG_CFLAGS += -gstabs @@ -260,6 +262,7 @@ OPT_CFLAGS/aarch64 = -g OPT_CFLAGS/arm = -g OPT_CFLAGS/ppc = -g + OPT_CFLAGS/zero = -g OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH)) ifeq ($(OPT_CFLAGS/$(BUILDARCH)),) OPT_CFLAGS += -gstabs diff -r 7932538a0cc0 -r 731e43d74e37 src/cpu/zero/vm/globals_zero.hpp --- a/src/cpu/zero/vm/globals_zero.hpp Fri Sep 20 08:39:00 2013 +0100 +++ b/src/cpu/zero/vm/globals_zero.hpp Fri Sep 20 15:59:37 2013 +0100 @@ -57,6 +57,12 @@ // GC Ergo Flags define_pd_global(intx, CMSYoungGenPerWorker, 16*M); // default max size of CMS young gen, per GC worker thread +#ifdef AARCH64 +// This is declared as _pd for AARCH64 only in globals.hpp +// so must match with definition here. +define_pd_global(bool, UseBiasedLocking, false); +#endif + #define ARCH_FLAGS(develop, product, diagnostic, experimental, notproduct) #endif // CPU_ZERO_VM_GLOBALS_ZERO_HPP --- CUT HERE --- --- CUT HERE --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1379692792 -3600 # Fri Sep 20 16:59:52 2013 +0100 # Node ID 1ad828f81a1b51c724a02d4e107824dddb4242ec # Parent e9b5be85ca1dfbe9b2ead47614705d341c35183b Fix self hosted build on RTSM model diff -r e9b5be85ca1d -r 1ad828f81a1b common/autoconf/build-aux/autoconf-config.guess --- a/common/autoconf/build-aux/autoconf-config.guess Fri Aug 16 12:12:19 2013 +0100 +++ b/common/autoconf/build-aux/autoconf-config.guess Fri Sep 20 16:59:52 2013 +0100 @@ -989,6 +989,9 @@ x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; + aarch64:Linux:*:*) + echo aarch64-unknown-linux-gnu + exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; --- CUT HERE --- From ed at camswl.com Fri Sep 20 09:05:59 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 20 Sep 2013 16:05:59 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8: Fix self hosted build on RTSM model Message-ID: <20130920160559.4E19C629DE@hg.openjdk.java.net> Changeset: 1ad828f81a1b Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-20 16:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/1ad828f81a1b Fix self hosted build on RTSM model ! common/autoconf/build-aux/autoconf-config.guess From ed at camswl.com Fri Sep 20 09:05:14 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 20 Sep 2013 16:05:14 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Make zero cross compile build work again Message-ID: <20130920160521.C990C629DD@hg.openjdk.java.net> Changeset: 731e43d74e37 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-20 15:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/731e43d74e37 Make zero cross compile build work again ! make/linux/makefiles/gcc.make ! src/cpu/zero/vm/globals_zero.hpp From aph at redhat.com Sat Sep 21 02:27:35 2013 From: aph at redhat.com (Andrew Haley) Date: Sat, 21 Sep 2013 10:27:35 +0100 Subject: [aarch64-port-dev ] RFR: A couple of build fixes In-Reply-To: <1379692911.17280.4.camel@localhost.localdomain> References: <1379692911.17280.4.camel@localhost.localdomain> Message-ID: <523D6687.9090707@redhat.com> On 09/20/2013 05:01 PM, Edward Nevill wrote: > OK to push? Yes, thanks. Andrew. From adinn at redhat.com Mon Sep 23 08:26:45 2013 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 23 Sep 2013 16:26:45 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <523B1FDB.8000703@redhat.com> References: <523B1FDB.8000703@redhat.com> Message-ID: <52405DB5.7030302@redhat.com> I pulled down the recent arraycopy fixes as I worked out that the problems I have been seeing in C2 are related to array copying. There is one aspect of the fix which is a problem. > diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp > --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 > +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 11:18:32 2013 +0100 > . . . > @@ -2488,7 +2489,13 @@ > bool aligned = (flags & LIR_OpArrayCopy::unaligned) == 0; > const char *name; > address entry = StubRoutines::select_arraycopy_function(basic_type, aligned, disjoint, name, false); > - __ call_VM_leaf(entry, 3); > + > + CodeBlob *cb = CodeCache::find_blob(entry); > + if (cb) { > + __ bl(RuntimeAddress(entry)); > + } else { > + __ call_VM_leaf(entry, 3); > + } > > __ bind(*stub->continuation()); > } This is breaking C2 because it mixes up the calling convention for the arraycopy function returned by select_arraycopy_function -- sometimes calling it as (generated) ARM code and sometimes as an x86 compiled C++ function (the combination of a bl call with a RuntimeAddress argument is an error waiting to happen). This happens because the C2 compiler manages planting of runtime calls in generic code and always asks the backend generator to plant an x86 call to whatever address it decides is appropriate. So, when select_arraycopy_function returns a pointer to generated ARM code C2 ends up trying to call it as x86 code. A hack to fix this would be to add a find_blob call to the backend generator (as per the code shown above) and have the back end plant the required type of call. A proper fix is to make the generated ARM blobs x86 callable so they get called using a kosher runtime call in both C1 and C2. That requires adding __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); at the start of StubGenerator methods generate_disjoint_copy(), generate_conjoint_copy() and generate_checkcast_copy(). It also requires changing the code above to remove the if/then clauses and only make the VM_leaf call plus reverting some similar call in c1_LIRAssembler (to the generic copy routine) back to a VM_leaf call. This restores both calls to be as per the equivalent x86 code. The patch below fixes this problem in C2 by making the stubs x86 callable. C2 now runs through a full javac of Hello.java with this patch. It also runs javac to completion when using TieredCompilation. I still need to rebuild a C1 only build and ensure that C1 can run javac HelloWorld on its own. If it works I will check in the patch below. regards, Andrew Dinn ----------- diff -r fdbe037fccad src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 18:19:30 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Mon Sep 23 16:09:16 2013 +0100 @@ -2379,7 +2379,7 @@ __ load_klass(c_rarg4, dst); __ ldr(c_rarg4, Address(c_rarg4, ObjArrayKlass::element_klass_offset())); __ ldrw(c_rarg3, Address(c_rarg4, Klass::super_check_offset_offset())); - __ call(RuntimeAddress(copyfunc_addr)); + __ call_VM_leaf(copyfunc_addr, 5); #ifndef PRODUCT if (PrintC1Statistics) { @@ -2491,12 +2491,7 @@ const char *name; address entry = StubRoutines::select_arraycopy_function(basic_type, aligned, disjoint, name, false); - CodeBlob *cb = CodeCache::find_blob(entry); - if (cb) { - __ bl(RuntimeAddress(entry)); - } else { - __ call_VM_leaf(entry, 3); - } + __ call_VM_leaf(entry, 3); __ bind(*stub->continuation()); } diff -r fdbe037fccad src/cpu/aarch64/vm/stubGenerator_aarch64.cpp --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 19 18:19:30 2013 +0100 +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Mon Sep 23 16:09:16 2013 +0100 @@ -1120,6 +1120,9 @@ __ align(CodeEntryAlignment); StubCodeMark mark(this, "StubRoutines", name); address start = __ pc(); + // this buffer needs to be x86_callable + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); + __ align(CodeEntryAlignment); if (entry != NULL) { *entry = __ pc(); // caller can pass a 64-bit byte count here (from Unsafe.copyMemory) @@ -1170,6 +1173,10 @@ StubCodeMark mark(this, "StubRoutines", name); address start = __ pc(); + // this buffer needs to be x86_callable + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); + __ align(CodeEntryAlignment); + __ cmp(d, s); __ br(Assembler::LS, nooverlap_target); @@ -1484,6 +1491,7 @@ __ align(CodeEntryAlignment); StubCodeMark mark(this, "StubRoutines", name); address start = __ pc(); + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_integral); __ enter(); // required for proper stackwalking of RuntimeStub frame From adinn at redhat.com Mon Sep 23 09:18:53 2013 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 23 Sep 2013 17:18:53 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <52405DB5.7030302@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> Message-ID: <524069ED.9040606@redhat.com> minor correcto On 23/09/13 16:26, Andrew Dinn wrote: > I pulled down the recent arraycopy fixes as I worked out that the > problems I have been seeing in C2 are related to array copying. There is > one aspect of the fix which is a problem. > >> diff -r 423577eb8f6e -r 7c900775ce48 src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp >> --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Fri Sep 13 18:22:52 2013 +0100 >> +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 11:18:32 2013 +0100 >> . . . >> @@ -2488,7 +2489,13 @@ >> bool aligned = (flags & LIR_OpArrayCopy::unaligned) == 0; >> const char *name; >> address entry = StubRoutines::select_arraycopy_function(basic_type, aligned, disjoint, name, false); >> - __ call_VM_leaf(entry, 3); >> + >> + CodeBlob *cb = CodeCache::find_blob(entry); >> + if (cb) { >> + __ bl(RuntimeAddress(entry)); >> + } else { >> + __ call_VM_leaf(entry, 3); >> + } >> >> __ bind(*stub->continuation()); >> } > > This is breaking C2 because it mixes up the calling convention for the > arraycopy function returned by select_arraycopy_function -- sometimes > calling it as (generated) ARM code and sometimes as an x86 compiled C++ > function (the combination of a bl call with a RuntimeAddress argument is > an error waiting to happen). > > This happens because the C2 compiler manages planting of runtime calls > in generic code and always asks the backend generator to plant an x86 > call to whatever address it decides is appropriate. So, when > select_arraycopy_function returns a pointer to generated ARM code C2 > ends up trying to call it as x86 code. > > A hack to fix this would be to add a find_blob call to the backend > generator (as per the code shown above) and have the back end plant the > required type of call. A proper fix is to make the generated ARM blobs > x86 callable so they get called using a kosher runtime call in both C1 > and C2. > > That requires adding > > __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); > oops, for generate_checkcast_copy() the required call is __ c_stub_prolog(5, 0, MacroAssembler::ret_type_integral); since it has two extra arguments and returns a 0 or 1 result > at the start of StubGenerator methods generate_disjoint_copy(), > generate_conjoint_copy() and generate_checkcast_copy(). It also requires > changing the code above to remove the if/then clauses and only make the > VM_leaf call plus reverting some similar call in c1_LIRAssembler (to the > generic copy routine) back to a VM_leaf call. This restores both calls > to be as per the equivalent x86 code. > > The patch below fixes this problem in C2 by making the stubs x86 > callable. C2 now runs through a full javac of Hello.java with this > patch. It also runs javac to completion when using TieredCompilation. > > I still need to rebuild a C1 only build and ensure that C1 can run javac > HelloWorld on its own. If it works I will check in the patch below. > > > regards, > > > Andrew Dinn > ----------- > > diff -r fdbe037fccad src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp > --- a/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Thu Sep 19 18:19:30 > 2013 +0100 > +++ b/src/cpu/aarch64/vm/c1_LIRAssembler_aarch64.cpp Mon Sep 23 16:09:16 > 2013 +0100 > @@ -2379,7 +2379,7 @@ > __ load_klass(c_rarg4, dst); > __ ldr(c_rarg4, Address(c_rarg4, > ObjArrayKlass::element_klass_offset())); > __ ldrw(c_rarg3, Address(c_rarg4, > Klass::super_check_offset_offset())); > - __ call(RuntimeAddress(copyfunc_addr)); > + __ call_VM_leaf(copyfunc_addr, 5); > > #ifndef PRODUCT > if (PrintC1Statistics) { > @@ -2491,12 +2491,7 @@ > const char *name; > address entry = StubRoutines::select_arraycopy_function(basic_type, > aligned, disjoint, name, false); > > - CodeBlob *cb = CodeCache::find_blob(entry); > - if (cb) { > - __ bl(RuntimeAddress(entry)); > - } else { > - __ call_VM_leaf(entry, 3); > - } > + __ call_VM_leaf(entry, 3); > > __ bind(*stub->continuation()); > } > diff -r fdbe037fccad src/cpu/aarch64/vm/stubGenerator_aarch64.cpp > --- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Thu Sep 19 18:19:30 > 2013 +0100 > +++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp Mon Sep 23 16:09:16 > 2013 +0100 > @@ -1120,6 +1120,9 @@ > __ align(CodeEntryAlignment); > StubCodeMark mark(this, "StubRoutines", name); > address start = __ pc(); > + // this buffer needs to be x86_callable > + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); > + __ align(CodeEntryAlignment); > if (entry != NULL) { > *entry = __ pc(); > // caller can pass a 64-bit byte count here (from Unsafe.copyMemory) > @@ -1170,6 +1173,10 @@ > StubCodeMark mark(this, "StubRoutines", name); > address start = __ pc(); > > + // this buffer needs to be x86_callable > + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); > + __ align(CodeEntryAlignment); > + > __ cmp(d, s); > __ br(Assembler::LS, nooverlap_target); > > @@ -1484,6 +1491,7 @@ > __ align(CodeEntryAlignment); > StubCodeMark mark(this, "StubRoutines", name); > address start = __ pc(); > + __ c_stub_prolog(3, 0, MacroAssembler::ret_type_integral); > > __ enter(); // required for proper stackwalking of RuntimeStub frame > > > > -- regards, Andrew Dinn ----------- Principal Software Engineer Red Hat UK Ltd Registered in UK and Wales under Company Registration No. 3798903 Directors: Michael Cunningham (USA), Mark Hegarty (Ireland), Matt Parson (USA), Charlie Peters (USA) From aph at redhat.com Mon Sep 23 09:58:29 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 23 Sep 2013 17:58:29 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <52405DB5.7030302@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> Message-ID: <52407335.6030707@redhat.com> On 09/23/2013 04:26 PM, Andrew Dinn wrote: > That requires adding > > __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); > > at the start of StubGenerator methods generate_disjoint_copy(), > generate_conjoint_copy() and generate_checkcast_copy(). It also requires > changing the code above to remove the if/then clauses and only make the > VM_leaf call plus reverting some similar call in c1_LIRAssembler (to the > generic copy routine) back to a VM_leaf call. This restores both calls > to be as per the equivalent x86 code. > > The patch below fixes this problem in C2 by making the stubs x86 > callable. Oh yuck, that's disgusting. Is there really no way that C2 can't just do what C1 does, and call via an x86 thunk only if it's absolutely necessary? The arraycopy function should always be ARM code. I'll grant ypu that it should not be an ExternalAddress -- that's just a mistake. Andrew. From adinn at redhat.com Mon Sep 23 10:23:04 2013 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 23 Sep 2013 18:23:04 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <52407335.6030707@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> <52407335.6030707@redhat.com> Message-ID: <524078F8.8030000@redhat.com> On 23/09/13 17:58, Andrew Haley wrote: > On 09/23/2013 04:26 PM, Andrew Dinn wrote: >> That requires adding >> >> __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); >> >> at the start of StubGenerator methods generate_disjoint_copy(), >> generate_conjoint_copy() and generate_checkcast_copy(). It also requires >> changing the code above to remove the if/then clauses and only make the >> VM_leaf call plus reverting some similar call in c1_LIRAssembler (to the >> generic copy routine) back to a VM_leaf call. This restores both calls >> to be as per the equivalent x86 code. >> >> The patch below fixes this problem in C2 by making the stubs x86 >> callable. > > Oh yuck, that's disgusting. Is there really no way that C2 can't just > do what C1 does, and call via an x86 thunk only if it's absolutely > necessary? > > The arraycopy function should always be ARM code. I'll grant > ypu that it should not be an ExternalAddress -- that's just a > mistake. Well, it is a tad yucky but so is adding the code blob lookup to the back end generator for CallRuntime (to anyone comparing the code to the x86 version it not exactly very clear why we would be doing that). This solution also avoids doing this codeblob lookup for every runtime call -- unlike C1, where the lookup only happens when planting an arraycopy. That's not an issue when running on the sime but it slows us down on real hardware. My main preference for this is that it means the code is now written the way it will need to be once we decommision the sim. I would rather not have to remember to take the lookup out and also revert the other calls I changed in the posted diff. It will always be easy to spot and remove the c_stub_prolog and blrt calls if/when we finally decide to decommision the sim but leaving the above changes for later means someone has to remember why the workaround code is there and recall how/that it can be taken out. regards, Andrew Dinn ----------- From adinn at redhat.com Mon Sep 23 10:35:02 2013 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 23 Sep 2013 18:35:02 +0100 Subject: [aarch64-port-dev ] Another Milestone: C2 compiler now runs javac! Message-ID: <52407BC6.8000708@redhat.com> After a small tweak to the arraycopy fixes Andrew introduced last week I can now run javac on Hello.java to completion with all methods compiled by C2! Attached below my sig are timings for 6 different javac runs (well, 12 -- 2 runs for each case) for the possible combinations of interpreted, C1 compiled and C2 compiled. They probably don't mean too much until we adjust the invocation thresholds but it's nice that we are in a position to do that now :-). The pairs of timings are for the following configurations: running with -Xcomp (always compile methods) combined with either exclusively C1 exclusively C2 tiered (compile with C1 but recompile hot methods with C2) running with --Xmixed (interpret then compile hot methods) with exclusively C1 exclusively C2 tiered I have not yet pulled down into my tree Ed's updates to take hotspot up to b85. So, the push of my fixes will happen once I have assimilated those changes. regards, Andrew Dinn ----------- [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xcomp Hello.java real 1m54.973s user 1m59.059s sys 0m3.066s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xcomp Hello.java real 1m53.041s user 1m57.160s sys 0m3.167s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-client-slowdebug/images/j2sdk-image/bin/javac -J-client -J-Xcomp Hello.java real 1m39.451s user 1m41.260s sys 0m2.440s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-client-slowdebug/images/j2sdk-image/bin/javac -J-client -J-Xcomp Hello.java real 1m38.437s user 1m40.204s sys 0m2.207s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xcomp -J-XX:+TieredCompilation Hello.java real 3m1.810s user 3m4.430s sys 0m1.688s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xcomp -J-XX:+TieredCompilation Hello.java real 3m3.156s user 3m5.551s sys 0m1.201s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xmixed -J-XX:-TieredCompilation Hello.java real 2m14.487s user 2m20.234s sys 0m3.559s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xmixed -J-XX:-TieredCompilation Hello.java real 2m12.304s user 2m17.191s sys 0m2.007s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-client-slowdebug/images/j2sdk-image/bin/javac -J-client -J-Xmixed Hello.java real 1m0.382s user 1m6.551s sys 0m2.317s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-client-slowdebug/images/j2sdk-image/bin/javac -J-client -J-Xmixed Hello.java real 1m0.278s user 1m6.340s sys 0m2.385s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xmixed -J-XX:+TieredCompilation Hello.java real 1m51.451s user 2m5.395s sys 0m2.422s [adinn at zenade jdk8-aarch64]$ time build/linux-aarch64-normal-server-slowdebug/images/j2sdk-image/bin/javac -J-server -J-Xmixed -J-XX:+TieredCompilation Hello.java real 1m46.543s user 2m2.328s sys 0m2.886s From aph at redhat.com Mon Sep 23 12:36:01 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 23 Sep 2013 20:36:01 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <524078F8.8030000@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> <52407335.6030707@redhat.com> <524078F8.8030000@redhat.com> Message-ID: <52409821.40908@redhat.com> On 09/23/2013 06:23 PM, Andrew Dinn wrote: > On 23/09/13 17:58, Andrew Haley wrote: >> On 09/23/2013 04:26 PM, Andrew Dinn wrote: >>> That requires adding >>> >>> __ c_stub_prolog(3, 0, MacroAssembler::ret_type_void); >>> >>> at the start of StubGenerator methods generate_disjoint_copy(), >>> generate_conjoint_copy() and generate_checkcast_copy(). It also requires >>> changing the code above to remove the if/then clauses and only make the >>> VM_leaf call plus reverting some similar call in c1_LIRAssembler (to the >>> generic copy routine) back to a VM_leaf call. This restores both calls >>> to be as per the equivalent x86 code. >>> >>> The patch below fixes this problem in C2 by making the stubs x86 >>> callable. >> >> Oh yuck, that's disgusting. Is there really no way that C2 can't just >> do what C1 does, and call via an x86 thunk only if it's absolutely >> necessary? >> >> The arraycopy function should always be ARM code. I'll grant >> you that it should not be an ExternalAddress -- that's just a >> mistake. > > Well, it is a tad yucky but so is adding the code blob lookup to the > back end generator for CallRuntime Hmm. IMO that it exactly what you should do. > (to anyone comparing the code to the x86 version it not exactly very > clear why we would be doing that). This solution also avoids doing > this codeblob lookup for every runtime call -- unlike C1, where the > lookup only happens when planting an arraycopy. I don't get it. If you're calling a stub, it's either implemented as generated ARM code, in which case you can call it via BL, or it's native code, in which case you can't because BL won't reach. Doing the code blob lookup doesn't hurt at all. > That's not an issue when running on the sime but it slows us down on > real hardware. > > My main preference for this is that it means the code is now written the > way it will need to be once we decommision the sim. Why? It doesn't need to be changed. > I would rather not have to remember to take the lookup out So would I. There's no need to take it out. It's fine, and will always be. Andrew. From adinn at redhat.com Tue Sep 24 01:22:30 2013 From: adinn at redhat.com (Andrew Dinn) Date: Tue, 24 Sep 2013 09:22:30 +0100 Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <52409821.40908@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> <52407335.6030707@redhat.com> <524078F8.8030000@redhat.com> <52409821.40908@redhat.com> Message-ID: <52414BC6.8060907@redhat.com> On 23/09/13 20:36, Andrew Haley wrote: >>> The arraycopy function should always be ARM code. I'll grant >>> you that it should not be an ExternalAddress -- that's just a >>> mistake. Ah, I think I should have read what you wrote here more carefully. > I don't get it. If you're calling a stub, it's either implemented as > generated ARM code, in which case you can call it via BL, or it's > native code, in which case you can't because BL won't reach. Doing > the code blob lookup doesn't hurt at all. Ok, I see what you are saying now. The codeblob lookup allows you to use a relative branch, avoiding having to load an absolute address. That more than justifies any cost associated with doing the lookup. I will drop my proposed changes and do the same as you in the C2 back end. regards, Andrew Dinn ----------- From adinn at redhat.com Fri Sep 27 04:35:22 2013 From: adinn at redhat.com (adinn at redhat.com) Date: Fri, 27 Sep 2013 11:35:22 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 2 new changesets Message-ID: <20130927113537.3466862B6B@hg.openjdk.java.net> Changeset: f56ae2c42b1c Author: adinn Date: 2013-09-24 18:06 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f56ae2c42b1c make C2 runtime calls to generated code branch using bl rather than blrt ! src/cpu/aarch64/vm/aarch64.ad Changeset: 9719d9a2649a Author: adinn Date: 2013-09-27 12:34 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9719d9a2649a added testP/N to compare against object NULL directly against zr these rules match the case where a pointer is being compared to the special constant NULL. they avoid unnecessary loadConP0/N0 to supply the CmpP/N node with a null value in a register, instead upplying zr as a direct argument to the compare. this change is not just to achieve a performance improvement. it also bypasses a problem where the loadConP0/N0 node becomes dead but does not get removed by the dead node deletion algorithm. this problem manifested after pulling in recent changes to the loopopt code (between b81 and b85). it occurs during bootstrap in the presence of complex inlining into java.lang.ClassLoader.getSystemClassLoader() and so is hard to pin down. so I think we may see this again. ! src/cpu/aarch64/vm/aarch64.ad From edward.nevill at linaro.org Fri Sep 27 07:10:39 2013 From: edward.nevill at linaro.org (Edward Nevill) Date: Fri, 27 Sep 2013 15:10:39 +0100 Subject: [aarch64-port-dev ] Merge up to jdk8-b90 Message-ID: <1380291039.23286.35.camel@localhost.localdomain> Hi, The attached changesets merge the aarch64 port up to jdk8-b90. jdk8-b90 is the first 'fully functional' tag according to Oracle, so is a good point to merge to. Hopefully after b90 the changes should start getting less. I have built Zero, C1 & C2 and tested as follows:- Cross compilation builds, tested on the RTSM model:- client-release jtreg/hotspot(255/6/0) client-release jtreg/langtools(2668/16/31) client-fastdebug jtreg/hotspot(255/6/0) zero-release jtreg/hotspot(246/3/12) server-fastdebug (queens OK, jdhrystone FAIL, ecm sieve,loop,logic,float,method OK string FAIL) The numbers in brackets show tests (PASSED/FAILED/Error) respectively for jtreg. Builtin simulator builds:- client-release jtreg/hotspot(239/10/26) client-slowdebug (eembc-grinderbench OK) server-slowdebug (jdhrystone OK, ecm sieve,loop,logic,float,method OK string FAIL) For comparison here are the x86 c1 results for the same branch tag (b90). X86 builds:- client-release jtreg/hotspot(255/6/0) client-release jtreg/langtools(2673/16/26) The results are identical for hotspot and very similar for langtools, a few more errors, possibly due to timeouts or misconfigurations. Most importantly, no segfaults/other fatal failures in C1. Because of the size of the merge changesets (>19Mb) I have not posted them inline. Instead I have put them on the web at http://people.linaro.org/~edward.nevill/b90/corba.diff http://people.linaro.org/~edward.nevill/b90/hotspot.diff http://people.linaro.org/~edward.nevill/b90/jaxp.diff http://people.linaro.org/~edward.nevill/b90/jdk.diff http://people.linaro.org/~edward.nevill/b90/jdk8.diff http://people.linaro.org/~edward.nevill/b90/langtools.diff http://people.linaro.org/~edward.nevill/b90/nashorn.diff http://people.linaro.org/~edward.nevill/b90/jaxws.diff A gzip file containing all theses diffs may be downloaed from http://people.linaro.org/~edward.nevill/b90.tgz The changesets below are the changes to the aarch64 specific code to bring it in line with the merge up to b90. OK to push? Ed. --- CUT HERE (jdk8 changeset) --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1380284589 -3600 # Fri Sep 27 13:23:09 2013 +0100 # Node ID d9e6ebc7ed59b3209c2a9f07b4a0a79ecc59cb7a # Parent 1ff9aba7c951ff57d519a6f1b45001236a247282 Tweak aarch64 build flags in line with jdk8-b90 diff -r 1ff9aba7c951 -r d9e6ebc7ed59 common/autoconf/platform.m4 --- a/common/autoconf/platform.m4 Fri Sep 27 11:00:18 2013 +0100 +++ b/common/autoconf/platform.m4 Fri Sep 27 13:23:09 2013 +0100 @@ -339,9 +339,6 @@ fi AC_SUBST(DEFINE_CROSS_COMPILE_ARCH) - ;; - aarch64) - ZERO_ARCHFLAG="" # ZERO_ARCHDEF is used to enable architecture-specific code case "${OPENJDK_TARGET_CPU}" in ppc*) ZERO_ARCHDEF=PPC ;; diff -r 1ff9aba7c951 -r d9e6ebc7ed59 common/autoconf/toolchain.m4 --- a/common/autoconf/toolchain.m4 Fri Sep 27 11:00:18 2013 +0100 +++ b/common/autoconf/toolchain.m4 Fri Sep 27 13:23:09 2013 +0100 @@ -1076,6 +1076,9 @@ s390) ZERO_ARCHFLAG="-m31" ;; + aarch64) + ZERO_ARCHFLAG="" + ;; *) ZERO_ARCHFLAG="-m${OPENJDK_TARGET_CPU_BITS}" esac --- CUT HERE --- --- CUT HERE (jdk changeset) --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1380284741 -3600 # Fri Sep 27 13:25:41 2013 +0100 # Node ID eb4c2c3e5f7c19dcce8ae78f9d32092e7f2ca9ab # Parent 272afbf274da0e7daa1b3c6cebcd7a211fe57499 Tweak build flags in line with jdk8-b90 diff -r 272afbf274da -r eb4c2c3e5f7c make/jdk_generic_profile.sh --- a/make/jdk_generic_profile.sh Fri Sep 27 11:15:51 2013 +0100 +++ b/make/jdk_generic_profile.sh Fri Sep 27 13:25:41 2013 +0100 @@ -327,6 +327,9 @@ s390) ZERO_ARCHFLAG="-m31" ;; + aarch64) + ZERO_ARCHFLAG="" + ;; *) ZERO_ARCHFLAG="-m${ARCH_DATA_MODEL}" esac --- CUT HERE --- --- CUT HERE (hotspot changeset) --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1380284861 -3600 # Fri Sep 27 13:27:41 2013 +0100 # Node ID 268348f09dae7e10e5c86ea708d4bcdff74accf2 # Parent 707ad5ec9049670ed22d89254795cc59d8564f07 Update aarch64 specific code to make it work with jdk8-b90 diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/aarch64.ad Fri Sep 27 13:27:41 2013 +0100 @@ -1443,50 +1443,6 @@ //============================================================================= -// size of call stub, compiled java to interpretor -uint size_java_to_interp() -{ - // count a mov mem --> to 4 movz/k and a branch - return 6 * NativeInstruction::instruction_size; -} - -// emit call stub, compiled java to interpreter -void emit_java_to_interp(CodeBuffer& cbuf, address mark) -{ - // Stub is fixed up when the corresponding call is converted from - // calling compiled code to calling interpreted code. - // mov rmethod, zr - // here: - // b(here) # jump to self - - // mark is set by caller when planting the br to be relocated - - // Note that the code buffer's insts_mark is always relative to insts. - // That's why we must use the macroassembler to generate a stub. - MacroAssembler _masm(&cbuf); - - address base = __ start_a_stub(Compile::MAX_stubs_size); - - int offset = __ offset(); - if (base == NULL) return; // CodeBuffer::expand failed - // static stub relocation stores the instruction address of the call - __ relocate(static_stub_Relocation::spec(mark)); - // static stub relocation also tags the Method* in the code-stream. - __ mov_metadata(rmethod, (Metadata*)NULL); - __ b(__ pc()); - - assert((__ offset() - offset) <= (int)size_java_to_interp(), "stub too big"); - __ end_a_stub(); -} - -// relocation entries for call stub, compiled java to interpretor -uint reloc_java_to_interp() -{ - // TODO fixme - // return a large number - return 5; -} - uint size_exception_handler() { // count up to 4 movz/n/k instructions and one branch instruction @@ -2825,7 +2781,7 @@ if (_method) { // Emit stub for static call - emit_java_to_interp(cbuf, mark); + CompiledStaticCall::emit_to_interp_stub(cbuf, mark); } %} @@ -2853,7 +2809,7 @@ if (_method) { // Emit stub for static call - emit_java_to_interp(cbuf, mark); + CompiledStaticCall::emit_to_interp_stub(cbuf, mark); } // now restore sp diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp --- a/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -272,9 +272,6 @@ return generate_oop_map(sasm, save_fpu_registers); } -static void restore_fpu(StubAssembler* sasm, bool restore_fpu_registers = true) { Unimplemented(); } - - static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registers = true) { if (restore_fpu_registers) { for (int i = 0; i < 32; i += 2) diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/compiledIC_aarch64.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cpu/aarch64/vm/compiledIC_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -0,0 +1,182 @@ +/* + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#include "precompiled.hpp" +#include "asm/macroAssembler.inline.hpp" +#include "code/compiledIC.hpp" +#include "code/icBuffer.hpp" +#include "code/nmethod.hpp" +#include "memory/resourceArea.hpp" +#include "runtime/mutexLocker.hpp" +#include "runtime/safepoint.hpp" + +// Release the CompiledICHolder* associated with this call site is there is one. +void CompiledIC::cleanup_call_site(virtual_call_Relocation* call_site) { + // This call site might have become stale so inspect it carefully. + NativeCall* call = nativeCall_at(call_site->addr()); + if (is_icholder_entry(call->destination())) { + NativeMovConstReg* value = nativeMovConstReg_at(call_site->cached_value()); + InlineCacheBuffer::queue_for_release((CompiledICHolder*)value->data()); + } +} + +bool CompiledIC::is_icholder_call_site(virtual_call_Relocation* call_site) { + // This call site might have become stale so inspect it carefully. + NativeCall* call = nativeCall_at(call_site->addr()); + return is_icholder_entry(call->destination()); +} + +//----------------------------------------------------------------------------- +// High-level access to an inline cache. Guaranteed to be MT-safe. + +CompiledIC::CompiledIC(nmethod* nm, NativeCall* call) + : _ic_call(call) +{ + address ic_call = call->instruction_address(); + + assert(ic_call != NULL, "ic_call address must be set"); + assert(nm != NULL, "must pass nmethod"); + assert(nm->contains(ic_call), "must be in nmethod"); + + // Search for the ic_call at the given address. + RelocIterator iter(nm, ic_call, ic_call+1); + bool ret = iter.next(); + assert(ret == true, "relocInfo must exist at this address"); + assert(iter.addr() == ic_call, "must find ic_call"); + if (iter.type() == relocInfo::virtual_call_type) { + virtual_call_Relocation* r = iter.virtual_call_reloc(); + _is_optimized = false; + _value = nativeMovConstReg_at(r->cached_value()); + } else { + assert(iter.type() == relocInfo::opt_virtual_call_type, "must be a virtual call"); + _is_optimized = true; + _value = NULL; + } +} + +// ---------------------------------------------------------------------------- + +#define __ _masm. +void CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark) { + // Stub is fixed up when the corresponding call is converted from + // calling compiled code to calling interpreted code. + // movq rbx, 0 + // jmp -5 # to self + + // address mark = cbuf.insts_mark(); // Get mark within main instrs section. + + // Note that the code buffer's insts_mark is always relative to insts. + // That's why we must use the macroassembler to generate a stub. + MacroAssembler _masm(&cbuf); + + address base = __ start_a_stub(to_interp_stub_size()*2); + + int offset = __ offset(); + if (base == NULL) return; // CodeBuffer::expand failed + // static stub relocation stores the instruction address of the call + __ relocate(static_stub_Relocation::spec(mark)); + // static stub relocation also tags the Method* in the code-stream. + __ mov_metadata(rmethod, (Metadata*)NULL); + __ b(__ pc()); + + assert((__ offset() - offset) <= (int)to_interp_stub_size(), "stub too big"); + __ end_a_stub(); +} +#undef __ + +int CompiledStaticCall::to_interp_stub_size() { + // count a mov mem --> to 4 movz/k and a branch + return 6 * NativeInstruction::instruction_size; +} + +// Relocation entries for call stub, compiled java to interpreter. +int CompiledStaticCall::reloc_to_interp_stub() { + // TODO fixme + // return a large number + return 5; +} + +void CompiledStaticCall::set_to_interpreted(methodHandle callee, address entry) { + address stub = find_stub(); + guarantee(stub != NULL, "stub not found"); + + if (TraceICs) { + ResourceMark rm; + tty->print_cr("CompiledStaticCall@" INTPTR_FORMAT ": set_to_interpreted %s", + instruction_address(), + callee->name_and_sig_as_C_string()); + } + + // Creation also verifies the object. + NativeMovConstReg* method_holder = nativeMovConstReg_at(stub); + NativeJump* jump = nativeJump_at(method_holder->next_instruction_address()); + + assert(method_holder->data() == 0 || method_holder->data() == (intptr_t)callee(), + "a) MT-unsafe modification of inline cache"); + assert(jump->jump_destination() == (address)-1 || jump->jump_destination() == entry, + "b) MT-unsafe modification of inline cache"); + + // Update stub. + method_holder->set_data((intptr_t)callee()); + jump->set_jump_destination(entry); + + // Update jump to call. + set_destination_mt_safe(stub); +} + +void CompiledStaticCall::set_stub_to_clean(static_stub_Relocation* static_stub) { + assert (CompiledIC_lock->is_locked() || SafepointSynchronize::is_at_safepoint(), "mt unsafe call"); + // Reset stub. + address stub = static_stub->addr(); + assert(stub != NULL, "stub not found"); + // Creation also verifies the object. + NativeMovConstReg* method_holder = nativeMovConstReg_at(stub); + NativeJump* jump = nativeJump_at(method_holder->next_instruction_address()); + method_holder->set_data(0); + jump->set_jump_destination((address)-1); +} + +//----------------------------------------------------------------------------- +// Non-product mode code +#ifndef PRODUCT + +void CompiledStaticCall::verify() { + // Verify call. + NativeCall::verify(); + if (os::is_MP()) { + verify_alignment(); + } + + // Verify stub. + address stub = find_stub(); + assert(stub != NULL, "no stub found for static call"); + // Creation also verifies the object. + NativeMovConstReg* method_holder = nativeMovConstReg_at(stub); + NativeJump* jump = nativeJump_at(method_holder->next_instruction_address()); + + // Verify state. + assert(is_clean() || is_call_to_compiled() || is_call_to_interpreted(), "sanity check"); +} + +#endif // !PRODUCT diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp --- a/src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp Fri Sep 27 13:27:41 2013 +0100 @@ -29,4 +29,6 @@ const int StackAlignmentInBytes = 16; +#define SUPPORTS_NATIVE_CX8 + #endif // CPU_AARCH64_VM_GLOBALDEFINITIONS_AARCH64_HPP diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/interp_masm_aarch64.cpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -181,6 +181,23 @@ int bcp_offset, size_t index_size) { Unimplemented(); } +void method_counter_break(void) +{ +} + +void InterpreterMacroAssembler::get_method_counters(Register method, + Register mcs, Label& skip) { + Label has_counters; + call_VM(noreg, CAST_FROM_FN_PTR(address, method_counter_break)); + ldr(mcs, Address(method, Method::method_counters_offset())); + cbnz(mcs, has_counters); + call_VM(noreg, CAST_FROM_FN_PTR(address, + InterpreterRuntime::build_method_counters), method); + ldr(mcs, Address(method, Method::method_counters_offset())); + cbz(mcs, skip); // No MethodCounters allocated, OutOfMemory + bind(has_counters); +} + // Load object from cpool->resolved_references(index) void InterpreterMacroAssembler::load_resolved_reference_at_index( Register result, Register index) { diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/interp_masm_aarch64.hpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.hpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.hpp Fri Sep 27 13:27:41 2013 +0100 @@ -123,6 +123,7 @@ void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); + void get_method_counters(Register method, Register mcs, Label& skip); // load cpool->resolved_references(index); void load_resolved_reference_at_index(Register result, Register index); diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/jni_aarch64.h --- a/src/cpu/aarch64/vm/jni_aarch64.h Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/jni_aarch64.h Fri Sep 27 13:27:41 2013 +0100 @@ -1,7 +1,5 @@ /* - * Copyright (c) 2013, Red Hat Inc. - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. - * All rights reserved. + * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -28,9 +26,15 @@ #ifndef _JAVASOFT_JNI_MD_H_ #define _JAVASOFT_JNI_MD_H_ -#if defined(LINUX) +#if defined(SOLARIS) || defined(LINUX) || defined(_ALLBSD_SOURCE) -#if defined(__GNUC__) && (__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2) + +// Note: please do not change these without also changing jni_md.h in the JDK +// repository +#ifndef __has_attribute + #define __has_attribute(x) 0 +#endif +#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility) #define JNIEXPORT __attribute__((visibility("default"))) #define JNIIMPORT __attribute__((visibility("default"))) #else @@ -40,17 +44,19 @@ #define JNICALL typedef int jint; -#if defined(_LP64) && !defined(__APPLE__) +#if defined(_LP64) typedef long jlong; #else - /* - * On _LP64 __APPLE__ "long" and "long long" are both 64 bits, - * but we use the "long long" typedef to avoid complaints from - * the __APPLE__ compiler about fprintf formats. - */ typedef long long jlong; #endif +#else + #define JNIEXPORT __declspec(dllexport) + #define JNIIMPORT __declspec(dllimport) + #define JNICALL __stdcall + + typedef int jint; + typedef __int64 jlong; #endif typedef signed char jbyte; diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp --- a/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -624,6 +624,7 @@ __ br(rscratch1); } +#ifdef BUILTIN_SIM static void generate_i2c_adapter_name(char *result, int total_args_passed, const BasicType *sig_bt) { strcpy(result, "i2c("); @@ -686,6 +687,7 @@ result[idx++] = ')'; result[idx] = '\0'; } +#endif // --------------------------------------------------------------- AdapterHandlerEntry* SharedRuntime::generate_i2c2i_adapters(MacroAssembler *masm, @@ -893,9 +895,6 @@ } } - -static void move_ptr(MacroAssembler* masm, VMRegPair src, VMRegPair dst) { Unimplemented(); } - // An oop arg. Must pass a handle not the oop itself static void object_move(MacroAssembler* masm, OopMap* map, diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -339,19 +339,17 @@ // so we have a 'sticky' overflow test // // rmethod: method -// r19: invocation counter // void InterpreterGenerator::generate_counter_incr( Label* overflow, Label* profile_method, Label* profile_method_continue) { - const Address invocation_counter(rmethod, in_bytes(Method::invocation_counter_offset()) + - in_bytes(InvocationCounter::counter_offset())); + Label done; // Note: In tiered we increment either counters in Method* or in MDO depending if we're profiling or not. if (TieredCompilation) { int increment = InvocationCounter::count_increment; int mask = ((1 << Tier0InvokeNotifyFreqLog) - 1) << InvocationCounter::count_shift; - Label no_mdo, done; + Label no_mdo; if (ProfileInterpreter) { // Are we profiling? __ ldr(r0, Address(rmethod, Method::method_data_offset())); @@ -363,29 +361,37 @@ __ b(done); } __ bind(no_mdo); - // Increment counter in Method* (we don't need to load it, it's in ecx). - __ increment_mask_and_jump(invocation_counter, increment, mask, rscratch1, true, Assembler::EQ, overflow); + // Increment counter in MethodCounters + const Address invocation_counter(rscratch2, + MethodCounters::invocation_counter_offset() + + InvocationCounter::counter_offset()); + __ get_method_counters(rmethod, rscratch2, done); + __ increment_mask_and_jump(invocation_counter, increment, mask, rscratch1, false, Assembler::EQ, overflow); __ bind(done); } else { - const Address backedge_counter(rmethod, - Method::backedge_counter_offset() + - InvocationCounter::counter_offset()); + const Address backedge_counter(rscratch2, + MethodCounters::backedge_counter_offset() + + InvocationCounter::counter_offset()); + const Address invocation_counter(rscratch2, + MethodCounters::invocation_counter_offset() + + InvocationCounter::counter_offset()); + + __ get_method_counters(rmethod, rscratch2, done); if (ProfileInterpreter) { // %%% Merge this into MethodData* - const Address invocation_counter - = Address(rmethod, Method::interpreter_invocation_counter_offset()); - __ ldrw(r1, invocation_counter); + __ ldrw(r1, Address(rscratch2, MethodCounters::interpreter_invocation_counter_offset())); __ addw(r1, r1, 1); - __ strw(r1, invocation_counter); + __ strw(r1, Address(rscratch2, MethodCounters::interpreter_invocation_counter_offset())); } // Update standard invocation counters - __ ldrw(r0, backedge_counter); // load backedge counter + __ ldrw(r1, invocation_counter); + __ ldrw(r0, backedge_counter); - __ addw(r19, r19, InvocationCounter::count_increment); - __ andw(r0, r0, InvocationCounter::count_mask_value); // mask out the status bits + __ addw(r1, r1, InvocationCounter::count_increment); + __ andw(r0, r0, InvocationCounter::count_mask_value); - __ strw(r19, invocation_counter); // save invocation count - __ addw(r0, r0, r19); // add both counters + __ strw(r1, invocation_counter); + __ addw(r0, r0, r1); // add both counters // profile_method is non-null only for interpreted method so // profile_method != NULL == !native_call @@ -412,6 +418,7 @@ __ cmpw(r0, rscratch2); __ br(Assembler::HS, *overflow); } + __ bind(done); } } @@ -421,10 +428,6 @@ // On return (i.e. jump to entry_point) [ back to invocation of interpreter ] // Everything as it was on entry - const Address invocation_counter(rmethod, - Method::invocation_counter_offset() + - InvocationCounter::counter_offset()); - // InterpreterRuntime::frequency_counter_overflow takes two // arguments, the first (thread) is passed by call_VM, the second // indicates if the counter overflow occurs at a backwards branch @@ -711,9 +714,6 @@ address entry_point = __ pc(); const Address constMethod (rmethod, Method::const_offset()); - const Address invocation_counter(rmethod, Method:: - invocation_counter_offset() + - InvocationCounter::counter_offset()); const Address access_flags (rmethod, Method::access_flags_offset()); const Address size_of_parameters(r2, ConstMethod:: size_of_parameters_offset()); @@ -740,10 +740,6 @@ __ mov(rscratch1, sp); __ andr(sp, esp, -16); - if (inc_counter) { - __ ldrw(r19, invocation_counter); // (pre-)fetch invocation count - } - // initialize fixed part of activation frame generate_fixed_frame(true, rscratch1); #ifndef PRODUCT @@ -1158,9 +1154,6 @@ address entry_point = __ pc(); const Address constMethod(rmethod, Method::const_offset()); - const Address invocation_counter(rmethod, - Method::invocation_counter_offset() + - InvocationCounter::counter_offset()); const Address access_flags(rmethod, Method::access_flags_offset()); const Address size_of_parameters(r3, ConstMethod::size_of_parameters_offset()); @@ -1204,11 +1197,6 @@ __ bind(exit); } - // (pre-)fetch invocation count - if (inc_counter) { - __ ldrw(r19, invocation_counter); - } - // And the base dispatch table __ get_dispatch(); diff -r 707ad5ec9049 -r 268348f09dae src/cpu/aarch64/vm/templateTable_aarch64.cpp --- a/src/cpu/aarch64/vm/templateTable_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/cpu/aarch64/vm/templateTable_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -170,9 +170,15 @@ if (val == noreg) { __ store_heap_oop_null(Address(r3, 0)); } else { + // G1 barrier needs uncompressed oop for region cross check. + Register new_val = val; + if (UseCompressedOops) { + new_val = rscratch1; + __ mov(new_val, val); + } __ store_heap_oop(Address(r3, 0), val); __ g1_write_barrier_post(r3 /* store_adr */, - val /* new_val */, + new_val /* new_val */, rthread /* thread */, r10 /* tmp */, r1 /* tmp2 */); @@ -1555,11 +1561,10 @@ void TemplateTable::branch(bool is_jsr, bool is_wide) { __ profile_taken_branch(r0, r1); - const ByteSize be_offset = Method::backedge_counter_offset() + + const ByteSize be_offset = MethodCounters::backedge_counter_offset() + InvocationCounter::counter_offset(); - const ByteSize inv_offset = Method::invocation_counter_offset() + + const ByteSize inv_offset = MethodCounters::invocation_counter_offset() + InvocationCounter::counter_offset(); - const int method_offset = frame::interpreter_frame_method_offset * wordSize; // load branch displacement if (!is_wide) { @@ -1610,6 +1615,24 @@ // r2: target offset __ cmp(r2, zr); __ br(Assembler::GT, dispatch); // count only if backward branch + + // ECN: FIXME: This code smells + // check if MethodCounters exists + Label has_counters; + __ ldr(rscratch1, Address(rmethod, Method::method_counters_offset())); + __ cbnz(rscratch1, has_counters); + __ push(r0); + __ push(r1); + __ push(r2); + __ call_VM(noreg, CAST_FROM_FN_PTR(address, + InterpreterRuntime::build_method_counters), rmethod); + __ pop(r2); + __ pop(r1); + __ pop(r0); + __ ldr(rscratch1, Address(rmethod, Method::method_counters_offset())); + __ cbz(rscratch1, dispatch); // No MethodCounters allocated, OutOfMemory + __ bind(has_counters); + if (TieredCompilation) { Label no_mdo; int increment = InvocationCounter::count_increment; @@ -1626,16 +1649,18 @@ __ b(dispatch); } __ bind(no_mdo); - // Increment backedge counter in Method* - __ increment_mask_and_jump(Address(rmethod, be_offset), increment, mask, + // Increment backedge counter in MethodCounters* + __ ldr(rscratch1, Address(rmethod, Method::method_counters_offset())); + __ increment_mask_and_jump(Address(rscratch1, be_offset), increment, mask, r0, false, Assembler::EQ, &backedge_counter_overflow); } else { // increment counter - __ ldrw(r0, Address(rmethod, be_offset)); // load backedge counter + __ ldr(rscratch2, Address(rmethod, Method::method_counters_offset())); + __ ldrw(r0, Address(rscratch2, be_offset)); // load backedge counter __ addw(rscratch1, r0, InvocationCounter::count_increment); // increment counter - __ strw(rscratch1, Address(rmethod, be_offset)); // store counter - - __ ldrw(r0, Address(rmethod, inv_offset)); // load invocation counter + __ strw(rscratch1, Address(rscratch2, be_offset)); // store counter + + __ ldrw(r0, Address(rscratch2, inv_offset)); // load invocation counter __ andw(r0, r0, (unsigned)InvocationCounter::count_mask_value); // and the status bits __ addw(r0, r0, rscratch1); // add both counters diff -r 707ad5ec9049 -r 268348f09dae src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp --- a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -534,7 +534,7 @@ // JVM needs to know exact stack location, abort if it fails if (rslt != 0) { if (rslt == ENOMEM) { - vm_exit_out_of_memory(0, "pthread_getattr_np"); + vm_exit_out_of_memory(0, OOM_MMAP_ERROR, "pthread_getattr_np"); } else { fatal(err_msg("pthread_getattr_np failed with errno = %d", rslt)); } diff -r 707ad5ec9049 -r 268348f09dae src/share/vm/code/compiledIC.hpp --- a/src/share/vm/code/compiledIC.hpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/share/vm/code/compiledIC.hpp Fri Sep 27 13:27:41 2013 +0100 @@ -308,7 +308,11 @@ friend CompiledStaticCall* compiledStaticCall_at(Relocation* call_site); // Code +#if defined AARCH64 && !defined ZERO + static void emit_to_interp_stub(CodeBuffer &cbuf, address mark); +#else static void emit_to_interp_stub(CodeBuffer &cbuf); +#endif static int to_interp_stub_size(); static int reloc_to_interp_stub(); diff -r 707ad5ec9049 -r 268348f09dae src/share/vm/runtime/stubRoutines.cpp --- a/src/share/vm/runtime/stubRoutines.cpp Fri Sep 27 11:21:35 2013 +0100 +++ b/src/share/vm/runtime/stubRoutines.cpp Fri Sep 27 13:27:41 2013 +0100 @@ -155,7 +155,7 @@ } -#ifdef ASSERT +#ifdef ASSERTdisabled typedef void (*arraycopy_fn)(address src, address dst, int count); // simple tests of generated arraycopy functions --- CUT HERE --- --- CUT HERE (2nd jdk8 changeset) --- exporting patch: # HG changeset patch # User Edward Nevill edward.nevill at linaro.org # Date 1380289100 -3600 # Fri Sep 27 14:38:20 2013 +0100 # Node ID efab09a45ff34b786b5bfa7a2792237f272954c4 # Parent d9e6ebc7ed59b3209c2a9f07b4a0a79ecc59cb7a Additional patch to fix merge mangling to generated-configure.sh diff -r d9e6ebc7ed59 -r efab09a45ff3 common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Fri Sep 27 13:23:09 2013 +0100 +++ b/common/autoconf/generated-configure.sh Fri Sep 27 14:38:20 2013 +0100 @@ -7132,9 +7132,6 @@ fi - aarch64) - ZERO_ARCHFLAG="" - ;; # ZERO_ARCHDEF is used to enable architecture-specific code case "${OPENJDK_TARGET_CPU}" in ppc*) ZERO_ARCHDEF=PPC ;; --- CUT HERE --- From aph at redhat.com Fri Sep 27 07:28:28 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 27 Sep 2013 10:28:28 -0400 (EDT) Subject: [aarch64-port-dev ] Merge up to jdk8-b90 In-Reply-To: <1380291039.23286.35.camel@localhost.localdomain> References: <1380291039.23286.35.camel@localhost.localdomain> Message-ID: <362399454.3151498.1380292108352.JavaMail.root@redhat.com> Hi, > The attached changesets merge the aarch64 port up to jdk8-b90. jdk8-b90 is > the first 'fully functional' tag according to Oracle, so is a good point to > merge to. Hopefully after b90 the changes should start getting less. This is just fantastic. Thank you! > I have built Zero, C1 & C2 and tested as follows:- > > Cross compilation builds, tested on the RTSM model:- > > client-release jtreg/hotspot(255/6/0) > client-release jtreg/langtools(2668/16/31) > client-fastdebug jtreg/hotspot(255/6/0) > zero-release jtreg/hotspot(246/3/12) > server-fastdebug (queens OK, jdhrystone FAIL, ecm > sieve,loop,logic,float,method OK string FAIL) > > The numbers in brackets show tests (PASSED/FAILED/Error) respectively for > jtreg. > > Builtin simulator builds:- > > client-release jtreg/hotspot(239/10/26) > client-slowdebug (eembc-grinderbench OK) > server-slowdebug (jdhrystone OK, ecm sieve,loop,logic,float,method OK string > FAIL) Is that a regression? > The changesets below are the changes to the aarch64 specific code to bring it > in line with the merge up to b90. > > OK to push? OK, thanks. There are some changes that I don't quite understand, but we can look at those later. It's good to be reasonably up-to-date. Andrew. From aph at redhat.com Fri Sep 27 07:36:14 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 27 Sep 2013 10:36:14 -0400 (EDT) Subject: [aarch64-port-dev ] System.arraycopy() intrinsics In-Reply-To: <52414BC6.8060907@redhat.com> References: <523B1FDB.8000703@redhat.com> <52405DB5.7030302@redhat.com> <52407335.6030707@redhat.com> <524078F8.8030000@redhat.com> <52409821.40908@redhat.com> <52414BC6.8060907@redhat.com> Message-ID: <22828065.3157568.1380292574954.JavaMail.root@redhat.com> > Ok, I see what you are saying now. The codeblob lookup allows you to use > a relative branch, avoiding having to load an absolute address. That > more than justifies any cost associated with doing the lookup. I will > drop my proposed changes and do the same as you in the C2 back end. I'll create a macro that handles blrt(address, intargs, fpargs, type) and does the Right Thing as efficiently as possible. This keeps the slightly icky logic in one place. Andrew. From ed at camswl.com Fri Sep 27 07:50:19 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 14:50:19 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8: 36 new changesets Message-ID: <20130927145022.0818862B7C@hg.openjdk.java.net> Changeset: 44bc9bc4da4d Author: katleman Date: 2013-04-11 09:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/44bc9bc4da4d Added tag jdk8-b85 for changeset 7fc358f59436 ! .hgtags Changeset: fc1e08c2bb27 Author: mduigou Date: 2013-04-01 11:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/fc1e08c2bb27 8010267: Add test-clean for cleaning of testoutput directory from output directory. Add depedency on test-clean to clean Reviewed-by: mchung, tbell ! common/makefiles/Main.gmk Changeset: 26a4456cb19e Author: jgish Date: 2013-03-26 13:41 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/26a4456cb19e 8009824: webrev.ksh generated jdk.patch files do not handle renames, copies, and shouldn't be applied Summary: use hg export --git to produce proper patch file Reviewed-by: mduigou ! make/scripts/webrev.ksh Changeset: 760074bec012 Author: mduigou Date: 2013-04-01 21:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/760074bec012 8011178: improve common/bin/hgforest.sh python detection (MacOS) Reviewed-by: ohair ! common/bin/hgforest.sh Changeset: bcbdbcfe7ed8 Author: lana Date: 2013-04-02 11:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/bcbdbcfe7ed8 Merge Changeset: 7320922b694e Author: mduigou Date: 2013-04-02 14:56 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/7320922b694e 8011342: hgforest.sh : 'python --version' not supported on older python Reviewed-by: wetmore ! common/bin/hgforest.sh Changeset: 575f2ca947ab Author: mduigou Date: 2013-04-03 16:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/575f2ca947ab 8011350: hgforest.sh uses non-POSIX sh features that may fail with some shells Reviewed-by: tbell, katleman, dholmes ! common/bin/hgforest.sh Changeset: 11c057460b91 Author: lana Date: 2013-04-05 14:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/11c057460b91 Merge Changeset: 4c13b7994f38 Author: lana Date: 2013-04-16 08:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/4c13b7994f38 Merge ! common/makefiles/Main.gmk Changeset: bee6ff988f9c Author: katleman Date: 2013-04-12 15:21 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/bee6ff988f9c 8012048: JDK8 b85 source with GPL header errors Reviewed-by: iris, mduigou, jjg ! common/autoconf/compare.sh.in ! common/bin/compare.sh Changeset: 8c5b18d6f4fb Author: katleman Date: 2013-04-15 14:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/8c5b18d6f4fb Merge Changeset: df9b5240f0a7 Author: katleman Date: 2013-04-16 14:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/df9b5240f0a7 Merge Changeset: 6981694f7674 Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/6981694f7674 Added tag jdk8-b86 for changeset df9b5240f0a7 ! .hgtags Changeset: 7da551071fe8 Author: lana Date: 2013-04-11 19:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/7da551071fe8 Merge ! common/makefiles/Main.gmk Changeset: b95c5c8ee60a Author: jgish Date: 2013-04-16 13:25 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/b95c5c8ee60a 8011347: JKD-8009824 has broken webrev with some ksh versions Reviewed-by: mduigou ! make/scripts/webrev.ksh Changeset: 2600c8d8b619 Author: lana Date: 2013-04-17 10:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/2600c8d8b619 Merge Changeset: 238b28991d66 Author: lana Date: 2013-04-17 21:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/238b28991d66 Merge Changeset: b9415faa7066 Author: lana Date: 2013-04-23 09:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/b9415faa7066 Merge Changeset: c29b583938b1 Author: katleman Date: 2013-04-25 09:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/c29b583938b1 Added tag jdk8-b87 for changeset b9415faa7066 ! .hgtags Changeset: 1dfcc874461e Author: omajid Date: 2013-04-29 12:34 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/1dfcc874461e 8013480: fix zero build on arm Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in Changeset: 7e7582e961ba Author: jwilhelm Date: 2013-04-25 16:00 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/7e7582e961ba 7074926: create Solaris Studio IDE (Netbeans) project for hotspot sources Summary: Project files for hotspot delevopment in Solaris Studio and NetBeans. Also reviewed by vladimir.voskresensky at oracle.com Reviewed-by: erikj, dsamersoff + common/nb_native/nbproject/configurations.xml + common/nb_native/nbproject/project.xml Changeset: b9bf111a9547 Author: katleman Date: 2013-04-30 14:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/b9bf111a9547 Merge Changeset: e404d321abc6 Author: erikj Date: 2013-05-02 15:46 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/e404d321abc6 8013786: JDK-8013480 broke configure on solaris Reviewed-by: tbell ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/toolchain.m4 Changeset: e1a929afcfc4 Author: erikj Date: 2013-05-02 15:56 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/e1a929afcfc4 8011687: Support correct dependencies from header files on windows and solaris Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/makefiles/NativeCompilation.gmk Changeset: 8fb91165e596 Author: katleman Date: 2013-05-02 13:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/8fb91165e596 Added tag jdk8-b88 for changeset e1a929afcfc4 ! .hgtags Changeset: e34781a0566b Author: mduigou Date: 2013-04-24 21:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/e34781a0566b 8013185: Add java.util.stream to CORE_PKGS.gmk in root repo Reviewed-by: mduigou Contributed-by: Henry Jen ! common/makefiles/javadoc/CORE_PKGS.gmk Changeset: e4794ae1016e Author: mduigou Date: 2013-04-24 21:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/e4794ae1016e Merge Changeset: 10775618db00 Author: aharlap Date: 2013-04-26 15:54 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/10775618db00 8011152: Precision problems on sflt builds Summary: Need to add global flag to the linker Reviewed-by: tbell, dholmes ! common/makefiles/NativeCompilation.gmk Changeset: a7a8302473d3 Author: mduigou Date: 2013-04-29 14:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/a7a8302473d3 8008632: Additional JavaDoc tags @apiNote, @implSpec and @implNote Reviewed-by: briangoetz, alanb, rriggs ! common/makefiles/javadoc/Javadoc.gmk Changeset: f171aa801ea5 Author: mduigou Date: 2013-04-29 14:21 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/f171aa801ea5 Merge Changeset: 1603c9216e83 Author: lana Date: 2013-04-30 17:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/1603c9216e83 Merge Changeset: 892a0196d10c Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/892a0196d10c Merge ! common/makefiles/NativeCompilation.gmk Changeset: 69b773a221b9 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/69b773a221b9 Added tag jdk8-b89 for changeset 892a0196d10c ! .hgtags Changeset: 5ee58f56f3df Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/5ee58f56f3df Merge up to jdk8-b90 ! .hgtags ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/bin/hgforest.sh ! common/makefiles/NativeCompilation.gmk Changeset: 1d05ddabdec1 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:46 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/1d05ddabdec1 Tweak aarch64 build flags in line with jdk8-b90 ! common/autoconf/platform.m4 ! common/autoconf/toolchain.m4 Changeset: c4e0096dad57 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:49 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/rev/c4e0096dad57 Additional patch to fix merge mangling to generated-configure.sh ! common/autoconf/generated-configure.sh From ed at camswl.com Fri Sep 27 07:58:44 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 14:58:44 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/nashorn: 90 new changesets Message-ID: <20130927145949.24F4762B80@hg.openjdk.java.net> Changeset: aed0529f5f5d Author: katleman Date: 2013-04-11 09:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/aed0529f5f5d Added tag jdk8-b85 for changeset e0378f0a50da ! .hgtags Changeset: 41a212ea8c0c Author: sundar Date: 2013-03-28 20:48 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/41a212ea8c0c 8010924: Dealing with undefined property gets you a fatal stack Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/resources/mozilla_compat.js + test/script/basic/JDK-8010924.js Changeset: e2ea7a29b9c1 Author: lagergren Date: 2013-03-29 08:55 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e2ea7a29b9c1 8010995: The bug ID 8010710 accidentally got two digits transposed in the checkin and unit test name Reviewed-by: hannesw, sundar + test/script/basic/JDK-8010710.js + test/script/basic/JDK-8010710.js.EXPECTED - test/script/basic/JDK-8017010.js - test/script/basic/JDK-8017010.js.EXPECTED Changeset: 704f3083af8a Author: sundar Date: 2013-03-29 18:38 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/704f3083af8a 8011063: With older ant, we get the error "The type doesn't support nested text data ("${run.te...jvmargs}")." Reviewed-by: hannesw, ksrini ! make/build.xml Changeset: a094fc010120 Author: jlaskey Date: 2013-03-31 08:19 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/a094fc010120 8011095: PropertyHashMap.rehash() does not grow enough Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 3e4369fb810b Author: hannesw Date: 2013-04-02 13:55 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3e4369fb810b 8011219: Regression with recent PropertyMap history changes Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 5362d96d5915 Author: sundar Date: 2013-04-02 17:40 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5362d96d5915 8011209: Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get.length is not 0 Reviewed-by: lagergren, hannesw, jlaskey ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + test/script/basic/JDK-8011209.js Changeset: 9b845033c888 Author: lana Date: 2013-04-02 12:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/9b845033c888 Merge Changeset: d82bc6ba3981 Author: lana Date: 2013-04-05 14:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/d82bc6ba3981 Merge Changeset: af6fc67aa73d Author: jlaskey Date: 2013-04-02 11:37 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/af6fc67aa73d 8011233: Create a Nashorn shell for JavaFX Reviewed-by: lagergren, sundar Contributed-by: james.laskey at oracle.com ! make/build.xml ! make/project.properties + tools/fxshell/jdk/nashorn/tools/FXShell.java Changeset: be5d2e472e22 Author: jlaskey Date: 2013-04-02 11:38 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/be5d2e472e22 Merge Changeset: 159dbe2e02eb Author: sundar Date: 2013-04-02 20:42 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/159dbe2e02eb 8011237: Object.isExtensible(Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get) should be false Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + test/script/basic/JDK-8011237.js Changeset: e9af5451d2d1 Author: sundar Date: 2013-04-02 23:01 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e9af5451d2d1 8011274: Object.getOwnPropertyDescriptor(function(){"use strict"},"caller").get.hasOwnProperty("prototype") should be false Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java + test/script/basic/JDK-8011274.js Changeset: e63b20d4f08a Author: sundar Date: 2013-04-03 11:41 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e63b20d4f08a 8011357: Array.prototype.slice and Array.prototype.splice should not call user defined valueOf of start, end arguments more than once Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8011357.js Changeset: 51da1afbab26 Author: attila Date: 2013-04-03 11:13 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/51da1afbab26 8011362: Overloaded method resolution foiled by nulls Reviewed-by: hannesw, sundar ! src/jdk/internal/dynalink/beans/ClassString.java ! src/jdk/internal/dynalink/beans/OverloadedMethod.java + test/script/basic/JDK-8011362.js + test/script/basic/JDK-8011362.js.EXPECTED + test/src/jdk/nashorn/test/models/Jdk8011362TestSubject.java Changeset: b4191da366be Author: sundar Date: 2013-04-03 15:27 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/b4191da366be 8011365: Array.prototype.join and Array.prototype.toString do not throw TypeError on null, undefined Reviewed-by: attila, hannesw, lagergren ! src/jdk/nashorn/internal/objects/NativeArray.java ! test/script/basic/JDK-8011362.js.EXPECTED + test/script/basic/JDK-8011365.js Changeset: 4f7d7576e8c4 Author: hannesw Date: 2013-04-03 12:43 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/4f7d7576e8c4 8007774: Enable code cache again Reviewed-by: lagergren, attila, sundar ! src/jdk/nashorn/internal/runtime/resources/Options.properties Changeset: 82fed56d8dce Author: sundar Date: 2013-04-03 20:17 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/82fed56d8dce 8011382: Data prototype methods and constructor do not call user defined toISOString, valueOf methods per spec. Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8011382.js Changeset: a5a8ddc2e028 Author: sundar Date: 2013-04-04 10:24 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/a5a8ddc2e028 8011394: RegExp.prototype.test() does not call valueOf on lastIndex property as per the spec. Reviewed-by: lagergren, jlaskey, hannesw ! src/jdk/nashorn/internal/objects/NativeRegExp.java + test/script/basic/JDK-8011394.js Changeset: 0548c134b9ac Author: sundar Date: 2013-04-04 13:54 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/0548c134b9ac 8011421: When using Object.defineProperty on arrays, PropertyDescriptor's property accessors are invoked multiple times Reviewed-by: lagergren, hannesw ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8011421.js Changeset: f638f2f094f7 Author: jlaskey Date: 2013-04-04 09:05 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/f638f2f094f7 8011540: PropertyMap histories should not begin with empty map Reviewed-by: lagergren, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/PropertyMap.java Changeset: 069923cc9de5 Author: jlaskey Date: 2013-04-04 09:06 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/069923cc9de5 Merge Changeset: 18df6640e63f Author: sundar Date: 2013-04-04 18:30 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/18df6640e63f 8011543: "".split(undefined,{valueOf:function(){throw 2}}) does not throw exception Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/JDK-8011543.js Changeset: 5eb1427b6a6d Author: attila Date: 2013-04-04 15:53 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5eb1427b6a6d 8011544: Allow subclassing Java classes from script without creating instances Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/objects/NativeJava.java + src/jdk/nashorn/internal/runtime/linker/AdaptationException.java + src/jdk/nashorn/internal/runtime/linker/AdaptationResult.java + src/jdk/nashorn/internal/runtime/linker/ClassAndLoader.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterGeneratorBase.java + src/jdk/nashorn/internal/runtime/linker/JavaAdapterServices.java ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java ! src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java ! src/jdk/nashorn/internal/runtime/resources/Messages.properties + test/script/basic/javaclassoverrides.js + test/script/basic/javaclassoverrides.js.EXPECTED Changeset: 73e1270b240c Author: attila Date: 2013-04-04 15:55 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/73e1270b240c Merge Changeset: 349360cc1df5 Author: sundar Date: 2013-04-04 20:46 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/349360cc1df5 8011552: Arrays with missing elements are not properly sorted Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8011552.js Changeset: 050fd5696bcb Author: attila Date: 2013-04-04 18:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/050fd5696bcb 8011555: Invalid class name in with block with JavaImporter causes MH type mismatch Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8011555.js + test/script/basic/JDK-8011555.js.EXPECTED Changeset: 1c29dc809de2 Author: hannesw Date: 2013-04-05 19:50 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/1c29dc809de2 8009230: Nashorn rejects extended RegExp syntax accepted by all major JS engines Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8009230.js + test/script/basic/JDK-8009230.js.EXPECTED Changeset: 437861485ffa Author: jlaskey Date: 2013-04-09 08:36 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/437861485ffa Merge Changeset: 35881a9d0fc2 Author: lana Date: 2013-04-16 08:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/35881a9d0fc2 Merge - test/script/basic/JDK-8017010.js - test/script/basic/JDK-8017010.js.EXPECTED Changeset: e7e82c1e9aed Author: katleman Date: 2013-04-12 15:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e7e82c1e9aed 8012048: JDK8 b85 source with GPL header errors Reviewed-by: iris, mduigou, jjg ! docs/JavaScriptingProgrammersGuide.html ! src/jdk/nashorn/api/scripting/Formatter.java Changeset: 399a4b8e4607 Author: katleman Date: 2013-04-15 14:21 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/399a4b8e4607 Merge Changeset: 002ad9d6735f Author: katleman Date: 2013-04-16 15:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/002ad9d6735f Merge Changeset: 899cbeee7253 Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/899cbeee7253 Added tag jdk8-b86 for changeset 002ad9d6735f ! .hgtags Changeset: 480b90430d29 Author: lana Date: 2013-04-11 19:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/480b90430d29 Merge Changeset: 635a93b61d34 Author: hannesw Date: 2013-04-10 14:00 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/635a93b61d34 8011714: Regexp decimal escape handling still not correct Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8011714.js + test/script/basic/JDK-8011714.js.EXPECTED Changeset: b4ea8678bf15 Author: hannesw Date: 2013-04-10 14:05 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/b4ea8678bf15 8011749: Bugs with empty character class handling Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8011749.js + test/script/basic/JDK-8011749.js.EXPECTED Changeset: 8ae9ed1ac1e2 Author: hannesw Date: 2013-04-10 14:08 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/8ae9ed1ac1e2 8011756: Wrong characters supported in RegExp \c escape Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8011756.js + test/script/basic/JDK-8011756.js.EXPECTED Changeset: 571e06d5d23c Author: sundar Date: 2013-04-11 13:20 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/571e06d5d23c 8011960: [2,1].sort(null) should throw TypeError Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8011960.js Changeset: 256bb030ce0a Author: sundar Date: 2013-04-11 15:04 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/256bb030ce0a 8011974: Comparator function returning negative and positive Infinity does not work as expected with Array.prototype.sort Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8011974.js Changeset: a3fc89d33072 Author: hannesw Date: 2013-04-11 12:16 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/a3fc89d33072 8011980: Allow NUL character in character class Reviewed-by: sundar, lagergren ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8011980.js + test/script/basic/JDK-8011980.js.EXPECTED Changeset: ed4293ceec0e Author: hannesw Date: 2013-04-12 16:31 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ed4293ceec0e 8011884: Regexp literals are compiled twice Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/regexp/joni/Analyser.java ! src/jdk/nashorn/internal/runtime/regexp/joni/Regex.java ! src/jdk/nashorn/internal/runtime/regexp/joni/ast/QuantifierNode.java Changeset: 36e36a2d4312 Author: hannesw Date: 2013-04-12 16:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/36e36a2d4312 8011885: Switch to Joni as default Regexp engine Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/regexp/RegExpFactory.java Changeset: e70e6b38826b Author: jlaskey Date: 2013-04-15 08:39 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e70e6b38826b Merge Changeset: 222a72df2f42 Author: mchung Date: 2013-04-16 22:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/222a72df2f42 8010117: Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive Reviewed-by: jrose, alanb, twisti, sundar ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/internal/runtime/Context.java Changeset: 44d8612e29b0 Author: lana Date: 2013-04-17 10:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/44d8612e29b0 Merge Changeset: cba329ce5efe Author: lana Date: 2013-04-17 21:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/cba329ce5efe Merge Changeset: 774aeaa89bc1 Author: lana Date: 2013-04-23 09:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/774aeaa89bc1 Merge Changeset: 40c107d1ae6f Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/40c107d1ae6f Added tag jdk8-b87 for changeset 774aeaa89bc1 ! .hgtags Changeset: 501bc4aeb1b1 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/501bc4aeb1b1 Added tag jdk8-b88 for changeset 40c107d1ae6f ! .hgtags Changeset: aa8170c0dec9 Author: sundar Date: 2013-04-15 20:12 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/aa8170c0dec9 8012240: Array.prototype.map.call({length: -1, get 0(){throw 0}}, function(){}).length does not throw error Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java + test/script/basic/JDK-8012240.js Changeset: 486d92559c37 Author: sundar Date: 2013-04-17 16:52 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/486d92559c37 8012457: Function.prototype.apply should accept any array-like argument for function arguments Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeFunction.java + test/script/basic/JDK-8012457.js Changeset: d4468316fe73 Author: jlaskey Date: 2013-04-17 08:48 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/d4468316fe73 Merge Changeset: 04b36c02c0e2 Author: jlaskey Date: 2013-04-17 15:36 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/04b36c02c0e2 8012529: Remove -esa from testing jvmargs Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/project.properties Changeset: 2bb3b22392d7 Author: sundar Date: 2013-04-18 15:47 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/2bb3b22392d7 Merge Changeset: ac309d492b8d Author: sundar Date: 2013-04-18 15:50 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ac309d492b8d 8012462: Date.prototype.toJSON does not handle non-Date 'this' as per the spec. Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8012462.js Changeset: d1d564f5cf82 Author: hannesw Date: 2013-04-18 14:25 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/d1d564f5cf82 8012460: RegExp regression Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java + test/script/basic/JDK-8012460.js + test/script/basic/JDK-8012460.js.EXPECTED Changeset: bc251a7b5103 Author: sundar Date: 2013-04-19 17:46 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/bc251a7b5103 8012612: Compile failed Reviewed-by: hannesw, jlaskey, attila ! src/jdk/nashorn/internal/runtime/Context.java Changeset: c8460f668d0c Author: sundar Date: 2013-04-19 18:23 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/c8460f668d0c 8012593: JSAdapter overrides impacts strongly construction time Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java Changeset: 3a209cbd1d8f Author: lagergren Date: 2013-04-19 16:11 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3a209cbd1d8f 8010701: Immutable nodes - final iteration Reviewed-by: sundar, hannesw, jlaskey ! bin/verbose_octane.sh ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java - src/jdk/nashorn/internal/codegen/Frame.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Namespace.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java + src/jdk/nashorn/internal/codegen/SplitMethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java + src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java - src/jdk/nashorn/internal/ir/DoWhileNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java + src/jdk/nashorn/internal/ir/Flags.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java + src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Location.java + src/jdk/nashorn/internal/ir/LoopNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java + src/jdk/nashorn/internal/ir/annotations/Immutable.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/lookup/MethodHandleFactory.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/linker/ClassAndLoader.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/try2.js + test/script/basic/try2.js.EXPECTED Changeset: e599a1cad89a Author: jlaskey Date: 2013-04-20 08:54 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e599a1cad89a 8011578: -Dnashorn.unstable.relink.threshold=1 causes tests to fail. Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8011578.js + test/script/basic/JDK-8011578.js.EXPECTED Changeset: ead94bc57939 Author: sundar Date: 2013-04-22 18:09 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ead94bc57939 8012673: Nashorn's package name vs class name inferring logic is wrong Reviewed-by: hannesw, jlaskey, attila ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java Changeset: 812e9cc70320 Author: jlaskey Date: 2013-04-22 10:37 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/812e9cc70320 8012919: findMegaMorphicSetMethod should not cast result type Reviewed-by: attila, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java Changeset: cfda59f3d827 Author: sundar Date: 2013-04-22 19:57 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/cfda59f3d827 Merge - src/jdk/nashorn/internal/codegen/Frame.java - src/jdk/nashorn/internal/ir/DoWhileNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java Changeset: 08143fa6b3da Author: lana Date: 2013-04-23 15:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/08143fa6b3da Merge Changeset: 0547a1c76259 Author: attila Date: 2013-04-23 12:52 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/0547a1c76259 8011065: Problems when script implements an interface with variadic methods Reviewed-by: jlaskey, hannesw, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterServices.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/VariableArityTestInterface.java Changeset: 32036918585d Author: attila Date: 2013-04-23 16:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/32036918585d 8010731: Don't expose internal symbols to scripts Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java Changeset: a6c53280343d Author: hannesw Date: 2013-04-24 13:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/a6c53280343d 8012334: ToUint32, ToInt32, and ToUint16 don't conform to spec Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + test/examples/int-micro.js + test/script/basic/JDK-8012334.js + test/script/basic/JDK-8012334.js.EXPECTED ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java Changeset: 3974ce844f17 Author: hannesw Date: 2013-04-24 13:34 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3974ce844f17 8012931: NativeDate.safeToString() throws RangeError for invalid date Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8012931.js + test/script/basic/JDK-8012931.js.EXPECTED Changeset: e959c7969f3b Author: hannesw Date: 2013-04-24 13:36 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e959c7969f3b 8008238: Labeled break in finally causes stack overflow in Node copy Reviewed-by: lagergren, attila + test/script/basic/JDK-8008238.js Changeset: c0a10bbf6752 Author: jlaskey Date: 2013-04-24 14:25 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/c0a10bbf6752 8012251: jjs should support -fx option Reviewed-by: sundar, attila, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + src/jdk/nashorn/internal/runtime/resources/fx/base.js + src/jdk/nashorn/internal/runtime/resources/fx/bootstrap.js + src/jdk/nashorn/internal/runtime/resources/fx/controls.js + src/jdk/nashorn/internal/runtime/resources/fx/fxml.js + src/jdk/nashorn/internal/runtime/resources/fx/graphics.js + src/jdk/nashorn/internal/runtime/resources/fx/media.js + src/jdk/nashorn/internal/runtime/resources/fx/swing.js + src/jdk/nashorn/internal/runtime/resources/fx/swt.js + src/jdk/nashorn/internal/runtime/resources/fx/web.js ! src/jdk/nashorn/tools/Shell.java ! tools/fxshell/jdk/nashorn/tools/FXShell.java Changeset: 9ad1ebb44c86 Author: hannesw Date: 2013-04-25 14:20 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/9ad1ebb44c86 8013131: Various compatibility issues in String.prototype.split() Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/JDK-8013131.js + test/script/basic/JDK-8013131.js.EXPECTED Changeset: ff1e4655a57f Author: attila Date: 2013-04-25 14:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ff1e4655a57f 8013203: A collection of smaller speedups to compilation pipeline Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java Changeset: fd0b969a6d07 Author: attila Date: 2013-04-25 15:31 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/fd0b969a6d07 8013167: Vararg constructor not found Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/internal/dynalink/beans/StaticClassIntrospector.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java + test/script/basic/JDK-8013167.js + test/script/basic/JDK-8013167.js.EXPECTED + test/src/jdk/nashorn/test/models/VarArgConstructor.java Changeset: 215d9b042cb6 Author: sundar Date: 2013-04-26 12:17 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/215d9b042cb6 8013295: ScriptEngineTest.java fails with compilation error when running under jtreg Reviewed-by: attila, hannesw ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 7917ef020898 Author: attila Date: 2013-04-26 09:20 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/7917ef020898 8013325: function named 'arguments' should set DEFINES_ARGUMENTS flag in its parent, not itself Reviewed-by: hannesw, sundar ! src/jdk/internal/dynalink/beans/StaticClassIntrospector.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8013325.js + test/script/basic/JDK-8013325.js.EXPECTED Changeset: 5c98cc846f92 Author: jlaskey Date: 2013-04-26 09:48 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/5c98cc846f92 8013208: Octane performance regression Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java Changeset: b532eeab085f Author: sundar Date: 2013-04-26 18:31 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/b532eeab085f 8013337: Issues with Date.prototype's get, set functions Reviewed-by: jlaskey, hannesw, lagergren ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8013337.js + test/script/basic/JDK-8013337.js.EXPECTED Changeset: c62144b08c65 Author: hannesw Date: 2013-04-26 17:35 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/c62144b08c65 8006559: Octane:pdfjs leaks memory, runs slower iteration to iteration Reviewed-by: attila, sundar, jlaskey ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java Changeset: 241904013024 Author: sundar Date: 2013-04-26 22:29 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/241904013024 8013369: nashorn build failure with jdk8 b84 Reviewed-by: hannesw ! make/build-nasgen.xml Changeset: ef4c1f3aa9ed Author: jlaskey Date: 2013-04-26 15:13 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ef4c1f3aa9ed 8013360: Should be using JavaFX 8 classes for -fx support Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/resources/fx/base.js ! src/jdk/nashorn/internal/runtime/resources/fx/controls.js ! src/jdk/nashorn/internal/runtime/resources/fx/fxml.js ! src/jdk/nashorn/internal/runtime/resources/fx/graphics.js ! src/jdk/nashorn/internal/runtime/resources/fx/media.js ! src/jdk/nashorn/internal/runtime/resources/fx/swing.js ! src/jdk/nashorn/internal/runtime/resources/fx/swt.js ! src/jdk/nashorn/internal/runtime/resources/fx/web.js Changeset: e8d7298f29a1 Author: attila Date: 2013-04-29 13:21 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/e8d7298f29a1 8013419: Streamline handling of with and eval Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/ir/CallNode.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/runtime/linker/NashornCallSiteDescriptor.java Changeset: ada2ca9aeac5 Author: sundar Date: 2013-04-29 18:40 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ada2ca9aeac5 8013444: JSON.parse does not invoke "reviver" callback as per spec. Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/runtime/JSONFunctions.java + test/script/basic/JDK-8013444.js + test/script/basic/JDK-8013444.js.EXPECTED Changeset: 630372cb8f2a Author: attila Date: 2013-04-29 23:22 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/630372cb8f2a 8008814: Configurable ignore/warning/error behavior for function declaration as statement Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8008814-3.js + test/script/basic/JDK-8008814-3.js.EXPECTED + test/script/basic/JDK-8008814-4.js + test/script/basic/JDK-8008814-4.js.EXPECTED + test/script/error/JDK-8008814-1.js + test/script/error/JDK-8008814-1.js.EXPECTED + test/script/error/JDK-8008814-2.js + test/script/error/JDK-8008814-2.js.EXPECTED Changeset: 3f339ab2d050 Author: jlaskey Date: 2013-04-29 21:38 -0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/3f339ab2d050 Merge Changeset: ad28f2b52b12 Author: lagergren Date: 2013-04-30 09:42 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/ad28f2b52b12 8013533: Increase code coverage report for types and logging Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! test/script/error/JDK-8008814-1.js.EXPECTED ! test/script/error/JDK-8008814-2.js.EXPECTED + test/script/trusted/logcoverage.js + test/script/trusted/logcoverage.js.EXPECTED Changeset: 9fee4992f796 Author: lana Date: 2013-04-30 17:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/9fee4992f796 Merge Changeset: 45ce27fbe272 Author: lana Date: 2013-05-06 11:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/45ce27fbe272 Merge - src/jdk/nashorn/internal/codegen/Frame.java - src/jdk/nashorn/internal/ir/DoWhileNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java Changeset: 67ca019e3713 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/67ca019e3713 Added tag jdk8-b89 for changeset 45ce27fbe272 ! .hgtags Changeset: 4d291109480a Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:42 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/nashorn/rev/4d291109480a Merge up to jdk8-b90 ! .hgtags - src/jdk/nashorn/internal/codegen/Frame.java - src/jdk/nashorn/internal/ir/DoWhileNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java - test/script/basic/JDK-8017010.js - test/script/basic/JDK-8017010.js.EXPECTED From ed at camswl.com Fri Sep 27 08:00:18 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 15:00:18 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/langtools: 58 new changesets Message-ID: <20130927150305.3E8CA62B82@hg.openjdk.java.net> Changeset: 2c9acb17f41a Author: katleman Date: 2013-04-11 09:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/2c9acb17f41a Added tag jdk8-b85 for changeset 4a48f3173534 ! .hgtags Changeset: 330b35b27e68 Author: darcy Date: 2013-03-26 17:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/330b35b27e68 7041251: Use j.u.Objects utility methods in langtools Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/Pair.java ! src/share/classes/javax/annotation/processing/AbstractProcessor.java Changeset: 33b6a52f0037 Author: darcy Date: 2013-03-26 18:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/33b6a52f0037 7059170: Assume availablility of URLClassLoader.close Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/util/BaseFileManager.java - src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java Changeset: 7bebe17ff323 Author: mcimadamore Date: 2013-03-28 11:38 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/7bebe17ff323 8010469: Bad assertion in LambdaToMethod Summary: Add assertion in LambdaToMethod.serializedLambdaName Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Changeset: a200d8ccfe47 Author: mcimadamore Date: 2013-03-28 11:39 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/a200d8ccfe47 8010490: FindBugs: double assignments in LambdaToMethod.visitIdent Summary: Remove dead code from LambdaToMethod Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Changeset: 991f11e13598 Author: jjg Date: 2013-03-28 10:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/991f11e13598 8006346: doclint should make allowance for headers generated by standard doclet Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/DocLint.java ! src/share/classes/com/sun/tools/doclint/Env.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java + test/tools/javac/doclint/ImplicitHeadersTest.java + test/tools/javadoc/doclint/ImplicitHeadersTest.java Changeset: d3648557391b Author: jjg Date: 2013-03-28 10:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/d3648557391b 8010511: Tests are creating files in /tmp Reviewed-by: darcy ! test/tools/javac/T6558476.java ! test/tools/javac/T6900149.java ! test/tools/javac/diags/CheckExamples.java ! test/tools/javac/diags/RunExamples.java Changeset: 29c6984a1673 Author: vromero Date: 2013-04-02 10:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/29c6984a1673 4965689: class literal code wastes a byte Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/Items.java + test/tools/javac/T4965689/ClassLiteralWastesByteTest.java Changeset: 46d2f144ebbd Author: lana Date: 2013-04-02 12:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/46d2f144ebbd Merge Changeset: 0d47e6131490 Author: darcy Date: 2013-04-03 12:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/0d47e6131490 8011052: Add DEFAULT to javax.lang.model.Modifier Reviewed-by: abuckley, jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/javax/lang/model/element/Modifier.java ! test/tools/javac/processing/model/element/TestExecutableElement.java Changeset: e06dc8345d9c Author: lana Date: 2013-04-05 14:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/e06dc8345d9c Merge Changeset: b71a61d39cf7 Author: mcimadamore Date: 2013-04-08 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/b71a61d39cf7 8010922: Cleanup: add support for ad-hoc method check logic Summary: Support pluggable method checkers Reviewed-by: jjg ! 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/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: b54122b9372d Author: mcimadamore Date: 2013-04-08 15:52 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/b54122b9372d 8010823: DefaultMethodTest.testReflectCall fails with new lambda VM Summary: Fix lambda test Reviewed-by: jjg ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Changeset: e9d986381414 Author: mcimadamore Date: 2013-04-08 15:53 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/e9d986381414 8010404: Lambda debugging: redundant LineNumberTable entry for lambda capture Summary: Ignore indy entries in LineNumberTable Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! test/tools/javac/lambda/TestInvokeDynamic.java Changeset: 94a202228ec2 Author: mcimadamore Date: 2013-04-08 15:57 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/94a202228ec2 8009131: Overload: javac should discard methods that lead to errors in lambdas with implicit parameter types Summary: Lambdas that have errors in their bodies should make enclosing overload resolution fail Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/BadArgTypesInLambda.java ! test/tools/javac/lambda/BadRecovery.out ! test/tools/javac/lambda/TargetType01.java - test/tools/javac/lambda/TargetType01.out ! test/tools/javac/lambda/TargetType43.out + test/tools/javac/lambda/TargetType66.java + test/tools/javac/lambda/TargetType66.out Changeset: c635a966ce84 Author: mcimadamore Date: 2013-04-08 15:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/c635a966ce84 8010822: Intersection type cast for functional expressions does not follow spec EDR Summary: Remove support for marker interfaces; redefine intersection type casts to be order-independent Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/diags/examples/NotAnInterfaceComponent.java - test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java ! test/tools/javac/lambda/Intersection01.java - test/tools/javac/lambda/Intersection01.out ! test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java Changeset: b402b93cbe38 Author: jjg Date: 2013-04-08 11:54 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/b402b93cbe38 8011676: Instances of Tokens.Comment should not be defined in inner classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java ! src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java Changeset: 3f3cc8d3f13c Author: jjg Date: 2013-04-08 11:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/3f3cc8d3f13c 8011677: EndPosTables should avoid hidden references to Parser Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: 1f19b84efa6d Author: lana Date: 2013-04-16 08:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/1f19b84efa6d Merge - src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java - test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java - test/tools/javac/lambda/Intersection01.out - test/tools/javac/lambda/TargetType01.out Changeset: 2b585be0da7a Author: katleman Date: 2013-04-12 15:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/2b585be0da7a 8012048: JDK8 b85 source with GPL header errors Reviewed-by: iris, mduigou, jjg ! test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java ! test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java ! test/com/sun/javadoc/typeAnnotations/smoke/pkg/TargetTypes.java Changeset: 717bcda533f2 Author: katleman Date: 2013-04-15 14:21 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/717bcda533f2 Merge Changeset: 6ab578e141df Author: katleman Date: 2013-04-16 15:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/6ab578e141df Merge Changeset: 4f4509c2fe35 Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/4f4509c2fe35 Added tag jdk8-b86 for changeset 6ab578e141df ! .hgtags Changeset: eb134c8e931d Author: bpatel Date: 2013-04-09 14:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/eb134c8e931d 8005091: javadoc should be able to return the receiver type Reviewed-by: jjg ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java + test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/ClassExtends.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/ClassParameters.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Fields.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/MethodReturnType.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/MethodTypeParameters.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Parameters.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Receivers.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Throws.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/TypeParameters.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Varargs.java + test/com/sun/javadoc/testTypeAnnotations/typeannos/Wildcards.java Changeset: a4be2c2fe0a1 Author: vromero Date: 2013-04-10 12:31 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/a4be2c2fe0a1 8011432: javac, compiler regression iterable + captured type Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! test/tools/javac/T5053846/MethodRefDupInConstantPoolTest.java Changeset: d13af7751456 Author: lana Date: 2013-04-11 19:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/d13af7751456 Merge Changeset: 137994c189e5 Author: jfranck Date: 2013-04-12 12:05 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/137994c189e5 7015104: use new subtype of TypeSymbol for type parameters Reviewed-by: jjg, mcimadamore ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! test/tools/javac/scope/7017664/CompoundScopeTest.java ! test/tools/javac/types/TypeHarness.java Changeset: 76537856a54e Author: vromero Date: 2013-04-13 12:25 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/76537856a54e 8010659: Javac Crashes while building OpenJFX Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com + src/share/classes/com/sun/tools/javac/comp/CompileStates.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/tools/javac/T8010659/CompilerCrashWhenMixingBinariesAndSourcesTest.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java Changeset: f10cffab99b4 Author: bpatel Date: 2013-04-13 18:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/f10cffab99b4 8009686: Generated javadoc documentation should be able to display type annotation on an array Reviewed-by: jjg ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java ! test/com/sun/javadoc/testTypeAnnotations/typeannos/Fields.java Changeset: b26f36a7ae3b Author: mcimadamore Date: 2013-04-15 14:11 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/b26f36a7ae3b 8011383: Symbol.getModifiers omits ACC_ABSTRACT from interface with default methods Summary: Fixup for default method modifiers erroneously applies to class-level modifiers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java + test/tools/javac/defaultMethods/DefaultMethodFlags.java Changeset: c430f1cde21c Author: mcimadamore Date: 2013-04-15 14:12 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/c430f1cde21c 8011377: Javac crashes when multiple lambdas are defined in an array Summary: Wrong attribution environment used by DeferredAttr Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Flow.java + test/tools/javac/lambda/TargetType71.java Changeset: 083c6b199e2f Author: mcimadamore Date: 2013-04-15 14:15 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/083c6b199e2f 8011376: Spurious checked exception errors in nested method call Summary: Fallback attribution logic doesn't work properly when lambda throws checked exceptions Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/TargetType72.java Changeset: 6dacab087652 Author: mcimadamore Date: 2013-04-15 14:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/6dacab087652 8011028: lang/INFR/infr001/infr00101md/infr00101md.java fails to compile after switch to JDK8-b82 Summary: Fix bug in Types.removeWildcards Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Types.java ! test/tools/javac/lambda/TargetType69.java + test/tools/javac/lambda/TargetType70.java Changeset: c2315af9cc28 Author: mcimadamore Date: 2013-04-15 14:17 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/c2315af9cc28 8011392: Missing checkcast when casting to intersection type Summary: javac should emit a checkcast for each additional target type specified in an intersection type cast Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java + test/tools/javac/lambda/Intersection03.java Changeset: 950e8ac120f0 Author: mcimadamore Date: 2013-04-15 14:18 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/950e8ac120f0 8010923: Avoid redundant speculative attribution Summary: Add optimization to avoid speculative attribution for certain argument expressions Reviewed-by: jjg ! 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/Resolve.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Changeset: 49d32c84dfea Author: vromero Date: 2013-04-17 11:11 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/49d32c84dfea 8011181: javac, empty UTF8 entry generated for inner class Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java + test/tools/javac/T8011181/EmptyUTF8ForInnerClassNameTest.java Changeset: 94870c08391c Author: lana Date: 2013-04-17 10:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/94870c08391c Merge Changeset: cad4fc23f691 Author: lana Date: 2013-04-17 21:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/cad4fc23f691 Merge Changeset: 1329f9c38d93 Author: lana Date: 2013-04-23 09:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/1329f9c38d93 Merge Changeset: a1e10f3adc47 Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/a1e10f3adc47 Added tag jdk8-b87 for changeset 1329f9c38d93 ! .hgtags Changeset: adec2a5d510a Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/adec2a5d510a Added tag jdk8-b88 for changeset a1e10f3adc47 ! .hgtags Changeset: ed918a442b83 Author: jlahoda Date: 2013-04-17 15:54 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/ed918a442b83 8008174: DocTree API should provide start and end positions for tree nodes Summary: Adding DocSourcePositions to allow access to DocTree starting/ending position Reviewed-by: jjg, darcy Contributed-by: Ralph Benjamin Ruijs , Jan Lahoda + src/share/classes/com/sun/source/util/DocSourcePositions.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/SourcePositions.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/tree/DCTree.java + test/tools/javac/doctree/positions/TestPosition.java + test/tools/javac/doctree/positions/TestPosition.out + test/tools/javac/doctree/positions/TestPositionSource.java Changeset: 891b88acf47a Author: jjg Date: 2013-04-18 19:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/891b88acf47a 8012658: Change default langtools source level to 7 Reviewed-by: darcy ! make/netbeans/langtools/nbproject/project.xml Changeset: 95d29b99e5b3 Author: jjg Date: 2013-04-18 20:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/95d29b99e5b3 8012656: cache frequently used name strings for DocImpl classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java Changeset: a3655c24e232 Author: jfranck Date: 2013-04-19 11:57 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/a3655c24e232 8012681: Commit for JDK-8012656 breaks tl build Reviewed-by: vromero, chegar, alanb ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java Changeset: d59730bd3162 Author: jjg Date: 2013-04-19 11:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/d59730bd3162 8012661: remove langtools Makefile-classic Reviewed-by: erikj, tbell - make/Makefile-classic Changeset: bae8387d16aa Author: jfranck Date: 2013-04-22 10:24 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/bae8387d16aa 8011027: Type parameter annotations not passed through to javax.lang.model Reviewed-by: jjg, darcy ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/model/JavacAnnoConstructs.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java + test/tools/javac/processing/model/element/TestTypeParameterAnnotations.java Changeset: da0bd69335d4 Author: lana Date: 2013-04-23 15:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/da0bd69335d4 Merge Changeset: 4b0038f66d66 Author: jjg Date: 2013-04-25 17:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/4b0038f66d66 8013256: javac test failing after Lambda changes to java.util.List Reviewed-by: mduigou ! test/tools/javac/api/TestJavacTaskScanner.java Changeset: 3c02d2f1a421 Author: vromero Date: 2013-04-26 10:04 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/3c02d2f1a421 8012723: strictfp interface misses strictfp modifer on default method Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java Changeset: 2ca9e7d50136 Author: vromero Date: 2013-04-26 10:17 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/2ca9e7d50136 8008562: javac, a refactoring to Bits is necessary in order to provide a change history Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/util/Bits.java Changeset: f3f3ac1273e8 Author: vromero Date: 2013-04-26 15:59 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/f3f3ac1273e8 8010304: javac should detect all mutable implicit static fields in langtools using a plugin Reviewed-by: jjg ! make/build.xml + make/tools/crules/AbstractCodingRulesAnalyzer.java + make/tools/crules/MutableFieldsAnalyzer.java + make/tools/crules/resources/crules.properties Changeset: 57648bad3287 Author: mchung Date: 2013-04-30 15:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/57648bad3287 8013531: Provide a utility class in com.sun.tools.classfile to find field/method references Reviewed-by: alanb ! src/share/classes/com/sun/tools/classfile/Dependencies.java + src/share/classes/com/sun/tools/classfile/ReferenceFinder.java Changeset: 260013a710ef Author: lana Date: 2013-04-30 17:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/260013a710ef Merge Changeset: 8e27e84de2e9 Author: rfield Date: 2013-05-01 08:46 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/8e27e84de2e9 8011591: BootstrapMethodError when capturing constructor ref to local classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInnerImplicitArgs.java Changeset: ec434cfd2752 Author: lana Date: 2013-05-06 11:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/ec434cfd2752 Merge - make/Makefile-classic Changeset: e19283cd30a4 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/e19283cd30a4 Added tag jdk8-b89 for changeset ec434cfd2752 ! .hgtags Changeset: 9afeb870a2c1 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/langtools/rev/9afeb870a2c1 Merge up to jdk8-b90 ! .hgtags - make/Makefile-classic - src/share/classes/com/sun/tools/javac/util/CloseableURLClassLoader.java - test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java - test/tools/javac/lambda/Intersection01.out - test/tools/javac/lambda/TargetType01.out From ed at camswl.com Fri Sep 27 08:03:35 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 15:03:35 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/jaxp: 14 new changesets Message-ID: <20130927150411.6D0B462B83@hg.openjdk.java.net> Changeset: ca71ec37b2ef Author: katleman Date: 2013-04-11 09:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/ca71ec37b2ef Added tag jdk8-b85 for changeset 41b50e2c5ea3 ! .hgtags Changeset: 9550aab82b5d Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/9550aab82b5d Added tag jdk8-b86 for changeset ca71ec37b2ef ! .hgtags Changeset: 10db50a26b39 Author: joehw Date: 2013-02-18 11:33 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/10db50a26b39 6657673: Issues with JAXP Reviewed-by: alanb, lancea, ahgross, mullan ! src/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/com/sun/org/apache/bcel/internal/util/Class2HTML.java ! src/com/sun/org/apache/bcel/internal/util/ClassPath.java ! src/com/sun/org/apache/bcel/internal/util/JavaWrapper.java + src/com/sun/org/apache/bcel/internal/util/SecuritySupport.java ! src/com/sun/org/apache/xalan/internal/res/XSLMessages.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_es.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_fr.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_it.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ja.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ko.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_pt_BR.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_sv.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_CN.java ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_zh_TW.java ! src/com/sun/org/apache/xalan/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xalan/internal/utils/SecuritySupport.java ! src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java ! src/com/sun/org/apache/xalan/internal/xslt/Process.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/Util.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xerces/internal/dom/DOMMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java ! src/com/sun/org/apache/xerces/internal/impl/dv/DatatypeException.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_de.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_es.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_fr.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_it.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ja.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_ko.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_pt_BR.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_sv.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_CN.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessageFormatter_zh_TW.java ! src/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegexParser.java ! src/com/sun/org/apache/xerces/internal/impl/xs/XSMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/JAXPValidationMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/util/DatatypeMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/util/SAXMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/util/SecurityManager.java ! src/com/sun/org/apache/xerces/internal/utils/ObjectFactory.java ! src/com/sun/org/apache/xerces/internal/utils/SecuritySupport.java ! src/com/sun/org/apache/xerces/internal/xinclude/XIncludeMessageFormatter.java ! src/com/sun/org/apache/xerces/internal/xpointer/XPointerMessageFormatter.java ! src/com/sun/org/apache/xml/internal/dtm/DTMManager.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_ca.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_cs.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_de.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_es.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_fr.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_it.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_ja.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_ko.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_pt_BR.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_sk.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_sv.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_tr.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_CN.java ! src/com/sun/org/apache/xml/internal/res/XMLErrorResources_zh_TW.java ! src/com/sun/org/apache/xml/internal/res/XMLMessages.java ! src/com/sun/org/apache/xml/internal/resolver/Catalog.java ! src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java ! src/com/sun/org/apache/xml/internal/resolver/Resolver.java ! src/com/sun/org/apache/xml/internal/serialize/SerializerFactory.java ! src/com/sun/org/apache/xml/internal/serializer/Encodings.java ! src/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java ! src/com/sun/org/apache/xml/internal/serializer/ToStream.java ! src/com/sun/org/apache/xml/internal/serializer/TreeWalker.java ! src/com/sun/org/apache/xml/internal/serializer/utils/Messages.java ! src/com/sun/org/apache/xml/internal/utils/TreeWalker.java ! src/com/sun/org/apache/xml/internal/utils/res/XResourceBundle.java ! src/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_de.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_es.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_fr.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_it.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ja.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ko.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_pt_BR.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_sv.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_CN.java ! src/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_zh_TW.java ! src/com/sun/org/apache/xpath/internal/res/XPATHMessages.java ! src/com/sun/xml/internal/stream/XMLEntityStorage.java ! src/com/sun/xml/internal/stream/writers/WriterUtility.java ! src/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java ! src/javax/xml/datatype/FactoryFinder.java ! src/javax/xml/parsers/FactoryFinder.java ! src/javax/xml/stream/FactoryFinder.java ! src/javax/xml/transform/FactoryFinder.java ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java ! src/org/w3c/dom/bootstrap/DOMImplementationRegistry.java ! src/org/xml/sax/helpers/NewInstance.java ! src/org/xml/sax/helpers/ParserAdapter.java ! src/org/xml/sax/helpers/ParserFactory.java + src/org/xml/sax/helpers/SecuritySupport.java ! src/org/xml/sax/helpers/XMLReaderFactory.java Changeset: 3f9817b8b0e0 Author: chegar Date: 2013-04-12 10:20 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/3f9817b8b0e0 Merge Changeset: eddbc8ad2435 Author: lana Date: 2013-04-23 09:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/eddbc8ad2435 Merge Changeset: 7122f7bb0fcc Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/7122f7bb0fcc Added tag jdk8-b87 for changeset eddbc8ad2435 ! .hgtags Changeset: 21f75e572cb3 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/21f75e572cb3 Added tag jdk8-b88 for changeset 7122f7bb0fcc ! .hgtags Changeset: fad6560cb32a Author: dfuchs Date: 2013-04-17 15:23 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/fad6560cb32a 8005954: JAXP Plugability Layer should use java.util.ServiceLoader Summary: This fix replaces manual processing of files under META-INF/services in JAXP factories by calls to java.util.ServiceLoader. Reviewed-by: alanb, joehw, mchung ! src/javax/xml/datatype/DatatypeFactory.java ! src/javax/xml/datatype/FactoryFinder.java ! src/javax/xml/parsers/DocumentBuilderFactory.java ! src/javax/xml/parsers/FactoryFinder.java ! src/javax/xml/parsers/SAXParserFactory.java ! src/javax/xml/stream/FactoryFinder.java ! src/javax/xml/stream/XMLEventFactory.java ! src/javax/xml/stream/XMLInputFactory.java ! src/javax/xml/stream/XMLOutputFactory.java ! src/javax/xml/transform/FactoryFinder.java ! src/javax/xml/transform/TransformerFactory.java ! src/javax/xml/validation/SchemaFactory.java + src/javax/xml/validation/SchemaFactoryConfigurationError.java ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactory.java ! src/javax/xml/xpath/XPathFactoryFinder.java Changeset: 1c2079d11a79 Author: dfuchs Date: 2013-04-19 17:22 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/1c2079d11a79 8010495: Update JAXP NetBeans project - add support for generating javadoc Summary: Make it possible to use NetBeans to edit the jaxp sources and to generate a preview of the associated javadoc. Reviewed-by: joehw, alanb ! build.xml ! nbproject/project.xml Changeset: 6c6411a7070f Author: lana Date: 2013-04-23 15:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/6c6411a7070f Merge Changeset: be5d6853d821 Author: lana Date: 2013-04-30 17:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/be5d6853d821 Merge Changeset: 893d2ba8bbea Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/893d2ba8bbea Merge Changeset: 668acc0e1034 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/668acc0e1034 Added tag jdk8-b89 for changeset 893d2ba8bbea ! .hgtags Changeset: e27c35e24ebe Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:40 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jaxp/rev/e27c35e24ebe Merge up to jdk8-b90 ! .hgtags From ed at camswl.com Fri Sep 27 07:50:41 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 14:50:41 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/corba: 10 new changesets Message-ID: <20130927145047.F17BF62B7D@hg.openjdk.java.net> Changeset: 44a8ce4a759f Author: katleman Date: 2013-04-11 09:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/44a8ce4a759f Added tag jdk8-b85 for changeset 9583a6431596 ! .hgtags Changeset: f1709874d55a Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/f1709874d55a Added tag jdk8-b86 for changeset 44a8ce4a759f ! .hgtags Changeset: 4e3a881ebb1e Author: katleman Date: 2013-04-25 09:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/4e3a881ebb1e Added tag jdk8-b87 for changeset f1709874d55a ! .hgtags Changeset: 1f13a798d1b8 Author: katleman Date: 2013-05-02 13:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/1f13a798d1b8 Added tag jdk8-b88 for changeset 4e3a881ebb1e ! .hgtags Changeset: 8f0a461776a9 Author: dmeetry Date: 2013-04-29 16:44 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/8f0a461776a9 4504275: CORBA boolean type unions do not generate compilable code from idlj Summary: JLS doesn't allow boolean type in switch statement, hence substituted by if statement. Reviewed-by: lancea ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/UnionGen.java Changeset: 846aaf02e516 Author: dmeetry Date: 2013-04-29 16:51 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/846aaf02e516 8011986: [corba] idlj generates read/write union helper methods that throw wrong exception in some cases Reviewed-by: lancea ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/UnionGen.java Changeset: ed59110eecdb Author: lana Date: 2013-04-30 17:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/ed59110eecdb Merge Changeset: fe4150590ee5 Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/fe4150590ee5 Merge Changeset: c8286839d0df Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/c8286839d0df Added tag jdk8-b89 for changeset fe4150590ee5 ! .hgtags Changeset: 9e3acfd57153 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:39 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/corba/rev/9e3acfd57153 Merge up to jdk8-b90 ! .hgtags From ed at camswl.com Fri Sep 27 07:51:25 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 14:51:25 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: 201 new changesets Message-ID: <20130927145813.6B22362B7F@hg.openjdk.java.net> Changeset: 5dcfeb396fed Author: katleman Date: 2013-04-11 09:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5dcfeb396fed Added tag jdk8-b85 for changeset 42fe530cd478 ! .hgtags Changeset: dcdeb150988c Author: amurillo Date: 2013-04-04 21:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dcdeb150988c 8011584: new hotspot build - hs25-b27 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3b890cd4da64 Author: ctornqvi Date: 2013-04-03 21:41 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations Summary: Tests added for Reserve/Commit/Uncommit/Unreserve operations Reviewed-by: zgu, mgerdin ! src/share/vm/prims/whitebox.cpp - test/runtime/NMT/AllocTestType.java + test/runtime/NMT/MallocTestType.java + test/runtime/NMT/ThreadedMallocTestType.java + test/runtime/NMT/ThreadedVirtualAllocTestType.java + test/runtime/NMT/VirtualAllocTestType.java ! test/testlibrary/OutputAnalyzerTest.java ! test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 8554c55669b0 Author: hseigel Date: 2013-04-04 08:47 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8554c55669b0 8010943: guarantee(length == 0) failed: invalid method ordering length Summary: Add DumpSharedSpaces to IF condition to handle verify during -Xshare:dump. Reviewed-by: coleenp, zgu ! src/share/vm/oops/instanceKlass.cpp Changeset: bad3bed4b323 Author: ccheung Date: 2013-03-29 14:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bad3bed4b323 8006006: [parfait] Memory leak at hotspot/src/share/tools/launcher/wildcard.c Summary: a simple fix to add FileList_free(fl) before returning NULL. Reviewed-by: zgu, coleenp, minqi ! src/share/tools/launcher/wildcard.c Changeset: 17bf4d428955 Author: ccheung Date: 2013-04-03 16:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/17bf4d428955 8006103: [parfait] Possible null pointer dereference at hotspot/src/os/linux/vm/os_linux.cpp; os_windows.cpp; os_solaris.cpp; os_bsd.cpp Reviewed-by: zgu, iklam ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: cc32ccaaf47f Author: mikael Date: 2013-04-04 10:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cc32ccaaf47f 8003310: Enable -Wunused-function when compiling with gcc Summary: Add the -Wunused-function flag and remove a number of unused functions. Reviewed-by: dholmes, coleenp, kvn ! make/linux/makefiles/gcc.make ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/x86_64.ad ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 4c8bb5e4f68f Author: zgu Date: 2013-04-05 12:19 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4c8bb5e4f68f 8011161: NMT: Memory leak when encountering out of memory error while initializing memory snapshot Summary: Fix memory leaks when NMT fails to initialize snapshot and worker thread Reviewed-by: dcubed, ccheung, rdurbin ! src/share/vm/services/memTracker.cpp Changeset: 8be1318fbe77 Author: dcubed Date: 2013-04-05 10:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8be1318fbe77 Merge ! src/cpu/x86/vm/x86_64.ad ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/arguments.cpp - test/runtime/NMT/AllocTestType.java Changeset: 46d24f112c27 Author: dcubed Date: 2013-04-05 16:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/46d24f112c27 Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh Changeset: 4b7cf00ccb08 Author: ccheung Date: 2013-04-05 11:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4b7cf00ccb08 8006001: [parfait] Possible file leak in hotspot/src/os/linux/vm/perfMemory_linux.cpp Reviewed-by: zgu, coleenp, hseigel, dholmes ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/perfMemory_windows.cpp Changeset: b933e75e7cbe Author: zgu Date: 2013-04-05 23:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b933e75e7cbe Merge Changeset: 09b0d3e9ba6c Author: bharadwaj Date: 2013-04-09 08:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/09b0d3e9ba6c 8011671: JCK tests on static interface methods fail under b84: Illegal type at constant pool entry 5 Summary: Restore incorrect removal of support for static interface method verification in Java 8 Reviewed-by: kvn, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: 9b4a6a172a8a Author: amurillo Date: 2013-04-11 01:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9b4a6a172a8a Added tag hs25-b27 for changeset 09b0d3e9ba6c ! .hgtags Changeset: 511e334ee345 Author: amurillo Date: 2013-04-11 16:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/511e334ee345 Merge ! .hgtags - test/runtime/NMT/AllocTestType.java Changeset: e437668ced9d Author: amurillo Date: 2013-04-11 01:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e437668ced9d 8011948: new hotspot build - hs25-b28 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 68fe50d4f1d5 Author: johnc Date: 2013-04-05 10:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/68fe50d4f1d5 8011343: Add new flag for verifying the heap during startup Summary: Perform verification during VM startup under control of new flag and within a VMOperation. Reviewed-by: stefank, jmasa, brutisso ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp - test/gc/TestVerifyBeforeGCDuringStartup.java + test/gc/TestVerifyDuringStartup.java Changeset: 8617e38bb4cb Author: jmasa Date: 2013-02-11 10:31 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8617e38bb4cb 8008508: CMS does not correctly reduce heap size after a Full GC Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 83f27710f5f7 Author: brutisso Date: 2013-04-08 07:49 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/83f27710f5f7 7197666: java -d64 -version core dumps in a box with lots of memory Summary: Allow task queues to be mmapped instead of malloced on Solaris Reviewed-by: coleenp, jmasa, johnc, tschatzl ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 63f57a8c5283 Author: mgerdin Date: 2013-04-09 15:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/63f57a8c5283 8009808: TEST-BUG : test case is using bash style tests. Default shell for jtreg is bourne. thus failure Summary: Rewrite test to use Java only instead of shell script Reviewed-by: mgerdin, brutisso Contributed-by: leonid.mesnik at oracle.com + test/gc/6941923/Test6941923.java - test/gc/6941923/test6941923.sh Changeset: ba42fd5e00e6 Author: mgerdin Date: 2013-04-10 13:27 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ba42fd5e00e6 8010196: NPG: Internal Error: Metaspace allocation lock -- possible deadlock Summary: Refactor the CLD dependency list into a separate class. Use an ObjectLocker to synchronize additions to the CLD dependency list. Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp + test/gc/metaspace/G1AddMetaspaceDependency.java Changeset: 7b835924c31c Author: stefank Date: 2013-04-10 14:26 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7b835924c31c 8011872: Include Bit Map addresses in the hs_err files Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 480d934f62a8 Author: mgerdin Date: 2013-04-11 16:35 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/480d934f62a8 Merge ! src/share/vm/runtime/arguments.cpp - test/runtime/NMT/AllocTestType.java Changeset: 705ef39fcaa9 Author: neliasso Date: 2013-04-05 11:09 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/705ef39fcaa9 8006016: Memory leak at hotspot/src/share/vm/adlc/output_c.cpp Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp Changeset: f67065f02409 Author: bharadwaj Date: 2013-04-08 07:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f67065f02409 8010913: compiler/6863420 often exceeds timeout Summary: add longer timeout for jtreg, add internal timeout thread to prevent spurious timeouts Reviewed-by: twisti, kvn Contributed-by: drchase ! test/compiler/6863420/Test.java Changeset: b84fd7d73702 Author: iignatyev Date: 2013-04-09 09:54 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b84fd7d73702 8007288: Additional WB API for compiler's testing Reviewed-by: kvn, vlivanov ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/utilities/accessFlags.hpp ! src/share/vm/utilities/globalDefinitions.hpp + test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java + test/compiler/whitebox/SetForceInlineMethodTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 84ab5667f290 Author: roland Date: 2013-04-10 09:52 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/84ab5667f290 8011706: specjvm2008 test xml.transform gets array bound exception with c1 Summary: loop invariant code motion may move load before store to the same field Reviewed-by: kvn ! src/share/vm/c1/c1_ValueMap.cpp + test/compiler/8011706/Test8011706.java Changeset: d79859ff6535 Author: kmo Date: 2013-04-11 07:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d79859ff6535 8011952: Missing ResourceMarks in TraceMethodHandles Summary: add missing ResourceMark under TraceMethodHandles in LinkResolver Reviewed-by: dholmes ! src/share/vm/interpreter/linkResolver.cpp Changeset: 9befe2fce567 Author: vlivanov Date: 2013-04-11 09:08 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9befe2fce567 8011972: Field can be erroneously marked as contended when @Contended annotation isn't present Reviewed-by: kvn, kmo, shade ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp Changeset: b5db9d29062f Author: vlivanov Date: 2013-04-11 11:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b5db9d29062f Merge Changeset: 7a5aec879506 Author: bharadwaj Date: 2013-04-11 17:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7a5aec879506 Merge ! src/share/vm/prims/whitebox.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 6d88a566d369 Author: amurillo Date: 2013-04-11 21:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6d88a566d369 Merge - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java Changeset: 5201379fe487 Author: amurillo Date: 2013-04-11 21:45 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5201379fe487 Added tag hs25-b28 for changeset 6d88a566d369 ! .hgtags Changeset: b0301c02f38e Author: katleman Date: 2013-04-12 15:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b0301c02f38e 8012048: JDK8 b85 source with GPL header errors Reviewed-by: iris, mduigou, jjg ! make/bsd/makefiles/fastdebug.make ! src/share/vm/services/diagnosticArgument.cpp ! test/sanity/WBApi.java ! test/serviceability/ParserTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java ! test/testlibrary/whitebox/sun/hotspot/parser/DiagnosticCommand.java Changeset: c9eb0ec1c792 Author: katleman Date: 2013-04-15 14:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c9eb0ec1c792 Merge ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 86db4847f195 Author: katleman Date: 2013-04-17 12:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/86db4847f195 Merge ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 2e657354f6bc Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2e657354f6bc Added tag jdk8-b86 for changeset 86db4847f195 ! .hgtags Changeset: 3d641132f83b Author: twisti Date: 2013-02-26 16:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3d641132f83b 8004336: Better handling of method handle intrinsic frames Reviewed-by: kvn, jrose, ahgross ! src/share/vm/opto/library_call.cpp Changeset: 124ca22437b1 Author: chegar Date: 2013-04-12 10:14 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/124ca22437b1 Merge ! src/share/vm/opto/library_call.cpp Changeset: 6c560f9ebb3e Author: lana Date: 2013-04-17 10:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6c560f9ebb3e Merge - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java Changeset: db9c527a1fd8 Author: lana Date: 2013-04-17 21:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/db9c527a1fd8 Merge Changeset: d4c266784660 Author: lana Date: 2013-04-23 09:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d4c266784660 Merge Changeset: d080f5168deb Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d080f5168deb Added tag jdk8-b87 for changeset d4c266784660 ! .hgtags Changeset: c60f69931e1a Author: amurillo Date: 2013-04-11 21:54 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c60f69931e1a 8011949: new hotspot build - hs25-b29 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 35f8765422b9 Author: zgu Date: 2013-04-10 08:55 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/35f8765422b9 8010151: nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started" Summary: Fixed a racing condition when shutting down NMT while worker thread is being started, also fixed a few mis-declared volatile pointers. Reviewed-by: dholmes, dlong ! src/share/vm/runtime/thread.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: f2c0ccccc6b6 Author: rdurbin Date: 2013-04-16 08:59 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f2c0ccccc6b6 Merge Changeset: 71013d764f6e Author: johnc Date: 2013-04-10 10:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/71013d764f6e 8010780: G1: Eden occupancy/capacity output wrong after a full GC Summary: Move the calculation and recording of eden capacity to the start of a GC and print a detailed heap transition for full GCs. Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: c0000f77bc6d Author: johnc Date: 2013-04-11 10:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c0000f77bc6d Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 9aa8d8037ee3 Author: mgerdin Date: 2013-04-16 12:46 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9aa8d8037ee3 Merge ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: df254344edf1 Author: jmasa Date: 2013-04-01 10:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/df254344edf1 8011173: NPG: Replace the ChunkList implementation with class FreeList Reviewed-by: mgerdin, tschatzl, johnc, coleenp ! src/share/vm/memory/metaspace.cpp Changeset: f2e682ef3156 Author: johnc Date: 2013-04-17 10:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f2e682ef3156 8012335: G1: Fix bug with compressed oops in template interpreter on x86 and sparc. Summary: In do_oop_store the uncompressed value of the oop being stored needs to be preserved and passed to g1_write_barrier_post. This is necessary for the heap region cross check to work correctly. Reviewed-by: coleenp, johnc Contributed-by: Martin Doerr ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp Changeset: 07a4efc5ed14 Author: brutisso Date: 2013-04-18 06:50 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/07a4efc5ed14 8012455: Missing time and date stamps for PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime Summary: also reviewed by: kirk at kodewerk.com, brandon at twitter.com Reviewed-by: tschatzl, stefank, johnc ! src/share/vm/services/runtimeService.cpp Changeset: cbf8c8c25bbe Author: mgerdin Date: 2013-04-18 14:38 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cbf8c8c25bbe Merge Changeset: aeaca88565e6 Author: jiangli Date: 2013-04-09 17:17 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily. Summary: Allocate the method's profiling related metadata until they are needed. Reviewed-by: coleenp, roland ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java + agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/invocationCounter.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp + src/share/vm/oops/methodCounters.cpp + src/share/vm/oops/methodCounters.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 42a42da29fd7 Author: jiangli Date: 2013-04-11 23:06 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/42a42da29fd7 8012052: java/lang/invoke/6987555/Test6987555.java crashes with assert(mcs != NULL) failed: MethodCounters cannot be NULL. Summary: Skip counter decay if the MethodCounters is NULL in NonTieredCompPolicy::delay_compilation(). Reviewed-by: kvn, dholmes ! src/share/vm/runtime/compilationPolicy.cpp Changeset: 8df6ddda8090 Author: jiangli Date: 2013-04-15 21:25 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8df6ddda8090 Merge ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 9500809ceead Author: jiangli Date: 2013-04-18 17:00 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9500809ceead Merge ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp Changeset: b8b081e53312 Author: twisti Date: 2013-04-12 12:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b8b081e53312 8011933: add number of classes, methods and time spent to CompileTheWorld Reviewed-by: jrose, kvn ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp Changeset: 393fd4ef89c4 Author: twisti Date: 2013-04-12 15:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/393fd4ef89c4 8011678: test/Makefile should pick up JT_HOME environment variable Reviewed-by: kvn ! test/Makefile Changeset: f36e073d56a4 Author: drchase Date: 2013-04-12 15:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f36e073d56a4 7104565: trim jprt build targets Summary: remove JPRT debug builds, remove -DDEBUG -DFASTDEBUG and use ASSERT instead in sources Reviewed-by: dholmes, kvn, coleenp ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/debug.make ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/fastdebug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/jprt.properties ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/debug.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/fastdebug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/fastdebug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! make/windows/build.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/vm.make ! make/windows/projectfiles/compiler2/ADLCompiler.dsp ! make/windows/projectfiles/tiered/ADLCompiler.dsp ! src/cpu/sparc/vm/frame_sparc.cpp ! src/os/bsd/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/tools/hsdis/Makefile ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmThread.cpp Changeset: bc63dd2539a4 Author: kvn Date: 2013-04-12 20:37 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bc63dd2539a4 Merge ! make/bsd/makefiles/debug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/linux/makefiles/debug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/makefiles/debug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make Changeset: 886d1fd67dc3 Author: drchase Date: 2013-04-12 19:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/886d1fd67dc3 6443505: Ideal() function for CmpLTMask Summary: Repair wrong code generation, added new matching rule Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/cfgnode.cpp + test/compiler/6443505/Test6443505.java Changeset: bb4a966cc68f Author: roland Date: 2013-04-15 09:42 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bb4a966cc68f 8011582: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range Summary: c1 runtime's predicate_failed_trap should use jump_to on sparc Reviewed-by: kvn ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: 1c6887c9afaa Author: twisti Date: 2013-04-15 16:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1c6887c9afaa 7172922: export_ makefile targets do not work unless all supported variants are built Reviewed-by: dholmes, kvn ! make/Makefile Changeset: acadb114c818 Author: roland Date: 2013-04-15 17:17 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/acadb114c818 8011648: C1: optimized build is broken after 7153771 Summary: missing #ifdef ASSERT Reviewed-by: kvn ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: b105029fdbfd Author: roland Date: 2013-04-15 18:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b105029fdbfd Merge Changeset: 8373c19be854 Author: neliasso Date: 2013-04-16 10:08 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8373c19be854 8011621: live_ranges_in_separate_class.patch Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! make/windows/create_obj_files.sh - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c89eab0b6b30 Author: neliasso Date: 2013-04-16 10:37 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c89eab0b6b30 Merge - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 4b2eebe03f93 Author: iignatyev Date: 2013-04-16 10:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4b2eebe03f93 8011971: WB API doesn't accept j.l.reflect.Constructor Reviewed-by: kvn, vlivanov ! src/share/vm/prims/whitebox.cpp ! test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/compiler/whitebox/SetForceInlineMethodTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: a7fb14888912 Author: neliasso Date: 2013-04-11 13:57 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a7fb14888912 8006952: Slow VM due to excessive code cache freelist iteration Summary: Remove continous free block requirement Reviewed-by: kvn ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/opto/output.cpp Changeset: dedc8563e33d Author: bharadwaj Date: 2013-04-18 16:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dedc8563e33d Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 2a9d97b57920 Author: bharadwaj Date: 2013-04-19 03:13 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2a9d97b57920 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 01d5f04e64dc Author: amurillo Date: 2013-04-19 09:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/01d5f04e64dc Merge ! make/bsd/makefiles/fastdebug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 0491c26b1f1d Author: amurillo Date: 2013-04-19 09:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0491c26b1f1d Added tag hs25-b29 for changeset 01d5f04e64dc ! .hgtags Changeset: f78763f49817 Author: amurillo Date: 2013-04-19 10:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f78763f49817 8012559: new hotspot build - hs25-b30 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 63e31ce40bdb Author: hseigel Date: 2013-04-17 08:20 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/63e31ce40bdb 8009928: PSR:PERF Increase default string table size Summary: Increase default string table size to 60013 for 64-bit platforms. Reviewed-by: coleenp, dholmes ! src/share/vm/runtime/arguments.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: b80cc96882f7 Author: zgu Date: 2013-04-18 10:04 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b80cc96882f7 8012464: NMT: classes should not derive from _ValueObj, use VALUE_OBJ_CLASS_SPEC instead Summary: NMT value objects should use VALUE_OBJ_CLASS_SPEC instead of deriving from _ValueObj Reviewed-by: coleenp, hseigel, dholmes ! src/share/vm/services/memBaseline.hpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memTrackWorker.hpp Changeset: 41ed397cc0cd Author: bharadwaj Date: 2013-04-18 08:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/41ed397cc0cd 8006267: InterfaceMethod_ref should allow invokestatic and invokespecial Summary: Lambda changes; spec 0.6.2 - Allow static invokestatic and invokespecial calls to InterfaceMethod_ref Reviewed-by: dholmes, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/genericSignatures.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/prims/methodHandles.cpp Changeset: 7815eaceaa8c Author: bharadwaj Date: 2013-04-18 14:03 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7815eaceaa8c Merge Changeset: 6f817ce50129 Author: minqi Date: 2013-04-19 11:08 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6f817ce50129 8010992: Remove calls to global ::operator new[] and new Summary: disable use of global operator new and new[] which could cause unexpected exception and escape from NMT tracking. Reviewed-by: coleenp, dholmes, zgu Contributed-by: yumin.qi at oracle.com ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: 17c51f84773a Author: dcubed Date: 2013-04-19 13:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/17c51f84773a Merge Changeset: 5b6512efcdc4 Author: dcubed Date: 2013-04-19 16:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5b6512efcdc4 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 6337ca4dcad8 Author: sspitsyn Date: 2013-04-20 04:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6337ca4dcad8 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's Reviewed-by: coleenp, jrose, dholmes Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp Changeset: a527ddd44e07 Author: mgronlun Date: 2013-04-20 19:02 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a527ddd44e07 6729929: I18N - Taking Heap Dump failed if project path contains multibyte characters Reviewed-by: dholmes, rbackman Contributed-by: peter.allwin at oracle.com ! src/share/vm/services/management.cpp Changeset: 5a9fa2ba85f0 Author: dcubed Date: 2013-04-21 20:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5a9fa2ba85f0 8012907: anti-delta fix for 8010992 Summary: anti-delta fix for 8010992 until 8012902 can be fixed Reviewed-by: acorn, minqi, rdurbin ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: cc12becb22e7 Author: dcubed Date: 2013-04-21 21:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cc12becb22e7 Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ce6d7e43501c Author: bharadwaj Date: 2013-04-23 08:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ce6d7e43501c 8012961: Do not restrict static interface methods to be private Summary: Lambda changes; spec 0.6.2 - remove the restriction that was added as part of recent changes made to support upcoming changes to compilation of lambda methods. Reviewed-by: dholmes, acorn ! src/share/vm/prims/methodHandles.cpp Changeset: 1ea6a35dcbe5 Author: jiangli Date: 2013-04-23 12:32 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1ea6a35dcbe5 8012927: 'assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range' in interpreter initialization. Summary: Change br_null_short() to br_null(). Reviewed-by: coleenp, hseigel ! src/cpu/sparc/vm/interp_masm_sparc.cpp Changeset: 35c15dad89ea Author: roland Date: 2013-04-16 17:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/35c15dad89ea 8011901: Unsafe.getAndAddLong(obj, off, delta) does not work properly with long deltas Summary: instruct xaddL_no_res shouldn't allow 64 bit constants. Reviewed-by: kvn ! src/cpu/x86/vm/x86_64.ad + test/compiler/8011901/Test8011901.java Changeset: 6a3629cf7075 Author: roland Date: 2013-04-24 09:42 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6a3629cf7075 8011771: runThese crashed with EAV Summary: Array bound check elimination's in block motion doesn't always reset its data structures from one step to the other. Reviewed-by: kvn, twisti ! src/share/vm/c1/c1_RangeCheckElimination.cpp Changeset: 47766e2d2527 Author: jiangli Date: 2013-04-24 18:20 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/47766e2d2527 8013041: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset. Summary: Change jmpb() to jmp(). Reviewed-by: coleenp, rdurbin, dcubed ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp Changeset: e8a7a5995e65 Author: bharadwaj Date: 2013-04-25 13:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e8a7a5995e65 Merge Changeset: c4af77d20454 Author: amurillo Date: 2013-04-26 00:29 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c4af77d20454 Merge ! .hgtags - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 8482058e74bc Author: amurillo Date: 2013-04-26 00:29 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8482058e74bc Added tag hs25-b30 for changeset c4af77d20454 ! .hgtags Changeset: d0081bfc425c Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d0081bfc425c Added tag jdk8-b88 for changeset 8482058e74bc ! .hgtags Changeset: 57ac6a688ae6 Author: amurillo Date: 2013-04-26 00:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/57ac6a688ae6 8013227: new hotspot build - hs25-b31 Reviewed-by: jcoomes ! make/hotspot_version Changeset: cc70cbbd422e Author: hseigel Date: 2013-04-24 09:00 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cc70cbbd422e 8012695: Assertion message displays %u and %s text instead of actual values Summary: USe err_msg() to create a proper assertion message. Reviewed-by: twisti, coleenp, iklam ! src/share/vm/classfile/classFileParser.hpp Changeset: fbca7eaeac2e Author: zgu Date: 2013-04-24 14:55 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fbca7eaeac2e 8011218: Kitchensink hanged, likely NMT is to blame Summary: Made NMT query safepoint aware. Reviewed-by: dholmes, coleenp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memBaseline.hpp ! src/share/vm/services/memTracker.cpp Changeset: d587a5c30bd8 Author: coleenp Date: 2013-04-24 16:19 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d587a5c30bd8 8011803: release_C_heap_structures is never called for anonymous classes. Summary: Call this function from the ClassLoaderData destructor instead of the system dictionary walk. Reviewed-by: stefank, mgerdin ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: d66a24adbe3f Author: coleenp Date: 2013-04-24 15:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d66a24adbe3f Merge Changeset: 15a99ca4ee34 Author: sspitsyn Date: 2013-04-25 03:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/15a99ca4ee34 8007037: JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands Summary: References from operands to CP entries and back must be correct after CP merge Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: c115fac239eb Author: iklam Date: 2013-04-25 12:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c115fac239eb 8008962: NPG: Memory regression: One extra Monitor per ConstantPool Summary: Re-use InstanceKlass::_init_lock locking ConstantPool as well. Reviewed-by: dholmes, coleenp, acorn ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiEnv.cpp Changeset: 3c9b7ef92c61 Author: dcubed Date: 2013-04-26 08:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3c9b7ef92c61 Merge Changeset: d1644a010f52 Author: emc Date: 2013-04-26 07:34 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d1644a010f52 8007154: Remove support for u4 MethodParameter flags fields Summary: Remove support for parsing class files with four-byte flags fields in MethodParameters attributes Reviewed-by: jrose, coleenp ! src/share/vm/classfile/classFileParser.cpp Changeset: f258c5828eb8 Author: hseigel Date: 2013-04-29 16:13 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f258c5828eb8 8011773: Some tests on Interned String crashed JVM with OOM Summary: Instead of terminating the VM, throw OutOfMemoryError exceptions. Reviewed-by: coleenp, dholmes ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/prims/whitebox.cpp Changeset: c53e49efe6a8 Author: hseigel Date: 2013-04-29 16:36 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c53e49efe6a8 Merge Changeset: f32b6c267d2e Author: mikael Date: 2013-04-29 11:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f32b6c267d2e 8012015: Use PROT_NONE when reserving memory Summary: Reserved memory had PROT_READ+PROT_WRITE access on Linux/bsd, now changed to PROT_NONE. Reviewed-by: dholmes, ctornqvi ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/prims/whitebox.cpp + test/runtime/memory/ReserveMemory.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 9f96b7a853bc Author: sla Date: 2013-04-30 10:53 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9f96b7a853bc 8013466: SA crashes when attaching to a process on OS X Reviewed-by: coleenp, rbackman, minqi ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: 409d4b59e095 Author: sla Date: 2013-04-30 02:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/409d4b59e095 Merge Changeset: ed5a590835a4 Author: zgu Date: 2013-04-30 09:17 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ed5a590835a4 8013214: BigApps fails due to 'fatal error: Illegal threadstate encountered: 6' Summary: Grab and drop SR_lock to get the thread to honor the safepoint protocol Reviewed-by: dcubed, coleenp ! src/share/vm/services/memBaseline.cpp Changeset: 746b070f5022 Author: ccheung Date: 2013-04-30 11:56 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/746b070f5022 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap" Reviewed-by: coleenp, zgu, hseigel ! src/os/solaris/vm/os_solaris.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp ! src/share/vm/utilities/workgroup.cpp Changeset: e4614b063fe1 Author: sla Date: 2013-04-30 21:47 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e4614b063fe1 8013364: SA-JDI exceptions caused by lack of permissions on OSX should be more verbose about issue cause Reviewed-by: coleenp, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: 376ff861f611 Author: sla Date: 2013-05-01 01:07 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/376ff861f611 Merge Changeset: b4081e9714ec Author: vladidan Date: 2013-04-30 17:36 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b4081e9714ec 8013398: Adjust number of stack guard pages on systems with large memory page size Summary: Auto adjust number of stack guard pages on systems with large memory page size Reviewed-by: bobv, coleenp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp Changeset: 1847df492437 Author: vladidan Date: 2013-05-01 10:10 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1847df492437 Merge Changeset: 08236d966eea Author: bharadwaj Date: 2013-05-01 08:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/08236d966eea 8013418: assert(i == total_args_passed) in AdapterHandlerLibrary::get_adapter since 8-b87 Summary: Do not treat static methods as miranda methods. Reviewed-by: dholmes, acorn ! src/share/vm/oops/klassVtable.cpp + test/runtime/lambda-features/PublicStaticInterfaceMethodHandling.java Changeset: 8fe2542bdc8d Author: bharadwaj Date: 2013-05-01 09:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8fe2542bdc8d Merge Changeset: a6e09d6dd8e5 Author: dlong Date: 2013-04-24 20:55 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a6e09d6dd8e5 8003853: specify offset of IC load in java_to_interp stub Summary: refactored code to allow platform-specific differences Reviewed-by: dlong, twisti Contributed-by: Goetz Lindenmaier + src/cpu/sparc/vm/compiledIC_sparc.cpp ! src/cpu/sparc/vm/sparc.ad + src/cpu/x86/vm/compiledIC_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad + src/cpu/zero/vm/compiledIC_zero.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/opto/output.cpp Changeset: e10e43e58e92 Author: dlong Date: 2013-04-24 21:11 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e10e43e58e92 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/opto/output.cpp - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: 3c0584fec1e6 Author: dholmes Date: 2013-04-28 18:24 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3c0584fec1e6 8010428: Special -agentpath checks needed with minimal VM to produce proper error message Reviewed-by: dholmes, alanb, cjplummer, olagneau Contributed-by: Carlos Lucasius ! src/share/vm/runtime/arguments.cpp Changeset: 78603aa58b1e Author: jiangli Date: 2013-04-26 16:58 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/78603aa58b1e Merge ! src/cpu/x86/vm/x86_64.ad Changeset: e01e02a9fcb6 Author: jiangli Date: 2013-04-29 01:58 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e01e02a9fcb6 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 052caeaeb771 Author: jiangli Date: 2013-05-02 12:16 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/052caeaeb771 Merge Changeset: 8f9fae155577 Author: jiangli Date: 2013-05-02 13:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/8f9fae155577 Merge Changeset: c23dbf0e8ab7 Author: jmasa Date: 2013-03-01 10:19 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c23dbf0e8ab7 8011268: NPG: Free unused VirtualSpaceNodes Reviewed-by: mgerdin, coleenp, johnc ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp Changeset: bfe3be9ebd6c Author: kevinw Date: 2013-04-18 17:02 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bfe3be9ebd6c 7109087: gc/7072527/TestFullGCCount.java fails when GC is set in command-line Reviewed-by: mgerdin ! test/gc/7072527/TestFullGCCount.java Changeset: 12927badda81 Author: kevinw Date: 2013-04-19 05:14 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/12927badda81 Merge Changeset: d391427ddc29 Author: mgerdin Date: 2013-04-22 10:10 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d391427ddc29 Merge Changeset: a08c80e9e1e5 Author: stefank Date: 2013-04-22 20:27 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a08c80e9e1e5 8012687: Remove unused is_root checks and closures Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp Changeset: ebded0261dfc Author: jmasa Date: 2013-04-22 22:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/ebded0261dfc 8012111: Remove warning about CMS generation shrinking. Reviewed-by: johnc, brutisso, stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp + test/gc/concurrentMarkSweep/GuardShrinkWarning.java Changeset: 1cb4795305b9 Author: mgerdin Date: 2013-04-23 08:39 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1cb4795305b9 8011802: NPG: init_dependencies in class loader data graph can cause invalid CLD Summary: Restructure initialization of ClassLoaderData to not add a new instance if init_dependencies fail Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp Changeset: 5c93c1f61226 Author: johnc Date: 2013-04-18 10:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5c93c1f61226 8011724: G1: Stack allocate instances of HeapRegionRemSetIterator Summary: Stack allocate instances of HeapRegionRemSetIterator during RSet scanning. Reviewed-by: brutisso, jwilhelm ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: 868d87ed63c8 Author: jmasa Date: 2013-02-12 14:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/868d87ed63c8 8008966: NPG: Inefficient Metaspace counter functions cause large young GC regressions Reviewed-by: mgerdin, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: 9d75bcd7c890 Author: mgerdin Date: 2013-04-24 19:55 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9d75bcd7c890 8013136: NPG: Parallel class loading tests fail after fix for JDK-8011802 Summary: Move initialization of dependencies to before allocation of CLD Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp Changeset: d50cc62e94ff Author: johnc Date: 2013-04-24 14:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d50cc62e94ff 8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t Summary: In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime. Reviewed-by: twisti, johnc Contributed-by: Martin Doerr ! src/share/vm/opto/graphKit.cpp Changeset: b06ac540229e Author: stefank Date: 2013-04-24 20:13 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b06ac540229e 8013132: Add a flag to turn off the output of the verbose verification code Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vm_operations.hpp Changeset: b294421fa3c5 Author: brutisso Date: 2013-04-26 09:53 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b294421fa3c5 8012915: ReservedSpace::align_reserved_region() broken on Windows Summary: remove unused constructors and helper methods for ReservedHeapSpace and ReservedSpace Reviewed-by: mgerdin, jmasa, johnc, tschatzl ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/virtualspace.hpp Changeset: 2f50bc369470 Author: stefank Date: 2013-04-26 10:40 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/2f50bc369470 8013160: NPG: Remove unnecessary mark stack draining after CodeCache::do_unloading Reviewed-by: coleenp, mgerdin ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/genMarkSweep.cpp Changeset: 3edf23423bb2 Author: johnc Date: 2013-04-26 10:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3edf23423bb2 8011898: gc/TestVerifyBeforeGCDuringStartup.java: java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: [Error: Could not find or load main class] Summary: System.getProperty("test.java.opts") can return NULL, which gets converted to to the empty string, and the child java command then interprets that as the name of the main class. Reviewed-by: jmasa, brutisso ! test/gc/TestVerifyDuringStartup.java Changeset: caac22686b17 Author: mgerdin Date: 2013-04-29 09:31 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/caac22686b17 Merge ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/runtime/thread.cpp Changeset: 601183f604b2 Author: mgerdin Date: 2013-04-29 13:07 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/601183f604b2 8013129: Possible deadlock with Metaspace locks due to mixed usage of safepoint aware and non-safepoint aware locking Summary: Change Metaspace::deallocate to take lock with _no_safepoint_check_flag Reviewed-by: coleenp, jmasa, dholmes ! src/share/vm/memory/metaspace.cpp Changeset: 9075044ed66b Author: ehelin Date: 2013-04-30 16:36 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9075044ed66b 8008541: Remove old code in HotSpot that supported the jmap -permstat functionality Reviewed-by: sla, brutisso ! agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java Changeset: d58c62b7447d Author: mgerdin Date: 2013-05-02 19:28 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d58c62b7447d Merge ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Changeset: cbd4ce58f1f3 Author: mgerdin Date: 2013-05-02 16:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/cbd4ce58f1f3 Merge Changeset: e12c9b3740db Author: vlivanov Date: 2013-04-25 11:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e12c9b3740db 8012260: ciReplay: Include PID into the name of replay data file Reviewed-by: kvn, twisti ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/vmError.cpp Changeset: dc7db03f5aa2 Author: iignatyev Date: 2013-04-25 11:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/dc7db03f5aa2 8012337: Change Whitebox implementation to make absence of method in Whitebox.class not fatal Reviewed-by: kvn, vlivanov ! src/share/vm/prims/whitebox.cpp + test/sanity/WhiteBox.java Changeset: 7b23cb975cf2 Author: iignatyev Date: 2013-04-25 11:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7b23cb975cf2 8011675: adding compilation level to replay data Reviewed-by: kvn, vlivanov - agent/doc/c2replay.html + agent/doc/cireplay.html ! agent/doc/clhsdb.html ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp + test/compiler/ciReplay/TestSA.sh + test/compiler/ciReplay/TestVM.sh + test/compiler/ciReplay/TestVM_no_comp_level.sh + test/compiler/ciReplay/common.sh Changeset: 247342108a11 Author: neliasso Date: 2013-04-23 13:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/247342108a11 8010332: removed unused method: ciMethod::uses_monitors Reviewed-by: twisti, roland Contributed-by: albert.noll at oracle.com ! src/share/vm/ci/ciMethod.hpp Changeset: a5c95fcf7cb7 Author: neliasso Date: 2013-04-23 18:06 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a5c95fcf7cb7 8012157: removed unused code in SharedRuntime::handle_wrong_method Reviewed-by: kvn, roland, rbackman Contributed-by: albert.noll at oracle.com ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d1c9384eecb4 Author: iignatyev Date: 2013-04-26 07:21 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d1c9384eecb4 8012322: Tiered: CompilationPolicy::can_be_compiled(CompLevel_all) mistakenly return false Reviewed-by: kvn, vlivanov ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: 93b8272814cf Author: vlivanov Date: 2013-04-26 08:33 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/93b8272814cf Merge Changeset: 0b55a78c6be5 Author: bharadwaj Date: 2013-04-26 10:52 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0b55a78c6be5 Merge - agent/doc/c2replay.html ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: fd49109d0d88 Author: bharadwaj Date: 2013-04-26 14:50 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/fd49109d0d88 Merge Changeset: 487d442ef257 Author: jiangli Date: 2013-04-26 16:21 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/487d442ef257 8013036: vm/runtime/simpleThresholdPolicy.cpp: assert(mcs != NULL). Summary: Change the assert to if check as MethodCounters could be NULL under TieredCompilation. Reviewed-by: kvn, twisti ! src/share/vm/runtime/simpleThresholdPolicy.cpp Changeset: 62b683108582 Author: jiangli Date: 2013-04-26 14:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/62b683108582 Merge Changeset: 0cfa93c2fcc4 Author: neliasso Date: 2013-04-29 13:20 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0cfa93c2fcc4 8012547: Code cache flushing can get stuck reclaming of memory Summary: Keep sweeping regardless of if we are flushing Reviewed-by: kvn, twisti ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp Changeset: e4e131b15d5c Author: roland Date: 2013-05-02 10:27 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e4e131b15d5c 8013532: Remove unused parameter "compiler" from DTRACE_METHOD_COMPILE* macros Summary: remove unused parameter in dtrace macros Reviewed-by: kvn, roland Contributed-by: albert.noll at oracle.com ! src/share/vm/compiler/compileBroker.cpp Changeset: 9ce110b1d14a Author: kvn Date: 2013-05-02 18:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9ce110b1d14a Merge - agent/doc/c2replay.html ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 4ec913499722 Author: amurillo Date: 2013-05-03 08:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/4ec913499722 Merge - agent/doc/c2replay.html Changeset: 9c1fe0b419b4 Author: amurillo Date: 2013-05-03 08:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9c1fe0b419b4 Added tag hs25-b31 for changeset 4ec913499722 ! .hgtags Changeset: 7d56b68a9672 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7d56b68a9672 Added tag jdk8-b89 for changeset 9c1fe0b419b4 ! .hgtags Changeset: 625ddb0052e1 Author: amurillo Date: 2013-05-03 08:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/625ddb0052e1 8013800: new hotspot build - hs25-b32 Reviewed-by: jcoomes ! make/hotspot_version Changeset: c456f4510385 Author: sla Date: 2013-05-03 12:24 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c456f4510385 8008453: JvmtiClassFileReconstituter does not recognize default methods Reviewed-by: acorn, sspitsyn ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp Changeset: 0380df7c3cd0 Author: sla Date: 2013-05-03 12:26 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/0380df7c3cd0 8013785: Respect EXTRA_CFLAGS on windows Reviewed-by: mgronlun, rbackman, kvn ! make/windows/makefiles/compile.make ! make/windows/makefiles/defs.make Changeset: 31a4e55f8c9d Author: fparain Date: 2013-05-03 05:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/31a4e55f8c9d 8004095: Add support for JMX interface to Diagnostic Framework and Commands Reviewed-by: acorn, sla ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/serviceThread.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/diagnosticFramework.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! src/share/vm/services/management.hpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/nmtDCmd.hpp Changeset: 39fba0d6d9ad Author: fparain Date: 2013-05-03 05:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/39fba0d6d9ad Merge Changeset: bf089b838c9e Author: ccheung Date: 2013-05-02 16:55 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/bf089b838c9e 8012641: Perf_CreateLong creates perf counter of incorrect type Reviewed-by: mchung, hseigel, coleenp ! src/share/vm/prims/perf.cpp Changeset: a55b7b8c34af Author: zgu Date: 2013-05-03 13:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a55b7b8c34af Merge Changeset: 9c8e2f44228d Author: dcubed Date: 2013-05-03 15:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/9c8e2f44228d Merge Changeset: 800078be49d2 Author: hseigel Date: 2013-05-06 09:10 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/800078be49d2 8013648: Guarantee(VerifyBeforeGC || VerifyDuringGC || VerifyBeforeExit || VerifyAfterGC) failed: too expensive Summary: Fix code to call correct version of function find_class(). Reviewed-by: coleenp, rdurbin, dcubed ! src/share/vm/classfile/systemDictionary.cpp Changeset: c18152e0554e Author: zgu Date: 2013-05-06 11:15 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c18152e0554e 8013120: NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check Summary: Fixed NMT to deal with releasing virtual memory region when there are still committed regions within it Reviewed-by: acorn, coleenp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/services/memSnapshot.cpp + test/runtime/NMT/ReleaseCommittedMemory.java Changeset: da4d87770781 Author: zgu Date: 2013-05-06 08:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/da4d87770781 Merge Changeset: d9b08d62b95e Author: acorn Date: 2013-05-02 10:58 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d9b08d62b95e 8010783: assert(s->refcount() != 0) failed: for create_overpasses Reviewed-by: kvn, dcubed ! src/share/vm/classfile/bytecodeAssembler.cpp Changeset: b7f3bf2ba33b Author: acorn Date: 2013-05-06 10:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b7f3bf2ba33b Merge - agent/doc/c2replay.html Changeset: f916d5986c86 Author: acorn Date: 2013-05-06 12:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f916d5986c86 Merge Changeset: 187154b7a226 Author: sla Date: 2013-05-06 19:49 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/187154b7a226 8009615: JvmtiClassFileReconstituter does not create BootstrapMethod attributes Reviewed-by: coleenp, sspitsyn ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp Changeset: 3ecc6b9940de Author: sla Date: 2013-05-07 01:25 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/3ecc6b9940de Merge Changeset: b5fef8013a95 Author: sla Date: 2013-05-07 14:04 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b5fef8013a95 8014044: Spelling error in JDK-8009615: boostrapmethod Reviewed-by: sspitsyn, coleenp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp Changeset: f6a055fcf47d Author: sla Date: 2013-05-07 14:33 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f6a055fcf47d 8005038: remove crufty '_g' support from SA Reviewed-by: coleenp, mgronlun, rbackman ! agent/src/os/bsd/ps_core.c ! agent/src/os/linux/ps_core.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Changeset: 33bcd9ead1d5 Author: ctornqvi Date: 2013-05-07 21:36 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/33bcd9ead1d5 8009577: Test test/closed/runtime/classunload broken Summary: Fixed tests to use new way of utilizing the WB API, fixed issue with where custom classloader got the classes from Reviewed-by: collins, mgerdin, zgu + test/runtime/ClassUnload/KeepAliveClass.java + test/runtime/ClassUnload/KeepAliveClassLoader.java + test/runtime/ClassUnload/KeepAliveObject.java + test/runtime/ClassUnload/KeepAliveSoftReference.java + test/runtime/ClassUnload/UnloadTest.java + test/runtime/ClassUnload/classes/test/Empty.java + test/runtime/testlibrary/ClassUnloadCommon.java Changeset: 58bb870a0cbd Author: emc Date: 2013-05-07 13:45 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/58bb870a0cbd 8009729: Refix hotspot jni_.h JNIEXPORT and JNIIMPORT definitions to match jdk version Summary: Update JNIEXPORT and JNIIMPORT to work with other compilers that don't necessarily have the __attribute__ type qualifier Reviewed-by: dholmes, dcubed, coleenp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/x86/vm/jni_x86.h ! src/cpu/zero/vm/jni_zero.h Changeset: 7243490a6847 Author: coleenp Date: 2013-05-07 14:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/7243490a6847 Merge Changeset: e60b3fce2b02 Author: jiangli Date: 2013-05-06 19:57 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/e60b3fce2b02 8013067: Zero builds are broken after 8010862. Summary: Fixed broken Zero build. Reviewed-by: twisti, coleenp, kvn ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/oops/method.hpp Changeset: 27d2d456cd96 Author: jiangli Date: 2013-05-06 20:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/27d2d456cd96 Merge Changeset: 6b388e7d4905 Author: bpittore Date: 2013-05-07 10:19 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/6b388e7d4905 8013633: Cleanup platform ifdefs in unsafe.cpp Summary: Replace ifdefs with SUPPORTS_NATIVE_CX8 set in platform include file Reviewed-by: dholmes, dlong ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/share/vm/prims/unsafe.cpp Changeset: a258a8351528 Author: vladidan Date: 2013-05-07 10:36 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a258a8351528 Merge - agent/doc/c2replay.html Changeset: d3c98423c146 Author: jiangli Date: 2013-05-09 16:27 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d3c98423c146 Merge Changeset: 1d0fba8a2a6d Author: brutisso Date: 2013-05-02 22:35 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1d0fba8a2a6d 8013574: PrintMalloc conflicts with the command line parsing Summary: Make sure that _num_jvm_args is not updated until the new entry to _jvm_args_array has been added Reviewed-by: johnc, tamao, tschatzl ! src/share/vm/runtime/arguments.cpp Changeset: f14063dcd52a Author: brutisso Date: 2013-05-06 09:16 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/f14063dcd52a 8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment Summary: Make sure max alignemnt is at least as large as min alignment Reviewed-by: johnc, jmasa, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.cpp + test/gc/g1/TestRegionAlignment.java Changeset: 30860066ae8f Author: jwilhelm Date: 2013-05-06 13:03 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/30860066ae8f Merge ! src/share/vm/runtime/arguments.cpp Changeset: d17700c82d7d Author: tschatzl Date: 2013-05-06 17:19 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/d17700c82d7d 8006088: Incompatible heap size flags accepted by VM Summary: Make processing of minimum, initial and maximum heap size more intiutive by removing previous limitations on allowed values, and make error reporting consistent. Further, fix errors in ergonomic heap sizing. Reviewed-by: johnc, jwilhelm, tamao ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: b0d20fa374b4 Author: brutisso Date: 2013-05-06 21:30 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/b0d20fa374b4 8013872: G1: HeapRegionSeq::shrink_by() has invalid assert Summary: Refactored shrink_by() to only use region counts and not byte sizes Reviewed-by: johnc, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + test/gc/g1/TestShrinkToOneRegion.java Changeset: a9d568b7df60 Author: jmasa Date: 2013-05-08 16:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/a9d568b7df60 8013032: CMS: assert(used() == used_after_gc && used_after_gc <= capacity()) failed: used: 0 used_after_gc: 292080 capacity: 1431699456 Reviewed-by: tschatzl, mgerdin, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp + test/gc/concurrentMarkSweep/CheckAllocateAndSystemGC.java Changeset: 06ab37f08701 Author: jmasa Date: 2013-05-08 17:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/06ab37f08701 8013184: CMS: Call reset_after_compaction() only if a compaction has been done Reviewed-by: mgerdin, johnc, tschatzl ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp + test/gc/concurrentMarkSweep/SystemGCOnForegroundCollector.java Changeset: 923ac8d1df95 Author: jwilhelm Date: 2013-05-09 12:23 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/923ac8d1df95 Merge Changeset: 194f52aa2f23 Author: johnc Date: 2013-05-09 11:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/194f52aa2f23 7176479: G1: JVM crashes on T5-8 system with 1.5 TB heap Summary: Refactor G1's hot card cache and card counts table into their own files. Simplify the card counts table, including removing the encoding of the card index in each entry. The card counts table now has a 1:1 correspondence with the cards spanned by heap. Space for the card counts table is reserved from virtual memory (rather than C heap) during JVM startup and is committed/expanded when the heap is expanded. Changes were also reviewed-by Vitaly Davidovich. Reviewed-by: tschatzl, jmasa ! make/excludeSrc.make ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp + src/share/vm/gc_implementation/g1/g1CardCounts.cpp + src/share/vm/gc_implementation/g1/g1CardCounts.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp + src/share/vm/gc_implementation/g1/g1HotCardCache.cpp + src/share/vm/gc_implementation/g1/g1HotCardCache.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 73652d89e7c4 Author: stefank Date: 2013-05-10 09:24 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/73652d89e7c4 Merge Changeset: 69494caf5790 Author: amurillo Date: 2013-05-10 11:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/69494caf5790 Merge Changeset: 1ae0472ff3a0 Author: amurillo Date: 2013-05-10 11:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/1ae0472ff3a0 Added tag hs25-b32 for changeset 69494caf5790 ! .hgtags Changeset: 5f277a0b71bd Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:44 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/5f277a0b71bd Merge up to jdk8-b90 ! .hgtags - agent/doc/c2replay.html ! make/Makefile - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/linux/makefiles/vm.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp ! src/os/linux/vm/os_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/tools/hsdis/Makefile ! src/share/vm/adlc/main.cpp ! src/share/vm/adlc/output_c.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/bytecodeAssembler.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: c0ea5b15d9ed Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:48 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/c0ea5b15d9ed Update aarch64 specific code to make it work with jdk8-b90 ! src/cpu/aarch64/vm/aarch64.ad ! src/cpu/aarch64/vm/c1_Runtime1_aarch64.cpp ! src/cpu/aarch64/vm/globalDefinitions_aarch64.hpp ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp ! src/cpu/aarch64/vm/interp_masm_aarch64.hpp ! src/cpu/aarch64/vm/jni_aarch64.h ! src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp ! src/cpu/aarch64/vm/templateTable_aarch64.cpp ! src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/runtime/stubRoutines.cpp From ed at camswl.com Fri Sep 27 08:06:28 2013 From: ed at camswl.com (ed at camswl.com) Date: Fri, 27 Sep 2013 15:06:28 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/jdk: 242 new changesets Message-ID: <20130927155902.BB24662B89@hg.openjdk.java.net> Changeset: 081327aac5be Author: katleman Date: 2013-04-11 09:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/081327aac5be Added tag jdk8-b85 for changeset 296676d534c5 ! .hgtags Changeset: 87c62f03bc07 Author: jgodinez Date: 2013-03-27 12:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/87c62f03bc07 8010005: [parfait] Memory leak in jdk/src/macosx/native/sun/awt/CTextPipe.m Reviewed-by: bae, prr Contributed-by: jia-hong.chen at oracle.com ! src/macosx/native/sun/awt/CTextPipe.m Changeset: 9d4f539e36b6 Author: lana Date: 2013-04-02 17:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9d4f539e36b6 Merge - make/com/sun/servicetag/Makefile - src/share/classes/com/sun/servicetag/BrowserSupport.java - src/share/classes/com/sun/servicetag/Installer.java - src/share/classes/com/sun/servicetag/LinuxSystemEnvironment.java - src/share/classes/com/sun/servicetag/RegistrationData.java - src/share/classes/com/sun/servicetag/RegistrationDocument.java - src/share/classes/com/sun/servicetag/Registry.java - src/share/classes/com/sun/servicetag/ServiceTag.java - src/share/classes/com/sun/servicetag/SolarisServiceTag.java - src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java - src/share/classes/com/sun/servicetag/SunConnection.java - src/share/classes/com/sun/servicetag/SystemEnvironment.java - src/share/classes/com/sun/servicetag/UnauthorizedAccessException.java - src/share/classes/com/sun/servicetag/Util.java - src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java - src/share/classes/com/sun/servicetag/package.html - src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt - src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties - src/share/classes/com/sun/servicetag/resources/jdk_header.png - src/share/classes/com/sun/servicetag/resources/product_registration.xsd - src/share/classes/com/sun/servicetag/resources/register.html - src/share/classes/com/sun/servicetag/resources/register_ja.html - src/share/classes/com/sun/servicetag/resources/register_zh_CN.html - test/com/sun/servicetag/DeleteServiceTag.java - test/com/sun/servicetag/DuplicateNotFound.java - test/com/sun/servicetag/FindServiceTags.java - test/com/sun/servicetag/InstanceUrnCheck.java - test/com/sun/servicetag/InvalidRegistrationData.java - test/com/sun/servicetag/InvalidServiceTag.java - test/com/sun/servicetag/JavaServiceTagTest.java - test/com/sun/servicetag/JavaServiceTagTest1.java - test/com/sun/servicetag/NewRegistrationData.java - test/com/sun/servicetag/SvcTagClient.java - test/com/sun/servicetag/SystemRegistryTest.java - test/com/sun/servicetag/TestLoadFromXML.java - test/com/sun/servicetag/UpdateServiceTagTest.java - test/com/sun/servicetag/Util.java - test/com/sun/servicetag/ValidRegistrationData.java - test/com/sun/servicetag/environ.properties - test/com/sun/servicetag/missing-environ-field.xml - test/com/sun/servicetag/newer-registry-version.xml - test/com/sun/servicetag/registration.xml - test/com/sun/servicetag/servicetag1.properties - test/com/sun/servicetag/servicetag2.properties - test/com/sun/servicetag/servicetag3.properties - test/com/sun/servicetag/servicetag4.properties - test/com/sun/servicetag/servicetag5.properties - test/sun/tools/jstat/gcPermCapacityOutput1.awk - test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh Changeset: 2904672aed21 Author: lana Date: 2013-04-09 14:59 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2904672aed21 Merge Changeset: 96750ebc769b Author: denis Date: 2013-03-27 16:19 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/96750ebc769b 7075105: WIN: Provide a way to format HTML on drop Reviewed-by: uta, serb ! src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java ! src/share/classes/java/awt/datatransfer/DataFlavor.java ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/sun/awt/datatransfer/DataTransferer.java ! src/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java ! src/solaris/classes/sun/awt/X11/XDataTransferer.java ! src/windows/classes/sun/awt/windows/WDataTransferer.java + test/java/awt/datatransfer/HTMLDataFlavors/HTMLDataFlavorTest.java + test/java/awt/datatransfer/HTMLDataFlavors/HtmlTransferable.java + test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.html + test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.java + test/java/awt/datatransfer/HTMLDataFlavors/PutAllHtmlFlavorsOnClipboard.java + test/java/awt/datatransfer/HTMLDataFlavors/PutOnlyAllHtmlFlavorOnClipboard.java + test/java/awt/datatransfer/HTMLDataFlavors/PutSelectionAndFragmentHtmlFlavorsOnClipboard.java Changeset: 29570523b6cb Author: ant Date: 2013-03-29 16:12 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/29570523b6cb 8010375: sun.swing.JLightweightFrame should be implemented for XToolkit Reviewed-by: anthony ! src/share/classes/sun/swing/JLightweightFrame.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java + src/solaris/classes/sun/awt/X11/XLightweightFramePeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java Changeset: c23d58901aa6 Author: lana Date: 2013-04-02 16:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c23d58901aa6 Merge - make/com/sun/servicetag/Makefile - src/share/classes/com/sun/servicetag/BrowserSupport.java - src/share/classes/com/sun/servicetag/Installer.java - src/share/classes/com/sun/servicetag/LinuxSystemEnvironment.java - src/share/classes/com/sun/servicetag/RegistrationData.java - src/share/classes/com/sun/servicetag/RegistrationDocument.java - src/share/classes/com/sun/servicetag/Registry.java - src/share/classes/com/sun/servicetag/ServiceTag.java - src/share/classes/com/sun/servicetag/SolarisServiceTag.java - src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java - src/share/classes/com/sun/servicetag/SunConnection.java - src/share/classes/com/sun/servicetag/SystemEnvironment.java - src/share/classes/com/sun/servicetag/UnauthorizedAccessException.java - src/share/classes/com/sun/servicetag/Util.java - src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java - src/share/classes/com/sun/servicetag/package.html - src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt - src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties - src/share/classes/com/sun/servicetag/resources/jdk_header.png - src/share/classes/com/sun/servicetag/resources/product_registration.xsd - src/share/classes/com/sun/servicetag/resources/register.html - src/share/classes/com/sun/servicetag/resources/register_ja.html - src/share/classes/com/sun/servicetag/resources/register_zh_CN.html - test/com/sun/servicetag/DeleteServiceTag.java - test/com/sun/servicetag/DuplicateNotFound.java - test/com/sun/servicetag/FindServiceTags.java - test/com/sun/servicetag/InstanceUrnCheck.java - test/com/sun/servicetag/InvalidRegistrationData.java - test/com/sun/servicetag/InvalidServiceTag.java - test/com/sun/servicetag/JavaServiceTagTest.java - test/com/sun/servicetag/JavaServiceTagTest1.java - test/com/sun/servicetag/NewRegistrationData.java - test/com/sun/servicetag/SvcTagClient.java - test/com/sun/servicetag/SystemRegistryTest.java - test/com/sun/servicetag/TestLoadFromXML.java - test/com/sun/servicetag/UpdateServiceTagTest.java - test/com/sun/servicetag/Util.java - test/com/sun/servicetag/ValidRegistrationData.java - test/com/sun/servicetag/environ.properties - test/com/sun/servicetag/missing-environ-field.xml - test/com/sun/servicetag/newer-registry-version.xml - test/com/sun/servicetag/registration.xml - test/com/sun/servicetag/servicetag1.properties - test/com/sun/servicetag/servicetag2.properties - test/com/sun/servicetag/servicetag3.properties - test/com/sun/servicetag/servicetag4.properties - test/com/sun/servicetag/servicetag5.properties - test/sun/tools/jstat/gcPermCapacityOutput1.awk - test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh Changeset: 36cb7921bc98 Author: mcherkas Date: 2013-04-03 20:42 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/36cb7921bc98 8011123: serialVersionUID of java.awt.dnd.InvalidDnDOperationException changed in JDK8-b82 Reviewed-by: anthony, serb ! src/share/classes/java/awt/dnd/InvalidDnDOperationException.java Changeset: 35da3878deef Author: mcherkas Date: 2013-04-03 20:54 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/35da3878deef 8010925: COPY AND PASTE TO AND FROM SIGNED APPLET FAILS AFTER FIRST INTERNAL COPY PRFRMD Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CClipboard.java ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java ! src/macosx/native/sun/awt/CClipboard.m Changeset: 2c36899500a0 Author: pchelko Date: 2013-04-05 18:29 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2c36899500a0 8006941: [macosx] Deadlock in drag and drop 7199783: Setting cursor on DragSourceContext does not work on OSX Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/macosx/CCursorManager.java ! src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java ! src/macosx/classes/sun/lwawt/macosx/CDropTarget.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/CDragSource.h ! src/macosx/native/sun/awt/CDragSource.m ! src/macosx/native/sun/awt/CDragSourceContextPeer.m ! src/macosx/native/sun/awt/CDropTarget.m ! src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java + test/java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java Changeset: 0b083b0e8e63 Author: kshefov Date: 2013-04-08 17:18 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0b083b0e8e63 7153702: [TEST_BUG] [macosx] Synchronization problem in test javax/swing/JPopupMenu/6827786/bug6827786.java Reviewed-by: serb, alexsch ! test/javax/swing/JPopupMenu/6827786/bug6827786.java Changeset: 981142561d1b Author: lana Date: 2013-04-09 15:01 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/981142561d1b Merge Changeset: 3b56ef8e1ce1 Author: martin Date: 2013-03-26 13:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3b56ef8e1ce1 8007905: To add a system property to create zip file without using ZIP64 end table when entry count > 64k Summary: Provide a system property to inhibit ZIP64 mode for >64k entries Reviewed-by: alanb, sherman ! src/share/classes/java/util/zip/ZipOutputStream.java + test/java/util/zip/EntryCount64k.java Changeset: 266b43683a2c Author: martin Date: 2013-03-26 13:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/266b43683a2c 8010316: Improve handling of char sequences containing surrogates Summary: Fix and optimize codePointAt, codePointBefore and similar methods Reviewed-by: sherman, okutsu, ulfzibis, kizune ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/Character.java ! test/java/lang/StringBuilder/Supplementary.java Changeset: caafe6dca35d Author: ehelin Date: 2013-03-21 20:35 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/caafe6dca35d 8009427: Re-enable tests that were disable to ease complicated push Reviewed-by: sla, mchung, dcubed Contributed-by: Erik Helin ! test/ProblemList.txt Changeset: 49602f599c08 Author: dxu Date: 2013-03-27 09:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/49602f599c08 8010837: FileInputStream.available() throw IOException when encountering negative available values Summary: Remove the check in the native code to allow negative values Reviewed-by: mchung ! src/solaris/native/java/io/io_util_md.c + test/java/io/FileInputStream/NegativeAvailable.java Changeset: ae03282ba501 Author: darcy Date: 2013-03-27 09:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ae03282ba501 7185456: (ann) Optimize Annotation handling in java/sun.reflect.* code for small number of annotations Reviewed-by: mduigou, jfranck ! src/share/classes/sun/reflect/annotation/AnnotationType.java Changeset: d254a5f9b93f Author: acorn Date: 2013-03-27 13:40 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d254a5f9b93f 8010846: Update the corresponding test in test/vm/verifier/TestStaticIF.java Summary: Remove test flag -XX:-UseSplitVerifier, not supported classfile 52 Reviewed-by: acorn, hseigel ! test/vm/verifier/TestStaticIF.java Changeset: 811c771acf65 Author: sundar Date: 2013-03-28 14:36 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/811c771acf65 8010991: Enable test/javax/script/GetInterfaceTest.java again Reviewed-by: lagergren, hannesw ! test/javax/script/GetInterfaceTest.java Changeset: a87fac00915e Author: weijun Date: 2013-03-28 20:27 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a87fac00915e 8010125: keytool -importkeystore could create a pkcs12 keystore with different storepass and keypass Reviewed-by: vinnie ! src/share/classes/sun/security/tools/keytool/Main.java ! src/share/classes/sun/security/tools/keytool/Resources.java + test/sun/security/tools/keytool/p12importks.sh Changeset: e433ed08b733 Author: mchung Date: 2013-03-28 13:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e433ed08b733 8010309: Improve PlatformLogger.isLoggable performance by direct mapping from an integer to Level Reviewed-by: mchung Contributed-by: peter.levart at gmail.com, bourges.laurent at gmail.com ! src/share/classes/sun/util/logging/PlatformLogger.java ! test/sun/util/logging/PlatformLoggerTest.java Changeset: b590bd37a6d0 Author: mduigou Date: 2013-04-01 12:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b590bd37a6d0 8010268: Remove dependence upon clean target from jdk/test/Makefile prep target Reviewed-by: tbell, mchung ! test/Makefile Changeset: 0cccdb9a9a4c Author: mduigou Date: 2013-04-01 20:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0cccdb9a9a4c 7143928: Optimize empty HashMap and ArrayList Reviewed-by: mduigou Contributed-by: Sergey Linetskiy , John Rose , Mike Duigou ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/HashMap.java + test/java/util/Map/BasicSerialization.java Changeset: 5ee837ba093a Author: mduigou Date: 2013-04-01 20:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5ee837ba093a 8011187: Remove obsolete/unused targets from jdk/test/Makefile Reviewed-by: ohair ! test/Makefile Changeset: de228734b742 Author: mduigou Date: 2013-04-01 20:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/de228734b742 8011199: Backout changeset JDK-7143928 (0cccdb9a9a4c) Reviewed-by: darcy, dholmes ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/HashMap.java - test/java/util/Map/BasicSerialization.java Changeset: f1b89d4cce82 Author: sla Date: 2013-04-02 10:32 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f1b89d4cce82 8009558: linked_md.c::dll_build_name can get stuck in an infinite loop Reviewed-by: alanb, sspitsyn ! src/share/back/export/sys.h ! src/share/back/transport.c ! src/share/demo/jvmti/hprof/hprof_md.h ! src/solaris/back/linker_md.c ! src/solaris/demo/jvmti/hprof/hprof_md.c ! src/windows/back/linker_md.c ! src/windows/demo/jvmti/hprof/hprof_md.c Changeset: e6c3b8e74e50 Author: sherman Date: 2013-04-02 10:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e6c3b8e74e50 8007379: Base64.getMimeDecoder().decode() throws IAE for a non-base64 character after padding 8008925: Base64.getMimeDecoder().decode() does not ignore padding chars Summary: updated implementation and spec for corner cases. Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: 7fbae9125437 Author: lana Date: 2013-04-02 11:59 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7fbae9125437 Merge Changeset: b4f68aca1000 Author: darcy Date: 2013-04-02 16:26 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b4f68aca1000 8004979: java.lang.reflect.Modifier.toString should include "default" Reviewed-by: mduigou ! 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/lang/reflect/Modifier.java ! test/java/lang/reflect/Method/GenericStringTest.java Changeset: c534937f6e94 Author: alanb Date: 2013-04-03 13:15 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c534937f6e94 8011234: Performance regression with ftp protocol when uploading in image mode Reviewed-by: chegar ! src/share/classes/sun/net/ftp/impl/FtpClient.java Changeset: eb8f7bc6f964 Author: alanb Date: 2013-04-03 13:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/eb8f7bc6f964 8011373: Property java.runtime.profile should be removed (left-over code) Reviewed-by: lancea, dholmes ! src/share/classes/sun/misc/Version.java.template Changeset: 27ae4f9c7826 Author: lancea Date: 2013-04-03 12:47 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/27ae4f9c7826 8011393: Typo in javadoc for SerialClob.truncate Reviewed-by: darcy ! src/share/classes/javax/sql/rowset/serial/SerialClob.java Changeset: 9a6ef3391f32 Author: naoto Date: 2013-04-03 10:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9a6ef3391f32 7091601: Arabic Locale: can not set type of digit in application level Reviewed-by: okutsu ! src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! src/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java Changeset: 7b1189bf1d7b Author: dxu Date: 2013-04-04 15:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7b1189bf1d7b 8000406: change files using @GenerateNativeHeader to use @Native Summary: Use @Native annotation to mark constants interested by native codes Reviewed-by: alanb, anthony, prr ! src/macosx/classes/apple/laf/JRSUIConstants.java ! src/macosx/classes/com/apple/eawt/FullScreenHandler.java ! src/macosx/classes/com/apple/eawt/event/GestureHandler.java ! src/macosx/classes/sun/java2d/OSXSurfaceData.java ! src/macosx/classes/sun/lwawt/macosx/CocoaConstants.java ! src/macosx/native/jobjc/src/core/PrimitiveCoder.hs ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/CFType.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/FFIType.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Function.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/ID.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Invoke.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/JObjCRuntime.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/MacOSXFramework.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NSClass.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeArgumentBuffer.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeBuffer.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/NativeObjectLifecycleManager.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Opaque.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Pointer.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/PrimitiveCoder.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/SEL.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Struct.java ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Subclassing.java ! src/macosx/native/jobjc/src/core/native/Invoke.m ! src/macosx/native/jobjc/src/core/native/JObjCRuntime.m ! src/macosx/native/sun/awt/PrinterView.m ! src/share/classes/java/awt/Adjustable.java ! src/share/classes/java/awt/AlphaComposite.java ! src/share/classes/java/awt/BasicStroke.java ! src/share/classes/java/awt/Choice.java ! src/share/classes/java/awt/DisplayMode.java ! src/share/classes/java/awt/Image.java ! src/share/classes/java/awt/List.java ! src/share/classes/java/awt/PopupMenu.java ! src/share/classes/java/awt/SystemColor.java ! src/share/classes/java/awt/TextComponent.java ! src/share/classes/java/awt/Transparency.java ! src/share/classes/java/awt/color/ColorSpace.java ! src/share/classes/java/awt/color/ICC_Profile.java ! src/share/classes/java/awt/datatransfer/StringSelection.java ! src/share/classes/java/awt/dnd/DnDConstants.java ! src/share/classes/java/awt/event/ActionEvent.java ! src/share/classes/java/awt/event/AdjustmentEvent.java ! src/share/classes/java/awt/event/ComponentEvent.java ! src/share/classes/java/awt/event/FocusEvent.java ! src/share/classes/java/awt/event/InputMethodEvent.java ! src/share/classes/java/awt/event/MouseWheelEvent.java ! src/share/classes/java/awt/event/WindowEvent.java ! src/share/classes/java/awt/geom/PathIterator.java ! src/share/classes/java/awt/image/AffineTransformOp.java ! src/share/classes/java/awt/image/ConvolveOp.java ! src/share/classes/java/awt/image/DataBuffer.java ! src/share/classes/java/awt/image/ImageConsumer.java ! src/share/classes/java/awt/image/ImageObserver.java ! src/share/classes/java/awt/peer/ComponentPeer.java ! src/share/classes/java/awt/print/PageFormat.java ! src/share/classes/java/awt/print/Pageable.java ! src/share/classes/java/awt/print/Printable.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/classes/sun/awt/SunHints.java ! src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java ! src/share/classes/sun/awt/image/BufImgSurfaceData.java ! src/share/classes/sun/font/FontManager.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/opengl/OGLBlitLoops.java ! src/share/classes/sun/java2d/opengl/OGLContext.java ! src/share/classes/sun/java2d/pipe/BufferedContext.java ! src/share/classes/sun/java2d/pipe/BufferedOpCodes.java ! src/share/classes/sun/java2d/pipe/BufferedPaints.java ! src/share/classes/sun/java2d/pipe/BufferedTextPipe.java ! src/share/classes/sun/java2d/pipe/RenderBuffer.java ! src/share/classes/sun/java2d/pipe/hw/AccelDeviceEventNotifier.java ! src/share/classes/sun/java2d/pipe/hw/AccelSurface.java ! src/share/classes/sun/java2d/pipe/hw/ContextCapabilities.java ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/sctp/SctpStdSocketOption.java ! src/share/classes/sun/security/pkcs11/Secmod.java ! src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/nio/ch/sctp/AssociationChange.java ! src/solaris/classes/sun/nio/ch/sctp/PeerAddrChange.java ! src/solaris/classes/sun/nio/ch/sctp/ResultContainer.java ! src/solaris/native/sun/awt/awt_InputMethod.c ! src/solaris/native/sun/awt/fontpath.c ! src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java ! src/windows/classes/sun/java2d/d3d/D3DContext.java ! src/windows/classes/sun/java2d/d3d/D3DPaints.java ! src/windows/native/sun/java2d/d3d/D3DContext.h ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_DnDDS.cpp ! src/windows/native/sun/windows/awt_Frame.cpp ! src/windows/native/sun/windows/awt_List.h ! src/windows/native/sun/windows/awt_PopupMenu.cpp ! src/windows/native/sun/windows/awt_PopupMenu.h ! src/windows/native/sun/windows/awt_TextComponent.h ! src/windows/native/sun/windows/awt_Toolkit.cpp Changeset: 7d4e30730f80 Author: valeriep Date: 2013-04-04 20:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7d4e30730f80 7155720: PKCS11 minor issues in native code Summary: Added OOM handling to address the two issues found by parfait. Reviewed-by: weijun ! src/solaris/native/sun/security/pkcs11/wrapper/p11_md.c Changeset: b62a76763bf3 Author: mchung Date: 2013-04-05 10:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b62a76763bf3 8011380: FX dependency on PlatformLogger broken by 8010309 Reviewed-by: alanb ! src/share/classes/java/util/logging/LoggingProxyImpl.java ! src/share/classes/sun/util/logging/LoggingProxy.java ! src/share/classes/sun/util/logging/LoggingSupport.java ! src/share/classes/sun/util/logging/PlatformLogger.java ! test/sun/util/logging/PlatformLoggerTest.java Changeset: b702977e7212 Author: khazra Date: 2013-04-05 12:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b702977e7212 5001942: Missings SOCKS support for direct connections Summary: Add support for socksNonProxyHosts Reviewed-by: chegar, khazra Contributed-by: Christos Zoulas ! src/share/classes/sun/net/spi/DefaultProxySelector.java ! test/java/net/Socks/SocksProxyVersion.java Changeset: ba231ac2890a Author: lana Date: 2013-04-05 14:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ba231ac2890a Merge Changeset: 785f3a04ee05 Author: dxu Date: 2013-04-05 17:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/785f3a04ee05 8011602: jobjc build failure on Mac Summary: Remove @Native annotation from macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java Reviewed-by: mchung, dholmes ! src/macosx/native/jobjc/src/core/java/com/apple/jobjc/Coder.java ! src/share/classes/sun/java2d/opengl/OGLContext.java Changeset: 16f63a94c231 Author: darcy Date: 2013-04-05 18:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/16f63a94c231 8011590: More tests for core reflection modeling of default methods Reviewed-by: mduigou + test/java/lang/reflect/Method/DefaultMethodModeling.java Changeset: 04617e462512 Author: lancea Date: 2013-04-08 15:29 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/04617e462512 8006036: (process) cleanup code in java/lang/Runtime/exec/WinCommand.java Reviewed-by: lancea Contributed-by: Jim Gish ! test/java/lang/Runtime/exec/WinCommand.java Changeset: 3db793b080d8 Author: martin Date: 2013-04-08 16:37 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3db793b080d8 8010849: (str) Optimize StringBuilder.append(null) Summary: Append 4 chars instead of the string "null" Reviewed-by: mduigou, forax, jgish ! src/share/classes/java/lang/AbstractStringBuilder.java Changeset: 3e5a18c3e599 Author: darcy Date: 2013-04-08 17:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3e5a18c3e599 6298888: Add toGenericString to j.l.Class and getTypeName to j.l.reflect.Type 6992705: Include modifiers in Class.toGenericString() Summary: Class.toGenericString and supporting changes; additional reviews by Peter Levart Reviewed-by: alanb ! src/share/classes/java/lang/Class.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/lang/reflect/Modifier.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/java/lang/reflect/Type.java + test/java/lang/Class/GenericStringTest.java Changeset: 57e9eaeca323 Author: alanb Date: 2013-04-09 15:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/57e9eaeca323 8010393: Update JAX-WS RI to 2.2.9-b12941 Reviewed-by: mullan ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 50bc8e085a09 Author: chegar Date: 2013-04-09 17:27 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/50bc8e085a09 8005696: Add CompletableFuture Reviewed-by: chegar, martin ! make/java/java/FILES_java.gmk + src/share/classes/java/util/concurrent/CompletableFuture.java + src/share/classes/java/util/concurrent/CompletionException.java + test/java/util/concurrent/CompletableFuture/Basic.java Changeset: f304311cfe9f Author: lana Date: 2013-04-09 15:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f304311cfe9f Merge ! src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java Changeset: 6e3763e737b0 Author: lana Date: 2013-04-16 08:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6e3763e737b0 Merge Changeset: e5c5e369af6a Author: katleman Date: 2013-04-12 15:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e5c5e369af6a 8012048: JDK8 b85 source with GPL header errors Reviewed-by: iris, mduigou, jjg ! src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/java/util/function/DoublePredicate.java ! src/share/classes/java/util/function/IntPredicate.java ! src/share/classes/java/util/function/LongPredicate.java ! src/share/classes/java/util/function/ObjIntConsumer.java ! src/share/classes/java/util/function/ToDoubleBiFunction.java ! test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh ! test/java/lang/reflect/Method/IsDefaultTest.java ! test/java/net/URLConnection/RequestProperties.java ! test/java/util/Optional/BasicDouble.java ! test/javax/swing/text/html/7189299/bug7189299.java ! test/sun/management/jdp/JdpTest.sh ! test/sun/misc/URLClassPath/JarLoaderTest.java ! test/sun/util/calendar/zi/ZoneInfoFile.java Changeset: b45456703c65 Author: katleman Date: 2013-04-15 14:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b45456703c65 Merge Changeset: 7989cd0cc3a9 Author: katleman Date: 2013-04-16 15:00 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7989cd0cc3a9 Merge Changeset: f4c62eecf7fa Author: katleman Date: 2013-04-18 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f4c62eecf7fa Added tag jdk8-b86 for changeset 7989cd0cc3a9 ! .hgtags Changeset: b59b1f5a98dd Author: bae Date: 2013-04-15 16:57 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b59b1f5a98dd 8005930: [lcms] ColorConvertOp: Alpha channel is not transferred from source to destination. Reviewed-by: prr ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java + test/sun/java2d/cmm/ColorConvertOp/AlphaTest.java Changeset: 03ee8c648624 Author: bae Date: 2013-04-15 18:10 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/03ee8c648624 8011622: Use lcms as the default color management module in jdk8 Reviewed-by: prr, vadim ! make/sun/cmm/Makefile ! make/sun/cmm/kcms/Makefile ! make/sun/cmm/lcms/Makefile ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyIntoClasses.gmk + src/share/classes/sun/java2d/cmm/CMMServiceProvider.java ! src/share/classes/sun/java2d/cmm/CMSManager.java ! src/share/classes/sun/java2d/cmm/lcms/LCMS.java + src/share/classes/sun/java2d/cmm/lcms/LcmsServiceProvider.java + src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.CMMServiceProvider - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM Changeset: 271d5bf7d61f Author: lana Date: 2013-04-17 12:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/271d5bf7d61f Merge ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyIntoClasses.gmk Changeset: 0799af4553b5 Author: lana Date: 2013-04-17 21:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0799af4553b5 Merge - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM Changeset: d241f117ff46 Author: malenkov Date: 2013-04-11 19:12 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d241f117ff46 4683761: Incomplete Introspection on nonpublic classes lead to IllegalAccessExceptions Reviewed-by: alexsch ! src/share/classes/java/beans/Introspector.java + test/java/beans/Introspector/Test4683761.java Changeset: be89273ceb9c Author: pchelko Date: 2013-04-12 14:09 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/be89273ceb9c 8010009: [macosx] Unable type into online word games on MacOSX Reviewed-by: anthony, dcherepanov ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformResponder.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java + test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.html + test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.java + test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/TestApplet.java Changeset: 4490ef60ecd3 Author: anthony Date: 2013-04-12 14:33 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4490ef60ecd3 8010297: Missing isLoggable() checks in logging code Summary: Add isLoggable() checks Reviewed-by: anthony, mchung, serb Contributed-by: Laurent Bourges ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java ! src/share/classes/java/awt/DefaultKeyboardFocusManager.java ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/WaitDispatchSupport.java ! src/share/classes/javax/swing/BufferStrategyPaintManager.java ! src/share/classes/javax/swing/SortingFocusTraversalPolicy.java ! src/share/classes/sun/awt/AWTAutoShutdown.java ! src/share/classes/sun/awt/DebugSettings.java ! src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java ! src/share/classes/sun/awt/SunToolkit.java ! src/share/classes/sun/awt/im/InputContext.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java ! src/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/solaris/classes/sun/awt/X11/XAWTXSettings.java ! src/solaris/classes/sun/awt/X11/XBaseMenuWindow.java ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java ! src/solaris/classes/sun/awt/X11/XContentWindow.java ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java ! src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedHelper.java ! src/solaris/classes/sun/awt/X11/XEmbedServerTester.java ! src/solaris/classes/sun/awt/X11/XFileDialogPeer.java ! src/solaris/classes/sun/awt/X11/XFramePeer.java ! src/solaris/classes/sun/awt/X11/XIconWindow.java ! src/solaris/classes/sun/awt/X11/XInputMethod.java ! src/solaris/classes/sun/awt/X11/XListPeer.java ! src/solaris/classes/sun/awt/X11/XMSelection.java ! src/solaris/classes/sun/awt/X11/XMenuBarPeer.java ! src/solaris/classes/sun/awt/X11/XMenuPeer.java ! src/solaris/classes/sun/awt/X11/XNETProtocol.java ! src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java ! src/solaris/classes/sun/awt/X11/XProtocol.java ! src/solaris/classes/sun/awt/X11/XScrollbar.java ! src/solaris/classes/sun/awt/X11/XScrollbarPeer.java ! src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java ! src/solaris/classes/sun/awt/X11/XTextFieldPeer.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XTrayIconPeer.java ! src/solaris/classes/sun/awt/X11/XWINProtocol.java ! src/solaris/classes/sun/awt/X11/XWM.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java ! src/solaris/classes/sun/awt/X11InputMethod.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java Changeset: 39ce1056694d Author: serb Date: 2013-04-12 15:28 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/39ce1056694d 8000629: [macosx] Blurry rendering with Java 7 on Retina display Reviewed-by: anthony, prr, flar ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/CGraphicsDevice.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m ! src/share/classes/sun/awt/image/SurfaceManager.java ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/SurfaceData.java ! src/share/classes/sun/java2d/pipe/BufferedContext.java ! src/share/classes/sun/java2d/pipe/DrawImage.java ! src/share/classes/sun/java2d/pipe/Region.java + test/java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java + test/java/awt/Graphics2D/FlipDrawImage/FlipDrawImage.java + test/java/awt/Graphics2D/TransformSetGet/TransformSetGet.java + test/java/awt/image/DrawImage/IncorrectBounds.java + test/java/awt/image/DrawImage/IncorrectOffset.java Changeset: ffd45b1a9c11 Author: serb Date: 2013-04-12 20:39 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ffd45b1a9c11 8004866: [macosx] HiDPI support in Aqua L&F Reviewed-by: swingler, alexsch ! src/macosx/classes/com/apple/laf/AquaPainter.java ! src/macosx/classes/com/apple/laf/ImageCache.java ! src/macosx/native/com/apple/laf/JRSUIController.m Changeset: dcdf8cd4b09e Author: ant Date: 2013-04-15 13:02 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/dcdf8cd4b09e 7147075: JTextField doesn't get focus or loses focus forever Reviewed-by: anthony ! src/solaris/classes/sun/awt/X11/XDecoratedPeer.java Changeset: 8fbe247ad2d8 Author: lana Date: 2013-04-17 11:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8fbe247ad2d8 Merge ! src/share/classes/sun/java2d/SunGraphics2D.java ! src/share/classes/sun/java2d/pipe/BufferedContext.java ! src/solaris/classes/sun/awt/X11/XComponentPeer.java Changeset: bb098a221d85 Author: lana Date: 2013-04-17 21:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bb098a221d85 Merge Changeset: 863da64214e8 Author: mduigou Date: 2013-04-10 14:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/863da64214e8 8010948: Add conversion functional interfaces Reviewed-by: mduigou, dholmes Contributed-by: Brian Goetz + src/share/classes/java/util/function/DoubleToIntFunction.java + src/share/classes/java/util/function/DoubleToLongFunction.java + src/share/classes/java/util/function/IntToDoubleFunction.java + src/share/classes/java/util/function/IntToLongFunction.java + src/share/classes/java/util/function/LongToDoubleFunction.java + src/share/classes/java/util/function/LongToIntFunction.java Changeset: b0458dd21ba6 Author: darcy Date: 2013-04-10 16:38 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b0458dd21ba6 8011930: Long.parseLong(String, int) has inaccurate limit on radix for using 'L' Reviewed-by: smarks ! src/share/classes/java/lang/Long.java Changeset: 6f8e1428f7c3 Author: weijun Date: 2013-04-11 10:58 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6f8e1428f7c3 8005460: [findbugs] Probably returned array should be cloned Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/PrincipalName.java + test/sun/security/krb5/name/Immutable.java Changeset: 0ab22e58d151 Author: weijun Date: 2013-04-11 11:09 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0ab22e58d151 8011867: Accept unknown PKCS #9 attributes Reviewed-by: vinnie ! src/share/classes/sun/security/pkcs/PKCS9Attribute.java + test/sun/security/pkcs/pkcs9/UnknownAttribute.java Changeset: 1c3fff140324 Author: weijun Date: 2013-04-11 11:10 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/1c3fff140324 8011745: Unknown CertificateChoices Reviewed-by: vinnie ! src/share/classes/sun/security/pkcs/PKCS7.java Changeset: 006a7a576fe9 Author: peytoia Date: 2013-04-11 12:22 +0900 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/006a7a576fe9 8009638: Wrong comment for PL in LocaleISOData, 1989 forward Poland is Republic of Poland Reviewed-by: okutsu ! src/share/classes/java/util/LocaleISOData.java Changeset: e62a707a77d8 Author: lana Date: 2013-04-11 19:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e62a707a77d8 Merge Changeset: f4d50e8cc9e2 Author: sherman Date: 2013-04-12 07:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f4d50e8cc9e2 8011172: JSR 310 DateTime API Updates II Summary: Integration of JSR310 Date/Time API update Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com ! make/java/java/Makefile ! make/java/text/base/FILES_java.gmk ! make/java/util/FILES_java.gmk ! make/sun/text/FILES_java.gmk ! make/sun/tzdb/Makefile ! make/tools/src/build/tools/cldrconverter/AbstractLDMLHandler.java ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk ! makefiles/GendataTZDB.gmk ! makefiles/profile-includes.txt ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java ! src/share/classes/java/time/MonthDay.java ! src/share/classes/java/time/OffsetDateTime.java ! src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java ! src/share/classes/java/time/Year.java ! src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java ! src/share/classes/java/time/chrono/ChronoDateImpl.java ! src/share/classes/java/time/chrono/ChronoLocalDate.java ! src/share/classes/java/time/chrono/ChronoLocalDateTime.java ! src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/chrono/ChronoZonedDateTime.java ! src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java ! src/share/classes/java/time/chrono/Chronology.java ! src/share/classes/java/time/chrono/Era.java ! src/share/classes/java/time/chrono/HijrahChronology.java ! src/share/classes/java/time/chrono/HijrahDate.java - src/share/classes/java/time/chrono/HijrahDeviationReader.java ! src/share/classes/java/time/chrono/HijrahEra.java ! src/share/classes/java/time/chrono/IsoChronology.java ! src/share/classes/java/time/chrono/IsoEra.java ! src/share/classes/java/time/chrono/JapaneseChronology.java ! src/share/classes/java/time/chrono/JapaneseDate.java ! src/share/classes/java/time/chrono/JapaneseEra.java ! src/share/classes/java/time/chrono/MinguoChronology.java ! src/share/classes/java/time/chrono/MinguoDate.java ! src/share/classes/java/time/chrono/MinguoEra.java ! src/share/classes/java/time/chrono/ThaiBuddhistChronology.java ! src/share/classes/java/time/chrono/ThaiBuddhistDate.java ! src/share/classes/java/time/chrono/ThaiBuddhistEra.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimePrintContext.java ! src/share/classes/java/time/format/DateTimeTextProvider.java + src/share/classes/java/time/format/Parsed.java + src/share/classes/java/time/format/ResolverStyle.java ! src/share/classes/java/time/format/TextStyle.java - src/share/classes/java/time/temporal/Adjusters.java ! src/share/classes/java/time/temporal/ChronoField.java ! src/share/classes/java/time/temporal/ChronoUnit.java ! src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java - src/share/classes/java/time/temporal/Queries.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalAdjusters.java ! src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java + src/share/classes/java/time/temporal/TemporalQueries.java ! src/share/classes/java/time/temporal/TemporalQuery.java ! src/share/classes/java/time/temporal/TemporalUnit.java + src/share/classes/java/time/temporal/UnsupportedTemporalTypeException.java ! src/share/classes/java/time/temporal/ValueRange.java ! src/share/classes/java/time/temporal/WeekFields.java ! src/share/classes/java/time/temporal/package-info.java ! src/share/classes/java/time/zone/TzdbZoneRulesProvider.java ! src/share/classes/java/time/zone/ZoneOffsetTransition.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/FormatData.java + src/share/classes/sun/text/resources/JavaTimeSupplementary.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/ar/FormatData_ar_JO.java ! src/share/classes/sun/text/resources/ar/FormatData_ar_LB.java ! src/share/classes/sun/text/resources/ar/FormatData_ar_SY.java + src/share/classes/sun/text/resources/ar/JavaTimeSupplementary_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/be/FormatData_be_BY.java + src/share/classes/sun/text/resources/be/JavaTimeSupplementary_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/bg/FormatData_bg_BG.java + src/share/classes/sun/text/resources/bg/JavaTimeSupplementary_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/ca/FormatData_ca_ES.java + src/share/classes/sun/text/resources/ca/JavaTimeSupplementary_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/cs/FormatData_cs_CZ.java + src/share/classes/sun/text/resources/cs/JavaTimeSupplementary_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/da/FormatData_da_DK.java + src/share/classes/sun/text/resources/da/JavaTimeSupplementary_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/de/FormatData_de_AT.java ! src/share/classes/sun/text/resources/de/FormatData_de_CH.java ! src/share/classes/sun/text/resources/de/FormatData_de_DE.java ! src/share/classes/sun/text/resources/de/FormatData_de_LU.java + src/share/classes/sun/text/resources/de/JavaTimeSupplementary_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/el/FormatData_el_CY.java ! src/share/classes/sun/text/resources/el/FormatData_el_GR.java + src/share/classes/sun/text/resources/el/JavaTimeSupplementary_el.java ! src/share/classes/sun/text/resources/en/FormatData_en.java ! src/share/classes/sun/text/resources/en/FormatData_en_AU.java ! src/share/classes/sun/text/resources/en/FormatData_en_CA.java ! src/share/classes/sun/text/resources/en/FormatData_en_GB.java ! src/share/classes/sun/text/resources/en/FormatData_en_IE.java ! src/share/classes/sun/text/resources/en/FormatData_en_IN.java ! src/share/classes/sun/text/resources/en/FormatData_en_MT.java ! src/share/classes/sun/text/resources/en/FormatData_en_NZ.java ! src/share/classes/sun/text/resources/en/FormatData_en_PH.java ! src/share/classes/sun/text/resources/en/FormatData_en_SG.java ! src/share/classes/sun/text/resources/en/FormatData_en_US.java ! src/share/classes/sun/text/resources/en/FormatData_en_ZA.java + src/share/classes/sun/text/resources/en/JavaTimeSupplementary_en.java + src/share/classes/sun/text/resources/en/JavaTimeSupplementary_en_GB.java + src/share/classes/sun/text/resources/en/JavaTimeSupplementary_en_SG.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/es/FormatData_es_AR.java ! src/share/classes/sun/text/resources/es/FormatData_es_BO.java ! src/share/classes/sun/text/resources/es/FormatData_es_CL.java ! src/share/classes/sun/text/resources/es/FormatData_es_CO.java ! src/share/classes/sun/text/resources/es/FormatData_es_CR.java ! src/share/classes/sun/text/resources/es/FormatData_es_DO.java ! src/share/classes/sun/text/resources/es/FormatData_es_EC.java ! src/share/classes/sun/text/resources/es/FormatData_es_ES.java ! src/share/classes/sun/text/resources/es/FormatData_es_GT.java ! src/share/classes/sun/text/resources/es/FormatData_es_HN.java ! src/share/classes/sun/text/resources/es/FormatData_es_MX.java ! src/share/classes/sun/text/resources/es/FormatData_es_NI.java ! src/share/classes/sun/text/resources/es/FormatData_es_PA.java ! src/share/classes/sun/text/resources/es/FormatData_es_PE.java ! src/share/classes/sun/text/resources/es/FormatData_es_PR.java ! src/share/classes/sun/text/resources/es/FormatData_es_PY.java ! src/share/classes/sun/text/resources/es/FormatData_es_SV.java ! src/share/classes/sun/text/resources/es/FormatData_es_US.java ! src/share/classes/sun/text/resources/es/FormatData_es_UY.java ! src/share/classes/sun/text/resources/es/FormatData_es_VE.java + src/share/classes/sun/text/resources/es/JavaTimeSupplementary_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/et/FormatData_et_EE.java + src/share/classes/sun/text/resources/et/JavaTimeSupplementary_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fi/FormatData_fi_FI.java + src/share/classes/sun/text/resources/fi/JavaTimeSupplementary_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/fr/FormatData_fr_BE.java ! src/share/classes/sun/text/resources/fr/FormatData_fr_CA.java ! src/share/classes/sun/text/resources/fr/FormatData_fr_CH.java ! src/share/classes/sun/text/resources/fr/FormatData_fr_FR.java + src/share/classes/sun/text/resources/fr/JavaTimeSupplementary_fr.java ! src/share/classes/sun/text/resources/ga/FormatData_ga.java ! src/share/classes/sun/text/resources/ga/FormatData_ga_IE.java + src/share/classes/sun/text/resources/ga/JavaTimeSupplementary_ga.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java + src/share/classes/sun/text/resources/hi/JavaTimeSupplementary_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hr/FormatData_hr_HR.java + src/share/classes/sun/text/resources/hr/JavaTimeSupplementary_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/hu/FormatData_hu_HU.java + src/share/classes/sun/text/resources/hu/JavaTimeSupplementary_hu.java ! src/share/classes/sun/text/resources/in/FormatData_in.java ! src/share/classes/sun/text/resources/in/FormatData_in_ID.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/is/FormatData_is_IS.java + src/share/classes/sun/text/resources/is/JavaTimeSupplementary_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/it/FormatData_it_CH.java ! src/share/classes/sun/text/resources/it/FormatData_it_IT.java + src/share/classes/sun/text/resources/it/JavaTimeSupplementary_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/iw/FormatData_iw_IL.java + src/share/classes/sun/text/resources/iw/JavaTimeSupplementary_iw.java + src/share/classes/sun/text/resources/iw/JavaTimeSupplementary_iw_IL.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ja/FormatData_ja_JP.java + src/share/classes/sun/text/resources/ja/JavaTimeSupplementary_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/ko/FormatData_ko_KR.java + src/share/classes/sun/text/resources/ko/JavaTimeSupplementary_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lt/FormatData_lt_LT.java + src/share/classes/sun/text/resources/lt/JavaTimeSupplementary_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/lv/FormatData_lv_LV.java + src/share/classes/sun/text/resources/lv/JavaTimeSupplementary_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/mk/FormatData_mk_MK.java + src/share/classes/sun/text/resources/mk/JavaTimeSupplementary_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/ms/FormatData_ms_MY.java + src/share/classes/sun/text/resources/ms/JavaTimeSupplementary_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/mt/FormatData_mt_MT.java + src/share/classes/sun/text/resources/mt/JavaTimeSupplementary_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/nl/FormatData_nl_BE.java ! src/share/classes/sun/text/resources/nl/FormatData_nl_NL.java + src/share/classes/sun/text/resources/nl/JavaTimeSupplementary_nl.java ! src/share/classes/sun/text/resources/no/FormatData_no.java ! src/share/classes/sun/text/resources/no/FormatData_no_NO.java ! src/share/classes/sun/text/resources/no/FormatData_no_NO_NY.java + src/share/classes/sun/text/resources/no/JavaTimeSupplementary_no.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl_PL.java + src/share/classes/sun/text/resources/pl/JavaTimeSupplementary_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/pt/FormatData_pt_BR.java ! src/share/classes/sun/text/resources/pt/FormatData_pt_PT.java + src/share/classes/sun/text/resources/pt/JavaTimeSupplementary_pt.java + src/share/classes/sun/text/resources/pt/JavaTimeSupplementary_pt_PT.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ro/FormatData_ro_RO.java + src/share/classes/sun/text/resources/ro/JavaTimeSupplementary_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/ru/FormatData_ru_RU.java + src/share/classes/sun/text/resources/ru/JavaTimeSupplementary_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sk/FormatData_sk_SK.java + src/share/classes/sun/text/resources/sk/JavaTimeSupplementary_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sl/FormatData_sl_SI.java + src/share/classes/sun/text/resources/sl/JavaTimeSupplementary_sl.java ! src/share/classes/sun/text/resources/sq/FormatData_sq.java ! src/share/classes/sun/text/resources/sq/FormatData_sq_AL.java + src/share/classes/sun/text/resources/sq/JavaTimeSupplementary_sq.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_BA.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_CS.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_Latn.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_Latn_ME.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_ME.java ! src/share/classes/sun/text/resources/sr/FormatData_sr_RS.java + src/share/classes/sun/text/resources/sr/JavaTimeSupplementary_sr.java + src/share/classes/sun/text/resources/sr/JavaTimeSupplementary_sr_Latn.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/sv/FormatData_sv_SE.java + src/share/classes/sun/text/resources/sv/JavaTimeSupplementary_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/th/FormatData_th_TH.java + src/share/classes/sun/text/resources/th/JavaTimeSupplementary_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/tr/FormatData_tr_TR.java + src/share/classes/sun/text/resources/tr/JavaTimeSupplementary_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/uk/FormatData_uk_UA.java + src/share/classes/sun/text/resources/uk/JavaTimeSupplementary_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/vi/FormatData_vi_VN.java + src/share/classes/sun/text/resources/vi/JavaTimeSupplementary_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_CN.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_HK.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_SG.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java + src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh.java + src/share/classes/sun/text/resources/zh/JavaTimeSupplementary_zh_TW.java ! src/share/classes/sun/util/calendar/ZoneInfo.java ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/OpenListResourceBundle.java + src/share/classes/sun/util/resources/ParallelListResourceBundle.java ! src/share/lib/calendars.properties + src/share/lib/hijrah-config-umalqura.properties ! test/java/time/tck/java/time/AbstractDateTimeTest.java ! test/java/time/tck/java/time/TCKClock.java ! test/java/time/tck/java/time/TCKDayOfWeek.java ! test/java/time/tck/java/time/TCKDuration.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalDate.java ! test/java/time/tck/java/time/TCKLocalDateTime.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKMonth.java ! test/java/time/tck/java/time/TCKMonthDay.java ! test/java/time/tck/java/time/TCKOffsetDateTime.java ! test/java/time/tck/java/time/TCKOffsetTime.java ! test/java/time/tck/java/time/TCKPeriod.java ! test/java/time/tck/java/time/TCKYear.java ! test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneId.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/TCKZonedDateTime.java - test/java/time/tck/java/time/TestChronology.java ! test/java/time/tck/java/time/TestIsoChronology.java ! test/java/time/tck/java/time/chrono/CopticChronology.java ! test/java/time/tck/java/time/chrono/CopticDate.java ! test/java/time/tck/java/time/chrono/CopticEra.java + test/java/time/tck/java/time/chrono/TCKChronoLocalDate.java + test/java/time/tck/java/time/chrono/TCKChronoLocalDateTime.java + test/java/time/tck/java/time/chrono/TCKChronoZonedDateTime.java ! test/java/time/tck/java/time/chrono/TCKChronology.java + test/java/time/tck/java/time/chrono/TCKChronologySerialization.java + test/java/time/tck/java/time/chrono/TCKHijrahChronology.java + test/java/time/tck/java/time/chrono/TCKHijrahEra.java + test/java/time/tck/java/time/chrono/TCKIsoChronology.java + test/java/time/tck/java/time/chrono/TCKIsoEra.java + test/java/time/tck/java/time/chrono/TCKJapaneseChronology.java + test/java/time/tck/java/time/chrono/TCKJapaneseEra.java + test/java/time/tck/java/time/chrono/TCKMinguoChronology.java + test/java/time/tck/java/time/chrono/TCKMinguoEra.java ! test/java/time/tck/java/time/chrono/TCKTestServiceLoader.java + test/java/time/tck/java/time/chrono/TCKThaiBuddhistChronology.java + test/java/time/tck/java/time/chrono/TCKThaiBuddhistEra.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java ! test/java/time/tck/java/time/format/TCKChronoPrinterParser.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java + test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java ! test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java ! test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java ! test/java/time/tck/java/time/format/TCKLocalizedPrinterParser.java ! test/java/time/tck/java/time/format/TCKOffsetPrinterParser.java + test/java/time/tck/java/time/format/TCKTextStyle.java ! test/java/time/tck/java/time/format/TCKZoneIdPrinterParser.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java ! test/java/time/tck/java/time/temporal/TCKIsoFields.java ! test/java/time/tck/java/time/temporal/TCKJulianFields.java + test/java/time/tck/java/time/temporal/TCKTemporalAdjusters.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java ! test/java/time/tck/java/time/zone/TCKFixedZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java ! test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java ! test/java/time/tck/java/time/zone/TCKZoneRules.java ! test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java ! test/java/time/test/java/time/MockSimplePeriod.java ! test/java/time/test/java/time/TestClock_System.java ! test/java/time/test/java/time/TestDuration.java ! test/java/time/test/java/time/TestLocalDate.java ! test/java/time/test/java/time/TestLocalDateTime.java ! test/java/time/test/java/time/TestLocalTime.java ! test/java/time/test/java/time/TestMonthDay.java ! test/java/time/test/java/time/TestOffsetDateTime.java ! test/java/time/test/java/time/TestOffsetDateTime_instants.java ! test/java/time/test/java/time/TestPeriod.java ! test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/chrono/TestChronoLocalDate.java + test/java/time/test/java/time/chrono/TestChronologyPerf.java ! test/java/time/test/java/time/chrono/TestExampleCode.java ! test/java/time/test/java/time/chrono/TestIsoChronoImpl.java + test/java/time/test/java/time/chrono/TestJapaneseChronoImpl.java ! test/java/time/test/java/time/chrono/TestServiceLoader.java + test/java/time/test/java/time/chrono/TestThaiBuddhistChronoImpl.java + test/java/time/test/java/time/chrono/TestUmmAlQuraChronology.java ! test/java/time/test/java/time/format/AbstractTestPrinterParser.java ! test/java/time/test/java/time/format/MockIOExceptionAppendable.java ! test/java/time/test/java/time/format/TestCharLiteralParser.java ! test/java/time/test/java/time/format/TestCharLiteralPrinter.java ! test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java ! test/java/time/test/java/time/format/TestDateTimeFormatter.java ! test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java ! test/java/time/test/java/time/format/TestDateTimeTextProvider.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java ! test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestPadPrinterDecorator.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestSettingsParser.java ! test/java/time/test/java/time/format/TestStringLiteralParser.java ! test/java/time/test/java/time/format/TestStringLiteralPrinter.java ! test/java/time/test/java/time/format/TestTextParser.java ! test/java/time/test/java/time/format/TestTextPrinter.java ! test/java/time/test/java/time/format/TestZoneOffsetParser.java ! test/java/time/test/java/time/format/TestZoneOffsetPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java ! test/java/time/test/java/time/format/ZoneName.java ! test/java/time/test/java/time/temporal/MockFieldValue.java + test/java/time/test/java/time/temporal/TestChronoField.java ! test/java/time/test/java/time/temporal/TestChronoUnit.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java ! test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java ! test/java/time/test/java/time/temporal/TestDateTimeValueRange.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java ! test/java/time/test/java/time/zone/TestFixedZoneRules.java ! test/java/time/test/java/util/TestFormatter.java ! test/java/util/Calendar/Bug8007038.java ! test/java/util/Calendar/CldrFormatNamesTest.java ! test/java/util/Calendar/JavatimeTest.java ! test/sun/text/resources/LocaleData ! test/sun/util/calendar/zi/TestZoneInfo310.java Changeset: 035a61c9f981 Author: sherman Date: 2013-04-12 09:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/035a61c9f981 8012123: hijrah-config-umalqura.properties is missing from makefiles/profile-includes.txt Summary: added the hijrah-config-umalqura.properties into the list Reviewed-by: alanb ! makefiles/profile-includes.txt Changeset: e2cd40d7567c Author: rfield Date: 2013-04-12 10:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e2cd40d7567c 8011805: Update sun.tools.java class file reading/writing support to include the new constant pool entries Reviewed-by: mduigou, alanb ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java ! src/share/classes/sun/tools/java/BinaryConstantPool.java ! src/share/classes/sun/tools/java/RuntimeConstants.java + test/sun/tools/java/CFCTest.java Changeset: 2e3cc7f599ca Author: mduigou Date: 2013-04-10 12:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2e3cc7f599ca 8011200: (coll) Optimize empty HashMap and ArrayList Reviewed-by: mduigou, alanb, bchristi, martin Contributed-by: Sergey Linetskiy , John Rose , Mike Duigou ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/HashMap.java + test/java/util/Map/BasicSerialization.java Changeset: 6c935c5ac7ff Author: sherman Date: 2013-04-12 12:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6c935c5ac7ff 8011647: Add java.time.Instant methods to java.nio.file.attribute.FileTime Summary: added the toInstant()/from(Instant) to FileTime Reviewed-by: alanb ! src/share/classes/java/nio/file/attribute/FileTime.java ! test/java/nio/file/attribute/FileTime/Basic.java Changeset: 729ca1ef7c75 Author: sherman Date: 2013-04-12 12:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/729ca1ef7c75 8002390: (zipfs) Problems moving files between zip file systems Summary: fixed the corner cases in zipfs Reviewed-by: sherman Contributed-by: mark.sheppard at oracle.com ! src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java ! test/demo/zipfs/ZipFSTester.java ! test/demo/zipfs/basic.sh Changeset: d8cae0195fe9 Author: henryjen Date: 2013-04-12 12:41 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d8cae0195fe9 8010279: java.util.Stream.min/max((Comparator)null) is not consistent in throwing (unspecified) NPE Reviewed-by: alanb, mduigou ! src/share/classes/java/util/Comparators.java + test/java/util/Comparators/BasicTest.java - test/java/util/ComparatorsTest.java Changeset: 06dfdfa8c3e6 Author: rfield Date: 2013-04-12 20:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/06dfdfa8c3e6 8012028: Metafactory-generated lambda classes should be final 8008941: isSynthetic() returns false for lambda instances Reviewed-by: mduigou ! src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java + test/java/lang/invoke/lambda/LambdaClassFinal.java + test/java/lang/invoke/lambda/LambdaClassSynthetic.java Changeset: 0111bab8dc35 Author: jzavgren Date: 2013-04-11 12:33 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0111bab8dc35 8008118: (process) Possible null pointer dereference in jdk/src/solaris/native/java/lang/UNIXProcess_md.c Summary: Modified the path processing code so that it detects and handles out of memory errors. Reviewed-by: chegar, martin, christos, alanb, msheppar Contributed-by: john.zavgren at oracle.com ! make/java/java/mapfile-vers ! makefiles/mapfiles/libjava/mapfile-vers ! src/solaris/classes/java/lang/UNIXProcess.java.bsd ! src/solaris/classes/java/lang/UNIXProcess.java.linux ! src/solaris/classes/java/lang/UNIXProcess.java.solaris ! src/solaris/native/java/lang/ProcessEnvironment_md.c ! src/solaris/native/java/lang/UNIXProcess_md.c Changeset: 5c406a747192 Author: chegar Date: 2013-04-14 19:17 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5c406a747192 8011799: CompletableFuture/Basic.java fails intermittently Reviewed-by: martin, alanb ! test/java/util/concurrent/CompletableFuture/Basic.java Changeset: 4ed143ddbb8a Author: martin Date: 2013-04-15 14:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4ed143ddbb8a 8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change Summary: Define JNIEXPORT to use "default" visibility where possible. Reviewed-by: coleenp, ddehaven, dcubed, anthony ! src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ! src/share/npt/npt.h ! src/solaris/javavm/export/jni_md.h ! src/solaris/native/sun/awt/awt_LoadLibrary.c Changeset: baaa706d7677 Author: darcy Date: 2013-04-15 18:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/baaa706d7677 8011800: Add java.util.Objects.requireNonNull(T, Supplier) Reviewed-by: alanb, dholmes, mduigou ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java Changeset: 61cfbe08ce5d Author: chegar Date: 2013-04-16 12:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/61cfbe08ce5d 8012343: Objects.requireNonNull(Object,Supplier) breaks genstubs build Reviewed-by: alanb ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java Changeset: e2a0e37b152c Author: chegar Date: 2013-04-16 12:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e2a0e37b152c 8012237: CompletableFuture/Basic.java still fails intermittently Reviewed-by: martin ! test/java/util/concurrent/CompletableFuture/Basic.java Changeset: 6135c60e77e5 Author: chegar Date: 2013-04-16 13:26 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6135c60e77e5 8012244: java/net/Socket/asyncClose/Race.java fails intermittently on Windows Reviewed-by: alanb, dsamersoff ! src/windows/classes/java/net/DualStackPlainSocketImpl.java ! src/windows/native/java/net/SocketInputStream.c ! test/java/net/Socket/asyncClose/Race.java Changeset: e4e9f6455f3c Author: mduigou Date: 2013-04-16 11:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e4e9f6455f3c 8004518: Add in-place operations to Map 8010122: Add defaults for ConcurrentMap operations to Map Reviewed-by: darcy, briangoetz, mduigou, dholmes, ulfzibis Contributed-by: Doug Lea
, Henry Jen , Akhil Arora , Peter Levart , Mike Duigou ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/Hashtable.java ! src/share/classes/java/util/Map.java ! src/share/classes/java/util/concurrent/ConcurrentMap.java + test/java/util/Map/Defaults.java Changeset: c5ead5aa2e13 Author: bae Date: 2013-02-07 19:15 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c5ead5aa2e13 8007014: Improve image handling Reviewed-by: prr, mschoene, jgodinez ! src/share/classes/sun/awt/image/ByteComponentRaster.java ! src/share/classes/sun/awt/image/BytePackedRaster.java ! src/share/classes/sun/awt/image/IntegerComponentRaster.java ! src/share/classes/sun/awt/image/IntegerInterleavedRaster.java ! src/share/classes/sun/awt/image/ShortComponentRaster.java ! src/share/native/sun/awt/image/awt_parseImage.c ! src/share/native/sun/awt/medialib/awt_ImagingLib.c ! src/share/native/sun/awt/medialib/mlib_ImageCreate.c ! src/share/native/sun/awt/medialib/safe_alloc.h + src/share/native/sun/awt/medialib/safe_math.h Changeset: c95973aac928 Author: malenkov Date: 2013-02-08 17:32 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c95973aac928 7200507: Refactor Introspector internals Reviewed-by: ahgross, art ! src/share/classes/java/beans/ThreadGroupContext.java + src/share/classes/java/beans/WeakIdentityMap.java Changeset: 210fb90ee33a Author: michaelm Date: 2013-02-13 10:40 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/210fb90ee33a 8000724: Improve networking serialization Summary: delegate InetAddress fields to a holder object Reviewed-by: alanb, chegar ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/Inet4Address.java ! src/share/classes/java/net/Inet4AddressImpl.java ! src/share/classes/java/net/Inet6Address.java ! src/share/classes/java/net/Inet6AddressImpl.java ! src/share/classes/java/net/InetAddress.java ! src/share/classes/java/net/InetSocketAddress.java ! src/share/native/java/net/InetAddress.c ! src/share/native/java/net/net_util.c ! src/share/native/java/net/net_util.h ! src/solaris/native/java/net/Inet4AddressImpl.c ! src/solaris/native/java/net/Inet6AddressImpl.c ! src/solaris/native/java/net/NetworkInterface.c ! src/solaris/native/java/net/PlainDatagramSocketImpl.c ! src/solaris/native/java/net/net_util_md.c ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/native/java/net/Inet4AddressImpl.c ! src/windows/native/java/net/Inet6AddressImpl.c ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/NetworkInterface.h ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c ! src/windows/native/java/net/TwoStacksPlainSocketImpl.c ! src/windows/native/java/net/net_util_md.c Changeset: 5ffba58b541f Author: valeriep Date: 2013-02-26 11:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5ffba58b541f 8000897: VM crash in CompileBroker Summary: Fixed to use the corresponding digest length when generating output. Reviewed-by: mullan ! src/share/classes/sun/security/provider/SHA2.java Changeset: 96890625ebdf Author: smarks Date: 2013-02-27 14:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/96890625ebdf 8001040: Rework RMI model Reviewed-by: alanb, ahgross, coffeys, dmocek ! src/share/classes/sun/rmi/server/MarshalInputStream.java ! test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/java/rmi/registry/readTest/readTest.sh ! test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java ! test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java + test/java/rmi/server/RMIClassLoader/useCodebaseOnlyDefault/UseCodebaseOnlyDefault.java ! test/java/rmi/testlibrary/RMID.java Changeset: f12921c0b15b Author: dfuchs Date: 2013-03-14 13:10 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f12921c0b15b 8001322: Refactor deserialization Reviewed-by: mchung, skoivu, smarks ! src/share/classes/java/io/ObjectInputStream.java Changeset: bae4a15265d3 Author: dmocek Date: 2013-02-05 16:38 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bae4a15265d3 8001329: Augment RMI logging Reviewed-by: smarks, hawtin, alanb ! src/share/classes/java/rmi/server/LogStream.java Changeset: c876e9321616 Author: chegar Date: 2012-12-20 13:40 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c876e9321616 8003335: Better handling of Finalizer thread Reviewed-by: alanb, ahgross ! src/share/classes/java/lang/ref/Finalizer.java Changeset: 0c5c54303c92 Author: serb Date: 2013-02-15 13:49 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0c5c54303c92 8004261: Improve input validation Reviewed-by: art, mschoene, amenkov ! src/share/classes/com/sun/media/sound/AbstractMidiDevice.java ! src/share/classes/com/sun/media/sound/FastShortMessage.java ! src/share/classes/com/sun/media/sound/FastSysexMessage.java ! src/share/classes/com/sun/media/sound/MidiOutDevice.java ! src/share/classes/com/sun/media/sound/RealTimeSequencer.java Changeset: 3d155555f809 Author: uta Date: 2013-02-22 17:49 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3d155555f809 8005942: (process) Improved Runtime.exec Reviewed-by: alanb, ahgross ! src/share/classes/java/lang/ProcessBuilder.java ! src/windows/classes/java/lang/ProcessImpl.java Changeset: cf01f2847551 Author: dsamersoff Date: 2013-03-05 00:02 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/cf01f2847551 8006435: Improvements in JMX Summary: Improvements in JMX Reviewed-by: dfuchs, skoivu, alanb, mchung ! src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java Changeset: 4effe291c08b Author: prr Date: 2013-02-08 09:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4effe291c08b 8006795: Improve font warning messages Reviewed-by: bae, jgodinez ! src/share/classes/sun/font/CMap.java Changeset: 9b4bee66fa24 Author: bae Date: 2013-02-19 11:47 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9b4bee66fa24 8007617: Better validation of images Reviewed-by: prr, mschoene, jgodinez ! src/share/classes/sun/awt/image/ImageRepresentation.java ! src/share/native/sun/awt/image/awt_ImageRep.c Changeset: 620a08212c79 Author: bae Date: 2013-02-26 00:41 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/620a08212c79 8007667: Better image reading Reviewed-by: prr, jgodinez, mschoene ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: 2deab0b85b82 Author: bae Date: 2013-02-26 01:41 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2deab0b85b82 8007918: Better image writing Reviewed-by: mschoene, prr, jgodinez ! src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java ! src/share/native/sun/awt/image/jpeg/imageioJPEG.c Changeset: f7b331b8661f Author: chegar Date: 2013-03-03 10:07 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f7b331b8661f 8009063: Improve reliability of ConcurrentHashMap Reviewed-by: alanb, ahgross ! src/share/classes/java/util/concurrent/ConcurrentHashMap.java Changeset: 5c2c8fb0b885 Author: dfuchs Date: 2013-03-14 18:41 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5c2c8fb0b885 8009305: Improve AWT data transfer Reviewed-by: art, skoivu, smarks, ant ! src/share/classes/sun/awt/datatransfer/TransferableProxy.java Changeset: af881cbec91e Author: uta Date: 2013-03-08 13:35 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/af881cbec91e 8009463: Regression test test\java\lang\Runtime\exec\ArgWithSpaceAndFinalBackslash.java failing. Reviewed-by: alanb, ahgross ! src/windows/classes/java/lang/ProcessImpl.java Changeset: 633fd0b99a8d Author: valeriep Date: 2013-03-11 20:18 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/633fd0b99a8d 8009610: Blacklist certificate used with malware. Summary: updated the black list and the reg test with the new cert. Reviewed-by: weijun ! src/share/classes/sun/security/util/UntrustedCertificates.java Changeset: 37296d45a11e Author: lancea Date: 2013-03-18 13:30 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/37296d45a11e 8009814: Better driver management Reviewed-by: alanb, skoivu ! src/share/classes/java/sql/DriverManager.java Changeset: fa919c17da9f Author: smarks Date: 2013-03-18 18:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/fa919c17da9f 8009857: Problem with plugin Reviewed-by: jdn, mchung ! src/share/classes/sun/reflect/misc/MethodUtil.java Changeset: 4267ae18e13a Author: prr Date: 2013-02-15 13:07 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4267ae18e13a 8008249: Sync ICU into JDK Reviewed-by: bae, jgodinez ! make/sun/font/FILES_c.gmk ! src/share/native/sun/font/layout/ContextualGlyphInsertion.h + src/share/native/sun/font/layout/ContextualGlyphInsertionProc2.cpp + src/share/native/sun/font/layout/ContextualGlyphInsertionProc2.h + src/share/native/sun/font/layout/ContextualGlyphSubstProc2.cpp + src/share/native/sun/font/layout/ContextualGlyphSubstProc2.h ! src/share/native/sun/font/layout/ContextualGlyphSubstitution.h + src/share/native/sun/font/layout/GXLayoutEngine2.cpp + src/share/native/sun/font/layout/GXLayoutEngine2.h ! src/share/native/sun/font/layout/IndicClassTables.cpp ! src/share/native/sun/font/layout/IndicRearrangement.h + src/share/native/sun/font/layout/IndicRearrangementProcessor2.cpp + src/share/native/sun/font/layout/IndicRearrangementProcessor2.h ! src/share/native/sun/font/layout/IndicReordering.cpp ! src/share/native/sun/font/layout/IndicReordering.h ! src/share/native/sun/font/layout/LEFontInstance.h ! src/share/native/sun/font/layout/LEGlyphFilter.h ! src/share/native/sun/font/layout/LEInsertionList.h ! src/share/native/sun/font/layout/LEScripts.h ! src/share/native/sun/font/layout/LETypes.h ! src/share/native/sun/font/layout/LayoutEngine.cpp ! src/share/native/sun/font/layout/LayoutEngine.h + src/share/native/sun/font/layout/LigatureSubstProc2.cpp + src/share/native/sun/font/layout/LigatureSubstProc2.h ! src/share/native/sun/font/layout/LigatureSubstitution.h ! src/share/native/sun/font/layout/LookupProcessor.cpp ! src/share/native/sun/font/layout/MPreFixups.cpp ! src/share/native/sun/font/layout/MorphStateTables.h ! src/share/native/sun/font/layout/MorphTables.h + src/share/native/sun/font/layout/MorphTables2.cpp ! src/share/native/sun/font/layout/NonContextualGlyphSubst.h + src/share/native/sun/font/layout/NonContextualGlyphSubstProc2.cpp + src/share/native/sun/font/layout/NonContextualGlyphSubstProc2.h ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp ! src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp ! src/share/native/sun/font/layout/ScriptAndLanguageTags.h + src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp + src/share/native/sun/font/layout/SegmentArrayProcessor2.h + src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp + src/share/native/sun/font/layout/SegmentSingleProcessor2.h + src/share/native/sun/font/layout/SimpleArrayProcessor2.cpp + src/share/native/sun/font/layout/SimpleArrayProcessor2.h + src/share/native/sun/font/layout/SingleTableProcessor2.cpp + src/share/native/sun/font/layout/SingleTableProcessor2.h + src/share/native/sun/font/layout/StateTableProcessor2.cpp + src/share/native/sun/font/layout/StateTableProcessor2.h ! src/share/native/sun/font/layout/StateTables.h + src/share/native/sun/font/layout/SubtableProcessor2.cpp + src/share/native/sun/font/layout/SubtableProcessor2.h + src/share/native/sun/font/layout/TrimmedArrayProcessor2.cpp + src/share/native/sun/font/layout/TrimmedArrayProcessor2.h Changeset: 43f2d3d715c5 Author: prr Date: 2013-02-26 10:07 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/43f2d3d715c5 8004986: Better handling of glyph table 8004987: Improve font layout 8004994: Improve checking of glyph table Reviewed-by: srl, jgodinez ! src/share/native/sun/font/layout/ArabicLayoutEngine.cpp ! src/share/native/sun/font/layout/ContextualGlyphSubstProc2.cpp ! src/share/native/sun/font/layout/LETypes.h ! src/share/native/sun/font/layout/LayoutEngine.cpp ! src/share/native/sun/font/layout/LigatureSubstProc.cpp ! src/share/native/sun/font/layout/LigatureSubstProc2.cpp ! src/share/native/sun/font/layout/LookupProcessor.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.h ! src/share/native/sun/font/layout/StateTableProcessor.cpp ! src/share/native/sun/font/layout/StateTableProcessor2.cpp ! src/share/native/sun/font/layout/StateTables.h Changeset: 32778f4f945f Author: prr Date: 2013-03-07 10:02 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/32778f4f945f 8001031: Better font processing Reviewed-by: srl, vadim ! src/share/native/sun/font/FontInstanceAdapter.cpp ! src/share/native/sun/font/FontInstanceAdapter.h ! src/share/native/sun/font/fontscalerdefs.h ! src/share/native/sun/font/layout/AlternateSubstSubtables.cpp ! src/share/native/sun/font/layout/AlternateSubstSubtables.h ! src/share/native/sun/font/layout/ArabicLayoutEngine.cpp ! src/share/native/sun/font/layout/ArabicLayoutEngine.h ! src/share/native/sun/font/layout/ArabicShaping.cpp ! src/share/native/sun/font/layout/ArabicShaping.h ! src/share/native/sun/font/layout/AttachmentPosnSubtables.h ! src/share/native/sun/font/layout/CanonData.cpp ! src/share/native/sun/font/layout/CanonShaping.cpp ! src/share/native/sun/font/layout/CanonShaping.h ! src/share/native/sun/font/layout/ClassDefinitionTables.cpp ! src/share/native/sun/font/layout/ClassDefinitionTables.h ! src/share/native/sun/font/layout/ContextualGlyphInsertionProc2.cpp ! src/share/native/sun/font/layout/ContextualGlyphInsertionProc2.h ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/ContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/ContextualGlyphSubstProc2.cpp ! src/share/native/sun/font/layout/ContextualGlyphSubstProc2.h ! src/share/native/sun/font/layout/ContextualSubstSubtables.cpp ! src/share/native/sun/font/layout/ContextualSubstSubtables.h ! src/share/native/sun/font/layout/CoverageTables.h ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp ! src/share/native/sun/font/layout/CursiveAttachmentSubtables.h ! src/share/native/sun/font/layout/DeviceTables.h ! src/share/native/sun/font/layout/ExtensionSubtables.cpp ! src/share/native/sun/font/layout/Features.cpp ! src/share/native/sun/font/layout/GDEFMarkFilter.cpp ! src/share/native/sun/font/layout/GDEFMarkFilter.h ! src/share/native/sun/font/layout/GXLayoutEngine.cpp ! src/share/native/sun/font/layout/GXLayoutEngine.h ! src/share/native/sun/font/layout/GXLayoutEngine2.cpp ! src/share/native/sun/font/layout/GXLayoutEngine2.h ! src/share/native/sun/font/layout/GlyphDefinitionTables.cpp ! src/share/native/sun/font/layout/GlyphDefinitionTables.h ! src/share/native/sun/font/layout/GlyphIterator.cpp ! src/share/native/sun/font/layout/GlyphIterator.h ! src/share/native/sun/font/layout/GlyphLookupTables.cpp ! src/share/native/sun/font/layout/GlyphLookupTables.h ! src/share/native/sun/font/layout/GlyphPositioningTables.cpp ! src/share/native/sun/font/layout/GlyphPositioningTables.h ! src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp ! src/share/native/sun/font/layout/GlyphPosnLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp ! src/share/native/sun/font/layout/GlyphSubstLookupProc.h ! src/share/native/sun/font/layout/GlyphSubstitutionTables.cpp ! src/share/native/sun/font/layout/GlyphSubstitutionTables.h ! src/share/native/sun/font/layout/HanLayoutEngine.cpp ! src/share/native/sun/font/layout/HanLayoutEngine.h ! src/share/native/sun/font/layout/HangulLayoutEngine.cpp ! src/share/native/sun/font/layout/HangulLayoutEngine.h ! src/share/native/sun/font/layout/ICUFeatures.h ! src/share/native/sun/font/layout/IndicLayoutEngine.cpp ! src/share/native/sun/font/layout/IndicLayoutEngine.h ! src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp ! src/share/native/sun/font/layout/IndicRearrangementProcessor.h ! src/share/native/sun/font/layout/IndicRearrangementProcessor2.cpp ! src/share/native/sun/font/layout/IndicRearrangementProcessor2.h ! src/share/native/sun/font/layout/IndicReordering.cpp ! src/share/native/sun/font/layout/KernTable.cpp ! src/share/native/sun/font/layout/KernTable.h ! src/share/native/sun/font/layout/KhmerLayoutEngine.cpp ! src/share/native/sun/font/layout/KhmerLayoutEngine.h ! src/share/native/sun/font/layout/LEScripts.h + src/share/native/sun/font/layout/LETableReference.h ! src/share/native/sun/font/layout/LETypes.h ! src/share/native/sun/font/layout/LayoutEngine.cpp ! src/share/native/sun/font/layout/LayoutEngine.h ! src/share/native/sun/font/layout/LigatureSubstProc.cpp ! src/share/native/sun/font/layout/LigatureSubstProc.h ! src/share/native/sun/font/layout/LigatureSubstProc2.cpp ! src/share/native/sun/font/layout/LigatureSubstProc2.h ! src/share/native/sun/font/layout/LigatureSubstSubtables.cpp ! src/share/native/sun/font/layout/LigatureSubstSubtables.h ! src/share/native/sun/font/layout/LookupProcessor.cpp ! src/share/native/sun/font/layout/LookupProcessor.h ! src/share/native/sun/font/layout/LookupTables.cpp ! src/share/native/sun/font/layout/LookupTables.h ! src/share/native/sun/font/layout/Lookups.cpp ! src/share/native/sun/font/layout/Lookups.h ! src/share/native/sun/font/layout/MarkArrays.h ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToBasePosnSubtables.h ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.h ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp ! src/share/native/sun/font/layout/MarkToMarkPosnSubtables.h ! src/share/native/sun/font/layout/MorphTables.cpp ! src/share/native/sun/font/layout/MorphTables.h ! src/share/native/sun/font/layout/MorphTables2.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.cpp ! src/share/native/sun/font/layout/MultipleSubstSubtables.h ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.cpp ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc.h ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc2.cpp ! src/share/native/sun/font/layout/NonContextualGlyphSubstProc2.h ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp ! src/share/native/sun/font/layout/OpenTypeLayoutEngine.h ! src/share/native/sun/font/layout/OpenTypeTables.h ! src/share/native/sun/font/layout/OpenTypeUtilities.cpp ! src/share/native/sun/font/layout/OpenTypeUtilities.h ! src/share/native/sun/font/layout/PairPositioningSubtables.cpp ! src/share/native/sun/font/layout/PairPositioningSubtables.h ! src/share/native/sun/font/layout/ScriptAndLanguage.cpp ! src/share/native/sun/font/layout/ScriptAndLanguage.h ! src/share/native/sun/font/layout/SegmentArrayProcessor.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor.h ! src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp ! src/share/native/sun/font/layout/SegmentArrayProcessor2.h ! src/share/native/sun/font/layout/SegmentSingleProcessor.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor.h ! src/share/native/sun/font/layout/SegmentSingleProcessor2.cpp ! src/share/native/sun/font/layout/SegmentSingleProcessor2.h ! src/share/native/sun/font/layout/ShapingTypeData.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor.h ! src/share/native/sun/font/layout/SimpleArrayProcessor2.cpp ! src/share/native/sun/font/layout/SimpleArrayProcessor2.h ! src/share/native/sun/font/layout/SinglePositioningSubtables.cpp ! src/share/native/sun/font/layout/SinglePositioningSubtables.h ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp ! src/share/native/sun/font/layout/SingleSubstitutionSubtables.h ! src/share/native/sun/font/layout/SingleTableProcessor.cpp ! src/share/native/sun/font/layout/SingleTableProcessor.h ! src/share/native/sun/font/layout/SingleTableProcessor2.cpp ! src/share/native/sun/font/layout/SingleTableProcessor2.h ! src/share/native/sun/font/layout/StateTableProcessor.cpp ! src/share/native/sun/font/layout/StateTableProcessor.h ! src/share/native/sun/font/layout/StateTableProcessor2.cpp ! src/share/native/sun/font/layout/StateTableProcessor2.h ! src/share/native/sun/font/layout/StateTables.h ! src/share/native/sun/font/layout/SubtableProcessor.cpp ! src/share/native/sun/font/layout/SubtableProcessor.h ! src/share/native/sun/font/layout/SubtableProcessor2.cpp ! src/share/native/sun/font/layout/SubtableProcessor2.h ! src/share/native/sun/font/layout/ThaiLayoutEngine.cpp ! src/share/native/sun/font/layout/TibetanLayoutEngine.cpp ! src/share/native/sun/font/layout/TibetanLayoutEngine.h ! src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor.h ! src/share/native/sun/font/layout/TrimmedArrayProcessor2.cpp ! src/share/native/sun/font/layout/TrimmedArrayProcessor2.h ! src/share/native/sun/font/layout/ValueRecords.h ! src/share/native/sun/font/sunFont.c Changeset: 7b03efca912f Author: malenkov Date: 2013-02-05 20:07 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7b03efca912f 8006790: Improve checking for windows Reviewed-by: art, mschoene ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CFileDialog.java ! src/macosx/classes/sun/lwawt/macosx/CPrinterDialogPeer.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/awt/peer/WindowPeer.java ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/windows/classes/sun/awt/windows/WFileDialogPeer.java ! src/windows/classes/sun/awt/windows/WPrintDialogPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: 4ea6d44a20a0 Author: mullan Date: 2013-03-27 10:37 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4ea6d44a20a0 8003445: Adjust JAX-WS to focus on API Reviewed-by: vinnie, ahgross, mgrebac ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/Makefile Changeset: c921d68edf08 Author: joehw Date: 2013-02-18 13:02 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c921d68edf08 6657673: Issues with JAXP Reviewed-by: alanb, lancea, ahgross, mullan ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/Makefile Changeset: 6a09e4648cfb Author: mkos Date: 2013-03-07 07:19 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6a09e4648cfb 8005432: Update access to JAX-WS Summary: newly restricted the whole package com.sun.xml.internal; fix reviewed also by Alexander Fomin Reviewed-by: mullan, skoivu ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows Changeset: 12ca12303c33 Author: raginip Date: 2013-03-27 21:32 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/12ca12303c33 8007406: Improve accessibility of AccessBridge Reviewed-by: skoivu, mullan, ptbrunet ! src/share/lib/security/java.security-windows Changeset: 269b7955a885 Author: chegar Date: 2013-03-28 09:50 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/269b7955a885 8010944: Incorrectly separated package list in java.security-windows Reviewed-by: mullan ! src/share/lib/security/java.security-windows Changeset: 7c663f528ff6 Author: vlivanov Date: 2013-03-01 04:45 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7c663f528ff6 8008140: Better method handle resolution Reviewed-by: jrose, twisti, jdn ! src/share/classes/java/lang/invoke/MethodHandles.java Changeset: 0fb15205acb6 Author: bae Date: 2013-02-19 12:06 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0fb15205acb6 8007675: Improve color conversion Reviewed-by: prr, mschoene, jgodinez ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java Changeset: b057eaf53935 Author: chegar Date: 2013-04-04 17:34 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b057eaf53935 Merge ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java Changeset: 5f46a666e06d Author: chegar Date: 2013-04-13 20:16 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5f46a666e06d Merge ! src/share/classes/sun/awt/EmbeddedFrame.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/windows/classes/java/lang/ProcessImpl.java ! test/Makefile Changeset: 84df34924f67 Author: chegar Date: 2013-04-13 21:51 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/84df34924f67 Merge - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java Changeset: 9246b0fee2f2 Author: chegar Date: 2013-04-16 13:30 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9246b0fee2f2 Merge Changeset: 10fd3b4a77ae Author: chegar Date: 2013-04-16 21:04 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/10fd3b4a77ae Merge Changeset: a3cc4b8e217a Author: weijun Date: 2013-04-17 10:15 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a3cc4b8e217a 8011124: Make KerberosTime immutable Reviewed-by: xuelei ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/KrbAppMessage.java ! src/share/classes/sun/security/krb5/KrbCred.java ! src/share/classes/sun/security/krb5/KrbTgsReq.java ! src/share/classes/sun/security/krb5/internal/KerberosTime.java ! src/share/classes/sun/security/krb5/internal/KrbCredInfo.java ! src/share/classes/sun/security/krb5/internal/LastReqEntry.java ! src/share/classes/sun/security/krb5/internal/PAEncTSEnc.java ! src/share/classes/sun/security/krb5/internal/ccache/Credentials.java ! test/sun/security/krb5/MicroTime.java Changeset: da6addef956e Author: mchung Date: 2013-04-16 21:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/da6addef956e 8010117: Annotate jdk caller sensitive methods with @sun.reflect.CallerSensitive Reviewed-by: jrose, alanb, twisti ! make/java/java/FILES_c.gmk ! make/java/java/mapfile-vers ! make/java/java/reorder-i586 ! make/java/java/reorder-sparc ! make/java/java/reorder-sparcv9 ! makefiles/mapfiles/libjava/mapfile-vers ! makefiles/mapfiles/libjava/reorder-sparc ! makefiles/mapfiles/libjava/reorder-sparcv9 ! makefiles/mapfiles/libjava/reorder-x86 ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/ClassLoader.java ! src/share/classes/java/lang/Package.java ! src/share/classes/java/lang/Runtime.java ! src/share/classes/java/lang/SecurityManager.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/lang/invoke/BoundMethodHandle.java ! src/share/classes/java/lang/invoke/MemberName.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/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/security/AccessController.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/util/ResourceBundle.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/share/classes/java/util/logging/Logger.java ! src/share/classes/javax/script/ScriptEngineManager.java ! src/share/classes/sun/misc/Unsafe.java + src/share/classes/sun/reflect/CallerSensitive.java ! src/share/classes/sun/reflect/Reflection.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/ClassLoader.c - src/share/native/java/lang/ResourceBundle.c ! src/share/native/java/lang/SecurityManager.c ! src/share/native/sun/reflect/Reflection.c ! test/Makefile + test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java + test/sun/reflect/CallerSensitive/MethodFinder.java + test/sun/reflect/CallerSensitive/MissingCallerSensitive.java + test/sun/reflect/Reflection/GetCallerClass.java + test/sun/reflect/Reflection/GetCallerClassTest.java + test/sun/reflect/Reflection/GetCallerClassTest.sh Changeset: 414384c3b3eb Author: yhuang Date: 2013-04-16 22:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/414384c3b3eb 8011977: ISO 4217 Amendment Number 155 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! test/java/util/Currency/tablea1.txt Changeset: 779ba708fee3 Author: yhuang Date: 2013-04-17 01:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/779ba708fee3 Merge - src/share/native/java/lang/ResourceBundle.c Changeset: 473ed4b94306 Author: vinnie Date: 2013-04-11 17:57 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/473ed4b94306 7171982: Cipher getParameters() throws RuntimeException: Cannot find SunJCE provider Reviewed-by: vinnie, wetmore Contributed-by: Tony Scarpino ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/CipherWithWrappingSpi.java ! src/share/classes/com/sun/crypto/provider/ConstructKeys.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java ! src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java ! src/share/classes/com/sun/crypto/provider/KeyProtector.java ! src/share/classes/com/sun/crypto/provider/PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/PBES1Core.java ! src/share/classes/com/sun/crypto/provider/PBES2Core.java ! src/share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/RSACipher.java ! src/share/classes/com/sun/crypto/provider/SealedObjectForKeyProtector.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java + test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java Changeset: a6ca7cd399b2 Author: vinnie Date: 2013-04-11 18:00 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a6ca7cd399b2 8001596: Incorrect condition check in PBKDF2KeyImpl.JAVA Reviewed-by: wetmore Contributed-by: Tony Scarpino ! src/share/classes/com/sun/crypto/provider/PBKDF2KeyImpl.java + test/com/sun/crypto/provider/Cipher/PBE/NegativeLength.java Changeset: 747a09471fd9 Author: erikj Date: 2013-04-11 14:47 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/747a09471fd9 8011812: JDK-8011278 breaks the old build Reviewed-by: tbell, wetmore ! make/sun/splashscreen/Makefile Changeset: 793e0072bfd6 Author: wetmore Date: 2013-04-11 17:29 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/793e0072bfd6 8012056: SunJCEInstance needs to run in it's own vm Reviewed-by: wetmore Contributed-by: anthony.scarpino at oracle.com ! test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java Changeset: d8d037a7569e Author: xuelei Date: 2013-04-11 18:57 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d8d037a7569e 8011680: Re-integrate AEAD implementation of JSSE Summary: It is a re-merge of JDK-7030966. Reviewed-by: wetmore ! src/share/classes/com/sun/crypto/provider/TlsKeyMaterialGenerator.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java ! src/share/classes/sun/security/internal/spec/TlsKeyMaterialSpec.java ! src/share/classes/sun/security/pkcs11/P11TlsKeyMaterialGenerator.java + src/share/classes/sun/security/ssl/Authenticator.java ! src/share/classes/sun/security/ssl/CipherBox.java ! src/share/classes/sun/security/ssl/CipherSuite.java ! src/share/classes/sun/security/ssl/EngineInputRecord.java ! src/share/classes/sun/security/ssl/EngineOutputRecord.java ! src/share/classes/sun/security/ssl/EngineWriter.java ! src/share/classes/sun/security/ssl/Handshaker.java ! src/share/classes/sun/security/ssl/InputRecord.java ! src/share/classes/sun/security/ssl/JsseJce.java ! src/share/classes/sun/security/ssl/MAC.java ! src/share/classes/sun/security/ssl/OutputRecord.java ! src/share/classes/sun/security/ssl/Record.java ! src/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/share/classes/sun/security/ssl/SSLSocketImpl.java ! test/sun/security/ec/TestEC.java ! test/sun/security/pkcs11/fips/CipherTest.java ! test/sun/security/pkcs11/sslecc/CipherTest.java ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java + test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java ! test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java ! test/sun/security/ssl/sanity/interop/CipherTest.java ! test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java Changeset: ea7976ed9bc6 Author: wetmore Date: 2013-04-11 19:36 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ea7976ed9bc6 Merge Changeset: 0f93bd5cc8d7 Author: wetmore Date: 2013-04-11 21:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0f93bd5cc8d7 6425477: Better support for generation of high entropy random numbers Reviewed-by: xuelei, weijun, mullan ! src/share/classes/java/security/SecureRandom.java ! src/share/classes/sun/security/pkcs11/P11SecureRandom.java ! src/share/classes/sun/security/provider/SecureRandom.java ! src/share/classes/sun/security/provider/SeedGenerator.java ! src/share/classes/sun/security/provider/SunEntries.java ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/solaris/classes/sun/security/provider/NativePRNG.java ! src/solaris/classes/sun/security/provider/NativeSeedGenerator.java ! src/windows/classes/sun/security/mscapi/PRNG.java ! src/windows/classes/sun/security/provider/NativePRNG.java ! src/windows/classes/sun/security/provider/NativeSeedGenerator.java + test/sun/security/provider/SecureRandom/StrongSecureRandom.java + test/sun/security/provider/SecureRandom/StrongSeedReader.java Changeset: 5435f112e5ea Author: vinnie Date: 2013-04-12 10:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5435f112e5ea Merge - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java Changeset: 6f80a6584fb9 Author: vinnie Date: 2013-04-16 01:44 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6f80a6584fb9 Merge - test/java/util/ComparatorsTest.java Changeset: 29cbb4617c92 Author: vinnie Date: 2013-04-16 05:11 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/29cbb4617c92 Merge Changeset: 13e18d3ac414 Author: vinnie Date: 2013-04-16 05:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/13e18d3ac414 Merge Changeset: f90b7503019f Author: vinnie Date: 2013-04-17 02:53 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f90b7503019f Merge ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows - src/share/native/java/lang/ResourceBundle.c Changeset: 7ded74ffea36 Author: alanb Date: 2013-04-17 16:11 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7ded74ffea36 8012019: (fc) Thread.interrupt triggers hang in FileChannelImpl.pread (win) Reviewed-by: chegar ! src/share/classes/sun/nio/ch/DatagramChannelImpl.java ! src/share/classes/sun/nio/ch/FileChannelImpl.java ! src/share/classes/sun/nio/ch/IOUtil.java ! src/share/classes/sun/nio/ch/NativeDispatcher.java ! src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java ! src/share/classes/sun/nio/ch/SocketChannelImpl.java ! src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java ! src/solaris/classes/sun/nio/ch/SinkChannelImpl.java ! src/solaris/classes/sun/nio/ch/SourceChannelImpl.java ! src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java ! src/windows/classes/sun/nio/ch/FileDispatcherImpl.java + test/java/nio/channels/FileChannel/InterruptDeadlock.java Changeset: d9f9040554d6 Author: mduigou Date: 2013-04-17 11:39 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d9f9040554d6 8010953: Add primitive summary statistics utils Reviewed-by: mduigou, dholmes, chegar, darcy Contributed-by: Brian Goetz + src/share/classes/java/util/DoubleSummaryStatistics.java + src/share/classes/java/util/IntSummaryStatistics.java + src/share/classes/java/util/LongSummaryStatistics.java Changeset: 73e3b474125e Author: mchung Date: 2013-04-17 12:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/73e3b474125e 8004260: dynamic proxy class should have the same Java language access as the proxy interfaces Reviewed-by: alanb, jrose, jdn ! src/share/classes/java/lang/reflect/Proxy.java ! src/share/classes/java/lang/reflect/ReflectPermission.java ! src/share/classes/sun/misc/ProxyGenerator.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java ! src/share/classes/sun/rmi/server/Util.java ! src/share/classes/sun/tracing/ProviderSkeleton.java + test/java/lang/reflect/Proxy/nonPublicProxy/NonPublicProxyClass.java + test/java/lang/reflect/Proxy/nonPublicProxy/SimpleProxy.java + test/java/lang/reflect/Proxy/nonPublicProxy/p/Bar.java + test/java/lang/reflect/Proxy/nonPublicProxy/p/Foo.java ! test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy Changeset: 7f9f69729934 Author: coleenp Date: 2013-04-17 12:50 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7f9f69729934 8009531: Crash when redefining class with annotated method Summary: Add code to annotated methods and command line flags to the tests to verify bug above Reviewed-by: acorn, sspitsyn, dcubed, dholmes, alanb ! test/java/lang/instrument/RedefineMethodWithAnnotations.sh ! test/java/lang/instrument/RedefineMethodWithAnnotationsTarget.java ! test/java/lang/instrument/RedefineMethodWithAnnotationsTarget_2.java Changeset: 36f9e357b84b Author: coleenp Date: 2013-04-17 15:06 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/36f9e357b84b Merge Changeset: a954e407680c Author: lana Date: 2013-04-17 10:30 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a954e407680c Merge Changeset: 17dcb75682b7 Author: lana Date: 2013-04-17 12:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/17dcb75682b7 Merge Changeset: 131686bea632 Author: lana Date: 2013-04-17 12:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/131686bea632 Merge Changeset: 674880648db4 Author: briangoetz Date: 2013-04-16 13:51 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/674880648db4 8010096: Initial java.util.Spliterator putback Reviewed-by: mduigou, alanb, chegar, darcy Contributed-by: Paul Sandoz , Brian Goetz , Doug Lea
! src/share/classes/com/sun/tools/jdi/EventSetImpl.java ! src/share/classes/java/lang/Iterable.java ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Iterator.java ! src/share/classes/java/util/List.java + src/share/classes/java/util/PrimitiveIterator.java ! src/share/classes/java/util/Set.java ! src/share/classes/java/util/SortedSet.java + src/share/classes/java/util/Spliterator.java + src/share/classes/java/util/Spliterators.java + src/share/classes/java/util/Tripwire.java + test/java/util/Spliterator/SpliteratorLateBindingFailFastTest.java + test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java Changeset: 4b8e606f8afb Author: lana Date: 2013-04-17 21:48 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4b8e606f8afb Merge ! src/macosx/classes/sun/lwawt/LWWindowPeer.java - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java - src/share/native/java/lang/ResourceBundle.c ! src/solaris/classes/sun/awt/X11/XWindowPeer.java - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java Changeset: 10ad4a4330bc Author: lana Date: 2013-04-23 09:28 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/10ad4a4330bc Merge Changeset: d5228e624826 Author: katleman Date: 2013-04-23 18:25 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/d5228e624826 8012643: JDK8 b86 source with GPL header errors Reviewed-by: dholmes, alanb ! test/java/lang/Runtime/exec/WinCommand.java ! test/java/lang/reflect/Method/DefaultMethodModeling.java Changeset: 53be90fb39d6 Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/53be90fb39d6 Added tag jdk8-b87 for changeset d5228e624826 ! .hgtags Changeset: 78d08fc2dd12 Author: mullan Date: 2013-04-25 11:18 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/78d08fc2dd12 8011313: OCSP timeout set to wrong value if com.sun.security.ocsp.timeout not defined Reviewed-by: vinnie ! src/share/classes/sun/security/provider/certpath/OCSP.java Changeset: 3e282678a885 Author: mullan Date: 2013-04-25 15:48 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3e282678a885 8013228: Create new system properties to control allowable OCSP clock skew and CRL connection timeout Reviewed-by: vinnie ! src/share/classes/sun/security/provider/certpath/CertPathHelper.java ! src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/share/classes/sun/security/provider/certpath/URICertStore.java Changeset: 7c4eb715c5e8 Author: ngthomas Date: 2013-04-30 21:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7c4eb715c5e8 Merge Changeset: 12af7c32c648 Author: omajid Date: 2013-04-29 12:34 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/12af7c32c648 8013480: fix zero build on arm Reviewed-by: erikj ! makefiles/GensrcX11Wrappers.gmk Changeset: 7a96ead5ea89 Author: katleman Date: 2013-04-30 14:40 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7a96ead5ea89 Merge Changeset: 55c7b90fe57e Author: katleman Date: 2013-05-01 14:59 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/55c7b90fe57e Merge Changeset: 8dbb4b159e04 Author: erikj Date: 2013-05-02 15:59 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8dbb4b159e04 8013552: Add build support for different man pages for OpenJDK and OracleJDK Reviewed-by: tbell, omajid ! makefiles/Images.gmk Changeset: 1daef88acff2 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/1daef88acff2 Added tag jdk8-b88 for changeset 8dbb4b159e04 ! .hgtags Changeset: b0c41789f500 Author: jgodinez Date: 2013-04-25 10:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b0c41789f500 8009199: Printed text become garbage on Mac OSX Reviewed-by: bae, prr ! src/macosx/native/sun/awt/CTextPipe.m Changeset: f4aa34a7a44d Author: jchen Date: 2013-04-29 10:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f4aa34a7a44d 8005302: [findbugs] public methods return internal arrays; may be private Reviewed-by: bae, prr ! src/share/classes/sun/java2d/pipe/AAShapePipe.java Changeset: 46686202aa23 Author: lana Date: 2013-04-30 22:43 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/46686202aa23 Merge Changeset: c70346f4c0a9 Author: pchelko Date: 2013-04-18 15:09 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c70346f4c0a9 8011686: AWT accidentally disables the NSApplicationDelegate of SWT, causing loss of OS X integration functionality Reviewed-by: anthony, serb Contributed-by: Markus Persson ! src/macosx/native/sun/awt/awt.m Changeset: ac92ac05dde4 Author: kshefov Date: 2013-04-22 18:39 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ac92ac05dde4 8011230: [TEST_BUG] java/awt/Toolkit/BadDisplayTest/BadDisplayTest.java failed on solaris Reviewed-by: serb, anthony ! test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh Changeset: 578fb8766200 Author: leonidr Date: 2013-04-22 19:24 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/578fb8766200 8008366: [macosx] ActionListener called twice for JMenuItem using ScreenMenuBar Reviewed-by: anthony, serb ! src/macosx/native/sun/awt/AWTEvent.h ! src/macosx/native/sun/awt/AWTEvent.m ! src/macosx/native/sun/awt/CMenuItem.m ! test/javax/swing/JMenuItem/ActionListenerCalledTwice/ActionListenerCalledTwiceTest.java Changeset: 0894b8476a49 Author: lana Date: 2013-04-23 15:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0894b8476a49 Merge - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM - src/share/native/java/lang/ResourceBundle.c - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java Changeset: 7103434eefe2 Author: kshefov Date: 2013-04-24 11:48 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7103434eefe2 8011186: [TEST_BUG] java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java failed on windows 8 Reviewed-by: anthony, serb, ant - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java + test/java/awt/Focus/SimpleWindowActivationTest/SimpleWindowActivationTest.java Changeset: 854f60ec4bfb Author: anthony Date: 2013-04-26 18:48 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/854f60ec4bfb 8012586: [x11] Modal dialogs for fullscreen window may show behind its owner Summary: Use the _NET_WM_WINDOW_TYPE_DIALOG type for owned windows Reviewed-by: anthony, art, serb Contributed-by: Vladimir Kravets ! src/solaris/classes/sun/awt/X11/XWindowPeer.java + test/java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java Changeset: e76f3e8e653f Author: malenkov Date: 2013-04-29 16:42 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e76f3e8e653f 8007458: [findbugs] One more beans issue, with ReflectionUtils Reviewed-by: art, alexsch ! src/share/classes/java/beans/MetaData.java - src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/beans/XMLEncoder.java ! test/java/beans/XMLEncoder/AbstractTest.java ! test/java/beans/XMLEncoder/BeanValidator.java ! test/java/beans/XMLEncoder/Test4631471.java ! test/java/beans/XMLEncoder/Test4679556.java ! test/java/beans/XMLEncoder/java_awt_BorderLayout.java + test/java/beans/XMLEncoder/java_awt_CardLayout.java + test/java/beans/XMLEncoder/java_awt_GridBagLayout.java ! test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java Changeset: 358acb00cb2d Author: mcherkas Date: 2013-04-30 13:24 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/358acb00cb2d 8012004: JInternalFrame not being finalized after closing Reviewed-by: alexsch, alexp ! src/share/classes/javax/swing/JDesktopPane.java + test/javax/swing/JInternalFrame/InternalFrameIsNotCollectedTest.java Changeset: 31e111f82993 Author: serb Date: 2013-04-30 17:27 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/31e111f82993 7166296: closed/java/awt/Frame/DisabledParentOfToplevel/DisabledParentOfToplevel.html failed since 1.8.0b36 Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Window.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: caeedce39396 Author: serb Date: 2013-05-01 12:19 +0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/caeedce39396 8009012: [macosx] DisplayChangedListener is not implemented in LWWindowPeer/CGraphicsEnvironment Reviewed-by: anthony, bae ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/CGraphicsEnv.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m Changeset: c357c11f076f Author: lana Date: 2013-05-01 09:20 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c357c11f076f Merge Changeset: 920ad6c95d93 Author: lana Date: 2013-05-01 11:27 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/920ad6c95d93 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java Changeset: 296c9ec816c6 Author: alanb Date: 2013-04-18 11:13 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/296c9ec816c6 8011536: (fs) BasicFileAttributes.creationTime() should return birth time (mac) Reviewed-by: chegar ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/solaris/classes/sun/nio/fs/UnixChannelFactory.java ! src/solaris/classes/sun/nio/fs/UnixCopyFile.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java + test/java/nio/file/attribute/BasicFileAttributeView/CreationTime.java Changeset: 3c8724085cf7 Author: alanb Date: 2013-04-18 12:24 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3c8724085cf7 8009648: Tests fail in -agentvm -concurrency mode Reviewed-by: alanb Contributed-by: roger.riggs at oracle.com ! test/Makefile ! test/java/time/TEST.properties Changeset: 3cc833b1fd0c Author: dxu Date: 2013-04-18 10:22 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3cc833b1fd0c 8011946: java.util.Currency javadoc has broken link to iso.org Reviewed-by: mduigou ! src/share/classes/java/util/Currency.java Changeset: 32c3a580812b Author: mchung Date: 2013-04-18 11:14 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/32c3a580812b 8012624: Add sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java in ProblemList.txt Reviewed-by: lancea, alanb ! test/ProblemList.txt Changeset: 3b81fac25d26 Author: mchung Date: 2013-04-18 13:02 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3b81fac25d26 8011934: sun.misc.PerfCounter calls Perf.createLong with incorrect parameters Reviewed-by: mchung Contributed-by: Yasumasa Suenaga ! src/share/classes/sun/misc/PerfCounter.java Changeset: 3e4a0fddeb00 Author: jgish Date: 2013-04-18 16:33 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3e4a0fddeb00 8012005: LogManager needs test to ensure stack trace is not being done to find bundle Reviewed-by: mchung + test/java/util/logging/bundlesearch/ClassPathTestBundle_en.properties + test/java/util/logging/bundlesearch/IndirectlyLoadABundle.java + test/java/util/logging/bundlesearch/LoadItUp.java + test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java + test/java/util/logging/bundlesearch/resources/ContextClassLoaderTestBundle_en.properties + test/java/util/logging/bundlesearch/resources/StackSearchableResource_en.properties Changeset: 7bdb3e186497 Author: xuelei Date: 2013-04-18 22:23 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7bdb3e186497 8006935: Need to take care of long secret keys in HMAC/PRF compuation Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java Changeset: 778b16225d85 Author: weijun Date: 2013-04-19 15:41 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/778b16225d85 8009636: JARSigner including TimeStamp PolicyID (TSAPolicyID) as defined in RFC3161 Reviewed-by: mullan ! src/share/classes/com/sun/jarsigner/ContentSignerParameters.java ! src/share/classes/sun/security/pkcs/PKCS7.java ! src/share/classes/sun/security/timestamp/TSRequest.java ! src/share/classes/sun/security/timestamp/TimestampToken.java ! src/share/classes/sun/security/tools/jarsigner/Main.java ! src/share/classes/sun/security/tools/jarsigner/Resources.java ! src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java ! test/sun/security/tools/jarsigner/TimestampCheck.java ! test/sun/security/tools/jarsigner/ts.sh Changeset: 90b03f9a2e77 Author: jzavgren Date: 2013-04-17 11:47 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/90b03f9a2e77 8010505: HTTP DIGEST implementation incorrectly quotes header values, fails auth Summary: The extraneous quotes were removed. Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Changeset: 6139f8fb0137 Author: mduigou Date: 2013-04-16 22:50 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6139f8fb0137 8008670: Initial java.util.stream putback -- internal API classes Reviewed-by: mduigou, dholmes Contributed-by: Brian Goetz , Doug Lea
, Paul Sandoz + src/share/classes/java/util/stream/AbstractShortCircuitTask.java + src/share/classes/java/util/stream/AbstractTask.java + src/share/classes/java/util/stream/FindOps.java + src/share/classes/java/util/stream/ForEachOps.java + src/share/classes/java/util/stream/MatchOps.java + src/share/classes/java/util/stream/Node.java + src/share/classes/java/util/stream/PipelineHelper.java + src/share/classes/java/util/stream/Sink.java + src/share/classes/java/util/stream/StreamOpFlag.java + src/share/classes/java/util/stream/StreamShape.java + src/share/classes/java/util/stream/TerminalOp.java + src/share/classes/java/util/stream/TerminalSink.java + src/share/classes/java/util/stream/Tripwire.java Changeset: e8f1dc6d0c0c Author: jgish Date: 2013-04-19 16:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/e8f1dc6d0c0c 8010939: Deadlock in LogManager Summary: re-order locks to avoid deadlock Reviewed-by: mchung ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/DrainFindDeadlockTest.java Changeset: 22a27dfd0510 Author: weijun Date: 2013-04-22 11:39 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/22a27dfd0510 8005527: [TEST_BUG] console.sh failed Automatically with exit code 1. Reviewed-by: xuelei ! test/sun/security/tools/keytool/console.sh Changeset: 3ca33647db95 Author: akhil Date: 2013-04-22 09:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/3ca33647db95 8001647: default methods for Collections - forEach, removeIf, replaceAll, sort Reviewed-by: alanb, dholmes, mduigou, psandoz, smarks Contributed-by: Akhil Arora , Arne Siegel , Brian Goetz ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java + test/java/util/Collection/CollectionDefaults.java + test/java/util/Collection/ListDefaults.java + test/java/util/Collection/testlibrary/CollectionAsserts.java + test/java/util/Collection/testlibrary/CollectionSupplier.java Changeset: 2a78d8f1fec1 Author: briangoetz Date: 2013-04-17 14:39 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2a78d8f1fec1 8008682: Inital Streams public API Reviewed-by: mduigou, dholmes, darcy Contributed-by: Brian Goetz , Mike Duigou , Paul Sandoz , JSR-335 EG + src/share/classes/java/util/stream/BaseStream.java + src/share/classes/java/util/stream/CloseableStream.java + src/share/classes/java/util/stream/Collector.java + src/share/classes/java/util/stream/DelegatingStream.java + src/share/classes/java/util/stream/DoubleStream.java + src/share/classes/java/util/stream/IntStream.java + src/share/classes/java/util/stream/LongStream.java + src/share/classes/java/util/stream/Stream.java + src/share/classes/java/util/stream/package-info.java Changeset: 98a7bb7baa76 Author: psandoz Date: 2013-04-17 11:34 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/98a7bb7baa76 8011426: java.util collection Spliterator implementations Summary: Spliterator implementations for collection classes in java.util. Reviewed-by: mduigou, briangoetz Contributed-by: Doug Lea
, Paul Sandoz ! src/share/classes/java/util/ArrayDeque.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/LinkedHashSet.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/WeakHashMap.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java Changeset: 62fb9e2b5da1 Author: naoto Date: 2013-04-22 13:37 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/62fb9e2b5da1 8010666: Implement Currency/LocaleNameProvider in Windows Host LocaleProviderAdapter Reviewed-by: okutsu ! src/macosx/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: 8b07b318f713 Author: alanb Date: 2013-04-23 15:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8b07b318f713 8012930: (fs) Eliminate recursion from FileTreeWalker Reviewed-by: chegar ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/Files.java ! test/java/nio/file/Files/walkFileTree/CreateFileTree.java ! test/java/nio/file/Files/walkFileTree/MaxDepth.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java + test/java/nio/file/Files/walkFileTree/SkipSubtree.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java + test/java/nio/file/Files/walkFileTree/find.sh - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh Changeset: b456f25c2075 Author: lancea Date: 2013-04-23 11:17 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b456f25c2075 8011620: adding free form netbeans project for jdbc to jdk/make/netbeans Reviewed-by: chegar ! make/netbeans/common/shared.xml + make/netbeans/jdbc/README + make/netbeans/jdbc/build.properties + make/netbeans/jdbc/build.xml + make/netbeans/jdbc/nbproject/project.xml Changeset: 57b02a7558f3 Author: lana Date: 2013-04-23 15:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/57b02a7558f3 Merge - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM Changeset: 754c9bb4f085 Author: sla Date: 2013-04-24 14:49 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/754c9bb4f085 8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c Reviewed-by: sla, rbackman, alanb, dholmes, rdurbin Contributed-by: peter.allwin at oracle.com ! src/solaris/native/com/sun/management/UnixOperatingSystem_md.c Changeset: bbcebf893b83 Author: alanb Date: 2013-04-24 19:03 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/bbcebf893b83 8005555: TEST_BUG: java/io/Serializable/accessConstants/AccessConstants.java should be removed Reviewed-by: chegar - test/java/io/Serializable/accessConstants/AccessConstants.java Changeset: 8c06a38aa2c5 Author: sherman Date: 2013-04-24 21:27 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/8c06a38aa2c5 8012638: test/java/time/test/java/util/TestFormatter fails in UTC TZ Summary: updated the offending test case Reviewed-by: alanb ! test/java/time/test/java/util/TestFormatter.java Changeset: 4da1d43f5843 Author: darcy Date: 2013-04-25 09:37 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4da1d43f5843 8012044: Give more information about self-suppression from Throwable.addSuppressed Reviewed-by: alanb, dholmes ! src/share/classes/java/lang/Throwable.java ! test/java/lang/Throwable/SuppressedExceptions.java Changeset: ca0957f0d408 Author: emc Date: 2013-04-25 14:23 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ca0957f0d408 8012937: Correct errors in javadoc comments. Summary: Correct some errors in the javadoc comments for parameter reflection. Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Parameter.java Changeset: 5871d7b1673c Author: coffeys Date: 2013-04-25 21:12 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5871d7b1673c 8000529: Regression: SimpleDateFormat incorrectly parses dates formatted with Z and z pattern letters Reviewed-by: okutsu ! src/share/classes/java/text/CalendarBuilder.java ! src/share/classes/java/text/SimpleDateFormat.java ! test/java/text/Format/DateFormat/Bug7130335.java Changeset: b600d637ef77 Author: wetmore Date: 2013-04-25 17:10 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b600d637ef77 8012530: test/sun/security/provider/SecureRandom/StrongSeedReader.java failing Reviewed-by: wetmore Contributed-by: alan.bateman at oracle.com ! test/sun/security/provider/SecureRandom/StrongSeedReader.java Changeset: a8da4e516bc3 Author: akhil Date: 2013-04-23 11:54 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a8da4e516bc3 8005051: optimized defaults for Iterator.forEachRemaining Reviewed-by: alanb, mduigou, psandoz, ulfzibis Contributed-by: Akhil Arora ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java Changeset: ceeed0fcb371 Author: jgish Date: 2013-04-02 18:41 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ceeed0fcb371 5015163: (str) String merge/join that is the inverse of String.split() 7172553: A utility class that forms the basis of a String.join() operation Summary: Integrate StringJoiner changes from lambda Reviewed-by: alanb, mduigou ! make/java/java/FILES_java.gmk ! src/share/classes/java/lang/String.java + src/share/classes/java/util/StringJoiner.java + test/java/lang/String/StringJoinTest.java + test/java/util/StringJoiner/StringJoinerTest.java Changeset: 2cb55846c9bb Author: mduigou Date: 2013-04-24 16:15 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2cb55846c9bb 8011920: Main streams implementation 8012542: Stream methods on Collection Reviewed-by: dholmes, mduigou Contributed-by: Brian Goetz , Mike Duigou , Paul Sandoz ! make/docs/CORE_PKGS.gmk ! src/share/classes/java/util/Collection.java + src/share/classes/java/util/stream/AbstractPipeline.java + src/share/classes/java/util/stream/AbstractSpinedBuffer.java + src/share/classes/java/util/stream/DistinctOps.java + src/share/classes/java/util/stream/DoublePipeline.java + src/share/classes/java/util/stream/IntPipeline.java + src/share/classes/java/util/stream/LongPipeline.java + src/share/classes/java/util/stream/Nodes.java + src/share/classes/java/util/stream/ReduceOps.java + src/share/classes/java/util/stream/ReferencePipeline.java + src/share/classes/java/util/stream/SliceOps.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/StreamSupport.java Changeset: 5144db7f0f88 Author: sherman Date: 2013-04-26 13:59 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5144db7f0f88 8007395: StringIndexOutofBoundsException in Match.find() when input String contains surrogate UTF-16 characters Summary: updated GroupCurly.match0() to backtrack correctly Reviewed-by: mchung ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: f5fbd8065920 Author: mfang Date: 2013-03-25 16:49 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f5fbd8065920 8010521: jdk8 l10n resource file translation update 2 Reviewed-by: naoto, yhuang + src/macosx/classes/com/apple/laf/resources/aqua_de.properties + src/macosx/classes/com/apple/laf/resources/aqua_es.properties + src/macosx/classes/com/apple/laf/resources/aqua_fr.properties + src/macosx/classes/com/apple/laf/resources/aqua_it.properties + src/macosx/classes/com/apple/laf/resources/aqua_ja.properties + src/macosx/classes/com/apple/laf/resources/aqua_ko.properties + src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties + src/macosx/classes/com/apple/laf/resources/aqua_sv.properties + src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties + src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_de.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/awt/resources/awt_de.properties ! src/share/classes/sun/awt/resources/awt_es.properties ! src/share/classes/sun/awt/resources/awt_pt_BR.properties ! src/share/classes/sun/awt/resources/awt_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/management/resources/agent_de.properties ! src/share/classes/sun/management/resources/agent_es.properties ! src/share/classes/sun/management/resources/agent_fr.properties ! src/share/classes/sun/management/resources/agent_it.properties ! src/share/classes/sun/management/resources/agent_ja.properties ! src/share/classes/sun/management/resources/agent_ko.properties ! src/share/classes/sun/management/resources/agent_pt_BR.properties ! src/share/classes/sun/management/resources/agent_sv.properties ! src/share/classes/sun/management/resources/agent_zh_CN.properties ! src/share/classes/sun/management/resources/agent_zh_TW.properties ! src/share/classes/sun/misc/resources/Messages_de.java ! src/share/classes/sun/misc/resources/Messages_es.java ! src/share/classes/sun/misc/resources/Messages_fr.java ! src/share/classes/sun/misc/resources/Messages_it.java ! src/share/classes/sun/misc/resources/Messages_ja.java ! src/share/classes/sun/misc/resources/Messages_ko.java ! src/share/classes/sun/misc/resources/Messages_pt_BR.java ! src/share/classes/sun/misc/resources/Messages_sv.java ! src/share/classes/sun/misc/resources/Messages_zh_CN.java ! src/share/classes/sun/misc/resources/Messages_zh_TW.java ! src/share/classes/sun/print/resources/serviceui_de.properties ! src/share/classes/sun/print/resources/serviceui_es.properties ! src/share/classes/sun/print/resources/serviceui_fr.properties ! src/share/classes/sun/print/resources/serviceui_it.properties ! src/share/classes/sun/print/resources/serviceui_ja.properties ! src/share/classes/sun/print/resources/serviceui_ko.properties ! src/share/classes/sun/print/resources/serviceui_pt_BR.properties ! src/share/classes/sun/print/resources/serviceui_sv.properties ! src/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_de.properties ! src/share/classes/sun/rmi/server/resources/rmid_es.properties ! src/share/classes/sun/rmi/server/resources/rmid_fr.properties ! src/share/classes/sun/rmi/server/resources/rmid_it.properties ! src/share/classes/sun/rmi/server/resources/rmid_ja.properties ! src/share/classes/sun/rmi/server/resources/rmid_ko.properties ! src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties ! src/share/classes/sun/rmi/server/resources/rmid_sv.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties ! src/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/tools/jar/resources/jar_de.properties ! src/share/classes/sun/tools/jar/resources/jar_es.properties ! src/share/classes/sun/tools/jar/resources/jar_fr.properties ! src/share/classes/sun/tools/jar/resources/jar_it.properties ! src/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/share/classes/sun/tools/jar/resources/jar_ko.properties ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties ! src/share/classes/sun/tools/jconsole/resources/messages_ja.properties ! src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java ! src/share/demo/jfc/Notepad/resources/Notepad_ja.properties ! src/share/demo/jfc/Notepad/resources/Notepad_zh_CN.properties Changeset: 6d8cd4f28a2f Author: mfang Date: 2013-04-22 23:17 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/6d8cd4f28a2f Merge - make/com/sun/servicetag/Makefile - src/share/classes/com/sun/servicetag/BrowserSupport.java - src/share/classes/com/sun/servicetag/Installer.java - src/share/classes/com/sun/servicetag/LinuxSystemEnvironment.java - src/share/classes/com/sun/servicetag/RegistrationData.java - src/share/classes/com/sun/servicetag/RegistrationDocument.java - src/share/classes/com/sun/servicetag/Registry.java - src/share/classes/com/sun/servicetag/ServiceTag.java - src/share/classes/com/sun/servicetag/SolarisServiceTag.java - src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java - src/share/classes/com/sun/servicetag/SunConnection.java - src/share/classes/com/sun/servicetag/SystemEnvironment.java - src/share/classes/com/sun/servicetag/UnauthorizedAccessException.java - src/share/classes/com/sun/servicetag/Util.java - src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java - src/share/classes/com/sun/servicetag/package.html - src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt - src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties - src/share/classes/com/sun/servicetag/resources/jdk_header.png - src/share/classes/com/sun/servicetag/resources/product_registration.xsd - src/share/classes/com/sun/servicetag/resources/register.html - src/share/classes/com/sun/servicetag/resources/register_ja.html - src/share/classes/com/sun/servicetag/resources/register_zh_CN.html - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java ! src/share/classes/sun/security/ssl/Authenticator.java - src/share/classes/sun/security/util/KeyLength.java - src/share/native/java/lang/ResourceBundle.c - test/com/sun/servicetag/DeleteServiceTag.java - test/com/sun/servicetag/DuplicateNotFound.java - test/com/sun/servicetag/FindServiceTags.java - test/com/sun/servicetag/InstanceUrnCheck.java - test/com/sun/servicetag/InvalidRegistrationData.java - test/com/sun/servicetag/InvalidServiceTag.java - test/com/sun/servicetag/JavaServiceTagTest.java - test/com/sun/servicetag/JavaServiceTagTest1.java - test/com/sun/servicetag/NewRegistrationData.java - test/com/sun/servicetag/SvcTagClient.java - test/com/sun/servicetag/SystemRegistryTest.java - test/com/sun/servicetag/TestLoadFromXML.java - test/com/sun/servicetag/UpdateServiceTagTest.java - test/com/sun/servicetag/Util.java - test/com/sun/servicetag/ValidRegistrationData.java - test/com/sun/servicetag/environ.properties - test/com/sun/servicetag/missing-environ-field.xml - test/com/sun/servicetag/newer-registry-version.xml - test/com/sun/servicetag/registration.xml - test/com/sun/servicetag/servicetag1.properties - test/com/sun/servicetag/servicetag2.properties - test/com/sun/servicetag/servicetag3.properties - test/com/sun/servicetag/servicetag4.properties - test/com/sun/servicetag/servicetag5.properties - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java - test/sun/tools/jstat/gcPermCapacityOutput1.awk - test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh Changeset: a6781797ae53 Author: mfang Date: 2013-04-26 09:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/a6781797ae53 Merge Changeset: 890485cafb8b Author: mfang Date: 2013-04-26 14:16 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/890485cafb8b Merge Changeset: 5e7ae178b24d Author: plevart Date: 2013-04-26 16:09 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5e7ae178b24d 7123493: (proxy) Proxy.getProxyClass doesn't scale under high load Reviewed-by: mchung ! src/share/classes/java/lang/reflect/Proxy.java + src/share/classes/java/lang/reflect/WeakCache.java Changeset: 964b95a59656 Author: weijun Date: 2013-04-27 18:25 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/964b95a59656 8005523: Unbound krb5 for TLS Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java ! src/share/classes/sun/security/ssl/Krb5Helper.java ! src/share/classes/sun/security/ssl/Krb5Proxy.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java ! test/sun/security/krb5/auto/SSL.java Changeset: c5d7bdee8c64 Author: alanb Date: 2013-04-28 21:06 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c5d7bdee8c64 8013413: javadoc warnings Reviewed-by: lancea, chegar ! src/share/classes/java/nio/file/attribute/FileTime.java ! src/share/classes/java/util/Spliterator.java Changeset: 94b05be10eec Author: alanb Date: 2013-04-29 10:28 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/94b05be10eec 8013415: Changes for JDK-8005523 requires updates to refs.allowed Reviewed-by: chegar ! make/tools/src/build/tools/deps/refs.allowed Changeset: 138f767b8eff Author: dholmes Date: 2013-04-29 07:40 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/138f767b8eff 8010280: jvm.cfg needs updating for non-server builds Summary: Generate jvm.cfg based on chosen VMs for non-"standard" builds and remove legacy entries from committed jvm.cfg files Reviewed-by: mduigou, tbell ! makefiles/CopyFiles.gmk ! src/macosx/bin/x86_64/jvm.cfg ! src/solaris/bin/amd64/jvm.cfg ! src/solaris/bin/arm/jvm.cfg ! src/solaris/bin/i586/jvm.cfg ! src/solaris/bin/ia64/jvm.cfg ! src/solaris/bin/ppc/jvm.cfg ! src/solaris/bin/sparc/jvm.cfg ! src/solaris/bin/sparcv9/jvm.cfg ! src/solaris/bin/zero/jvm.cfg ! src/windows/bin/amd64/jvm.cfg ! src/windows/bin/i586/jvm.cfg ! src/windows/bin/ia64/jvm.cfg Changeset: 9d324d667bb3 Author: jzavgren Date: 2013-04-29 08:17 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/9d324d667bb3 8012108: Memory leak in jdk/src/windows/native/java/net/NetworkInterface_winXP.c Summary: Modified code to fix this leak and then proactively fixed improper calls to realloc() in the windows native code that can also cause leaks. Reviewed-by: chegar, khazra, dsamersoff ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/sun/net/dns/ResolverConfigurationImpl.c Changeset: b013d7433184 Author: chegar Date: 2013-04-29 18:12 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b013d7433184 Merge Changeset: 7857129859bd Author: briangoetz Date: 2013-04-20 18:53 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7857129859bd 8012650: Arrays streams methods 8011918: java.util.stream.Streams Reviewed-by: alanb, mduigou, darcy, henryjen Contributed-by: brian.goetz at oracle.com, paul.sandoz at oracle.com ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Stream.java + src/share/classes/java/util/stream/StreamBuilder.java + src/share/classes/java/util/stream/Streams.java + test/java/util/Arrays/SetAllTest.java Changeset: 46ddd9d272b5 Author: mduigou Date: 2013-04-29 22:03 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/46ddd9d272b5 8011917: Add java.util.stream.Collectors utilities Reviewed-by: darcy, mduigou Contributed-by: Brian Goetz + src/share/classes/java/util/stream/Collectors.java Changeset: fff665e54df0 Author: sla Date: 2013-04-30 10:48 +0200 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/fff665e54df0 8003671: [findbugs] sun.management.AgentConfigurationError.getParams() may expose internal representation by returning AgentConfigurationError.params Reviewed-by: mchung, rbackman, jbachorik ! src/share/classes/sun/management/AgentConfigurationError.java Changeset: 49d6596100db Author: msheppar Date: 2013-04-29 23:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/49d6596100db 8007373: Inet6Address serialization incompatibility Reviewed-by: alanb, chegar ! src/share/classes/java/net/Inet6Address.java + test/java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java Changeset: ac3e189c9099 Author: lancea Date: 2013-04-30 14:44 -0400 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ac3e189c9099 8010416: Add a way for java.sql.Driver to be notified when it is deregistered Reviewed-by: alanb, ulfzibis ! src/share/classes/java/sql/Driver.java + src/share/classes/java/sql/DriverAction.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/sql/SQLPermission.java Changeset: 0e6f412f5536 Author: mduigou Date: 2013-04-30 12:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/0e6f412f5536 8011814: Add testng.jar to Netbeans projects test compile classpath 8013271: Add MacOS sources to J2SE Netbeans project 8013272: JDK Netbeans projects should use ASCII encoding for sources Reviewed-by: lancea ! make/netbeans/common/closed-share-sources.ent ! make/netbeans/common/demo-view.ent ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/netbeans/common/jtreg-view.ent + make/netbeans/common/macosx-sources.ent + make/netbeans/common/macosx-view.ent ! make/netbeans/common/properties.ent ! make/netbeans/common/sample-view.ent ! make/netbeans/common/share-sources.ent ! make/netbeans/common/unix-sources.ent ! make/netbeans/common/windows-sources.ent ! make/netbeans/j2se/nbproject/project.xml ! make/netbeans/world/nbproject/project.xml Changeset: 2fba6ae13ed8 Author: mduigou Date: 2013-04-30 12:32 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/2fba6ae13ed8 Merge Changeset: 1432a6247ac9 Author: ksrini Date: 2013-04-30 13:12 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/1432a6247ac9 8009389: Unpack200 native library should be removed from profiles Reviewed-by: alanb, bobv, jrose ! makefiles/profile-includes.txt ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Changeset: eda99449ab26 Author: alanb Date: 2013-04-30 21:19 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/eda99449ab26 8013647: JPRT unable to clean-up after tests that leave file trees with loops Reviewed-by: chegar, tbell ! test/java/nio/file/Files/walkFileTree/MaxDepth.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java ! test/java/nio/file/Files/walkFileTree/SkipSubtree.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java Changeset: 4a82d2b86c75 Author: mchung Date: 2013-04-30 15:42 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4a82d2b86c75 8013531: Provide a utility class in com.sun.tools.classfile to find field/method references Reviewed-by: alanb ! test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java - test/sun/reflect/CallerSensitive/MethodFinder.java ! test/sun/reflect/CallerSensitive/MissingCallerSensitive.java Changeset: 4550ba263cbf Author: lana Date: 2013-04-30 17:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/4550ba263cbf Merge Changeset: dddd17cf61ff Author: chegar Date: 2013-05-01 10:03 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/dddd17cf61ff 6594296: NetworkInterface.getHardwareAddress returns zero length byte array Reviewed-by: alanb ! src/windows/native/java/net/NetworkInterface_winXP.c ! test/java/net/NetworkInterface/Test.java Changeset: 73793f2af80a Author: msheppar Date: 2013-04-30 16:24 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/73793f2af80a 8007799: Base64.getEncoder(0, byte[]) returns an encoder that unexpectedly inserts line separators Reviewed-by: sherman, iris ! src/share/classes/java/util/Base64.java + test/java/util/Base64/Base64GetEncoderTest.java Changeset: 5941f7c9c76a Author: chegar Date: 2013-05-01 11:15 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/5941f7c9c76a 8013723: ProblemList.txt updates (5/2013) Reviewed-by: alanb ! test/ProblemList.txt Changeset: ae4a82e69da2 Author: weijun Date: 2013-05-01 21:05 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/ae4a82e69da2 8012082: SASL: auth-conf negotiated, but unencrypted data is accepted, reset to unencrypt Reviewed-by: vinnie ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java + test/sun/security/krb5/auto/SaslGSS.java Changeset: c6aef650e615 Author: mduigou Date: 2013-05-01 08:35 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c6aef650e615 8012665: add CharSequence.chars, CharSequence.codePoints Reviewed-by: martin, alanb, ulfzibis, mduigou Contributed-by: Stuart Marks , Henry Jen ! src/share/classes/java/lang/CharSequence.java + test/java/lang/CharSequence/DefaultTest.java ! test/java/lang/StringBuffer/TestSynchronization.java Changeset: f6f2802f980c Author: lana Date: 2013-05-01 11:34 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/f6f2802f980c Merge - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: 336a110f1196 Author: lana Date: 2013-05-06 11:50 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/336a110f1196 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: 88125d32eb06 Author: andrew Date: 2013-05-04 17:04 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/88125d32eb06 8011366: Enable debug info on all libraries for OpenJDK builds Summary: The build should not be turning off debugging if it has been requested. Reviewed-by: erikj, dholmes ! makefiles/CompileNativeLibraries.gmk Changeset: 7ba77fff0ef6 Author: katleman Date: 2013-05-07 10:51 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/7ba77fff0ef6 Merge Changeset: 845025546e35 Author: katleman Date: 2013-05-07 13:13 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/845025546e35 Merge Changeset: b8e7d145abc2 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/b8e7d145abc2 Added tag jdk8-b89 for changeset 845025546e35 ! .hgtags Changeset: 1f1699686504 Author: katleman Date: 2013-05-09 15:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/1f1699686504 8014289: JDK8 b89 source with GPL header errors Reviewed-by: mchung, mduigou, tbell, dsamersoff ! src/share/classes/java/util/Base64.java ! src/share/classes/java/util/StringJoiner.java ! test/java/lang/CharSequence/DefaultTest.java ! test/java/util/StringJoiner/StringJoinerTest.java Changeset: c63eda8f6300 Author: katleman Date: 2013-05-14 12:19 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c63eda8f6300 Merge Changeset: c171bff33af5 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:43 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/c171bff33af5 Merge up to jdk8-b90 ! .hgtags ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcX11Wrappers.gmk - src/share/classes/java/beans/ReflectionUtils.java - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM - src/share/native/java/lang/ResourceBundle.c - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java Changeset: 48a5df5ce99c Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-27 15:47 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/jdk/rev/48a5df5ce99c Tweak build flags in line with jdk8-b90 ! make/jdk_generic_profile.sh From aph at redhat.com Fri Sep 27 10:04:21 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 27 Sep 2013 18:04:21 +0100 Subject: [aarch64-port-dev ] Merge up to jdk8-b90 In-Reply-To: <362399454.3151498.1380292108352.JavaMail.root@redhat.com> References: <1380291039.23286.35.camel@localhost.localdomain> <362399454.3151498.1380292108352.JavaMail.root@redhat.com> Message-ID: <5245BA95.1080900@redhat.com> On 09/27/2013 03:28 PM, Andrew Haley wrote: >> OK to push? > > OK, thanks. There are some changes that I don't quite understand, but we > can look at those later. It's good to be reasonably up-to-date. It's broken: /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledIC::CompiledIC(nmethod*, NativeCall*)' /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledStaticCall::set_stub_to_clean(static_stub_Relocation*)' /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledIC::is_icholder_call_site(virtual_call_Relocation*)' /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledStaticCall::verify()' /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledStaticCall::set_to_interpreted(methodHandle, unsigned char*)' /local/aarch64/jdk8/build/linux-aarch64-normal-client-slowdebug/hotspot/linux_aarch64_compiler1/debug/libjvm.so: undefined reference to `CompiledIC::cleanup_call_site(virtual_call_Relocation*)' And I can see why. There is no compiledIC_aarch64.cpp in the repo. It was in your patch, though. I added it. Andrew. From ed at camswl.com Fri Sep 27 11:04:49 2013 From: ed at camswl.com (Edward Nevill) Date: Fri, 27 Sep 2013 19:04:49 +0100 Subject: [aarch64-port-dev ] Oops - I left some debugging in. Message-ID: <1380305089.30626.8.camel@mint> Hi, Oops, I left some debug code in in the merge to b90. The following patch will remove it. I don't have my ssh keys with me, so if you want to push Andrew, otherwise it will have to wait until Monday. All the best, Ed. --- CUT HERE --- # HG changeset patch # User Edward Nevill # Date 1380304915 -3600 # Node ID 37f54005726296ac09d9bc1dc458dae5616b8b4a # Parent 35932bf7751a020993f89fe11b325f429fb3f9ec Remove debugging diff -r 35932bf7751a -r 37f540057262 src/cpu/aarch64/vm/interp_masm_aarch64.cpp --- a/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Fri Sep 27 18:04:00 2013 +0100 +++ b/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Fri Sep 27 19:01:55 2013 +0100 @@ -181,14 +181,9 @@ int bcp_offset, size_t index_size) { Unimplemented(); } -void method_counter_break(void) -{ -} - void InterpreterMacroAssembler::get_method_counters(Register method, Register mcs, Label& skip) { Label has_counters; - call_VM(noreg, CAST_FROM_FN_PTR(address, method_counter_break)); ldr(mcs, Address(method, Method::method_counters_offset())); cbnz(mcs, has_counters); call_VM(noreg, CAST_FROM_FN_PTR(address, --- CUT HERE --- From aph at redhat.com Fri Sep 27 11:17:34 2013 From: aph at redhat.com (Andrew Haley) Date: Fri, 27 Sep 2013 19:17:34 +0100 Subject: [aarch64-port-dev ] Oops - I left some debugging in. In-Reply-To: <1380305089.30626.8.camel@mint> References: <1380305089.30626.8.camel@mint> Message-ID: <5245CBBE.1080103@redhat.com> On 09/27/2013 07:04 PM, Edward Nevill wrote: > it will have to wait until Monday. That's OK. Andrew. From aph at redhat.com Fri Sep 27 10:04:16 2013 From: aph at redhat.com (aph at redhat.com) Date: Fri, 27 Sep 2013 17:04:16 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Missing file from jdk8-b90 update Message-ID: <20130927170421.9F5D162B91@hg.openjdk.java.net> Changeset: 35932bf7751a Author: aph Date: 2013-09-27 18:04 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/35932bf7751a Missing file from jdk8-b90 update + src/cpu/aarch64/vm/compiledIC_aarch64.cpp From thuhc at yahoo.com Sat Sep 28 19:17:18 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Sun, 29 Sep 2013 09:17:18 +0700 Subject: [aarch64-port-dev ] Internal Error (frame.cpp:1150), Error: ShouldNotReachHere() In-Reply-To: <20130927170421.9F5D162B91@hg.openjdk.java.net> References: <20130927170421.9F5D162B91@hg.openjdk.java.net> Message-ID: Hi all, I ran dhry.har with using openjdk8_sever_release, i got error: java -jar dhry.jar Dhrystone Benchmark, Version 2.1 (Language: Java) Please give the number of runs through the benchmark: 1000000000 Execution starts, 1000000000 runs through Dhrystone # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (frame.cpp:1150), pid=1081, tid=548372099600 # Error: ShouldNotReachHere() # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_28_16_03-b00) # Java VM: OpenJDK 64-Bit Server VM (25.0-b32 mixed mode linux-aarch64 compressed oops) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /root/hs_err_pid1081.log # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # Aborted # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (frame.cpp:1150), pid=1039, tid=547943924240 # Error: ShouldNotReachHere() # # JRE version: OpenJDK Runtime Environment (8.0) (build 1.8.0-internal-thcao_2013_09_28_16_03-b00) # Java VM: OpenJDK 64-Bit Server VM (25.0-b32 mixed mode linux-aarch64 compressed oops) # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # If you would like to submit a bug report, please visit: # http://bugreport.sun.com/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x0000007f980865f0): VMThread [stack: 0x0000007f93e0d000,0x0000007f9400d000] [id=1041] Stack: [0x0000007f93e0d000,0x0000007f9400d000], sp=0x0000007f9400a480, free space=2037k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x802510] JVM_handle_linux_signal+0x1638f0 V [libjvm.so+0x349ef0] operator new[](unsigned long)+0x349ef0 V [libjvm.so+0x3a7938] AsyncGetCallTrace+0xa078 V [libjvm.so+0x7af13c] JVM_handle_linux_signal+0x11051c V [libjvm.so+0x7b7fa8] JVM_handle_linux_signal+0x119388 V [libjvm.so+0x72dca0] JVM_handle_linux_signal+0x8f080 V [libjvm.so+0x3e009c] AsyncGetCallTrace+0x427dc V [libjvm.so+0x34fff0] operator new[](unsigned long)+0x34fff0 V [libjvm.so+0x3df874] AsyncGetCallTrace+0x41fb4 V [libjvm.so+0x2e6084] operator new[](unsigned long)+0x2e6084 V [libjvm.so+0x3e0014] AsyncGetCallTrace+0x42754 V [libjvm.so+0x803930] JVM_handle_linux_signal+0x164d10 V [libjvm.so+0x808d4c] JVM_handle_linux_signal+0x16a12c V [libjvm.so+0x807698] JVM_handle_linux_signal+0x168a78 V [libjvm.so+0x8079a8] JVM_handle_linux_signal+0x168d88 V [libjvm.so+0x807df8] JVM_handle_linux_signal+0x1691d8 V [libjvm.so+0x695f54] JVM_FindSignal+0x1c3e14 C [libpthread.so.0+0x7d0c] start_thread+0xac Regards, Thu Cao From ed at camswl.com Mon Sep 30 00:56:06 2013 From: ed at camswl.com (ed at camswl.com) Date: Mon, 30 Sep 2013 07:56:06 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8/hotspot: Remove some debugging code Message-ID: <20130930075615.F23CF62BEE@hg.openjdk.java.net> Changeset: 48d9102957d3 Author: Edward Nevill edward.nevill at linaro.org Date: 2013-09-30 08:55 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/48d9102957d3 Remove some debugging code ! src/cpu/aarch64/vm/interp_masm_aarch64.cpp From edward.nevill at linaro.org Mon Sep 30 01:55:19 2013 From: edward.nevill at linaro.org (Edward Nevill) Date: Mon, 30 Sep 2013 09:55:19 +0100 Subject: [aarch64-port-dev ] Internal Error (frame.cpp:1150), Error: ShouldNotReachHere() In-Reply-To: References: <20130927170421.9F5D162B91@hg.openjdk.java.net> Message-ID: <1380531319.7194.4.camel@localhost.localdomain> Hi Thu Cao, It seems to be a problem with GC. I am looking into it. In the meantime you may try with a smaller number such as 1E8, or even 1E7 depending on how much memory you have in your model. All the best, Ed. On Sun, 2013-09-29 at 09:17 +0700, Cao Hoang Thu wrote: > Hi all, > > I ran dhry.har with using openjdk8_sever_release, i got error: > java -jar dhry.jar > Dhrystone Benchmark, Version 2.1 (Language: Java) > > Please give the number of runs through the benchmark: 1000000000 > Execution starts, 1000000000 runs through Dhrystone > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error (frame.cpp:1150), pid=1081, tid=548372099600 > # Error: ShouldNotReachHere() From thuhc at yahoo.com Mon Sep 30 19:46:28 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Mon, 30 Sep 2013 19:46:28 -0700 (PDT) Subject: [aarch64-port-dev ] Internal Error (frame.cpp:1150), Error: ShouldNotReachHere() In-Reply-To: <1380531319.7194.4.camel@localhost.localdomain> References: <20130927170421.9F5D162B91@hg.openjdk.java.net> <1380531319.7194.4.camel@localhost.localdomain> Message-ID: <1380595588.36774.YahooMailNeo@web164602.mail.gq1.yahoo.com> I think GC has problem... because when I run JAVA done, memory still keep, not release From: Edward Nevill To: aarch64-port-dev at openjdk.java.net Sent: Monday, September 30, 2013 3:55 PM Subject: Re: [aarch64-port-dev ] Internal Error (frame.cpp:1150), Error: ShouldNotReachHere() Hi Thu Cao, It seems to be a problem with GC. I am looking into it. In the meantime you may try with a smaller number such as 1E8, or even 1E7 depending on how much memory you have in your model. All the best, Ed. On Sun, 2013-09-29 at 09:17 +0700, Cao Hoang Thu wrote: > Hi all, > > I ran dhry.har with using openjdk8_sever_release, i got error: > java -jar dhry.jar > Dhrystone Benchmark, Version 2.1 (Language: Java) > > Please give the number of runs through the benchmark: 1000000000 > Execution starts, 1000000000 runs through Dhrystone > # > # A fatal error has been detected by the Java Runtime Environment: > # > #? Internal Error (frame.cpp:1150), pid=1081, tid=548372099600 > #? Error: ShouldNotReachHere() From thuhc at yahoo.com Mon Sep 30 19:53:49 2013 From: thuhc at yahoo.com (Cao Hoang Thu) Date: Mon, 30 Sep 2013 19:53:49 -0700 (PDT) Subject: [aarch64-port-dev ] Missing some classes In-Reply-To: <1380531319.7194.4.camel@localhost.localdomain> References: <20130927170421.9F5D162B91@hg.openjdk.java.net> <1380531319.7194.4.camel@localhost.localdomain> Message-ID: <1380596029.96713.YahooMailNeo@web164606.mail.gq1.yahoo.com> Hi all, I got new source (merge up to jdk8-b90):?OpenJDK Runtime Environment (build 1.8.0-internal-thcao_2013_09_28_14_23-b00) #java -Xmx1024m -jar dacapo-9.12-bach.jar eclipse Unzip workspace? ===== DaCapo 9.12 eclipse starting ===== Initialize workspace ................... Index workspace ..................... Build workspace Unexpected ERROR marker(s): org.eclipse.update.configurator: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project SiteEntry.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.text: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project UndoEdit.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.team.core: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project StringMatcher.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files ValidateEditChecker.java: ? ? ? ? The import java.util.Arrays cannot be resolved ValidateEditChecker.java: ? ? ? ? Arrays cannot be resolved ParticipantExtensionPoint.java: ? ? ? ? Arrays cannot be resolved ParticipantExtensionPoint.java: ? ? ? ? The import java.util.Arrays cannot be resolved TextChange.java: ? ? ? ? The import java.util.Arrays cannot be resolved TextChange.java: ? ? ? ? Arrays cannot be resolved TextChange.java: ? ? ? ? Arrays cannot be resolved TextChange.java: ? ? ? ? Arrays cannot be resolved DocumentChange.java: ? ? ? ? Cannot reduce the visibility of the inherited method from TextChange DocumentChange.java: ? ? ? ? Cannot reduce the visibility of the inherited method from TextChange DocumentChange.java: ? ? ? ? Cannot reduce the visibility of the inherited method from TextChange DocumentChange.java: ? ? ? ? Cannot reduce the visibility of the inherited method from TextChange org.eclipse.jdt.core: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project JDTCompilerAdapter.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.variables: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project StringSubstitutionEngine.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.runtime.compatibility: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project PluginActivator.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.runtime: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project MultiRule.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.resources: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project ElementTreeIterator.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.filebuffers: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project ResourceTextFileBuffer.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.core.expressions: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project TypeExtensionManager.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.eclipse.ant.core: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project AntRunner.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files org.apache.lucene: ? ? ? ? The project was not built since its build path is incomplete. Cannot find the class file for java.lang.CharSequence. Fix the build path then try building this project TokenMgrError.java: ? ? ? ? The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files Old-version:?OpenJDK Runtime Environment (build 1.8.0-internal-thcao_2013_09_23_09_46-b00) #java -Xmx1024m -jar dacapo-9.12-bach.jar eclipse Unzip workspace? ===== DaCapo 9.12 eclipse starting ===== Initialize workspace ................... Index workspace ..................... Build workspace? Search .. 4,207 references for default constructor in workspace ? ? ? ?.. 1,957 references for method 'equals' in workspace Type hierarchy tests? AST tests? Completion tests ......... Format tests .............. Model tests ................ ===== DaCapo 9.12 eclipse PASSED in 72643 msec ===== Delete workspace? Regards, Thu Cao