--- old/make/gensrc/GensrcAdlc.gmk 2017-07-03 08:27:30.000000000 -0700 +++ new/make/gensrc/GensrcAdlc.gmk 2017-07-03 08:27:29.000000000 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -73,7 +73,7 @@ OUTPUT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/adlc, \ PROGRAM := adlc, \ DEBUG_SYMBOLS := false, \ - DISABLED_WARNINGS_clang := parentheses tautological-compare, \ + DISABLED_WARNINGS_clang := tautological-compare, \ DISABLED_WARNINGS_solstudio := notemsource, \ )) --- old/make/lib/CompileGtest.gmk 2017-07-03 08:27:30.000000000 -0700 +++ new/make/lib/CompileGtest.gmk 2017-07-03 08:27:30.000000000 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -52,7 +52,8 @@ $(call create-mapfile) endif -# Disabling switch warning for clang because of test source. +# Disabling undef, switch, format-nonliteral and tautological-undefined-compare +# warnings for clang because of test source. # Note: On AIX, the gtest test classes linked into the libjvm.so push the TOC # size beyond 64k, so we need to link with bigtoc. However, this means that --- old/make/lib/CompileJvm.gmk 2017-07-03 08:27:31.000000000 -0700 +++ new/make/lib/CompileJvm.gmk 2017-07-03 08:27:31.000000000 -0700 @@ -218,9 +218,7 @@ CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \ CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \ vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \ - DISABLED_WARNINGS_clang := delete-non-virtual-dtor dynamic-class-memaccess \ - empty-body format logical-op-parentheses parentheses \ - parentheses-equality switch tautological-compare, \ + DISABLED_WARNINGS_clang := tautological-compare, \ DISABLED_WARNINGS_xlc := 1540-0216 1540-0198 1540-1090 1540-1639 \ 1540-1088 1500-010, \ ASFLAGS := $(JVM_ASFLAGS), \ --- old/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp 2017-07-03 08:27:32.000000000 -0700 +++ new/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp 2017-07-03 08:27:32.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1160,6 +1160,8 @@ __ xorptr(dest->as_register(), dest->as_register()); } break; + default: + break; } PatchingStub* patch = NULL; --- old/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp 2017-07-03 08:27:33.000000000 -0700 +++ new/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp 2017-07-03 08:27:32.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -649,8 +649,8 @@ case doubleTag: do_ArithmeticOp_FPU(x); return; case longTag: do_ArithmeticOp_Long(x); return; case intTag: do_ArithmeticOp_Int(x); return; + default: ShouldNotReachHere(); return; } - ShouldNotReachHere(); } --- old/src/cpu/x86/vm/c1_LinearScan_x86.cpp 2017-07-03 08:27:33.000000000 -0700 +++ new/src/cpu/x86/vm/c1_LinearScan_x86.cpp 2017-07-03 08:27:33.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -826,6 +826,9 @@ case lir_fld: assert(false, "operations only inserted by FpuStackAllocator"); break; + + default: + break; } } #endif --- old/src/cpu/x86/vm/c1_LinearScan_x86.hpp 2017-07-03 08:27:34.000000000 -0700 +++ new/src/cpu/x86/vm/c1_LinearScan_x86.hpp 2017-07-03 08:27:34.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -92,6 +92,8 @@ } break; } + default: + break; } } --- old/src/cpu/x86/vm/jniFastGetField_x86_64.cpp 2017-07-03 08:27:35.000000000 -0700 +++ new/src/cpu/x86/vm/jniFastGetField_x86_64.cpp 2017-07-03 08:27:35.000000000 -0700 @@ -121,7 +121,8 @@ case T_CHAR: slow_case_addr = jni_GetCharField_addr(); break; case T_SHORT: slow_case_addr = jni_GetShortField_addr(); break; case T_INT: slow_case_addr = jni_GetIntField_addr(); break; - case T_LONG: slow_case_addr = jni_GetLongField_addr(); + case T_LONG: slow_case_addr = jni_GetLongField_addr(); break; + default: break; } // tail call __ jump (ExternalAddress(slow_case_addr)); @@ -215,7 +216,8 @@ address slow_case_addr = NULL; switch (type) { case T_FLOAT: slow_case_addr = jni_GetFloatField_addr(); break; - case T_DOUBLE: slow_case_addr = jni_GetDoubleField_addr(); + case T_DOUBLE: slow_case_addr = jni_GetDoubleField_addr(); break; + default: break; } // tail call __ jump (ExternalAddress(slow_case_addr)); --- old/src/cpu/x86/vm/macroAssembler_x86.cpp 2017-07-03 08:27:36.000000000 -0700 +++ new/src/cpu/x86/vm/macroAssembler_x86.cpp 2017-07-03 08:27:36.000000000 -0700 @@ -894,7 +894,7 @@ void MacroAssembler::print_state64(int64_t pc, int64_t regs[]) { ttyLocker ttyl; FlagSetting fs(Debugging, true); - tty->print_cr("rip = 0x%016lx", pc); + tty->print_cr("rip = 0x%016lx", (intptr_t)pc); #ifndef PRODUCT tty->cr(); findpc(pc); @@ -923,13 +923,13 @@ int64_t* rsp = (int64_t*) regs[11]; int64_t* dump_sp = rsp; for (int col1 = 0; col1 < 8; col1++) { - tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (int64_t)dump_sp); + tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (intptr_t)dump_sp); os::print_location(tty, *dump_sp++); } for (int row = 0; row < 25; row++) { - tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (int64_t)dump_sp); + tty->print("(rsp+0x%03x) 0x%016lx: ", (int)((intptr_t)dump_sp - (intptr_t)rsp), (intptr_t)dump_sp); for (int col = 0; col < 4; col++) { - tty->print(" 0x%016lx", *dump_sp++); + tty->print(" 0x%016lx", (intptr_t)*dump_sp++); } tty->cr(); } --- old/src/cpu/x86/vm/nativeInst_x86.hpp 2017-07-03 08:27:37.000000000 -0700 +++ new/src/cpu/x86/vm/nativeInst_x86.hpp 2017-07-03 08:27:37.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -715,8 +715,8 @@ if (((ubyte_at(0) & NativeTstRegMem::instruction_rex_prefix_mask) == NativeTstRegMem::instruction_rex_prefix && ubyte_at(1) == NativeTstRegMem::instruction_code_memXregl && (ubyte_at(2) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) || - ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl && - (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg) { + (ubyte_at(0) == NativeTstRegMem::instruction_code_memXregl && + (ubyte_at(1) & NativeTstRegMem::modrm_mask) == NativeTstRegMem::modrm_reg)) { NOT_JVMCI(assert(Assembler::is_polling_page_far(), "unexpected poll encoding");) return true; } --- old/src/cpu/x86/vm/templateTable_x86.cpp 2017-07-03 08:27:38.000000000 -0700 +++ new/src/cpu/x86/vm/templateTable_x86.cpp 2017-07-03 08:27:38.000000000 -0700 @@ -2622,6 +2622,7 @@ switch (code) { case Bytecodes::_nofast_getfield: code = Bytecodes::_getfield; break; case Bytecodes::_nofast_putfield: code = Bytecodes::_putfield; break; + default: break; } assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range"); @@ -3287,6 +3288,7 @@ case Bytecodes::_fast_dputfield: __ pop(dtos); break; case Bytecodes::_fast_fputfield: __ pop(ftos); break; case Bytecodes::_fast_lputfield: __ pop_l(rax); break; + default: break; } __ bind(L2); } --- old/src/cpu/x86/vm/vm_version_x86.cpp 2017-07-03 08:27:39.000000000 -0700 +++ new/src/cpu/x86/vm/vm_version_x86.cpp 2017-07-03 08:27:39.000000000 -0700 @@ -1380,7 +1380,7 @@ #endif log->cr(); log->print("Allocation"); - if (AllocatePrefetchStyle <= 0 || UseSSE == 0 && !supports_3dnow_prefetch()) { + if (AllocatePrefetchStyle <= 0 || (UseSSE == 0 && !supports_3dnow_prefetch())) { log->print_cr(": no prefetching"); } else { log->print(" prefetching: "); --- old/src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m 2017-07-03 08:27:40.000000000 -0700 +++ new/src/jdk.hotspot.agent/macosx/native/libsaproc/MacosxDebuggerLocal.m 2017-07-03 08:27:39.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -689,8 +689,8 @@ // attach to a process/thread specified by "pid" static bool ptrace_attach(pid_t pid) { int res; - if ((res = ptrace(PT_ATTACH, pid, 0, 0)) < 0) { - print_error("ptrace(PT_ATTACH, %d) failed with %d\n", pid, res); + if ((res = ptrace(PT_ATTACHEXC, pid, 0, 0)) < 0) { + print_error("ptrace(PT_ATTACHEXC, %d) failed with %d\n", pid, res); return false; } else { return ptrace_waitpid(pid); --- old/src/os/aix/vm/decoder_aix.hpp 2017-07-03 08:27:40.000000000 -0700 +++ new/src/os/aix/vm/decoder_aix.hpp 2017-07-03 08:27:40.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2013 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -32,7 +32,7 @@ AIXDecoder() { _decoder_status = no_error; } - ~AIXDecoder() {} + virtual ~AIXDecoder() {} virtual bool can_decode_C_frame_in_vm() const { return true; } --- old/src/os/bsd/vm/decoder_machO.hpp 2017-07-03 08:27:41.000000000 -0700 +++ new/src/os/bsd/vm/decoder_machO.hpp 2017-07-03 08:27:41.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -34,7 +34,7 @@ class MachODecoder : public AbstractDecoder { public: MachODecoder() { } - ~MachODecoder() { } + virtual ~MachODecoder() { } virtual bool can_decode_C_frame_in_vm() const { return true; } @@ -55,4 +55,3 @@ #endif #endif // OS_BSD_VM_DECODER_MACHO_HPP - --- old/src/os/bsd/vm/os_bsd.cpp 2017-07-03 08:27:42.000000000 -0700 +++ new/src/os/bsd/vm/os_bsd.cpp 2017-07-03 08:27:42.000000000 -0700 @@ -1563,7 +1563,7 @@ int _print_dll_info_cb(const char * name, address base_address, address top_address, void * param) { outputStream * out = (outputStream *) param; - out->print_cr(PTR_FORMAT " \t%s", base_address, name); + out->print_cr(INTPTR_FORMAT " \t%s", (intptr_t)base_address, name); return 0; } @@ -2117,9 +2117,9 @@ static void warn_fail_commit_memory(char* addr, size_t size, bool exec, int err) { - warning("INFO: os::commit_memory(" PTR_FORMAT ", " SIZE_FORMAT - ", %d) failed; error='%s' (errno=%d)", addr, size, exec, - os::errno_name(err), err); + warning("INFO: os::commit_memory(" INTPTR_FORMAT ", " SIZE_FORMAT + ", %d) failed; error='%s' (errno=%d)", (intptr_t)addr, size, exec, + os::errno_name(err), err); } // NOTE: Bsd kernel does not really reserve the pages for us. @@ -3629,12 +3629,12 @@ Dl_info dlinfo; memset(&dlinfo, 0, sizeof(dlinfo)); if (dladdr(addr, &dlinfo) != 0) { - st->print(PTR_FORMAT ": ", addr); + st->print(INTPTR_FORMAT ": ", (intptr_t)addr); if (dlinfo.dli_sname != NULL && dlinfo.dli_saddr != NULL) { st->print("%s+%#x", dlinfo.dli_sname, - addr - (intptr_t)dlinfo.dli_saddr); + (uint)((uintptr_t)addr - (uintptr_t)dlinfo.dli_saddr)); } else if (dlinfo.dli_fbase != NULL) { - st->print("", addr - (intptr_t)dlinfo.dli_fbase); + st->print("", (uint)((uintptr_t)addr - (uintptr_t)dlinfo.dli_fbase)); } else { st->print(""); } @@ -3642,7 +3642,7 @@ st->print(" in %s", dlinfo.dli_fname); } if (dlinfo.dli_fbase != NULL) { - st->print(" at " PTR_FORMAT, dlinfo.dli_fbase); + st->print(" at " INTPTR_FORMAT, (intptr_t)dlinfo.dli_fbase); } st->cr(); --- old/src/os/windows/vm/decoder_windows.hpp 2017-07-03 08:27:43.000000000 -0700 +++ new/src/os/windows/vm/decoder_windows.hpp 2017-07-03 08:27:42.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -56,7 +56,7 @@ public: WindowsDecoder(); - ~WindowsDecoder() { uninitialize(); }; + virtual ~WindowsDecoder() { uninitialize(); }; bool can_decode_C_frame_in_vm() const; bool demangle(const char* symbol, char *buf, int buflen); @@ -105,4 +105,3 @@ #endif #endif // OS_WINDOWS_VM_DECODER_WINDOWS_HPP - --- old/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2017-07-03 08:27:43.000000000 -0700 +++ new/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp 2017-07-03 08:27:43.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -979,50 +979,50 @@ const ucontext_t *uc = (const ucontext_t*)context; st->print_cr("Registers:"); #ifdef AMD64 - st->print( "RAX=" INTPTR_FORMAT, uc->context_rax); - st->print(", RBX=" INTPTR_FORMAT, uc->context_rbx); - st->print(", RCX=" INTPTR_FORMAT, uc->context_rcx); - st->print(", RDX=" INTPTR_FORMAT, uc->context_rdx); + st->print( "RAX=" INTPTR_FORMAT, (intptr_t)uc->context_rax); + st->print(", RBX=" INTPTR_FORMAT, (intptr_t)uc->context_rbx); + st->print(", RCX=" INTPTR_FORMAT, (intptr_t)uc->context_rcx); + st->print(", RDX=" INTPTR_FORMAT, (intptr_t)uc->context_rdx); st->cr(); - st->print( "RSP=" INTPTR_FORMAT, uc->context_rsp); - st->print(", RBP=" INTPTR_FORMAT, uc->context_rbp); - st->print(", RSI=" INTPTR_FORMAT, uc->context_rsi); - st->print(", RDI=" INTPTR_FORMAT, uc->context_rdi); + st->print( "RSP=" INTPTR_FORMAT, (intptr_t)uc->context_rsp); + st->print(", RBP=" INTPTR_FORMAT, (intptr_t)uc->context_rbp); + st->print(", RSI=" INTPTR_FORMAT, (intptr_t)uc->context_rsi); + st->print(", RDI=" INTPTR_FORMAT, (intptr_t)uc->context_rdi); st->cr(); - st->print( "R8 =" INTPTR_FORMAT, uc->context_r8); - st->print(", R9 =" INTPTR_FORMAT, uc->context_r9); - st->print(", R10=" INTPTR_FORMAT, uc->context_r10); - st->print(", R11=" INTPTR_FORMAT, uc->context_r11); + st->print( "R8 =" INTPTR_FORMAT, (intptr_t)uc->context_r8); + st->print(", R9 =" INTPTR_FORMAT, (intptr_t)uc->context_r9); + st->print(", R10=" INTPTR_FORMAT, (intptr_t)uc->context_r10); + st->print(", R11=" INTPTR_FORMAT, (intptr_t)uc->context_r11); st->cr(); - st->print( "R12=" INTPTR_FORMAT, uc->context_r12); - st->print(", R13=" INTPTR_FORMAT, uc->context_r13); - st->print(", R14=" INTPTR_FORMAT, uc->context_r14); - st->print(", R15=" INTPTR_FORMAT, uc->context_r15); + st->print( "R12=" INTPTR_FORMAT, (intptr_t)uc->context_r12); + st->print(", R13=" INTPTR_FORMAT, (intptr_t)uc->context_r13); + st->print(", R14=" INTPTR_FORMAT, (intptr_t)uc->context_r14); + st->print(", R15=" INTPTR_FORMAT, (intptr_t)uc->context_r15); st->cr(); - st->print( "RIP=" INTPTR_FORMAT, uc->context_rip); - st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_flags); - st->print(", ERR=" INTPTR_FORMAT, uc->context_err); + st->print( "RIP=" INTPTR_FORMAT, (intptr_t)uc->context_rip); + st->print(", EFLAGS=" INTPTR_FORMAT, (intptr_t)uc->context_flags); + st->print(", ERR=" INTPTR_FORMAT, (intptr_t)uc->context_err); st->cr(); - st->print(" TRAPNO=" INTPTR_FORMAT, uc->context_trapno); + st->print(" TRAPNO=" INTPTR_FORMAT, (intptr_t)uc->context_trapno); #else - st->print( "EAX=" INTPTR_FORMAT, uc->context_eax); - st->print(", EBX=" INTPTR_FORMAT, uc->context_ebx); - st->print(", ECX=" INTPTR_FORMAT, uc->context_ecx); - st->print(", EDX=" INTPTR_FORMAT, uc->context_edx); + st->print( "EAX=" INTPTR_FORMAT, (intptr_t)uc->context_eax); + st->print(", EBX=" INTPTR_FORMAT, (intptr_t)uc->context_ebx); + st->print(", ECX=" INTPTR_FORMAT, (intptr_t)uc->context_ecx); + st->print(", EDX=" INTPTR_FORMAT, (intptr_t)uc->context_edx); st->cr(); - st->print( "ESP=" INTPTR_FORMAT, uc->context_esp); - st->print(", EBP=" INTPTR_FORMAT, uc->context_ebp); - st->print(", ESI=" INTPTR_FORMAT, uc->context_esi); - st->print(", EDI=" INTPTR_FORMAT, uc->context_edi); + st->print( "ESP=" INTPTR_FORMAT, (intptr_t)uc->context_esp); + st->print(", EBP=" INTPTR_FORMAT, (intptr_t)uc->context_ebp); + st->print(", ESI=" INTPTR_FORMAT, (intptr_t)uc->context_esi); + st->print(", EDI=" INTPTR_FORMAT, (intptr_t)uc->context_edi); st->cr(); - st->print( "EIP=" INTPTR_FORMAT, uc->context_eip); - st->print(", EFLAGS=" INTPTR_FORMAT, uc->context_eflags); + st->print( "EIP=" INTPTR_FORMAT, (intptr_t)uc->context_eip); + st->print(", EFLAGS=" INTPTR_FORMAT, (intptr_t)uc->context_eflags); #endif // AMD64 st->cr(); st->cr(); intptr_t *sp = (intptr_t *)os::Bsd::ucontext_get_sp(uc); - st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", sp); + st->print_cr("Top of Stack: (sp=" INTPTR_FORMAT ")", (intptr_t)sp); print_hex_dump(st, (address)sp, (address)(sp + 8*sizeof(intptr_t)), sizeof(intptr_t)); st->cr(); @@ -1030,7 +1030,7 @@ // point to garbage if entry point in an nmethod is corrupted. Leave // this at the end, and hope for the best. address pc = os::Bsd::ucontext_get_pc(uc); - st->print_cr("Instructions: (pc=" PTR_FORMAT ")", pc); + st->print_cr("Instructions: (pc=" INTPTR_FORMAT ")", (intptr_t)pc); print_hex_dump(st, pc - 32, pc + 32, sizeof(char)); } --- old/src/share/vm/adlc/adlparse.cpp 2017-07-03 08:27:44.000000000 -0700 +++ new/src/share/vm/adlc/adlparse.cpp 2017-07-03 08:27:44.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -3485,8 +3485,8 @@ skipws(); if (_curchar != ')') { // Parse primary, secondary, and tertiary opcodes, if provided. - if ( ((primary = get_ident_or_literal_constant("primary opcode")) == NULL) ) { - parse_err(SYNERR, "primary hex opcode expected at %c\n", _curchar); + if ( (primary = get_ident_or_literal_constant("primary opcode")) == NULL ) { + parse_err(SYNERR, "primary hex opcode expected at %c\n", _curchar); return NULL; } skipws(); @@ -3494,7 +3494,7 @@ next_char(); skipws(); // Parse secondary opcode - if ( ((secondary = get_ident_or_literal_constant("secondary opcode")) == NULL) ) { + if ( (secondary = get_ident_or_literal_constant("secondary opcode")) == NULL ) { parse_err(SYNERR, "secondary hex opcode expected at %c\n", _curchar); return NULL; } @@ -3503,7 +3503,7 @@ next_char(); skipws(); // Parse tertiary opcode - if ( ((tertiary = get_ident_or_literal_constant("tertiary opcode")) == NULL) ) { + if ( (tertiary = get_ident_or_literal_constant("tertiary opcode")) == NULL ) { parse_err(SYNERR,"tertiary hex opcode expected at %c\n", _curchar); return NULL; } @@ -4773,8 +4773,7 @@ skipws(); // Skip whitespace before identifier start = end = _ptr; // Start points at first character c = *end; // Grab character to test - while ((c >= '0') && (c <= '9') - || ((c == '-') && (end == start))) { + while ((c >= '0' && c <= '9') || (c == '-' && end == start)) { end++; // Increment end pointer c = *end; // Grab character to test } @@ -4812,7 +4811,7 @@ if( (first == '=') || (first == '!') || (first == '<') || (first == '>') ) { next_char(); char second = *_ptr; // the second character - if( (second == '=') ) { + if( second == '=' ) { next_char(); char tmp = *_ptr; *_ptr = '\0'; // NULL terminate --- old/src/share/vm/adlc/archDesc.cpp 2017-07-03 08:27:45.000000000 -0700 +++ new/src/share/vm/adlc/archDesc.cpp 2017-07-03 08:27:45.000000000 -0700 @@ -1,5 +1,5 @@ // -// Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. // // This code is free software; you can redistribute it and/or modify it @@ -307,8 +307,8 @@ // Find result type for match const char *result = instr->reduce_result(); - if ( instr->is_ideal_branch() && instr->label_position() == -1 || - !instr->is_ideal_branch() && instr->label_position() != -1) { + if (( instr->is_ideal_branch() && instr->label_position() == -1) || + (!instr->is_ideal_branch() && instr->label_position() != -1)) { syntax_err(instr->_linenum, "%s: Only branches to a label are supported\n", rootOp); } --- old/src/share/vm/adlc/output_c.cpp 2017-07-03 08:27:47.000000000 -0700 +++ new/src/share/vm/adlc/output_c.cpp 2017-07-03 08:27:46.000000000 -0700 @@ -3146,8 +3146,8 @@ instr->has_temps() || instr->is_mach_constant() || instr->needs_constant_base() || - instr->_matrule != NULL && - instr->num_opnds() != instr->num_unique_opnds() ) + (instr->_matrule != NULL && + instr->num_opnds() != instr->num_unique_opnds()) ) defineExpand(_CPP_EXPAND_file._fp, instr); // If there is an explicit peephole rule, build it if ( instr->peepholes() ) @@ -3878,7 +3878,7 @@ // Insert operands that are not in match-rule. // Only insert a DEF if the do_care flag is set comp_list.reset(); - while ( comp = comp_list.post_match_iter() ) { + while ( (comp = comp_list.post_match_iter()) ) { // Check if we don't care about DEFs or KILLs that are not USEs if ( dont_care && (! comp->isa(Component::USE)) ) { continue; --- old/src/share/vm/adlc/output_h.cpp 2017-07-03 08:27:47.000000000 -0700 +++ new/src/share/vm/adlc/output_h.cpp 2017-07-03 08:27:47.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1844,8 +1844,8 @@ instr->has_temps() || instr->is_mach_constant() || instr->needs_constant_base() || - instr->_matrule != NULL && - instr->num_opnds() != instr->num_unique_opnds() ) { + (instr->_matrule != NULL && + instr->num_opnds() != instr->num_unique_opnds()) ) { fprintf(fp," virtual MachNode *Expand(State *state, Node_List &proj_list, Node* mem);\n"); } --- old/src/share/vm/asm/assembler.cpp 2017-07-03 08:27:48.000000000 -0700 +++ new/src/share/vm/asm/assembler.cpp 2017-07-03 08:27:48.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -258,6 +258,7 @@ switch (dcon->type) { case T_INT: dcon->value = (intptr_t) ((int_fn_t) dcon->value_fn)(); break; case T_ADDRESS: dcon->value = (intptr_t) ((address_fn_t)dcon->value_fn)(); break; + default: break; } } } --- old/src/share/vm/c1/c1_Canonicalizer.cpp 2017-07-03 08:27:50.000000000 -0700 +++ new/src/share/vm/c1/c1_Canonicalizer.cpp 2017-07-03 08:27:49.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,10 +74,11 @@ case Bytecodes::_lsub: set_constant(jlong_cast(0)); return; case Bytecodes::_iand: // fall through case Bytecodes::_land: // fall through - case Bytecodes::_ior: // fall through + case Bytecodes::_ior : // fall through case Bytecodes::_lor : set_canonical(x->x()); return; case Bytecodes::_ixor: set_constant(0); return; case Bytecodes::_lxor: set_constant(jlong_cast(0)); return; + default : break; } } @@ -114,6 +115,7 @@ case Bytecodes::_iand: set_constant(a & b); return; case Bytecodes::_ior : set_constant(a | b); return; case Bytecodes::_ixor: set_constant(a ^ b); return; + default : break; } } break; @@ -139,10 +141,13 @@ case Bytecodes::_land: set_constant(a & b); return; case Bytecodes::_lor : set_constant(a | b); return; case Bytecodes::_lxor: set_constant(a ^ b); return; + default : break; } } break; - // other cases not implemented (must be extremely careful with floats & doubles!) + default: + // other cases not implemented (must be extremely careful with floats & doubles!) + break; } } // make sure constant is on the right side, if any @@ -161,6 +166,7 @@ // corresponds to Java semantics! case Bytecodes::_iand: set_constant(0); return; case Bytecodes::_ior : set_canonical(x->x()); return; + default : break; } } break; @@ -174,9 +180,12 @@ // corresponds to Java semantics! case Bytecodes::_land: set_constant((jlong)0); return; case Bytecodes::_lor : set_canonical(x->x()); return; + default : break; } } break; + default: + break; } } } @@ -210,6 +219,7 @@ case Bytecodes::_i2b: if (type == T_BYTE) value = conv->value(); break; case Bytecodes::_i2s: if (type == T_SHORT || type == T_BYTE) value = conv->value(); break; case Bytecodes::_i2c: if (type == T_CHAR || type == T_BYTE) value = conv->value(); break; + default : break; } // limit this optimization to current block if (value != NULL && in_current_block(conv)) { @@ -303,6 +313,7 @@ case Bytecodes::_i2b: if (type == T_BYTE) value = conv->value(); break; case Bytecodes::_i2s: if (type == T_SHORT || type == T_BYTE) value = conv->value(); break; case Bytecodes::_i2c: if (type == T_CHAR || type == T_BYTE) value = conv->value(); break; + default : break; } // limit this optimization to current block if (value != NULL && in_current_block(conv)) { @@ -351,6 +362,7 @@ case Bytecodes::_ishl: set_constant(value << shift); return; case Bytecodes::_ishr: set_constant(value >> shift); return; case Bytecodes::_iushr: set_constant((value >> shift) & mask); return; + default: break; } } else if (t->tag() == longTag) { jlong value = t->as_LongConstant()->value(); @@ -361,6 +373,7 @@ case Bytecodes::_lshl: set_constant(value << shift); return; case Bytecodes::_lshr: set_constant(value >> shift); return; case Bytecodes::_lushr: set_constant((value >> shift) & mask); return; + default: break; } } } @@ -369,7 +382,7 @@ switch (t2->tag()) { case intTag : if (t2->as_IntConstant()->value() == 0) set_canonical(x->x()); return; case longTag : if (t2->as_LongConstant()->value() == (jlong)0) set_canonical(x->x()); return; - default : ShouldNotReachHere(); + default : ShouldNotReachHere(); return; } } } @@ -402,6 +415,8 @@ } break; } + default: + break; } } else if (x->x()->type()->is_constant() && x->y()->type()->is_constant()) { switch (x->x()->type()->tag()) { @@ -444,8 +459,10 @@ set_constant(1); break; } - } + default: + break; + } } } @@ -530,6 +547,8 @@ } break; } + default: + break; } } @@ -572,6 +591,7 @@ case Bytecodes::_i2b: type = T_BYTE; break; case Bytecodes::_i2s: type = T_SHORT; break; case Bytecodes::_i2c: type = T_CHAR; break; + default : break; } } } @@ -581,6 +601,7 @@ case Bytecodes::_i2b: if (type == T_BYTE) set_canonical(x->value()); break; case Bytecodes::_i2s: if (type == T_SHORT || type == T_BYTE) set_canonical(x->value()); break; case Bytecodes::_i2c: if (type == T_CHAR) set_canonical(x->value()); break; + default : break; } } else { Op2* op2 = x->value()->as_Op2(); @@ -591,6 +612,7 @@ case Bytecodes::_i2b: safebits = 0x7f; break; case Bytecodes::_i2s: safebits = 0x7fff; break; case Bytecodes::_i2c: safebits = 0xffff; break; + default : break; } // When casting a masked integer to a smaller signed type, if // the mask doesn't include the sign bit the cast isn't needed. @@ -669,9 +691,10 @@ case If::leq: return x <= y; case If::gtr: return x > y; case If::geq: return x >= y; + default: + ShouldNotReachHere(); + return false; } - ShouldNotReachHere(); - return false; } static bool is_safepoint(BlockEnd* x, BlockBegin* sux) { @@ -756,6 +779,8 @@ case Bytecodes::_dcmpl: case Bytecodes::_dcmpg: set_canonical(x); return; + default: + break; } } set_bci(cmp->state_before()->bci()); --- old/src/share/vm/c1/c1_GraphBuilder.cpp 2017-07-03 08:27:50.000000000 -0700 +++ new/src/share/vm/c1/c1_GraphBuilder.cpp 2017-07-03 08:27:50.000000000 -0700 @@ -347,6 +347,9 @@ current = NULL; break; } + + default: + break; } } } @@ -1488,6 +1491,8 @@ x = append(new LogicOp(Bytecodes::_iand, x, mask)); break; } + default: + break; } // Check to see whether we are inlining. If so, Return @@ -1847,6 +1852,8 @@ case Bytecodes::_invokehandle: code = target->is_static() ? Bytecodes::_invokestatic : Bytecodes::_invokespecial; break; + default: + break; } } else { if (bc_raw == Bytecodes::_invokehandle) { @@ -1993,12 +2000,12 @@ // check if we could do inlining if (!PatchALot && Inline && target->is_loaded() && - (klass->is_initialized() || klass->is_interface() && target->holder()->is_initialized()) + (klass->is_initialized() || (klass->is_interface() && target->holder()->is_initialized())) && !patch_for_appendix) { // callee is known => check if we have static binding if (code == Bytecodes::_invokestatic || code == Bytecodes::_invokespecial || - code == Bytecodes::_invokevirtual && target->is_final_method() || + (code == Bytecodes::_invokevirtual && target->is_final_method()) || code == Bytecodes::_invokedynamic) { ciMethod* inline_target = (cha_monomorphic_target != NULL) ? cha_monomorphic_target : target; // static binding => check if callee is ok --- old/src/share/vm/c1/c1_Instruction.cpp 2017-07-03 08:27:51.000000000 -0700 +++ new/src/share/vm/c1/c1_Instruction.cpp 2017-07-03 08:27:51.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -239,8 +239,8 @@ case Bytecodes::_lmul: // fall through case Bytecodes::_fmul: // fall through case Bytecodes::_dmul: return true; + default : return false; } - return false; } @@ -250,8 +250,8 @@ case Bytecodes::_ldiv: // fall through case Bytecodes::_irem: // fall through case Bytecodes::_lrem: return true; + default : return false; } - return false; } @@ -266,7 +266,7 @@ case Bytecodes::_lor : // fall through case Bytecodes::_ixor: // fall through case Bytecodes::_lxor: break; - default : ShouldNotReachHere(); + default : ShouldNotReachHere(); break; } #endif // all LogicOps are commutative @@ -447,8 +447,9 @@ t1->is_loaded() && t2->is_loaded() && t1->constant_value() == t2->constant_value()); } + default: + return false; } - return false; } Constant::CompareResult Constant::compare(Instruction::Condition cond, Value right) const { @@ -471,6 +472,7 @@ case If::leq: return x <= y ? cond_true : cond_false; case If::gtr: return x > y ? cond_true : cond_false; case If::geq: return x >= y ? cond_true : cond_false; + default : break; } break; } @@ -484,6 +486,7 @@ case If::leq: return x <= y ? cond_true : cond_false; case If::gtr: return x > y ? cond_true : cond_false; case If::geq: return x >= y ? cond_true : cond_false; + default : break; } break; } @@ -495,6 +498,7 @@ switch (cond) { case If::eql: return xvalue == yvalue ? cond_true : cond_false; case If::neq: return xvalue != yvalue ? cond_true : cond_false; + default : break; } } break; @@ -507,10 +511,13 @@ switch (cond) { case If::eql: return xvalue == yvalue ? cond_true : cond_false; case If::neq: return xvalue != yvalue ? cond_true : cond_false; + default : break; } } break; } + default: + break; } return not_comparable; } --- old/src/share/vm/c1/c1_InstructionPrinter.cpp 2017-07-03 08:27:52.000000000 -0700 +++ new/src/share/vm/c1/c1_InstructionPrinter.cpp 2017-07-03 08:27:52.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -59,9 +59,10 @@ case If::geq: return ">="; case If::aeq: return "|>=|"; case If::beq: return "|<=|"; + default: + ShouldNotReachHere(); + return NULL; } - ShouldNotReachHere(); - return NULL; } @@ -102,8 +103,8 @@ case Bytecodes::_lor : return "|"; case Bytecodes::_ixor : // fall through case Bytecodes::_lxor : return "^"; + default : return Bytecodes::name(op); } - return Bytecodes::name(op); } --- old/src/share/vm/c1/c1_LIR.cpp 2017-07-03 08:27:53.000000000 -0700 +++ new/src/share/vm/c1/c1_LIR.cpp 2017-07-03 08:27:53.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -243,6 +243,8 @@ assert(in_opr1()->is_valid() && in_opr2()->is_valid(), "must be valid"); break; + default: + break; } } #endif @@ -395,6 +397,8 @@ case lir_return: assert(in_opr()->is_register() || in_opr()->is_illegal(), "must be"); break; + default: + break; } } --- old/src/share/vm/c1/c1_LIRGenerator.cpp 2017-07-03 08:27:54.000000000 -0700 +++ new/src/share/vm/c1/c1_LIRGenerator.cpp 2017-07-03 08:27:53.000000000 -0700 @@ -394,7 +394,7 @@ void LIRGenerator::walk(Value instr) { InstructionMark im(compilation(), instr); //stop walk when encounter a root - if (instr->is_pinned() && instr->as_Phi() == NULL || instr->operand()->is_valid()) { + if ((instr->is_pinned() && instr->as_Phi() == NULL) || instr->operand()->is_valid()) { assert(instr->operand() != LIR_OprFact::illegalOpr || instr->as_Constant() != NULL, "this root has not yet been visited"); } else { assert(instr->subst() == instr, "shouldn't have missed substitution"); @@ -1434,6 +1434,8 @@ case T_OBJECT: if (c->as_jobject() != other->as_jobject()) continue; break; + default: + break; } return _reg_for_constants.at(i); } @@ -2804,6 +2806,8 @@ case T_CHAR: t = T_INT; break; + default: + break; } LIR_Opr dest = new_register(t); --- old/src/share/vm/c1/c1_LinearScan.cpp 2017-07-03 08:27:55.000000000 -0700 +++ new/src/share/vm/c1/c1_LinearScan.cpp 2017-07-03 08:27:55.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1104,6 +1104,8 @@ return shouldHaveRegister; } } + default: + break; } } else { // FPU stack float instruction @@ -1120,6 +1122,8 @@ return shouldHaveRegister; } } + default: + break; } } // We want to sometimes use logical operations on pointers, in particular in GC barriers. @@ -1142,6 +1146,8 @@ return shouldHaveRegister; } } + default: + break; } } #endif // X86 S390 @@ -1247,6 +1253,8 @@ } break; } + default: + break; } } @@ -2373,6 +2381,8 @@ case Bytecodes::_if_acmpne : assert(stack_end >= -Bytecodes::depth(code), "must have non-empty expression stack at if bytecode"); break; + default: + break; } } } @@ -3027,8 +3037,8 @@ LIR_Opr src = move->in_opr(); LIR_Opr dst = move->result_opr(); if (dst == src || - !dst->is_pointer() && !src->is_pointer() && - src->is_same_register(dst)) { + (!dst->is_pointer() && !src->is_pointer() && + src->is_same_register(dst))) { instructions->at_put(j, NULL); has_dead = true; } --- old/src/share/vm/c1/c1_ValueStack.hpp 2017-07-03 08:27:56.000000000 -0700 +++ new/src/share/vm/c1/c1_ValueStack.hpp 2017-07-03 08:27:55.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -173,8 +173,8 @@ case doubleTag : dpush(t); return; case objectTag : apush(t); return; case addressTag: rpush(t); return; + default : ShouldNotReachHere(); return; } - ShouldNotReachHere(); } Value ipop() { return check(intTag , _stack.pop()); } @@ -192,9 +192,8 @@ case doubleTag : return dpop(); case objectTag : return apop(); case addressTag: return rpop(); + default : ShouldNotReachHere(); return NULL; } - ShouldNotReachHere(); - return NULL; } Values* pop_arguments(int argument_size); --- old/src/share/vm/c1/c1_ValueType.cpp 2017-07-03 08:27:56.000000000 -0700 +++ new/src/share/vm/c1/c1_ValueType.cpp 2017-07-03 08:27:56.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -137,9 +137,9 @@ case T_OBJECT : return objectType; case T_ADDRESS: return addressType; case T_ILLEGAL: return illegalType; + default : ShouldNotReachHere(); + return illegalType; } - ShouldNotReachHere(); - return illegalType; } @@ -167,9 +167,9 @@ } return new ObjectConstant(obj); } + default : ShouldNotReachHere(); + return illegalType; } - ShouldNotReachHere(); - return illegalType; } @@ -184,7 +184,7 @@ case metaDataTag:return T_METADATA; case addressTag: return T_ADDRESS; case illegalTag: return T_ILLEGAL; + default : ShouldNotReachHere(); + return T_ILLEGAL; } - ShouldNotReachHere(); - return T_ILLEGAL; } --- old/src/share/vm/ci/bcEscapeAnalyzer.cpp 2017-07-03 08:27:57.000000000 -0700 +++ new/src/share/vm/ci/bcEscapeAnalyzer.cpp 2017-07-03 08:27:57.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -265,6 +265,8 @@ case Bytecodes::_invokehandle: code = target->is_static() ? Bytecodes::_invokestatic : Bytecodes::_invokespecial; break; + default: + break; } } @@ -300,11 +302,11 @@ // determine actual method (use CHA if necessary) ciMethod* inline_target = NULL; if (target->is_loaded() && klass->is_loaded() - && (klass->is_initialized() || klass->is_interface() && target->holder()->is_initialized()) + && (klass->is_initialized() || (klass->is_interface() && target->holder()->is_initialized())) && target->is_loaded()) { if (code == Bytecodes::_invokestatic || code == Bytecodes::_invokespecial - || code == Bytecodes::_invokevirtual && target->is_final_method()) { + || (code == Bytecodes::_invokevirtual && target->is_final_method())) { inline_target = target; } else { inline_target = target->find_monomorphic_target(calling_klass, callee_holder, actual_recv); @@ -341,7 +343,8 @@ // record dependencies if at least one parameter retained stack-allocatable if (must_record_dependencies) { - if (code == Bytecodes::_invokeinterface || code == Bytecodes::_invokevirtual && !target->is_final_method()) { + if (code == Bytecodes::_invokeinterface || + (code == Bytecodes::_invokevirtual && !target->is_final_method())) { _dependencies.append(actual_recv); _dependencies.append(inline_target); } --- old/src/share/vm/ci/ciArray.cpp 2017-07-03 08:27:58.000000000 -0700 +++ new/src/share/vm/ci/ciArray.cpp 2017-07-03 08:27:58.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -66,6 +66,8 @@ ciObject* box = env->get_object(elem); return ciConstant(T_OBJECT, box); } + default: + break; } assert(ary->is_typeArray(), ""); typeArrayOop tary = (typeArrayOop) ary; --- old/src/share/vm/ci/ciEnv.cpp 2017-07-03 08:27:59.000000000 -0700 +++ new/src/share/vm/ci/ciEnv.cpp 2017-07-03 08:27:58.000000000 -0700 @@ -797,6 +797,8 @@ } } break; + default: + break; } } --- old/src/share/vm/ci/ciInstance.cpp 2017-07-03 08:27:59.000000000 -0700 +++ new/src/share/vm/ci/ciInstance.cpp 2017-07-03 08:27:59.000000000 -0700 @@ -86,9 +86,10 @@ return ciConstant(field_btype, CURRENT_ENV->get_object(o)); } } + default: + fatal("no field value: %s", type2name(field_btype)); + return ciConstant(); } - fatal("no field value: %s", type2name(field_btype)); - return ciConstant(); } // ------------------------------------------------------------------ --- old/src/share/vm/ci/ciMethod.cpp 2017-07-03 08:28:00.000000000 -0700 +++ new/src/share/vm/ci/ciMethod.cpp 2017-07-03 08:28:00.000000000 -0700 @@ -800,7 +800,7 @@ // the vtable has not been setup, and the LinkResolver will fail. if (recv->is_array_klass() || - InstanceKlass::cast(recv)->is_linked() && !exact_receiver->is_interface()) { + (InstanceKlass::cast(recv)->is_linked() && !exact_receiver->is_interface())) { if (holder()->is_interface()) { m = LinkResolver::resolve_interface_call_or_null(recv, link_info); } else { @@ -1493,6 +1493,8 @@ } break; } + default: + break; } assert(target_sig->count() - rbase == linker_sig->count() - sbase - has_appendix, "argument count mismatch"); int arg_count = target_sig->count() - rbase; --- old/src/share/vm/ci/ciMethodBlocks.cpp 2017-07-03 08:28:01.000000000 -0700 +++ new/src/share/vm/ci/ciMethodBlocks.cpp 2017-07-03 08:28:01.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -245,6 +245,9 @@ (void) make_block_at(s.next_bci()); } break; + + default: + break; } } // End the last block --- old/src/share/vm/ci/ciMethodData.cpp 2017-07-03 08:28:02.000000000 -0700 +++ new/src/share/vm/ci/ciMethodData.cpp 2017-07-03 08:28:01.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -610,14 +610,10 @@ int elements = (data_size() + extra_data_size()) / sizeof(intptr_t); out->print(" data %d", elements); for (int i = 0; i < elements; i++) { - // We could use INTPTR_FORMAT here but that's a zero justified + // We could use INTPTR_FORMAT here but that's zero justified // which makes comparing it with the SA version of this output - // harder. -#ifdef _LP64 - out->print(" 0x%" FORMAT64_MODIFIER "x", data()[i]); -#else - out->print(" 0x%x", data()[i]); -#endif + // harder. data()'s element type is intptr_t. + out->print(" " INTPTRNZ_FORMAT, data()[i]); } // The MDO contained oop references as ciObjects, so scan for those --- old/src/share/vm/ci/ciReplay.cpp 2017-07-03 08:28:03.000000000 -0700 +++ new/src/share/vm/ci/ciReplay.cpp 2017-07-03 08:28:02.000000000 -0700 @@ -757,7 +757,7 @@ InstanceKlass* k = (InstanceKlass *)parse_klass(CHECK); if (k == NULL || ReplaySuppressInitializers == 0 || - ReplaySuppressInitializers == 2 && k->class_loader() == NULL) { + (ReplaySuppressInitializers == 2 && k->class_loader() == NULL)) { return; } --- old/src/share/vm/ci/ciTypeFlow.cpp 2017-07-03 08:28:03.000000000 -0700 +++ new/src/share/vm/ci/ciTypeFlow.cpp 2017-07-03 08:28:03.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2192,9 +2192,10 @@ case Bytecodes::_monitorexit: // We can assume monitors are matched in this analysis. return false; - } - return true; + default: + return true; + } } // ------------------------------------------------------------------ --- old/src/share/vm/classfile/classLoader.hpp 2017-07-03 08:28:04.000000000 -0700 +++ new/src/share/vm/classfile/classLoader.hpp 2017-07-03 08:28:04.000000000 -0700 @@ -56,6 +56,7 @@ ClassPathEntry* next() const { return (ClassPathEntry*) OrderAccess::load_ptr_acquire(&_next); } + virtual ~ClassPathEntry() {} void set_next(ClassPathEntry* next) { // may have unlocked readers, so ensure visibility. OrderAccess::release_store_ptr(&_next, next); @@ -82,6 +83,7 @@ const char* name() const { return _dir; } JImageFile* jimage() const { return NULL; } ClassPathDirEntry(const char* dir); + virtual ~ClassPathDirEntry() {} ClassFileStream* open_stream(const char* name, TRAPS); // Debugging NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) @@ -120,7 +122,7 @@ const char* name() const { return _zip_name; } JImageFile* jimage() const { return NULL; } ClassPathZipEntry(jzfile* zip, const char* zip_name, bool is_boot_append); - ~ClassPathZipEntry(); + virtual ~ClassPathZipEntry(); u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); u1* open_versioned_entry(const char* name, jint* filesize, TRAPS) NOT_CDS_RETURN_(NULL); ClassFileStream* open_stream(const char* name, TRAPS); @@ -143,7 +145,7 @@ const char* name() const { return _name == NULL ? "" : _name; } JImageFile* jimage() const { return _jimage; } ClassPathImageEntry(JImageFile* jimage, const char* name); - ~ClassPathImageEntry(); + virtual ~ClassPathImageEntry(); ClassFileStream* open_stream(const char* name, TRAPS); // Debugging --- old/src/share/vm/classfile/javaAssertions.cpp 2017-07-03 08:28:05.000000000 -0700 +++ new/src/share/vm/classfile/javaAssertions.cpp 2017-07-03 08:28:05.000000000 -0700 @@ -197,13 +197,13 @@ // First check options that apply to classes. If we find a match we're done. OptionList* p; - if (p = match_class(classname)) { + if ((p = match_class(classname))) { trace(classname, "class", p->name(), p->enabled()); return p->enabled(); } // Now check packages, from most specific to least. - if (p = match_package(classname)) { + if ((p = match_package(classname))) { trace(classname, "package", p->name(), p->enabled()); return p->enabled(); } --- old/src/share/vm/classfile/javaClasses.cpp 2017-07-03 08:28:06.000000000 -0700 +++ new/src/share/vm/classfile/javaClasses.cpp 2017-07-03 08:28:06.000000000 -0700 @@ -3044,7 +3044,7 @@ case T_BYTE: st->print("%d", value->b); break; case T_SHORT: st->print("%d", value->s); break; case T_INT: st->print("%d", value->i); break; - case T_LONG: st->print(INT64_FORMAT, value->j); break; + case T_LONG: st->print(JLONG_FORMAT, value->j); break; case T_FLOAT: st->print("%f", value->f); break; case T_DOUBLE: st->print("%lf", value->d); break; default: st->print("type %d?", type); break; --- old/src/share/vm/classfile/stackMapTableFormat.hpp 2017-07-03 08:28:07.000000000 -0700 +++ new/src/share/vm/classfile/stackMapTableFormat.hpp 2017-07-03 08:28:07.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -132,7 +132,7 @@ return ((address)this >= start && (address)this < end && (bci_addr() + sizeof(u2) <= end || - !is_object() && !is_uninitialized())); + (!is_object() && !is_uninitialized()))); } void print_on(outputStream* st) { --- old/src/share/vm/classfile/vmSymbols.cpp 2017-07-03 08:28:08.000000000 -0700 +++ new/src/share/vm/classfile/vmSymbols.cpp 2017-07-03 08:28:08.000000000 -0700 @@ -892,6 +892,7 @@ case F_SN: fname = "native static "; break; case F_S: fname = "static "; break; case F_RNY:fname = "native synchronized "; break; + default: break; } const char* kptr = strrchr(kname, '/'); if (kptr != NULL) kname = kptr + 1; @@ -989,6 +990,8 @@ declared_id = match_method_with_klass(m, vmSymbols::java_lang_Math()); if (declared_id == actual_id) return; // acceptable alias break; + default: + break; } } --- old/src/share/vm/code/compiledMethod.cpp 2017-07-03 08:28:09.000000000 -0700 +++ new/src/share/vm/code/compiledMethod.cpp 2017-07-03 08:28:08.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -263,6 +263,8 @@ } break; } + default: + break; } } } @@ -340,6 +342,7 @@ case relocInfo::static_call_type: return iter.static_call_reloc()->method_value(); case relocInfo::opt_virtual_call_type: return iter.opt_virtual_call_reloc()->method_value(); case relocInfo::virtual_call_type: return iter.virtual_call_reloc()->method_value(); + default: break; } } } @@ -650,6 +653,9 @@ case relocInfo::metadata_type: break; // nothing to do. + + default: + break; } } @@ -703,6 +709,9 @@ case relocInfo::static_call_type: clean_if_nmethod_is_unloaded(compiledStaticCall_at(iter.reloc()), is_alive, this); break; + + default: + break; } } } --- old/src/share/vm/code/compressedStream.cpp 2017-07-03 08:28:09.000000000 -0700 +++ new/src/share/vm/code/compressedStream.cpp 2017-07-03 08:28:09.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,9 +39,9 @@ // converts trailing zeroes (common in floats) to leading zeroes inline juint CompressedStream::reverse_int(juint i) { // Hacker's Delight, Figure 7-1 - i = (i & 0x55555555) << 1 | (i >> 1) & 0x55555555; - i = (i & 0x33333333) << 2 | (i >> 2) & 0x33333333; - i = (i & 0x0f0f0f0f) << 4 | (i >> 4) & 0x0f0f0f0f; + i = (i & 0x55555555) << 1 | ((i >> 1) & 0x55555555); + i = (i & 0x33333333) << 2 | ((i >> 2) & 0x33333333); + i = (i & 0x0f0f0f0f) << 4 | ((i >> 4) & 0x0f0f0f0f); i = (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24); return i; } --- old/src/share/vm/code/debugInfo.cpp 2017-07-03 08:28:10.000000000 -0700 +++ new/src/share/vm/code/debugInfo.cpp 2017-07-03 08:28:10.000000000 -0700 @@ -188,7 +188,7 @@ } void ConstantLongValue::print_on(outputStream* st) const { - st->print(INT64_FORMAT, value()); + st->print(JLONG_FORMAT, value()); } // ConstantDoubleValue --- old/src/share/vm/code/dependencies.cpp 2017-07-03 08:28:11.000000000 -0700 +++ new/src/share/vm/code/dependencies.cpp 2017-07-03 08:28:11.000000000 -0700 @@ -272,6 +272,8 @@ case exclusive_concrete_methods_2: swap = (x->ident() > x2->ident() && x->as_metadata()->as_method()->holder() != ctxk); break; + default: + break; } if (swap) { ciBaseObject* t = x; x = x2; x2 = t; } @@ -420,7 +422,7 @@ case 1: deps->sort(sort_dep_value_arg_1, 1); break; case 2: deps->sort(sort_dep_value_arg_2, 2); break; case 3: deps->sort(sort_dep_value_arg_3, 3); break; - default: ShouldNotReachHere(); + default: ShouldNotReachHere(); break; } } return; @@ -434,7 +436,7 @@ case 1: deps->sort(sort_dep_arg_1, 1); break; case 2: deps->sort(sort_dep_arg_2, 2); break; case 3: deps->sort(sort_dep_arg_3, 3); break; - default: ShouldNotReachHere(); + default: ShouldNotReachHere(); break; } } } @@ -466,8 +468,9 @@ case unique_concrete_method: case exclusive_concrete_methods_2: return x->as_metadata()->as_method()->holder(); + default: + return NULL; // let NULL be NULL } - return NULL; // let NULL be NULL } Klass* Dependencies::ctxk_encoded_as_null(DepType dept, Metadata* x) { @@ -480,8 +483,9 @@ case exclusive_concrete_methods_2: assert(x->is_method(), "sanity"); return ((Method*)x)->method_holder(); + default: + return NULL; // let NULL be NULL } - return NULL; // let NULL be NULL } void Dependencies::encode_content_bytes() { @@ -1459,7 +1463,7 @@ // overpass clause is false if k == NULL, implies return true if // answer depends on overpass clause. return ! ( m == NULL || m -> is_static() || m -> is_abstract() || - m->is_overpass() && k != NULL && k -> is_abstract() ); + (m->is_overpass() && k != NULL && k -> is_abstract()) ); } @@ -1864,6 +1868,8 @@ tty->print_cr(" context interface = %s", k->external_name()); } break; + default: + break; } } if (nsup + nint != 0) { --- old/src/share/vm/code/nmethod.cpp 2017-07-03 08:28:12.000000000 -0700 +++ new/src/share/vm/code/nmethod.cpp 2017-07-03 08:28:11.000000000 -0700 @@ -987,6 +987,8 @@ } break; } + default: + break; } } } @@ -2187,12 +2189,15 @@ //verify_interrupt_point(iter.addr()); break; case relocInfo::runtime_call_type: - case relocInfo::runtime_call_w_cp_type: + case relocInfo::runtime_call_w_cp_type: { address destination = iter.reloc()->value(); // Right now there is no way to find out which entries support // an interrupt point. It would be nice if we had this // information in a table. break; + } + default: + break; } assert(stub == NULL || stub_contains(stub), "static call stub outside stub section"); } @@ -2489,6 +2494,9 @@ case relocInfo::poll_type: return "poll"; case relocInfo::poll_return_type: return "poll_return"; case relocInfo::type_mask: return "type_bit_mask"; + + default: + break; } } return have_one ? "other" : NULL; @@ -2674,6 +2682,8 @@ else st->print(""); } + default: + break; } } st->print(" {reexecute=%d rethrow=%d return_oop=%d}", sd->should_reexecute(), sd->rethrow_exception(), sd->return_oop()); @@ -2842,6 +2852,8 @@ st->print_cr("Static call at " INTPTR_FORMAT, p2i(iter.reloc()->addr())); CompiledDirectStaticCall::at(iter.reloc())->print(); break; + default: + break; } } } @@ -2981,4 +2993,3 @@ return buf; } #endif - --- old/src/share/vm/code/relocInfo.cpp 2017-07-03 08:28:13.000000000 -0700 +++ new/src/share/vm/code/relocInfo.cpp 2017-07-03 08:28:12.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -940,6 +940,8 @@ p2i(r->destination()), p2i(r->method_value())); break; } + default: + break; } tty->cr(); } --- old/src/share/vm/compiler/compileTask.hpp 2017-07-03 08:28:13.000000000 -0700 +++ new/src/share/vm/compiler/compileTask.hpp 2017-07-03 08:28:13.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -130,8 +130,9 @@ case Reason_InvocationCount: case Reason_Tiered: return !_is_blocking; + default: + return false; } - return false; } #if INCLUDE_JVMCI bool has_waiter() const { return _has_waiter; } --- old/src/share/vm/gc/g1/g1RootClosures.hpp 2017-07-03 08:28:14.000000000 -0700 +++ new/src/share/vm/gc/g1/g1RootClosures.hpp 2017-07-03 08:28:14.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,7 +33,9 @@ class G1RootClosures : public CHeapObj { public: - // Closures to process raw oops in the root set. + virtual ~G1RootClosures() {} + +// Closures to process raw oops in the root set. virtual OopClosure* weak_oops() = 0; virtual OopClosure* strong_oops() = 0; --- old/src/share/vm/gc/g1/heapRegion.cpp 2017-07-03 08:28:15.000000000 -0700 +++ new/src/share/vm/gc/g1/heapRegion.cpp 2017-07-03 08:28:14.000000000 -0700 @@ -579,10 +579,10 @@ bool is_bad = !(from->is_young() || to->rem_set()->contains_reference(p) - || !G1HRRSFlushLogBuffersOnVerify && // buffers were not flushed - (_containing_obj->is_objArray() ? - cv_field == dirty - : cv_obj == dirty || cv_field == dirty)); + || (!G1HRRSFlushLogBuffersOnVerify && // buffers were not flushed + (_containing_obj->is_objArray() + ? cv_field == dirty + : cv_obj == dirty || cv_field == dirty))); if (is_bad) { MutexLockerEx x(ParGCRareEvent_lock, Mutex::_no_safepoint_check_flag); @@ -894,4 +894,3 @@ set_saved_mark_word(NULL); reset_bot(); } - --- old/src/share/vm/gc/g1/heapRegionType.cpp 2017-07-03 08:28:15.000000000 -0700 +++ new/src/share/vm/gc/g1/heapRegionType.cpp 2017-07-03 08:28:15.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,8 +36,9 @@ case OldTag: case ArchiveTag: return true; + default: + return false; } - return false; } const char* HeapRegionType::get_str() const { @@ -50,10 +51,10 @@ case ContinuesHumongousTag: return "HUMC"; case OldTag: return "OLD"; case ArchiveTag: return "ARC"; + default: + ShouldNotReachHere(); + return NULL; // keep some compilers happy } - ShouldNotReachHere(); - // keep some compilers happy - return NULL; } const char* HeapRegionType::get_short_str() const { @@ -66,10 +67,10 @@ case ContinuesHumongousTag: return "HC"; case OldTag: return "O"; case ArchiveTag: return "A"; + default: + ShouldNotReachHere(); + return NULL; // keep some compilers happy } - ShouldNotReachHere(); - // keep some compilers happy - return NULL; } G1HeapRegionTraceType::Type HeapRegionType::get_trace_type() { @@ -82,8 +83,8 @@ case ContinuesHumongousTag: return G1HeapRegionTraceType::ContinuesHumongous; case OldTag: return G1HeapRegionTraceType::Old; case ArchiveTag: return G1HeapRegionTraceType::Archive; + default: + ShouldNotReachHere(); + return G1HeapRegionTraceType::Free; // keep some compilers happy } - ShouldNotReachHere(); - // keep some compilers happy - return G1HeapRegionTraceType::Free; } --- old/src/share/vm/gc/g1/ptrQueue.cpp 2017-07-03 08:28:16.000000000 -0700 +++ new/src/share/vm/gc/g1/ptrQueue.cpp 2017-07-03 08:28:16.000000000 -0700 @@ -238,8 +238,9 @@ bool PtrQueueSet::process_or_enqueue_complete_buffer(BufferNode* node) { if (Thread::current()->is_Java_thread()) { // We don't lock. It is fine to be epsilon-precise here. - if (_max_completed_queue == 0 || _max_completed_queue > 0 && - _n_completed_buffers >= _max_completed_queue + _completed_queue_padding) { + if (_max_completed_queue == 0 || + (_max_completed_queue > 0 && + _n_completed_buffers >= _max_completed_queue + _completed_queue_padding)) { bool b = mut_process_buffer(node); if (b) { // True here means that the buffer hasn't been deallocated and the caller may reuse it. --- old/src/share/vm/gc/g1/sparsePRT.cpp 2017-07-03 08:28:17.000000000 -0700 +++ new/src/share/vm/gc/g1/sparsePRT.cpp 2017-07-03 08:28:17.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -120,8 +120,8 @@ "_capacity too large"); // This will put -1 == NullEntry in the key field of all entries. - memset(_entries, NullEntry, _num_entries * SparsePRTEntry::size()); - memset(_buckets, NullEntry, _capacity * sizeof(int)); + memset((void*)_entries, NullEntry, _num_entries * SparsePRTEntry::size()); + memset((void*)_buckets, NullEntry, _capacity * sizeof(int)); _free_list = NullEntry; _free_region = 0; } --- old/src/share/vm/gc/parallel/psPromotionManager.cpp 2017-07-03 08:28:18.000000000 -0700 +++ new/src/share/vm/gc/parallel/psPromotionManager.cpp 2017-07-03 08:28:18.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -315,7 +315,7 @@ process_popped_location_depth(p); } } - } while (totally_drain && !tq->taskqueue_empty() || !tq->overflow_empty()); + } while ((totally_drain && !tq->taskqueue_empty()) || !tq->overflow_empty()); assert(!totally_drain || tq->taskqueue_empty(), "Sanity"); assert(totally_drain || tq->size() <= _target_stack_size, "Sanity"); --- old/src/share/vm/interpreter/abstractInterpreter.cpp 2017-07-03 08:28:18.000000000 -0700 +++ new/src/share/vm/interpreter/abstractInterpreter.cpp 2017-07-03 08:28:18.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -136,6 +136,7 @@ case vmIntrinsics::_floatToRawIntBits: return java_lang_Float_floatToRawIntBits; case vmIntrinsics::_longBitsToDouble: return java_lang_Double_longBitsToDouble; case vmIntrinsics::_doubleToRawLongBits: return java_lang_Double_doubleToRawLongBits; + default: break; } #endif // CC_INTERP @@ -182,8 +183,9 @@ case vmIntrinsics::_fmaD : return java_lang_math_fmaD ; case vmIntrinsics::_fmaF : return java_lang_math_fmaF ; - case vmIntrinsics::_Reference_get: - return java_lang_ref_reference_get; + case vmIntrinsics::_Reference_get + : return java_lang_ref_reference_get; + default : break; } // Accessor method? --- old/src/share/vm/interpreter/bytecodes.cpp 2017-07-03 08:28:19.000000000 -0700 +++ new/src/share/vm/interpreter/bytecodes.cpp 2017-07-03 08:28:19.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -69,10 +69,11 @@ case Bytecodes::_new: // (Could actually look at the class here, but the profit would be small.) return false; // the rewrite is not always done - } - // No other special cases. - return true; + default: + // No other special cases. + return true; + } } Bytecodes::Code Bytecodes::code_at(Method* method, int bci) { @@ -118,9 +119,10 @@ // return -1 otherwise return (len > 0 && len == (int)len) ? len : -1; } + default: + // Note: Length functions must return <=0 for invalid bytecodes. + return 0; } - // Note: Length functions must return <=0 for invalid bytecodes. - return 0; } // At a breakpoint instruction, this returns the breakpoint's length, --- old/src/share/vm/interpreter/invocationCounter.cpp 2017-07-03 08:28:20.000000000 -0700 +++ new/src/share/vm/interpreter/invocationCounter.cpp 2017-07-03 08:28:20.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -87,18 +87,20 @@ switch (state) { case wait_for_nothing : return "wait_for_nothing"; case wait_for_compile : return "wait_for_compile"; + default: + ShouldNotReachHere(); + return NULL; } - ShouldNotReachHere(); - return NULL; } const char* InvocationCounter::state_as_short_string(State state) { switch (state) { case wait_for_nothing : return "not comp."; case wait_for_compile : return "compileable"; + default: + ShouldNotReachHere(); + return NULL; } - ShouldNotReachHere(); - return NULL; } --- old/src/share/vm/interpreter/linkResolver.cpp 2017-07-03 08:28:21.000000000 -0700 +++ new/src/share/vm/interpreter/linkResolver.cpp 2017-07-03 08:28:21.000000000 -0700 @@ -219,11 +219,12 @@ #ifndef PRODUCT void CallInfo::print() { ResourceMark rm; - const char* kindstr = "unknown"; + const char* kindstr; switch (_call_kind) { - case direct_call: kindstr = "direct"; break; - case vtable_call: kindstr = "vtable"; break; - case itable_call: kindstr = "itable"; break; + case direct_call: kindstr = "direct"; break; + case vtable_call: kindstr = "vtable"; break; + case itable_call: kindstr = "itable"; break; + default : kindstr = "unknown"; break; } tty->print_cr("Call %s@%d %s", kindstr, _call_index, _resolved_method.is_null() ? "(none)" : _resolved_method->name_and_sig_as_C_string()); @@ -1570,6 +1571,7 @@ case Bytecodes::_invokehandle : resolve_invokehandle (result, pool, index, CHECK); break; case Bytecodes::_invokedynamic : resolve_invokedynamic (result, pool, index, CHECK); break; case Bytecodes::_invokeinterface: resolve_invokeinterface(result, recv, pool, index, CHECK); break; + default : break; } return; } @@ -1598,6 +1600,7 @@ break; default: fatal("bad call: %s", Bytecodes::name(byte)); + break; } } --- old/src/share/vm/interpreter/rewriter.cpp 2017-07-03 08:28:22.000000000 -0700 +++ new/src/share/vm/interpreter/rewriter.cpp 2017-07-03 08:28:21.000000000 -0700 @@ -140,6 +140,9 @@ THROW_MSG(vmSymbols::java_lang_IncompatibleClassChangeError(), "can't overwrite local 0 in Object."); break; + + default: + break; } } } @@ -467,6 +470,8 @@ case Bytecodes::_jsr_w : nof_jsrs++; break; case Bytecodes::_monitorenter : // fall through case Bytecodes::_monitorexit : has_monitor_bytecodes = true; break; + + default: break; } } } --- old/src/share/vm/jvmci/jvmciCompilerToVM.cpp 2017-07-03 08:28:22.000000000 -0700 +++ new/src/share/vm/jvmci/jvmciCompilerToVM.cpp 2017-07-03 08:28:22.000000000 -0700 @@ -599,10 +599,14 @@ break; } - case Bytecodes::_invokedynamic: + case Bytecodes::_invokedynamic: { int cp_index = Bytes::get_native_u4((address) reconstituted_code->byte_at_addr(bci + 1)); Bytes::put_Java_u4((address) reconstituted_code->byte_at_addr(bci + 1), (u4) cp_index); break; + } + + default: + break; } // Not all ldc byte code are rewritten. @@ -622,6 +626,9 @@ Bytes::put_Java_u2((address) reconstituted_code->byte_at_addr(bci + 1), (u2) cp_index); break; } + + default: + break; } } } @@ -964,7 +971,7 @@ // Only do exact lookup if receiver klass has been linked. Otherwise, // the vtable has not been setup, and the LinkResolver will fail. if (recv_klass->is_array_klass() || - InstanceKlass::cast(recv_klass)->is_linked() && !recv_klass->is_interface()) { + (InstanceKlass::cast(recv_klass)->is_linked() && !recv_klass->is_interface())) { if (resolved->is_interface()) { m = LinkResolver::resolve_interface_call_or_null(recv_klass, link_info); } else { @@ -1239,7 +1246,9 @@ case T_SHORT: value->s = (jshort) value->i; break; - } + default: + break; + } oop o = java_lang_boxing_object::create(jap.get_ret_type(), value, CHECK_NULL); return JNIHandles::make_local(THREAD, o); } --- old/src/share/vm/jvmci/jvmciEnv.cpp 2017-07-03 08:28:23.000000000 -0700 +++ new/src/share/vm/jvmci/jvmciEnv.cpp 2017-07-03 08:28:23.000000000 -0700 @@ -357,6 +357,8 @@ } } break; + default: + break; } } @@ -604,4 +606,3 @@ return result; } - --- old/src/share/vm/libadt/dict.cpp 2017-07-03 08:28:24.000000000 -0700 +++ new/src/share/vm/libadt/dict.cpp 2017-07-03 08:28:24.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -70,7 +70,7 @@ _size = 16; // Size is a power of 2 _cnt = 0; // Dictionary is empty _bin = (bucket*)_arena->Amalloc_4(sizeof(bucket)*_size); - memset(_bin,0,sizeof(bucket)*_size); + memset((void*)_bin,0,sizeof(bucket)*_size); } Dict::Dict(CmpKey initcmp, Hash inithash, Arena *arena, int size) @@ -91,7 +91,7 @@ _size = i; // Size is a power of 2 _cnt = 0; // Dictionary is empty _bin = (bucket*)_arena->Amalloc_4(sizeof(bucket)*_size); - memset(_bin,0,sizeof(bucket)*_size); + memset((void*)_bin,0,sizeof(bucket)*_size); } //------------------------------~Dict------------------------------------------ @@ -127,7 +127,7 @@ uint oldsize = _size; _size <<= 1; // Double in size _bin = (bucket*)_arena->Arealloc(_bin, sizeof(bucket) * oldsize, sizeof(bucket) * _size); - memset(&_bin[oldsize], 0, oldsize * sizeof(bucket)); + memset((void*)(&_bin[oldsize]), 0, oldsize * sizeof(bucket)); // Rehash things to spread into new table for (uint i = 0; i < oldsize; i++) { // For complete OLD table do bucket *b = &_bin[i]; // Handy shortcut for _bin[i] @@ -163,7 +163,7 @@ // Deep copy a dictionary. Dict::Dict( const Dict &d ) : _size(d._size), _cnt(d._cnt), _hash(d._hash),_cmp(d._cmp), _arena(d._arena) { _bin = (bucket*)_arena->Amalloc_4(sizeof(bucket)*_size); - memcpy( _bin, d._bin, sizeof(bucket)*_size ); + memcpy( (void*)_bin, (void*)d._bin, sizeof(bucket)*_size ); for( uint i=0; i<_size; i++ ) { if( !_bin[i]._keyvals ) continue; _bin[i]._keyvals=(void**)_arena->Amalloc_4( sizeof(void *)*_bin[i]._max*2); @@ -177,7 +177,7 @@ if( _size < d._size ) { // If must have more buckets _arena = d._arena; _bin = (bucket*)_arena->Arealloc( _bin, sizeof(bucket)*_size, sizeof(bucket)*d._size ); - memset( &_bin[_size], 0, (d._size-_size)*sizeof(bucket) ); + memset( (void*)(&_bin[_size]), 0, (d._size-_size)*sizeof(bucket) ); _size = d._size; } uint i; --- old/src/share/vm/logging/logFileOutput.cpp 2017-07-03 08:28:25.000000000 -0700 +++ new/src/share/vm/logging/logFileOutput.cpp 2017-07-03 08:28:24.000000000 -0700 @@ -191,7 +191,7 @@ success = Arguments::atojulong(value_str, &value); if (!success || (value > SIZE_MAX)) { errstream->print_cr("Invalid option: %s must be in range [0, " - SIZE_FORMAT "]", FileSizeOptionKey, SIZE_MAX); + SIZE_FORMAT "]", FileSizeOptionKey, (size_t)SIZE_MAX); success = false; break; } @@ -436,4 +436,3 @@ byte_size_in_proper_unit(_rotate_size), proper_unit_for_byte_size(_rotate_size)); } - --- old/src/share/vm/memory/binaryTreeDictionary.cpp 2017-07-03 08:28:25.000000000 -0700 +++ new/src/share/vm/memory/binaryTreeDictionary.cpp 2017-07-03 08:28:25.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -45,9 +45,6 @@ //////////////////////////////////////////////////////////////////////////////// template -size_t TreeChunk::_min_tree_chunk_size = sizeof(TreeChunk)/HeapWordSize; - -template TreeChunk* TreeChunk::as_TreeChunk(Chunk_t* fc) { // Do some assertion checking here. return (TreeChunk*) fc; --- old/src/share/vm/memory/binaryTreeDictionary.hpp 2017-07-03 08:28:26.000000000 -0700 +++ new/src/share/vm/memory/binaryTreeDictionary.hpp 2017-07-03 08:28:26.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -163,15 +163,17 @@ Chunk_t* prev() const { return Chunk_t::prev(); } size_t size() const volatile { return Chunk_t::size(); } - static size_t min_size() { - return _min_tree_chunk_size; - } + static size_t min_size(); // debugging void verify_tree_chunk_list() const; void assert_is_mangled() const; }; +template +size_t TreeChunk::_min_tree_chunk_size = sizeof(TreeChunk)/HeapWordSize; +template +size_t TreeChunk::min_size() { return _min_tree_chunk_size; } template class BinaryTreeDictionary: public FreeBlockDictionary { --- old/src/share/vm/memory/filemap.cpp 2017-07-03 08:28:27.000000000 -0700 +++ new/src/share/vm/memory/filemap.cpp 2017-07-03 08:28:27.000000000 -0700 @@ -150,7 +150,7 @@ FileMapInfo::FileMapInfo() { assert(_current_info == NULL, "must be singleton"); // not thread safe _current_info = this; - memset(this, 0, sizeof(FileMapInfo)); + memset((void*)this, 0, sizeof(FileMapInfo)); _file_offset = 0; _file_open = false; _header = SharedClassUtil::allocate_file_map_header(); --- old/src/share/vm/memory/universe.cpp 2017-07-03 08:28:28.000000000 -0700 +++ new/src/share/vm/memory/universe.cpp 2017-07-03 08:28:28.000000000 -0700 @@ -873,10 +873,10 @@ return "Non-zero disjoint base"; case HeapBasedNarrowOop: return "Non-zero based"; + default: + ShouldNotReachHere(); + return ""; } - - ShouldNotReachHere(); - return ""; } --- old/src/share/vm/oops/constantPool.cpp 2017-07-03 08:28:28.000000000 -0700 +++ new/src/share/vm/oops/constantPool.cpp 2017-07-03 08:28:28.000000000 -0700 @@ -1738,7 +1738,7 @@ assert(size + ent_size <= cpool_size, "Size mismatch"); *bytes = tag; - DBG(printf("#%03hd tag=%03hd, ", idx, tag)); + DBG(printf("#%03hd tag=%03hd, ", (short)idx, (short)tag)); switch(tag) { case JVM_CONSTANT_Invalid: { DBG(printf("JVM_CONSTANT_Invalid")); --- old/src/share/vm/oops/cpCache.cpp 2017-07-03 08:28:29.000000000 -0700 +++ new/src/share/vm/oops/cpCache.cpp 2017-07-03 08:28:29.000000000 -0700 @@ -389,6 +389,8 @@ case Bytecodes::_invokedynamic: assert(f1->is_method(), ""); return (Method*)f1; + default: + break; } } } @@ -409,6 +411,8 @@ } } break; + default: + break; } } return NULL; --- old/src/share/vm/oops/generateOopMap.cpp 2017-07-03 08:28:30.000000000 -0700 +++ new/src/share/vm/oops/generateOopMap.cpp 2017-07-03 08:28:30.000000000 -0700 @@ -237,6 +237,8 @@ case Bytecodes::_jsr_w: add_jsr(i.next_bci(), i.dest_w()); break; + default: + break; } } } @@ -430,6 +432,8 @@ assert(!fellThrough, "should not happen"); bb_mark_fct(this, bci + Bytecodes::length_for(bytecode), NULL); break; + default: + break; } if (possible_gc_point(&bcs)) @@ -489,6 +493,8 @@ assert(!fell_through, "should not happen"); reachable_basicblock(this, bci + Bytecodes::length_for(bytecode), &change); break; + default: + break; } if (fell_through) { // Mark successor as alive @@ -1187,6 +1193,9 @@ return; } break; + + default: + break; } if (_has_exceptions) { @@ -1272,24 +1281,38 @@ void GenerateOopMap::print_current_state(outputStream *os, BytecodeStream *currentBC, bool detailed) { - if (detailed) { os->print(" %4d vars = ", currentBC->bci()); print_states(os, vars(), _max_locals); os->print(" %s", Bytecodes::name(currentBC->code())); - switch(currentBC->code()) { - case Bytecodes::_invokevirtual: - case Bytecodes::_invokespecial: - case Bytecodes::_invokestatic: - case Bytecodes::_invokedynamic: - case Bytecodes::_invokeinterface: - int idx = currentBC->has_index_u4() ? currentBC->get_index_u4() : currentBC->get_index_u2_cpcache(); - ConstantPool* cp = method()->constants(); - int nameAndTypeIdx = cp->name_and_type_ref_index_at(idx); - int signatureIdx = cp->signature_ref_index_at(nameAndTypeIdx); - Symbol* signature = cp->symbol_at(signatureIdx); - os->print("%s", signature->as_C_string()); + } else { + os->print(" %4d vars = '%s' ", currentBC->bci(), state_vec_to_string(vars(), _max_locals)); + os->print(" stack = '%s' ", state_vec_to_string(stack(), _stack_top)); + if (_monitor_top != bad_monitors) { + os->print(" monitors = '%s' \t%s", state_vec_to_string(monitors(), _monitor_top), Bytecodes::name(currentBC->code())); + } else { + os->print(" [bad monitor stack]"); + } + } + + switch(currentBC->code()) { + case Bytecodes::_invokevirtual: + case Bytecodes::_invokespecial: + case Bytecodes::_invokestatic: + case Bytecodes::_invokedynamic: + case Bytecodes::_invokeinterface: { + int idx = currentBC->has_index_u4() ? currentBC->get_index_u4() : currentBC->get_index_u2_cpcache(); + ConstantPool* cp = method()->constants(); + int nameAndTypeIdx = cp->name_and_type_ref_index_at(idx); + int signatureIdx = cp->signature_ref_index_at(nameAndTypeIdx); + Symbol* signature = cp->symbol_at(signatureIdx); + os->print("%s", signature->as_C_string()); } + default: + break; + } + + if (detailed) { os->cr(); os->print(" stack = "); print_states(os, stack(), _stack_top); @@ -1300,30 +1323,9 @@ } else { os->print(" [bad monitor stack]"); } - os->cr(); - } else { - os->print(" %4d vars = '%s' ", currentBC->bci(), state_vec_to_string(vars(), _max_locals)); - os->print(" stack = '%s' ", state_vec_to_string(stack(), _stack_top)); - if (_monitor_top != bad_monitors) { - os->print(" monitors = '%s' \t%s", state_vec_to_string(monitors(), _monitor_top), Bytecodes::name(currentBC->code())); - } else { - os->print(" [bad monitor stack]"); - } - switch(currentBC->code()) { - case Bytecodes::_invokevirtual: - case Bytecodes::_invokespecial: - case Bytecodes::_invokestatic: - case Bytecodes::_invokedynamic: - case Bytecodes::_invokeinterface: - int idx = currentBC->has_index_u4() ? currentBC->get_index_u4() : currentBC->get_index_u2_cpcache(); - ConstantPool* cp = method()->constants(); - int nameAndTypeIdx = cp->name_and_type_ref_index_at(idx); - int signatureIdx = cp->signature_ref_index_at(nameAndTypeIdx); - Symbol* signature = cp->symbol_at(signatureIdx); - os->print("%s", signature->as_C_string()); - } - os->cr(); } + + os->cr(); } // Sets the current state to be the state after executing the @@ -2476,8 +2478,9 @@ case Bytecodes::_astore: *index = itr->get_index(); return true; + default: + return false; } - return false; } bool GenerateOopMap::is_aload(BytecodeStream *itr, int *index) { @@ -2493,8 +2496,10 @@ case Bytecodes::_aload: *index = itr->get_index(); return true; + + default: + return false; } - return false; } --- old/src/share/vm/oops/instanceKlass.cpp 2017-07-03 08:28:31.000000000 -0700 +++ new/src/share/vm/oops/instanceKlass.cpp 2017-07-03 08:28:31.000000000 -0700 @@ -1078,7 +1078,7 @@ void InstanceKlass::call_class_initializer(TRAPS) { if (ReplayCompiles && (ReplaySuppressInitializers == 1 || - ReplaySuppressInitializers >= 2 && class_loader() != NULL)) { + (ReplaySuppressInitializers >= 2 && class_loader() != NULL))) { // Hide the existence of the initializer for the purpose of replaying the compile return; } --- old/src/share/vm/oops/method.cpp 2017-07-03 08:28:32.000000000 -0700 +++ new/src/share/vm/oops/method.cpp 2017-07-03 08:28:32.000000000 -0700 @@ -548,6 +548,9 @@ case Bytecodes::_jsr_w: if( bcs.dest_w() < bcs.next_bci() ) _access_flags.set_has_loops(); break; + + default: + break; } } _access_flags.set_loops_flag_init(); @@ -1388,7 +1391,10 @@ ConstMethod* newcm = newm->constMethod(); int new_const_method_size = newm->constMethod()->size(); - memcpy(newm(), m(), sizeof(Method)); + // This works because the source and target are both Methods. Some compilers + // (e.g., clang) complain that the target vtable pointer will be stomped, + // so cast away newm()'s and m()'s Methodness. + memcpy((void*)newm(), (void*)m(), sizeof(Method)); // Create shallow copy of ConstMethod. memcpy(newcm, m->constMethod(), sizeof(ConstMethod)); @@ -1511,6 +1517,8 @@ klass_id = vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_Math); id = vmIntrinsics::find_id(klass_id, name_id, sig_id, flags); break; + default: + break; } break; @@ -1522,6 +1530,9 @@ if (is_static() != MethodHandles::is_signature_polymorphic_static(id)) id = vmIntrinsics::_none; break; + + default: + break; } if (id != vmIntrinsics::_none) { --- old/src/share/vm/oops/methodData.cpp 2017-07-03 08:28:33.000000000 -0700 +++ new/src/share/vm/oops/methodData.cpp 2017-07-03 08:28:33.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -778,8 +778,9 @@ case Bytecodes::_lookupswitch: case Bytecodes::_tableswitch: return variable_cell_count; + default: + return no_profile_data; } - return no_profile_data; } // Compute the size of the profiling information corresponding to @@ -1047,6 +1048,8 @@ cell_count = MultiBranchData::compute_cell_count(stream); tag = DataLayout::multi_branch_data_tag; break; + default: + break; } assert(tag == DataLayout::multi_branch_data_tag || ((MethodData::profile_arguments() || MethodData::profile_return()) && --- old/src/share/vm/opto/cfgnode.cpp 2017-07-03 08:28:34.000000000 -0700 +++ new/src/share/vm/opto/cfgnode.cpp 2017-07-03 08:28:34.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -520,9 +520,9 @@ // Loop node may have only one input because entry path // is removed in PhaseIdealLoop::Dominators(). assert(!this->is_Loop() || cnt_orig <= 3, "Loop node should have 3 or less inputs"); - if (this->is_Loop() && (del_it == LoopNode::EntryControl || - del_it == 0 && is_unreachable_region(phase)) || - !this->is_Loop() && has_phis && is_unreachable_region(phase)) { + if ((this->is_Loop() && (del_it == LoopNode::EntryControl || + (del_it == 0 && is_unreachable_region(phase)))) || + (!this->is_Loop() && has_phis && is_unreachable_region(phase))) { // Yes, the region will be removed during the next step below. // Cut the backedge input and remove phis since no data paths left. // We don't cut outputs to other nodes here since we need to put them @@ -1688,8 +1688,8 @@ bool is_loop = (r->is_Loop() && r->req() == 3); // Then, check if there is a data loop when phi references itself directly // or through other data nodes. - if (is_loop && !uin->eqv_uncast(in(LoopNode::EntryControl)) || - !is_loop && is_unsafe_data_reference(uin)) { + if ((is_loop && !uin->eqv_uncast(in(LoopNode::EntryControl))) || + (!is_loop && is_unsafe_data_reference(uin))) { // Break this data loop to avoid creation of a dead loop. if (can_reshape) { return top; --- old/src/share/vm/opto/chaitin.cpp 2017-07-03 08:28:35.000000000 -0700 +++ new/src/share/vm/opto/chaitin.cpp 2017-07-03 08:28:35.000000000 -0700 @@ -1300,7 +1300,7 @@ if( iscore < score || (iscore == score && iarea > area && lrgs(lo_score)._was_spilled2) || (iscore == score && iarea == area && - ( (ibound && !bound) || ibound == bound && (icost < cost) )) ) { + ( (ibound && !bound) || (ibound == bound && (icost < cost)) )) ) { lo_score = i; score = iscore; area = iarea; --- old/src/share/vm/opto/compile.cpp 2017-07-03 08:28:36.000000000 -0700 +++ new/src/share/vm/opto/compile.cpp 2017-07-03 08:28:35.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -3404,7 +3404,7 @@ for (uint i = 0; i < in->outcnt(); i++) { Node* u = in->raw_out(i); if (!u->is_SafePoint() || - u->is_Call() && u->as_Call()->has_non_debug_use(n)) { + (u->is_Call() && u->as_Call()->has_non_debug_use(n))) { safe_to_skip = false; } } @@ -3836,9 +3836,8 @@ case T_ADDRESS: return (_v._value.l == other._v._value.l); case T_VOID: return (_v._value.l == other._v._value.l); // jump-table entries case T_METADATA: return (_v._metadata == other._v._metadata); - default: ShouldNotReachHere(); + default: ShouldNotReachHere(); return false; } - return false; } static int type_to_size_in_bytes(BasicType t) { @@ -3853,10 +3852,10 @@ case T_VOID: case T_ADDRESS: case T_OBJECT: return sizeof(jobject); + default: + ShouldNotReachHere(); + return -1; } - - ShouldNotReachHere(); - return -1; } int Compile::ConstantTable::qsort_comparator(Constant* a, Constant* b) { --- old/src/share/vm/opto/compile.hpp 2017-07-03 08:28:37.000000000 -0700 +++ new/src/share/vm/opto/compile.hpp 2017-07-03 08:28:36.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -95,13 +95,13 @@ public: void set_idx(node_idx_t idx) { - _idx_clone_orig = _idx_clone_orig & CONST64(0xFFFFFFFF00000000) | idx; + _idx_clone_orig = (_idx_clone_orig & CONST64(0xFFFFFFFF00000000)) | idx; } node_idx_t idx() const { return (node_idx_t)(_idx_clone_orig & 0xFFFFFFFF); } void set_gen(int generation) { uint64_t g = (uint64_t)generation << 32; - _idx_clone_orig = _idx_clone_orig & 0xFFFFFFFF | g; + _idx_clone_orig = (_idx_clone_orig & 0xFFFFFFFF) | g; } int gen() const { return (int)(_idx_clone_orig >> 32); } --- old/src/share/vm/opto/connode.cpp 2017-07-03 08:28:37.000000000 -0700 +++ new/src/share/vm/opto/connode.cpp 2017-07-03 08:28:37.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,9 +61,8 @@ // r -XX:+PrintOpto -XX:CIStart=285 -XX:+CompileTheWorld -XX:CompileTheWorldStartAt=660 // %%%% Stop using TypePtr::NULL_PTR to represent nulls: use either TypeRawPtr::NULL_PTR // or else TypeOopPtr::NULL_PTR. Then set Type::_basic_type[AnyPtr] = T_ILLEGAL + default: + ShouldNotReachHere(); + return NULL; } - ShouldNotReachHere(); - return NULL; } - - --- old/src/share/vm/opto/escape.cpp 2017-07-03 08:28:38.000000000 -0700 +++ new/src/share/vm/opto/escape.cpp 2017-07-03 08:28:38.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -512,11 +512,11 @@ if (adr_type == NULL) { break; // skip dead nodes } - if (adr_type->isa_oopptr() || - (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) && - (adr_type == TypeRawPtr::NOTNULL && - adr->in(AddPNode::Address)->is_Proj() && - adr->in(AddPNode::Address)->in(0)->is_Allocate())) { + if ( adr_type->isa_oopptr() + || ( (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) + && adr_type == TypeRawPtr::NOTNULL + && adr->in(AddPNode::Address)->is_Proj() + && adr->in(AddPNode::Address)->in(0)->is_Allocate())) { delayed_worklist->push(n); // Process it later. #ifdef ASSERT assert(adr->is_AddP(), "expecting an AddP"); @@ -725,11 +725,11 @@ opcode == Op_CompareAndExchangeN || opcode == Op_CompareAndExchangeP) { add_local_var_and_edge(n, PointsToNode::NoEscape, adr, NULL); } - if (adr_type->isa_oopptr() || - (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) && - (adr_type == TypeRawPtr::NOTNULL && - adr->in(AddPNode::Address)->is_Proj() && - adr->in(AddPNode::Address)->in(0)->is_Allocate())) { + if ( adr_type->isa_oopptr() + || ( (opcode == Op_StoreP || opcode == Op_StoreN || opcode == Op_StoreNKlass) + && adr_type == TypeRawPtr::NOTNULL + && adr->in(AddPNode::Address)->is_Proj() + && adr->in(AddPNode::Address)->in(0)->is_Allocate())) { // Point Address to Value PointsToNode* adr_ptn = ptnode_adr(adr->_idx); assert(adr_ptn != NULL && @@ -1964,8 +1964,8 @@ bool set2_has_unknown_ptr = ptn2->points_to(phantom_obj); bool set1_has_null_ptr = ptn1->points_to(null_obj); bool set2_has_null_ptr = ptn2->points_to(null_obj); - if (set1_has_unknown_ptr && set2_has_null_ptr || - set2_has_unknown_ptr && set1_has_null_ptr) { + if ((set1_has_unknown_ptr && set2_has_null_ptr) || + (set2_has_unknown_ptr && set1_has_null_ptr)) { // Check nullness of unknown object. return NULL; } @@ -2624,7 +2624,7 @@ continue; } tp = use->as_MemBar()->adr_type()->isa_ptr(); - if (tp != NULL && C->get_alias_index(tp) == alias_idx || + if ((tp != NULL && C->get_alias_index(tp) == alias_idx) || alias_idx == general_idx) { continue; // Nothing to do } --- old/src/share/vm/opto/gcm.cpp 2017-07-03 08:28:39.000000000 -0700 +++ new/src/share/vm/opto/gcm.cpp 2017-07-03 08:28:39.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -512,7 +512,7 @@ #ifdef ASSERT if (load_alias_idx == Compile::AliasIdxBot && C->AliasLevel() > 0 && (PrintOpto || VerifyAliases || - PrintMiscellaneous && (WizardMode || Verbose))) { + (PrintMiscellaneous && (WizardMode || Verbose)))) { // Load nodes should not consume all of memory. // Reporting a bottom type indicates a bug in adlc. // If some particular type of node validly consumes all of memory, @@ -931,7 +931,7 @@ Node *n; // Walk over all the nodes from last to first - while (n = iter.next()) { + while ((n = iter.next())) { // Set the latency for the definitions of this instruction partial_latency_of_defs(n); } @@ -1206,7 +1206,7 @@ Node *self; // Walk over all the nodes from last to first - while (self = iter.next()) { + while ((self = iter.next())) { Block* early = get_block_for_node(self); // Earliest legal placement if (self->is_top()) { @@ -1234,7 +1234,7 @@ early->add_inst(self); continue; break; - case Op_CheckCastPP: + case Op_CheckCastPP: { // Don't move CheckCastPP nodes away from their input, if the input // is a rawptr (5071820). Node *def = self->in(1); @@ -1247,6 +1247,9 @@ } break; } + default: + break; + } } // Gather LCA of all uses --- old/src/share/vm/opto/graphKit.cpp 2017-07-03 08:28:40.000000000 -0700 +++ new/src/share/vm/opto/graphKit.cpp 2017-07-03 08:28:40.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -584,6 +584,8 @@ ex_obj = env()->ClassCastException_instance(); } break; + default: + break; } if (failing()) { stop(); return; } // exception allocation might fail if (ex_obj != NULL) { @@ -821,7 +823,7 @@ if (cur_method != NULL && cur_bci != InvocationEntryBci) { Bytecodes::Code code = cur_method->java_code_at_bci(cur_bci); return Interpreter::bytecode_should_reexecute(code) || - is_anewarray && code == Bytecodes::_multianewarray; + (is_anewarray && code == Bytecodes::_multianewarray); // Reexecute _multianewarray bytecode which was replaced with // sequence of [a]newarray. See Parse::do_multianewarray(). // @@ -1106,6 +1108,7 @@ case Bytecodes::_aload_0: assert(inputs == 0 && outputs == 1, ""); break; case Bytecodes::_return: assert(inputs == 0 && outputs == 0, ""); break; case Bytecodes::_drem: assert(inputs == 4 && outputs == 2, ""); break; + default: break; } #endif //ASSERT @@ -1500,7 +1503,7 @@ ld = LoadNode::make(_gvn, ctl, mem, adr, adr_type, t, bt, mo, control_dependency, unaligned, mismatched); } ld = _gvn.transform(ld); - if ((bt == T_OBJECT) && C->do_escape_analysis() || C->eliminate_boxing()) { + if (((bt == T_OBJECT) && C->do_escape_analysis()) || C->eliminate_boxing()) { // Improve graph before escape analysis and boxing elimination. record_for_igvn(ld); } @@ -2024,14 +2027,14 @@ case Deoptimization::Action_make_not_entrant: C->set_trap_can_recompile(true); break; -#ifdef ASSERT case Deoptimization::Action_none: case Deoptimization::Action_make_not_compilable: break; default: +#ifdef ASSERT fatal("unknown action %d: %s", action, Deoptimization::trap_action_name(action)); - break; #endif + break; } if (TraceOptoParse) { --- old/src/share/vm/opto/ifg.cpp 2017-07-03 08:28:41.000000000 -0700 +++ new/src/share/vm/opto/ifg.cpp 2017-07-03 08:28:41.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -48,7 +48,7 @@ _adjs = (IndexSet*)_arena->Amalloc(sizeof(IndexSet)*maxlrg); // Also make empty live range structures _lrgs = (LRG *)_arena->Amalloc( maxlrg * sizeof(LRG) ); - memset(_lrgs,0,sizeof(LRG)*maxlrg); + memset((void*)_lrgs,0,sizeof(LRG)*maxlrg); // Init all to empty for( uint i = 0; i < maxlrg; i++ ) { _adjs[i].initialize(maxlrg); --- old/src/share/vm/opto/ifnode.cpp 2017-07-03 08:28:42.000000000 -0700 +++ new/src/share/vm/opto/ifnode.cpp 2017-07-03 08:28:42.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -672,6 +672,8 @@ // lo unchanged hi = TypeInt::INT->_hi; break; + default: + break; } const TypeInt* rtn_t = TypeInt::make(lo, hi, cmp2_t->_widen); return rtn_t; --- old/src/share/vm/opto/lcm.cpp 2017-07-03 08:28:43.000000000 -0700 +++ new/src/share/vm/opto/lcm.cpp 2017-07-03 08:28:42.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -224,7 +224,7 @@ continue; // Not an memory op; skip it } if (val == base || - val == index && val->bottom_type()->isa_narrowoop()) { + (val == index && val->bottom_type()->isa_narrowoop())) { break; // Found it } else { continue; // Skip it --- old/src/share/vm/opto/library_call.cpp 2017-07-03 08:28:43.000000000 -0700 +++ new/src/share/vm/opto/library_call.cpp 2017-07-03 08:28:43.000000000 -0700 @@ -1991,6 +1991,8 @@ case BoolTest::gt: // x > y case BoolTest::ge: // x >= y return (want_max ? xvalue : yvalue); + default: + break; } } } @@ -2624,6 +2626,8 @@ val = ConvL2X(val); val = _gvn.transform(new CastX2PNode(val)); break; + default: + break; } if (type == T_OBJECT) { @@ -6183,6 +6187,8 @@ stubAddr = StubRoutines::aescrypt_decryptBlock(); stubName = "aescrypt_decryptBlock"; break; + default: + break; } if (stubAddr == NULL) return false; @@ -6250,6 +6256,8 @@ stubAddr = StubRoutines::cipherBlockChaining_decryptAESCrypt(); stubName = "cipherBlockChaining_decryptAESCrypt"; break; + default: + break; } if (stubAddr == NULL) return false; --- old/src/share/vm/opto/live.cpp 2017-07-03 08:28:44.000000000 -0700 +++ new/src/share/vm/opto/live.cpp 2017-07-03 08:28:44.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -347,18 +347,18 @@ } } } else if( check->bottom_type()->is_ptr()->_offset == 0 ) { - if(check->is_Proj() || check->is_Mach() && + if(check->is_Proj() || (check->is_Mach() && (check->as_Mach()->ideal_Opcode() == Op_CreateEx || check->as_Mach()->ideal_Opcode() == Op_ThreadLocal || check->as_Mach()->ideal_Opcode() == Op_CMoveP || check->as_Mach()->ideal_Opcode() == Op_CheckCastPP || #ifdef _LP64 - UseCompressedOops && check->as_Mach()->ideal_Opcode() == Op_CastPP || - UseCompressedOops && check->as_Mach()->ideal_Opcode() == Op_DecodeN || - UseCompressedClassPointers && check->as_Mach()->ideal_Opcode() == Op_DecodeNKlass || + (UseCompressedOops && check->as_Mach()->ideal_Opcode() == Op_CastPP) || + (UseCompressedOops && check->as_Mach()->ideal_Opcode() == Op_DecodeN) || + (UseCompressedClassPointers && check->as_Mach()->ideal_Opcode() == Op_DecodeNKlass) || #endif check->as_Mach()->ideal_Opcode() == Op_LoadP || - check->as_Mach()->ideal_Opcode() == Op_LoadKlass)) { + check->as_Mach()->ideal_Opcode() == Op_LoadKlass))) { // Valid nodes } else { check->dump(); --- old/src/share/vm/opto/loopPredicate.cpp 2017-07-03 08:28:45.000000000 -0700 +++ new/src/share/vm/opto/loopPredicate.cpp 2017-07-03 08:28:45.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -662,9 +662,13 @@ if (offset && (!offset->is_Con() || offset->get_int() != 0)){ max_idx_expr = new AddINode(max_idx_expr, offset); register_new_node(max_idx_expr, ctrl); - if (TraceLoopPredicate) - if (offset->is_Con()) predString->print("+ %d ", offset->get_int()); - else predString->print("+ offset "); + if (TraceLoopPredicate) { + if (offset->is_Con()) { + predString->print("+ %d ", offset->get_int()); + } else { + predString->print("+ offset "); + } + } } CmpUNode* cmp = new CmpUNode(max_idx_expr, range); --- old/src/share/vm/opto/loopTransform.cpp 2017-07-03 08:28:46.000000000 -0700 +++ new/src/share/vm/opto/loopTransform.cpp 2017-07-03 08:28:46.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -208,7 +208,7 @@ // inv1 - (x + inv2) => ( inv1 - inv2) - x // Node* IdealLoopTree::reassociate_add_sub(Node* n1, PhaseIdealLoop *phase) { - if (!n1->is_Add() && !n1->is_Sub() || n1->outcnt() == 0) return NULL; + if ((!n1->is_Add() && !n1->is_Sub()) || n1->outcnt() == 0) return NULL; if (is_invariant(n1)) return NULL; int inv1_idx = is_invariant_addition(n1, phase); if (!inv1_idx) return NULL; @@ -729,8 +729,8 @@ // After unroll limit will be adjusted: new_limit = limit-stride. // Bailout if adjustment overflow. const TypeInt* limit_type = phase->_igvn.type(limit_n)->is_int(); - if (stride_con > 0 && ((limit_type->_hi - stride_con) >= limit_type->_hi) || - stride_con < 0 && ((limit_type->_lo - stride_con) <= limit_type->_lo)) + if ((stride_con > 0 && ((limit_type->_hi - stride_con) >= limit_type->_hi)) || + (stride_con < 0 && ((limit_type->_lo - stride_con) <= limit_type->_lo))) return false; // overflow // Adjust body_size to determine if we unroll or not @@ -1413,7 +1413,7 @@ loop->dump_head(); } - if (C->do_vector_loop() && (PrintOpto && VerifyLoopOptimizations || TraceLoopOpts)) { + if (C->do_vector_loop() && (PrintOpto && (VerifyLoopOptimizations || TraceLoopOpts))) { Arena* arena = Thread::current()->resource_area(); Node_Stack stack(arena, C->live_nodes() >> 2); Node_List rpo_list; @@ -1516,8 +1516,8 @@ limit = new Opaque2Node( C, limit ); register_new_node( limit, opaq_ctrl ); } - if (stride_con > 0 && (java_subtract(limit_type->_lo, stride_con) < limit_type->_lo) || - stride_con < 0 && (java_subtract(limit_type->_hi, stride_con) > limit_type->_hi)) { + if ((stride_con > 0 && (java_subtract(limit_type->_lo, stride_con) < limit_type->_lo)) || + (stride_con < 0 && (java_subtract(limit_type->_hi, stride_con) > limit_type->_hi))) { // No underflow. new_limit = new SubINode(limit, stride); } else { @@ -1652,7 +1652,7 @@ loop->record_for_igvn(); #ifndef PRODUCT - if (C->do_vector_loop() && (PrintOpto && VerifyLoopOptimizations || TraceLoopOpts)) { + if (C->do_vector_loop() && (PrintOpto && (VerifyLoopOptimizations || TraceLoopOpts))) { tty->print("\nnew loop after unroll\n"); loop->dump_head(); for (uint i = 0; i < loop->_body.size(); i++) { loop->_body.at(i)->dump(); --- old/src/share/vm/opto/loopnode.cpp 2017-07-03 08:28:47.000000000 -0700 +++ new/src/share/vm/opto/loopnode.cpp 2017-07-03 08:28:47.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -385,8 +385,8 @@ // Phi must be of loop header; backedge must wrap to increment if (phi->region() != x) return false; - if (trunc1 == NULL && phi->in(LoopNode::LoopBackControl) != incr || - trunc1 != NULL && phi->in(LoopNode::LoopBackControl) != trunc1) { + if ((trunc1 == NULL && phi->in(LoopNode::LoopBackControl) != incr) || + (trunc1 != NULL && phi->in(LoopNode::LoopBackControl) != trunc1)) { return false; } Node *init_trip = phi->in(LoopNode::EntryControl); @@ -430,11 +430,11 @@ // through MININT to MAXINT, then bail out. if (bt == BoolTest::eq || // Bail out, but this loop trips at most twice! // Odd stride - bt == BoolTest::ne && stride_con != 1 && stride_con != -1 || + (bt == BoolTest::ne && stride_con != 1 && stride_con != -1) || // Count down loop rolls through MAXINT - (bt == BoolTest::le || bt == BoolTest::lt) && stride_con < 0 || + ((bt == BoolTest::le || bt == BoolTest::lt) && stride_con < 0) || // Count up loop rolls through MININT - (bt == BoolTest::ge || bt == BoolTest::gt) && stride_con > 0) { + ((bt == BoolTest::ge || bt == BoolTest::gt) && stride_con > 0)) { return false; // Bail out } --- old/src/share/vm/opto/loopopts.cpp 2017-07-03 08:28:48.000000000 -0700 +++ new/src/share/vm/opto/loopopts.cpp 2017-07-03 08:28:48.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1910,7 +1910,7 @@ } BoolNode* bl = iff->in(1)->as_Bool(); Node* cmp = bl->in(1); - if (!cmp || cmp->Opcode() != Op_CmpI && cmp->Opcode() != Op_CmpU) { + if (!cmp || (cmp->Opcode() != Op_CmpI && cmp->Opcode() != Op_CmpU)) { return 0; } // Must have an invariant operand --- old/src/share/vm/opto/macro.cpp 2017-07-03 08:28:49.000000000 -0700 +++ new/src/share/vm/opto/macro.cpp 2017-07-03 08:28:49.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1359,7 +1359,7 @@ } if (C->env()->dtrace_alloc_probes() || - !UseTLAB && (!Universe::heap()->supports_inline_contig_alloc())) { + (!UseTLAB && !Universe::heap()->supports_inline_contig_alloc())) { // Force slow-path allocation always_slow = true; initial_slow_test = NULL; --- old/src/share/vm/opto/matcher.cpp 2017-07-03 08:28:50.000000000 -0700 +++ new/src/share/vm/opto/matcher.cpp 2017-07-03 08:28:49.000000000 -0700 @@ -1679,14 +1679,14 @@ } const Type* mach_at = mach->adr_type(); // DecodeN node consumed by an address may have different type - // then its input. Don't compare types for such case. + // than its input. Don't compare types for such case. if (m->adr_type() != mach_at && (m->in(MemNode::Address)->is_DecodeNarrowPtr() || - m->in(MemNode::Address)->is_AddP() && - m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr() || - m->in(MemNode::Address)->is_AddP() && - m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() && - m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr())) { + (m->in(MemNode::Address)->is_AddP() && + m->in(MemNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()) || + (m->in(MemNode::Address)->is_AddP() && + m->in(MemNode::Address)->in(AddPNode::Address)->is_AddP() && + m->in(MemNode::Address)->in(AddPNode::Address)->in(AddPNode::Address)->is_DecodeNarrowPtr()))) { mach_at = m->adr_type(); } if (m->adr_type() != mach_at) { --- old/src/share/vm/opto/memnode.cpp 2017-07-03 08:28:50.000000000 -0700 +++ new/src/share/vm/opto/memnode.cpp 2017-07-03 08:28:50.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -203,10 +203,10 @@ assert(mphi->bottom_type() == Type::MEMORY, "memory phi required"); const TypePtr *t = mphi->adr_type(); if (t == TypePtr::BOTTOM || t == TypeRawPtr::BOTTOM || - t->isa_oopptr() && !t->is_oopptr()->is_known_instance() && - t->is_oopptr()->cast_to_exactness(true) - ->is_oopptr()->cast_to_ptr_type(t_oop->ptr()) - ->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop) { + (t->isa_oopptr() && !t->is_oopptr()->is_known_instance() && + t->is_oopptr()->cast_to_exactness(true) + ->is_oopptr()->cast_to_ptr_type(t_oop->ptr()) + ->is_oopptr()->cast_to_instance_id(t_oop->instance_id()) == t_oop)) { // clone the Phi with our address type result = mphi->split_out_instance(t_adr, igvn); } else { @@ -319,7 +319,7 @@ if (can_reshape && igvn != NULL && (igvn->_worklist.member(address) || - igvn->_worklist.size() > 0 && (t_adr != adr_type())) ) { + (igvn->_worklist.size() > 0 && t_adr != adr_type())) ) { // The address's base and type may change when the address is processed. // Delay this mem node transformation until the address is processed. phase->is_IterGVN()->_worklist.push(this); @@ -819,6 +819,9 @@ load = new LoadPNode(ctl, mem, adr, adr_type, rt->is_ptr(), mo, control_dependency); } break; + default: + // ShouldNotReachHere(); ??? + break; } assert(load != NULL, "LoadNode should have been created"); if (unaligned) { @@ -1201,7 +1204,7 @@ // of the original value. It is done in split_through_phi(). return NULL; } else if (base->is_Load() || - base->is_DecodeN() && base->in(1)->is_Load()) { + (base->is_DecodeN() && base->in(1)->is_Load())) { // Eliminate the load of boxed value for integer types from the cache // array by deriving the value from the index into the array. // Capture the offset of the load and then reverse the computation. @@ -1225,10 +1228,10 @@ Node* elements[4]; int shift = exact_log2(type2aelembytes(T_OBJECT)); int count = address->unpack_offsets(elements, ARRAY_SIZE(elements)); - if ((count > 0) && elements[0]->is_Con() && - ((count == 1) || - (count == 2) && elements[1]->Opcode() == Op_LShiftX && - elements[1]->in(2) == phase->intcon(shift))) { + if (count > 0 && elements[0]->is_Con() && + (count == 1 || + (count == 2 && elements[1]->Opcode() == Op_LShiftX && + elements[1]->in(2) == phase->intcon(shift)))) { ciObjArray* array = base_type->const_oop()->as_obj_array(); // Fetch the box object cache[0] at the base of the array and get its value ciInstance* box = array->obj_at(0)->as_instance(); @@ -2362,9 +2365,10 @@ { return new StorePNode(ctl, mem, adr, adr_type, val, mo); } + default: + ShouldNotReachHere(); + return (StoreNode*)NULL; } - ShouldNotReachHere(); - return (StoreNode*)NULL; } StoreLNode* StoreLNode::make_atomic(Node* ctl, Node* mem, Node* adr, const TypePtr* adr_type, Node* val, MemOrd mo) { @@ -4304,8 +4308,9 @@ if( base_memory()->is_MergeMem() ) { MergeMemNode *new_mbase = base_memory()->as_MergeMem(); Node *m = phase->transform(new_mbase); // Rollup any cycles - if( m != NULL && (m->is_top() || - m->is_MergeMem() && m->as_MergeMem()->base_memory() == empty_mem) ) { + if( m != NULL && + (m->is_top() || + (m->is_MergeMem() && m->as_MergeMem()->base_memory() == empty_mem)) ) { // propagate rollup of dead cycle to self set_req(Compile::AliasIdxBot, empty_mem); } --- old/src/share/vm/opto/mulnode.cpp 2017-07-03 08:28:51.000000000 -0700 +++ new/src/share/vm/opto/mulnode.cpp 2017-07-03 08:28:51.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -88,9 +88,9 @@ // Check for dead loop int op1 = mul1->Opcode(); if( phase->eqv( mul1, this ) || phase->eqv( in(2), this ) || - ( op1 == mul_opcode() || op1 == add_opcode() ) && - ( phase->eqv( mul1->in(1), this ) || phase->eqv( mul1->in(2), this ) || - phase->eqv( mul1->in(1), mul1 ) || phase->eqv( mul1->in(2), mul1 ) ) ) + ( ( op1 == mul_opcode() || op1 == add_opcode() ) && + ( phase->eqv( mul1->in(1), this ) || phase->eqv( mul1->in(2), this ) || + phase->eqv( mul1->in(1), mul1 ) || phase->eqv( mul1->in(2), mul1 ) ) ) ) assert(false, "dead loop in MulNode::Ideal"); #endif --- old/src/share/vm/opto/output.cpp 2017-07-03 08:28:52.000000000 -0700 +++ new/src/share/vm/opto/output.cpp 2017-07-03 08:28:52.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2719,7 +2719,7 @@ // Kill projections on a branch should appear to occur on the // branch, not afterwards, so grab the masks from the projections // and process them. - if (n->is_MachBranch() || n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_Jump) { + if (n->is_MachBranch() || (n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_Jump)) { for (DUIterator_Fast imax, i = n->fast_outs(imax); i < imax; i++) { Node* use = n->fast_out(i); if (use->is_Proj()) { --- old/src/share/vm/opto/parse1.cpp 2017-07-03 08:28:53.000000000 -0700 +++ new/src/share/vm/opto/parse1.cpp 2017-07-03 08:28:53.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -657,7 +657,7 @@ NOT_PRODUCT(blocks_parsed++); progress = true; - if (block->is_loop_head() || block->is_handler() || has_irreducible && !block->is_ready()) { + if (block->is_loop_head() || block->is_handler() || (has_irreducible && !block->is_ready())) { // Not all preds have been parsed. We must build phis everywhere. // (Note that dead locals do not get phis built, ever.) ensure_phis_everywhere(); @@ -746,6 +746,8 @@ case T_BOOLEAN: v = gvn->transform(new AndINode(v, gvn->intcon(0x1))); break; + default: + break; } return v; } --- old/src/share/vm/opto/parse2.cpp 2017-07-03 08:28:54.000000000 -0700 +++ new/src/share/vm/opto/parse2.cpp 2017-07-03 08:28:54.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -2148,6 +2148,8 @@ case Bytecodes::_ifeq: // If this is a backwards branch in the bytecodes, add Safepoint maybe_add_safepoint(iter().next_get_dest()); + default: + break; } } b = pop_pair(); --- old/src/share/vm/opto/parseHelper.cpp 2017-07-03 08:28:55.000000000 -0700 +++ new/src/share/vm/opto/parseHelper.cpp 2017-07-03 08:28:55.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -283,7 +283,7 @@ assert(will_link, "_new: typeflow responsibility"); // Should initialize, or throw an InstantiationError? - if (!klass->is_initialized() && !klass->is_being_initialized() || + if ((!klass->is_initialized() && !klass->is_being_initialized()) || klass->is_abstract() || klass->is_interface() || klass->name() == ciSymbol::java_lang_Class() || iter().is_unresolved_klass()) { --- old/src/share/vm/opto/phaseX.cpp 2017-07-03 08:28:56.000000000 -0700 +++ new/src/share/vm/opto/phaseX.cpp 2017-07-03 08:28:55.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -395,7 +395,7 @@ // Unlock all nodes upon replacement of table. if (&nh == this) return; if (_table != (Node**)badAddress) clear(); - memcpy(this, &nh, sizeof(*this)); + memcpy((void*)this, (void*)&nh, sizeof(*this)); // Do not increment hash_lock counts again. // Instead, be sure we never again use the source table. ((NodeHash*)&nh)->_table = (Node**)badAddress; @@ -694,6 +694,7 @@ case Type::Top: return (ConNode*) C->top(); case Type::Int: return intcon( t->is_int()->get_con() ); case Type::Long: return longcon( t->is_long()->get_con() ); + default: break; } if (t->is_zero_type()) return zerocon(t->basic_type()); @@ -1675,6 +1676,8 @@ case Type::Long: assert(t0->isa_long()->_widen <= t->isa_long()->_widen, "widen increases"); break; + default: + break; } return true; } --- old/src/share/vm/opto/reg_split.cpp 2017-07-03 08:28:56.000000000 -0700 +++ new/src/share/vm/opto/reg_split.cpp 2017-07-03 08:28:56.000000000 -0700 @@ -80,9 +80,9 @@ int num_regs = RegMask::num_registers(ireg); bool is_vect = RegMask::is_vector(ireg); if( w_mask->overlap( *o_mask ) && // Overlap AND - ((num_regs == 1) // Single use or aligned - || is_vect // or vector - || !is_vect && o_mask->is_aligned_pairs()) ) { + (num_regs == 1 // Single use or aligned + || is_vect // or vector + || (!is_vect && o_mask->is_aligned_pairs())) ) { assert(!is_vect || o_mask->is_aligned_sets(num_regs), "vectors are aligned"); // Don't come here for mis-aligned doubles w_o_mask = w_mask; @@ -1033,7 +1033,7 @@ if( !umask.is_AllStack() && (int)umask.Size() <= lrgs(useidx).num_regs() && (!def->rematerialize() || - !is_vect && umask.is_misaligned_pair())) { + (!is_vect && umask.is_misaligned_pair()))) { // These need a Split regardless of overlap or pressure // SPLIT - NO DEF - NO CISC SPILL maxlrg = split_USE(MachSpillCopyNode::Bound, def,b,n,inpidx,maxlrg,dup,false, splits,slidx); @@ -1188,7 +1188,7 @@ bool is_vect = RegMask::is_vector(ireg); // Only split at Def if this is a HRP block or bound (and spilled once) if( !n->rematerialize() && - (((dmask.is_bound(ireg) || !is_vect && dmask.is_misaligned_pair()) && + (((dmask.is_bound(ireg) || (!is_vect && dmask.is_misaligned_pair())) && (deflrg._direct_conflict || deflrg._must_spill)) || // Check for LRG being up in a register and we are inside a high // pressure area. Spill it down immediately. --- old/src/share/vm/opto/subnode.cpp 2017-07-03 08:28:57.000000000 -0700 +++ new/src/share/vm/opto/subnode.cpp 2017-07-03 08:28:57.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -147,9 +147,9 @@ #ifdef ASSERT // Check for dead loop if( phase->eqv( in1, this ) || phase->eqv( in2, this ) || - ( op1 == Op_AddI || op1 == Op_SubI ) && - ( phase->eqv( in1->in(1), this ) || phase->eqv( in1->in(2), this ) || - phase->eqv( in1->in(1), in1 ) || phase->eqv( in1->in(2), in1 ) ) ) + ( ( op1 == Op_AddI || op1 == Op_SubI ) && + ( phase->eqv( in1->in(1), this ) || phase->eqv( in1->in(2), this ) || + phase->eqv( in1->in(1), in1 ) || phase->eqv( in1->in(2), in1 ) ) ) ) assert(false, "dead loop in SubINode::Ideal"); #endif @@ -277,9 +277,9 @@ #ifdef ASSERT // Check for dead loop if( phase->eqv( in1, this ) || phase->eqv( in2, this ) || - ( op1 == Op_AddL || op1 == Op_SubL ) && - ( phase->eqv( in1->in(1), this ) || phase->eqv( in1->in(2), this ) || - phase->eqv( in1->in(1), in1 ) || phase->eqv( in1->in(2), in1 ) ) ) + ( ( op1 == Op_AddL || op1 == Op_SubL ) && + ( phase->eqv( in1->in(1), this ) || phase->eqv( in1->in(2), this ) || + phase->eqv( in1->in(1), in1 ) || phase->eqv( in1->in(2), in1 ) ) ) ) assert(false, "dead loop in SubLNode::Ideal"); #endif --- old/src/share/vm/opto/superword.cpp 2017-07-03 08:28:58.000000000 -0700 +++ new/src/share/vm/opto/superword.cpp 2017-07-03 08:28:58.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -325,6 +325,9 @@ // buckets for vectors on logicals as these were legacy. small_basic_type = true; break; + + default: + break; } } } @@ -752,13 +755,13 @@ int vw = vector_width_in_bytes(s); assert(vw > 1, "sanity"); SWPointer p(s, this, NULL, false); - if (cmp_ct.at(j) > max_ct || - cmp_ct.at(j) == max_ct && - (vw > max_vw || - vw == max_vw && - (data_size(s) < min_size || - data_size(s) == min_size && - (p.offset_in_bytes() < min_iv_offset)))) { + if ( cmp_ct.at(j) > max_ct || + (cmp_ct.at(j) == max_ct && + ( vw > max_vw || + (vw == max_vw && + ( data_size(s) < min_size || + (data_size(s) == min_size && + p.offset_in_bytes() < min_iv_offset)))))) { max_ct = cmp_ct.at(j); max_vw = vw; max_idx = j; @@ -775,13 +778,13 @@ int vw = vector_width_in_bytes(s); assert(vw > 1, "sanity"); SWPointer p(s, this, NULL, false); - if (cmp_ct.at(j) > max_ct || - cmp_ct.at(j) == max_ct && - (vw > max_vw || - vw == max_vw && - (data_size(s) < min_size || - data_size(s) == min_size && - (p.offset_in_bytes() < min_iv_offset)))) { + if ( cmp_ct.at(j) > max_ct || + (cmp_ct.at(j) == max_ct && + ( vw > max_vw || + (vw == max_vw && + ( data_size(s) < min_size || + (data_size(s) == min_size && + p.offset_in_bytes() < min_iv_offset)))))) { max_ct = cmp_ct.at(j); max_vw = vw; max_idx = j; @@ -925,7 +928,7 @@ // First, assign a dependence node to each memory node for (int i = 0; i < _block.length(); i++ ) { Node *n = _block.at(i); - if (n->is_Mem() || n->is_Phi() && n->bottom_type() == Type::MEMORY) { + if (n->is_Mem() || (n->is_Phi() && n->bottom_type() == Type::MEMORY)) { _dg.make_node(n); } } @@ -1745,8 +1748,8 @@ Node_List* in1_pk = _sw->my_pack(in1); Node_List* in2_pk = _sw->my_pack(in2); - if (in1_pk != NULL && in1_pk->size() != cmpd_pk->size() - || in2_pk != NULL && in2_pk->size() != cmpd_pk->size() ) { + if ( (in1_pk != NULL && in1_pk->size() != cmpd_pk->size()) + || (in2_pk != NULL && in2_pk->size() != cmpd_pk->size()) ) { return false; } @@ -4038,7 +4041,7 @@ _next_idx = 0; _end_idx = _n->outcnt(); _dep_next = dg.dep(_n)->out_head(); - } else if (_n->is_Mem() || _n->is_Phi() && _n->bottom_type() == Type::MEMORY) { + } else if (_n->is_Mem() || (_n->is_Phi() && _n->bottom_type() == Type::MEMORY)) { _next_idx = 0; _end_idx = 0; _dep_next = dg.dep(_n)->out_head(); --- old/src/share/vm/opto/superword.hpp 2017-07-03 08:28:59.000000000 -0700 +++ new/src/share/vm/opto/superword.hpp 2017-07-03 08:28:59.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -599,7 +599,7 @@ // Comparable? int cmp(SWPointer& q) { if (valid() && q.valid() && - (_adr == q._adr || _base == _adr && q._base == q._adr) && + (_adr == q._adr || (_base == _adr && q._base == q._adr)) && _scale == q._scale && _invar == q._invar && _negate_invar == q._negate_invar) { --- old/src/share/vm/opto/type.cpp 2017-07-03 08:29:00.000000000 -0700 +++ new/src/share/vm/opto/type.cpp 2017-07-03 08:28:59.000000000 -0700 @@ -269,9 +269,10 @@ // Invalid ciConstant returned due to OutOfMemoryError in the CI assert(Compile::current()->env()->failing(), "otherwise should not see this"); return NULL; + default: + // Fall through to failure + return NULL; } - // Fall through to failure - return NULL; } static ciConstant check_mismatched_access(ciConstant con, BasicType loadbt, bool is_unsigned) { @@ -279,12 +280,14 @@ switch (conbt) { case T_BOOLEAN: conbt = T_BYTE; break; case T_ARRAY: conbt = T_OBJECT; break; + default: break; } switch (loadbt) { case T_BOOLEAN: loadbt = T_BYTE; break; case T_NARROWOOP: loadbt = T_OBJECT; break; case T_ARRAY: loadbt = T_OBJECT; break; case T_ADDRESS: loadbt = T_OBJECT; break; + default: break; } if (conbt == loadbt) { if (is_unsigned && conbt == T_BYTE) { @@ -1048,10 +1051,11 @@ case FloatBot: case DoubleBot: return false; // never a singleton, therefore never empty - } - ShouldNotReachHere(); - return false; + default: + ShouldNotReachHere(); + return false; + } } //------------------------------dump_stats------------------------------------- @@ -3964,6 +3968,8 @@ st->print(":%s", ptr_msg[_ptr]); if( _klass_is_exact ) st->print(":exact"); break; + default: + break; } if( _offset ) { // Dump offset, if any @@ -4080,6 +4086,9 @@ case T_ILLEGAL: case T_VOID: etype = T_BYTE; // will produce conservatively high value + break; + default: + break; } cache = res = arrayOopDesc::max_array_length(etype); } @@ -4430,6 +4439,8 @@ st->print(":%s", ptr_msg[_ptr]); if( _klass_is_exact ) st->print(":exact"); break; + default: + break; } if( _offset != 0 ) { @@ -5195,6 +5206,8 @@ st->print(":%s", ptr_msg[_ptr]); if( _klass_is_exact ) st->print(":exact"); break; + default: + break; } if( _offset ) { // Dump offset, if any --- old/src/share/vm/opto/vectornode.cpp 2017-07-03 08:29:01.000000000 -0700 +++ new/src/share/vm/opto/vectornode.cpp 2017-07-03 08:29:00.000000000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,8 +39,8 @@ case T_CHAR: case T_SHORT: return Op_AddVS; case T_INT: return Op_AddVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_AddL: assert(bt == T_LONG, "must be"); return Op_AddVL; @@ -57,8 +57,8 @@ case T_CHAR: case T_SHORT: return Op_SubVS; case T_INT: return Op_SubVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_SubL: assert(bt == T_LONG, "must be"); return Op_SubVL; @@ -75,8 +75,8 @@ case T_CHAR: case T_SHORT: return Op_MulVS; case T_INT: return Op_MulVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_MulL: assert(bt == T_LONG, "must be"); return Op_MulVL; @@ -123,8 +123,8 @@ case T_CHAR: case T_SHORT: return Op_LShiftVS; case T_INT: return Op_LShiftVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_LShiftL: assert(bt == T_LONG, "must be"); return Op_LShiftVL; @@ -135,8 +135,8 @@ case T_BYTE: return Op_RShiftVB; case T_SHORT: return Op_RShiftVS; case T_INT: return Op_RShiftVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_RShiftL: assert(bt == T_LONG, "must be"); return Op_RShiftVL; @@ -151,8 +151,8 @@ // a short value into int value with sign // extension before a shift. case T_INT: return Op_URShiftVI; + default: ShouldNotReachHere(); return 0; } - ShouldNotReachHere(); case Op_URShiftL: assert(bt == T_LONG, "must be"); return Op_URShiftVL; @@ -183,8 +183,10 @@ case Op_StoreF: case Op_StoreD: return Op_StoreVector; + + default: + return 0; // Unimplemented } - return 0; // Unimplemented } // Also used to check if the code generator @@ -208,8 +210,9 @@ case Op_URShiftI: case Op_URShiftL: return true; + default: + return false; } - return false; } // Check if input is loop invariant vector. @@ -223,8 +226,9 @@ case Op_ReplicateF: case Op_ReplicateD: return true; + default: + return false; } - return false; } // [Start, end) half-open range defining which operands are vectors @@ -333,10 +337,10 @@ case Op_AndV: return new AndVNode(n1, n2, vt); case Op_OrV: return new OrVNode (n1, n2, vt); case Op_XorV: return new XorVNode(n1, n2, vt); + default: + fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); + return NULL; } - fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); - return NULL; - } VectorNode* VectorNode::make(int opc, Node* n1, Node* n2, Node* n3, uint vlen, BasicType bt) { @@ -347,9 +351,10 @@ switch (vopc) { case Op_FmaVD: return new FmaVDNode(n1, n2, n3, vt); case Op_FmaVF: return new FmaVFNode(n1, n2, n3, vt); + default: + fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); + return NULL; } - fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); - return NULL; } // Scalar promotion @@ -372,9 +377,10 @@ return new ReplicateFNode(s, vt); case T_DOUBLE: return new ReplicateDNode(s, vt); + default: + fatal("Type '%s' is not supported for vectors", type2name(bt)); + return NULL; } - fatal("Type '%s' is not supported for vectors", type2name(bt)); - return NULL; } VectorNode* VectorNode::shift_count(Node* shift, Node* cnt, uint vlen, BasicType bt) { @@ -390,9 +396,10 @@ case Op_URShiftI: case Op_URShiftL: return new RShiftCntVNode(cnt, vt); + default: + fatal("Missed vector creation for '%s'", NodeClassNames[shift->Opcode()]); + return NULL; } - fatal("Missed vector creation for '%s'", NodeClassNames[shift->Opcode()]); - return NULL; } // Return initial Pack node. Additional operands added with add_opd() calls. @@ -413,9 +420,10 @@ return new PackFNode(s, vt); case T_DOUBLE: return new PackDNode(s, vt); + default: + fatal("Type '%s' is not supported for vectors", type2name(bt)); + return NULL; } - fatal("Type '%s' is not supported for vectors", type2name(bt)); - return NULL; } // Create a binary tree form for Packs. [lo, hi) (half-open) range @@ -426,7 +434,6 @@ PackNode* pk = PackNode::make(in(lo), 2, vect_type()->element_basic_type()); pk->add_opd(in(lo+1)); return pk; - } else { int mid = lo + ct/2; PackNode* n1 = binary_tree_pack(lo, mid); @@ -449,10 +456,11 @@ return new PackDNode(n1, n2, TypeVect::make(T_DOUBLE, 2)); case T_DOUBLE: return new Pack2DNode(n1, n2, TypeVect::make(T_DOUBLE, 2)); + default: + fatal("Type '%s' is not supported for vectors", type2name(bt)); + return NULL; } - fatal("Type '%s' is not supported for vectors", type2name(bt)); } - return NULL; } // Return the vector version of a scalar load node. @@ -492,9 +500,10 @@ return new ExtractFNode(v, pos); case T_DOUBLE: return new ExtractDNode(v, pos); + default: + fatal("Type '%s' is not supported for vectors", type2name(bt)); + return NULL; } - fatal("Type '%s' is not supported for vectors", type2name(bt)); - return NULL; } int ReductionNode::opcode(int opc, BasicType bt) { @@ -556,9 +565,10 @@ case Op_MulReductionVL: return new MulReductionVLNode(ctrl, n1, n2); case Op_MulReductionVF: return new MulReductionVFNode(ctrl, n1, n2); case Op_MulReductionVD: return new MulReductionVDNode(ctrl, n1, n2); + default: + fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); + return NULL; } - fatal("Missed vector creation for '%s'", NodeClassNames[vopc]); - return NULL; } bool ReductionNode::implemented(int opc, uint vlen, BasicType bt) { @@ -570,4 +580,3 @@ } return false; } - --- old/src/share/vm/prims/jniCheck.cpp 2017-07-03 08:29:01.000000000 -0700 +++ new/src/share/vm/prims/jniCheck.cpp 2017-07-03 08:29:01.000000000 -0700 @@ -505,7 +505,7 @@ Klass* k = java_lang_Class::as_Klass(mirror); // Make allowances for primitive classes ... - if (!(k != NULL || allow_primitive && java_lang_Class::is_primitive(mirror))) { + if (!(k != NULL || (allow_primitive && java_lang_Class::is_primitive(mirror)))) { ReportJNIFatalError(thr, fatal_class_not_a_class); } return k; --- old/src/share/vm/prims/jvmtiClassFileReconstituter.cpp 2017-07-03 08:29:02.000000000 -0700 +++ new/src/share/vm/prims/jvmtiClassFileReconstituter.cpp 2017-07-03 08:29:02.000000000 -0700 @@ -890,6 +890,8 @@ } break; } + default: + break; } } --- old/src/share/vm/prims/jvmtiEnter.xsl 2017-07-03 08:29:03.000000000 -0700 +++ new/src/share/vm/prims/jvmtiEnter.xsl 2017-07-03 08:29:03.000000000 -0700 @@ -1,6 +1,6 @@