# HG changeset patch
# User csahu
# Date 1456816837 -19800
# Node ID 626f594dffa6cd1782d28259b972a2dde49b8d82
# Parent 2f8db587e1fc4ee60f7b596aabbf3b8baafefb70
8139040: Fix initializations before ShouldNotReachHere() etc. and enable -Wuninitialized on linux.
Reviewed-by: stuefe, coleenp, roland
diff -r 2f8db587e1fc -r 626f594dffa6 agent/src/os/linux/symtab.c
--- a/agent/src/os/linux/symtab.c Thu Feb 18 16:15:28 2016 +0100
+++ b/agent/src/os/linux/symtab.c Tue Mar 01 12:50:37 2016 +0530
@@ -514,6 +514,7 @@
return (uintptr_t)NULL;
item.key = (char*) strdup(sym_name);
+ item.data = NULL;
hsearch_r(item, FIND, &ret, symtab->hash_table);
if (ret) {
struct elf_symbol * sym = (struct elf_symbol *)(ret->data);
diff -r 2f8db587e1fc -r 626f594dffa6 src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
--- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -1714,8 +1714,8 @@
Register Rtmp1 = noreg;
// check if it needs to be profiled
- ciMethodData* md;
- ciProfileData* data;
+ ciMethodData* md = NULL;
+ ciProfileData* data = NULL;
if (op->should_profile()) {
ciMethod* method = op->profiled_method();
@@ -1874,8 +1874,8 @@
CodeStub* stub = op->stub();
// check if it needs to be profiled
- ciMethodData* md;
- ciProfileData* data;
+ ciMethodData* md = NULL;
+ ciProfileData* data = NULL;
if (op->should_profile()) {
ciMethod* method = op->profiled_method();
@@ -2052,7 +2052,8 @@
case lir_cond_greater: acond = Assembler::greater; ncond = Assembler::lessEqual; break;
case lir_cond_belowEqual: acond = Assembler::belowEqual; ncond = Assembler::above; break;
case lir_cond_aboveEqual: acond = Assembler::aboveEqual; ncond = Assembler::below; break;
- default: ShouldNotReachHere();
+ default: acond = Assembler::equal; ncond = Assembler::notEqual;
+ ShouldNotReachHere();
}
if (opr1->is_cpu_register()) {
@@ -3237,27 +3238,23 @@
assert(default_type != NULL && default_type->is_array_klass() && default_type->is_loaded(), "must be true at this point");
int elem_size = type2aelembytes(basic_type);
- int shift_amount;
Address::ScaleFactor scale;
switch (elem_size) {
case 1 :
- shift_amount = 0;
scale = Address::times_1;
break;
case 2 :
- shift_amount = 1;
scale = Address::times_2;
break;
case 4 :
- shift_amount = 2;
scale = Address::times_4;
break;
case 8 :
- shift_amount = 3;
scale = Address::times_8;
break;
default:
+ scale = Address::no_scale;
ShouldNotReachHere();
}
diff -r 2f8db587e1fc -r 626f594dffa6 src/cpu/x86/vm/c1_LIRGenerator_x86.cpp
--- a/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/cpu/x86/vm/c1_LIRGenerator_x86.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -195,7 +195,7 @@
LIR_Opr LIRGenerator::load_immediate(int x, BasicType type) {
- LIR_Opr r;
+ LIR_Opr r = NULL;
if (type == T_LONG) {
r = LIR_OprFact::longConst(x);
} else if (type == T_INT) {
@@ -484,7 +484,7 @@
__ cmp(lir_cond_equal, right.result(), LIR_OprFact::longConst(0));
__ branch(lir_cond_equal, T_LONG, new DivByZeroStub(info));
- address entry;
+ address entry = NULL;
switch (x->op()) {
case Bytecodes::_lrem:
entry = CAST_FROM_FN_PTR(address, SharedRuntime::lrem);
@@ -1024,7 +1024,7 @@
void LIRGenerator::do_Convert(Convert* x) {
// flags that vary for the different operations and different SSE-settings
- bool fixed_input, fixed_result, round_result, needs_stub;
+ bool fixed_input = false, fixed_result = false, round_result = false, needs_stub = false;
switch (x->op()) {
case Bytecodes::_i2l: // fall through
diff -r 2f8db587e1fc -r 626f594dffa6 src/cpu/x86/vm/jniFastGetField_x86_32.cpp
--- a/src/cpu/x86/vm/jniFastGetField_x86_32.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/cpu/x86/vm/jniFastGetField_x86_32.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -48,7 +48,7 @@
// between loads, which is much more efficient than lfence.
address JNI_FastGetField::generate_fast_get_int_field0(BasicType type) {
- const char *name;
+ const char *name = NULL;
switch (type) {
case T_BOOLEAN: name = "jni_fast_GetBooleanField"; break;
case T_BYTE: name = "jni_fast_GetByteField"; break;
@@ -122,7 +122,7 @@
slowcase_entry_pclist[count++] = __ pc();
__ bind (slow);
- address slow_case_addr;
+ address slow_case_addr = NULL;
switch (type) {
case T_BOOLEAN: slow_case_addr = jni_GetBooleanField_addr(); break;
case T_BYTE: slow_case_addr = jni_GetByteField_addr(); break;
@@ -256,7 +256,7 @@
}
address JNI_FastGetField::generate_fast_get_float_field0(BasicType type) {
- const char *name;
+ const char *name = NULL;
switch (type) {
case T_FLOAT: name = "jni_fast_GetFloatField"; break;
case T_DOUBLE: name = "jni_fast_GetDoubleField"; break;
@@ -337,7 +337,7 @@
slowcase_entry_pclist[count++] = __ pc();
__ bind (slow);
- address slow_case_addr;
+ 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(); break;
diff -r 2f8db587e1fc -r 626f594dffa6 src/cpu/x86/vm/jniFastGetField_x86_64.cpp
--- a/src/cpu/x86/vm/jniFastGetField_x86_64.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/cpu/x86/vm/jniFastGetField_x86_64.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -51,7 +51,7 @@
// since that may scratch r10!
address JNI_FastGetField::generate_fast_get_int_field0(BasicType type) {
- const char *name;
+ const char *name = NULL;
switch (type) {
case T_BOOLEAN: name = "jni_fast_GetBooleanField"; break;
case T_BYTE: name = "jni_fast_GetByteField"; break;
@@ -111,7 +111,7 @@
slowcase_entry_pclist[count++] = __ pc();
__ bind (slow);
- address slow_case_addr;
+ address slow_case_addr = NULL;
switch (type) {
case T_BOOLEAN: slow_case_addr = jni_GetBooleanField_addr(); break;
case T_BYTE: slow_case_addr = jni_GetByteField_addr(); break;
@@ -153,7 +153,7 @@
}
address JNI_FastGetField::generate_fast_get_float_field0(BasicType type) {
- const char *name;
+ const char *name = NULL;
switch (type) {
case T_FLOAT: name = "jni_fast_GetFloatField"; break;
case T_DOUBLE: name = "jni_fast_GetDoubleField"; break;
@@ -206,7 +206,7 @@
slowcase_entry_pclist[count++] = __ pc();
__ bind (slow);
- address slow_case_addr;
+ 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();
diff -r 2f8db587e1fc -r 626f594dffa6 src/os/linux/vm/os_linux.cpp
--- a/src/os/linux/vm/os_linux.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/os/linux/vm/os_linux.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -2755,7 +2755,7 @@
int os::Linux::sched_getcpu_syscall(void) {
- unsigned int cpu;
+ unsigned int cpu = 0;
int retval = -1;
#if defined(IA32)
@@ -4263,8 +4263,8 @@
sigaddset(&(actp->sa_mask), sig);
}
- sa_handler_t hand;
- sa_sigaction_t sa;
+ sa_handler_t hand = NULL;
+ sa_sigaction_t sa = NULL;
bool siginfo_flag_set = (actp->sa_flags & SA_SIGINFO) != 0;
// retrieve the chained handler
if (siginfo_flag_set) {
@@ -4469,7 +4469,7 @@
static const char* get_signal_handler_name(address handler,
char* buf, int buflen) {
- int offset;
+ int offset = 0;
bool found = os::dll_address_to_library_name(handler, buf, buflen, &offset);
if (found) {
// skip directory names
diff -r 2f8db587e1fc -r 626f594dffa6 src/os_cpu/linux_x86/vm/copy_linux_x86.inline.hpp
--- a/src/os_cpu/linux_x86/vm/copy_linux_x86.inline.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/os_cpu/linux_x86/vm/copy_linux_x86.inline.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -30,7 +30,7 @@
(void)memmove(to, from, count * HeapWordSize);
#else
// Includes a zero-count check.
- intx temp;
+ intx temp = 0;
__asm__ volatile(" testl %6,%6 ;"
" jz 7f ;"
" cmpl %4,%5 ;"
@@ -88,7 +88,7 @@
}
#else
// Includes a zero-count check.
- intx temp;
+ intx temp = 0;
__asm__ volatile(" testl %6,%6 ;"
" jz 3f ;"
" cmpl $32,%6 ;"
@@ -145,7 +145,7 @@
(void)memmove(to, from, count);
#else
// Includes a zero-count check.
- intx temp;
+ intx temp = 0;
__asm__ volatile(" testl %6,%6 ;"
" jz 13f ;"
" cmpl %4,%5 ;"
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/c1/c1_Canonicalizer.cpp
--- a/src/share/vm/c1/c1_Canonicalizer.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/c1/c1_Canonicalizer.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -639,7 +639,7 @@
if (l == r && !lt->is_float_kind()) {
// pattern: If (a cond a) => simplify to Goto
- BlockBegin* sux;
+ BlockBegin* sux = NULL;
switch (x->cond()) {
case If::eql: sux = x->sux_for(true); break;
case If::neq: sux = x->sux_for(false); break;
@@ -647,6 +647,7 @@
case If::leq: sux = x->sux_for(true); break;
case If::gtr: sux = x->sux_for(false); break;
case If::geq: sux = x->sux_for(true); break;
+ default: ShouldNotReachHere();
}
// If is a safepoint then the debug information should come from the state_before of the If.
set_canonical(new Goto(sux, x->state_before(), is_safepoint(x, sux)));
@@ -684,7 +685,7 @@
} else {
// two successors differ and two successors are the same => simplify to: If (x cmp y)
// determine new condition & successors
- If::Condition cond;
+ If::Condition cond = If::eql;
BlockBegin* tsux = NULL;
BlockBegin* fsux = NULL;
if (lss_sux == eql_sux) { cond = If::leq; tsux = lss_sux; fsux = gtr_sux; }
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/c1/c1_GraphBuilder.cpp
--- a/src/share/vm/c1/c1_GraphBuilder.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/c1/c1_GraphBuilder.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -3921,8 +3921,8 @@
caller_state->truncate_stack(args_base);
assert(callee_state->stack_size() == 0, "callee stack must be empty");
- Value lock;
- BlockBegin* sync_handler;
+ Value lock = NULL;
+ BlockBegin* sync_handler = NULL;
// Inline the locking of the receiver if the callee is synchronized
if (callee->is_synchronized()) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/c1/c1_LIRGenerator.cpp
--- a/src/share/vm/c1/c1_LIRGenerator.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/c1/c1_LIRGenerator.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -3347,7 +3347,7 @@
}
void LIRGenerator::increment_event_counter(CodeEmitInfo* info, int bci, bool backedge) {
- int freq_log;
+ int freq_log = 0;
int level = compilation()->env()->comp_level();
if (level == CompLevel_limited_profile) {
freq_log = (backedge ? Tier2BackedgeNotifyFreqLog : Tier2InvokeNotifyFreqLog);
@@ -3368,7 +3368,7 @@
assert(level > CompLevel_simple, "Shouldn't be here");
int offset = -1;
- LIR_Opr counter_holder;
+ LIR_Opr counter_holder = NULL;
if (level == CompLevel_limited_profile) {
MethodCounters* counters_adr = method->ensure_method_counters();
if (counters_adr == NULL) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/c1/c1_LIRGenerator.hpp
--- a/src/share/vm/c1/c1_LIRGenerator.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/c1/c1_LIRGenerator.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -410,7 +410,7 @@
}
static LIR_Condition lir_cond(If::Condition cond) {
- LIR_Condition l;
+ LIR_Condition l = lir_cond_unknown;
switch (cond) {
case If::eql: l = lir_cond_equal; break;
case If::neq: l = lir_cond_notEqual; break;
@@ -420,6 +420,7 @@
case If::gtr: l = lir_cond_greater; break;
case If::aeq: l = lir_cond_aboveEqual; break;
case If::beq: l = lir_cond_belowEqual; break;
+ default: fatal("You must pass valid If::Condition");
};
return l;
}
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/ci/ciObjectFactory.cpp
--- a/src/share/vm/ci/ciObjectFactory.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/ci/ciObjectFactory.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -413,6 +413,7 @@
metadata_owner_klass = m->as_method()->get_Method()->constants()->pool_holder();
} else {
fatal("Not implemented for other types of metadata");
+ return;
}
oop metadata_holder = metadata_owner_klass->klass_holder();
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/classfile/classFileParser.cpp
--- a/src/share/vm/classfile/classFileParser.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/classfile/classFileParser.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -3190,19 +3190,19 @@
// Field size and offset computation
int nonstatic_field_size = _super_klass() == NULL ? 0 : _super_klass()->nonstatic_field_size();
- int next_static_oop_offset;
- int next_static_double_offset;
- int next_static_word_offset;
- int next_static_short_offset;
- int next_static_byte_offset;
- int next_nonstatic_oop_offset;
- int next_nonstatic_double_offset;
- int next_nonstatic_word_offset;
- int next_nonstatic_short_offset;
- int next_nonstatic_byte_offset;
- int first_nonstatic_oop_offset;
- int next_nonstatic_field_offset;
- int next_nonstatic_padded_offset;
+ int next_static_oop_offset = 0;
+ int next_static_double_offset = 0;
+ int next_static_word_offset = 0;
+ int next_static_short_offset = 0;
+ int next_static_byte_offset = 0;
+ int next_nonstatic_oop_offset = 0;
+ int next_nonstatic_double_offset = 0;
+ int next_nonstatic_word_offset = 0;
+ int next_nonstatic_short_offset = 0;
+ int next_nonstatic_byte_offset = 0;
+ int first_nonstatic_oop_offset = 0;
+ int next_nonstatic_field_offset = 0;
+ int next_nonstatic_padded_offset = 0;
// Count the contended fields by type.
//
@@ -3355,14 +3355,14 @@
ShouldNotReachHere();
}
- int nonstatic_oop_space_count = 0;
- int nonstatic_word_space_count = 0;
- int nonstatic_short_space_count = 0;
- int nonstatic_byte_space_count = 0;
- int nonstatic_oop_space_offset;
- int nonstatic_word_space_offset;
- int nonstatic_short_space_offset;
- int nonstatic_byte_space_offset;
+ int nonstatic_oop_space_count = 0;
+ int nonstatic_word_space_count = 0;
+ int nonstatic_short_space_count = 0;
+ int nonstatic_byte_space_count = 0;
+ int nonstatic_oop_space_offset = 0;
+ int nonstatic_word_space_offset = 0;
+ int nonstatic_short_space_offset = 0;
+ int nonstatic_byte_space_offset = 0;
// Try to squeeze some of the fields into the gaps due to
// long/double alignment.
@@ -3434,7 +3434,7 @@
// contended instance fields are handled below
if (fs.is_contended() && !fs.access_flags().is_static()) continue;
- int real_offset;
+ int real_offset = 0;
FieldAllocationType atype = (FieldAllocationType) fs.allocation_type();
// pack the rest of the fields
@@ -3567,7 +3567,7 @@
// handle statics below
if (fs.access_flags().is_static()) continue;
- int real_offset;
+ int real_offset = 0;
FieldAllocationType atype = (FieldAllocationType) fs.allocation_type();
switch (atype) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/classfile/placeholders.hpp
--- a/src/share/vm/classfile/placeholders.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/classfile/placeholders.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -220,7 +220,7 @@
}
SeenThread* actionToQueue(PlaceholderTable::classloadAction action) {
- SeenThread* queuehead;
+ SeenThread* queuehead = NULL;
switch (action) {
case PlaceholderTable::LOAD_INSTANCE:
queuehead = _loadInstanceThreadQ;
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/compiler/oopMap.hpp
--- a/src/share/vm/compiler/oopMap.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/compiler/oopMap.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -75,8 +75,8 @@
// Constructors
OopMapValue () { set_value(0); set_content_reg(VMRegImpl::Bad()); }
- OopMapValue (VMReg reg, oop_types t) { set_reg_type(reg,t); }
- OopMapValue (VMReg reg, oop_types t, VMReg reg2) { set_reg_type(reg,t); set_content_reg(reg2); }
+ OopMapValue (VMReg reg, oop_types t) { set_reg_type(reg, t); set_content_reg(VMRegImpl::Bad()); }
+ OopMapValue (VMReg reg, oop_types t, VMReg reg2) { set_reg_type(reg, t); set_content_reg(reg2); }
OopMapValue (CompressedReadStream* stream) { read_from(stream); }
// Archiving
@@ -89,7 +89,7 @@
void read_from(CompressedReadStream* stream) {
set_value(stream->read_int());
- if(is_callee_saved() || is_derived_oop()) {
+ if (is_callee_saved() || is_derived_oop()) {
set_content_reg(VMRegImpl::as_VMReg(stream->read_int(), true));
}
}
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
--- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -2288,7 +2288,7 @@
}
// Used for PrintGC
- size_t prev_used;
+ size_t prev_used = 0;
if (PrintGC && Verbose) {
prev_used = _cmsGen->used(); // XXXPERM
}
@@ -8624,7 +8624,7 @@
HeapWord* const fc_addr = (HeapWord*) fc;
- bool coalesce;
+ bool coalesce = false;
const size_t left = pointer_delta(fc_addr, freeFinger());
const size_t right = chunkSize;
switch (FLSCoalescePolicy) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
--- a/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -572,7 +572,7 @@
assert(_n_fine_entries == _max_fine_entries, "Precondition");
PerRegionTable* max = NULL;
jint max_occ = 0;
- PerRegionTable** max_prev;
+ PerRegionTable** max_prev = NULL;
size_t max_ind;
size_t i = _fine_eviction_start;
@@ -608,6 +608,7 @@
}
guarantee(max != NULL, "Since _n_fine_entries > 0");
+ guarantee(max_prev != NULL, "Since max != NULL.");
// Set the corresponding coarse bit.
size_t max_hrm_index = (size_t) max->hr()->hrm_index();
@@ -1168,7 +1169,7 @@
void HeapRegionRemSet::print_recorded() {
int cur_evnt = 0;
- Event cur_evnt_kind;
+ Event cur_evnt_kind = Event_illegal;
int cur_evnt_ind = 0;
if (_n_recorded_events > 0) {
cur_evnt_kind = _recorded_events[cur_evnt];
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp
--- a/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -232,7 +232,7 @@
public:
enum Event {
- Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd
+ Event_EvacStart, Event_EvacEnd, Event_RSUpdateEnd, Event_illegal
};
private:
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/interpreter/templateInterpreter.cpp
--- a/src/share/vm/interpreter/templateInterpreter.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/interpreter/templateInterpreter.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -513,7 +513,7 @@
if (StopInterpreterAt > 0) stop_interpreter_at();
__ verify_FPU(1, t->tos_in());
#endif // !PRODUCT
- int step;
+ int step = 0;
if (!t->does_dispatch()) {
step = t->is_wide() ? Bytecodes::wide_length_for(t->bytecode()) : Bytecodes::length_for(t->bytecode());
if (tos_out == ilgl) tos_out = t->tos_out();
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/memory/allocation.cpp
--- a/src/share/vm/memory/allocation.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/memory/allocation.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -83,7 +83,7 @@
}
void* ResourceObj::operator new(size_t size, allocation_type type, MEMFLAGS flags) throw() {
- address res;
+ address res = NULL;
switch (type) {
case C_HEAP:
res = (address)AllocateHeap(size, flags, CALLER_PC);
@@ -105,8 +105,8 @@
void* ResourceObj::operator new(size_t size, const std::nothrow_t& nothrow_constant,
allocation_type type, MEMFLAGS flags) throw() {
- //should only call this with std::nothrow, use other operator new() otherwise
- address res;
+ // should only call this with std::nothrow, use other operator new() otherwise
+ address res = NULL;
switch (type) {
case C_HEAP:
res = (address)AllocateHeap(size, flags, CALLER_PC, AllocFailStrategy::RETURN_NULL);
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/callGenerator.cpp
--- a/src/share/vm/opto/callGenerator.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/callGenerator.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -658,7 +658,7 @@
&exact_receiver);
SafePointNode* slow_map = NULL;
- JVMState* slow_jvms;
+ JVMState* slow_jvms = NULL;
{ PreserveJVMState pjvms(&kit);
kit.set_control(slow_ctl);
if (!kit.stopped()) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/compile.cpp
--- a/src/share/vm/opto/compile.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/compile.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -3712,7 +3712,7 @@
MacroAssembler _masm(&cb);
for (int i = 0; i < _constants.length(); i++) {
Constant con = _constants.at(i);
- address constant_addr;
+ address constant_addr = NULL;
switch (con.type()) {
case T_LONG: constant_addr = _masm.long_constant( con.get_jlong() ); break;
case T_FLOAT: constant_addr = _masm.float_constant( con.get_jfloat() ); break;
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/generateOptoStub.cpp
--- a/src/share/vm/opto/generateOptoStub.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/generateOptoStub.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -273,7 +273,7 @@
//-----------------------------
// If this is a normal subroutine return, issue the return and be done.
- Node *ret;
+ Node *ret = NULL;
switch( is_fancy_jump ) {
case 0: // Make a return instruction
// Return to caller, free any space for return address
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/lcm.cpp
--- a/src/share/vm/opto/lcm.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/lcm.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -675,7 +675,7 @@
block->insert_node(proj, node_cnt++);
// Select the right register save policy.
- const char * save_policy;
+ const char *save_policy = NULL;
switch (op) {
case Op_CallRuntime:
case Op_CallLeaf:
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/library_call.cpp
--- a/src/share/vm/opto/library_call.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/library_call.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -1635,7 +1635,7 @@
// public static double Math.log10(double)
bool LibraryCallKit::inline_math(vmIntrinsics::ID id) {
Node* arg = round_double_node(argument(0));
- Node* n;
+ Node* n = NULL;
switch (id) {
case vmIntrinsics::_dabs: n = new (C) AbsDNode( arg); break;
case vmIntrinsics::_dsqrt: n = new (C) SqrtDNode(C, control(), arg); break;
@@ -2376,7 +2376,7 @@
// inline long Long.reverseBytes(long)
bool LibraryCallKit::inline_number_methods(vmIntrinsics::ID id) {
Node* arg = argument(0);
- Node* n;
+ Node* n = NULL;
switch (id) {
case vmIntrinsics::_numberOfLeadingZeros_i: n = new (C) CountLeadingZerosINode( arg); break;
case vmIntrinsics::_numberOfLeadingZeros_l: n = new (C) CountLeadingZerosLNode( arg); break;
@@ -2971,7 +2971,7 @@
// For now, we handle only those cases that actually exist: ints,
// longs, and Object. Adding others should be straightforward.
- Node* load_store;
+ Node* load_store = NULL;
switch(type) {
case T_INT:
if (kind == LS_xadd) {
@@ -3891,7 +3891,7 @@
Node* end = is_copyOfRange? argument(2): argument(1);
Node* array_type_mirror = is_copyOfRange? argument(3): argument(2);
- Node* newcopy;
+ Node* newcopy = NULL;
// Set the original stack and the reexecute bit for the interpreter to reexecute
// the bytecode that invokes Arrays.copyOf if deoptimization happens.
@@ -4279,7 +4279,7 @@
bool LibraryCallKit::inline_fp_conversions(vmIntrinsics::ID id) {
Node* arg = argument(0);
- Node* result;
+ Node* result = NULL;
switch (id) {
case vmIntrinsics::_floatToRawIntBits: result = new (C) MoveF2INode(arg); break;
@@ -6164,7 +6164,7 @@
//------------------------------inline_aescrypt_Block-----------------------
bool LibraryCallKit::inline_aescrypt_Block(vmIntrinsics::ID id) {
- address stubAddr;
+ address stubAddr = NULL;
const char *stubName;
assert(UseAES, "need AES instruction support");
@@ -6230,8 +6230,8 @@
//------------------------------inline_cipherBlockChaining_AESCrypt-----------------------
bool LibraryCallKit::inline_cipherBlockChaining_AESCrypt(vmIntrinsics::ID id) {
- address stubAddr;
- const char *stubName;
+ address stubAddr = NULL;
+ const char *stubName = NULL;
assert(UseAES, "need AES instruction support");
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/macro.cpp
--- a/src/share/vm/opto/macro.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/macro.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -693,10 +693,10 @@
ciKlass* klass = NULL;
ciInstanceKlass* iklass = NULL;
int nfields = 0;
- int array_base;
- int element_size;
- BasicType basic_elem_type;
- ciType* elem_type;
+ int array_base = 0;
+ int element_size = 0;
+ BasicType basic_elem_type = T_ILLEGAL;
+ ciType* elem_type = NULL;
Node* res = alloc->result_cast();
assert(res == NULL || res->is_CheckCastPP(), "unexpected AllocateNode result");
@@ -1177,10 +1177,10 @@
// We need a Region and corresponding Phi's to merge the slow-path and fast-path results.
// they will not be used if "always_slow" is set
enum { slow_result_path = 1, fast_result_path = 2 };
- Node *result_region;
- Node *result_phi_rawmem;
- Node *result_phi_rawoop;
- Node *result_phi_i_o;
+ Node *result_region = NULL;
+ Node *result_phi_rawmem = NULL;
+ Node *result_phi_rawoop = NULL;
+ Node *result_phi_i_o = NULL;
// The initial slow comparison is a size check, the comparison
// we want to do is a BoolTest::gt
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/parse1.cpp
--- a/src/share/vm/opto/parse1.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/parse1.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -105,7 +105,7 @@
// Very similar to LoadNode::make, except we handle un-aligned longs and
// doubles on Sparc. Intel can handle them just fine directly.
- Node *l;
+ Node *l = NULL;
switch (bt) { // Signature is flattened
case T_INT: l = new (C) LoadINode(ctl, mem, adr, TypeRawPtr::BOTTOM, TypeInt::INT, MemNode::unordered); break;
case T_FLOAT: l = new (C) LoadFNode(ctl, mem, adr, TypeRawPtr::BOTTOM, Type::FLOAT, MemNode::unordered); break;
@@ -1862,7 +1862,7 @@
// Now use a Phi here for merging
assert(!nocreate, "Cannot build a phi for a block already parsed.");
const JVMState* jvms = map->jvms();
- const Type* t;
+ const Type* t = NULL;
if (jvms->is_loc(idx)) {
t = block()->local_type_at(idx - jvms->locoff());
} else if (jvms->is_stk(idx)) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/opto/split_if.cpp
--- a/src/share/vm/opto/split_if.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/opto/split_if.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -451,8 +451,8 @@
// Replace both uses of 'new_iff' with Regions merging True/False
// paths. This makes 'new_iff' go dead.
- Node *old_false, *old_true;
- Node *new_false, *new_true;
+ Node *old_false = NULL, *old_true = NULL;
+ Node *new_false = NULL, *new_true = NULL;
for (DUIterator_Last j2min, j2 = iff->last_outs(j2min); j2 >= j2min; --j2) {
Node *ifp = iff->last_out(j2);
assert( ifp->Opcode() == Op_IfFalse || ifp->Opcode() == Op_IfTrue, "" );
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/prims/jvmtiEnter.xsl
--- a/src/share/vm/prims/jvmtiEnter.xsl Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/prims/jvmtiEnter.xsl Tue Mar 01 12:50:37 2016 +0530
@@ -631,8 +631,8 @@
jint trace_flags = JvmtiTrace::trace_flags(
);
- const char *func_name;
- const char *curr_thread_name;
+ const char *func_name = NULL;
+ const char *curr_thread_name = NULL;
if (trace_flags) {
func_name = JvmtiTrace::function_name(
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/prims/jvmtiEnv.cpp
--- a/src/share/vm/prims/jvmtiEnv.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/prims/jvmtiEnv.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -3010,7 +3010,7 @@
// in thread.cpp.
JvmtiPendingMonitors::enter(rmonitor);
} else {
- int r;
+ int r = 0;
Thread* thread = Thread::current();
if (thread->is_Java_thread()) {
@@ -3073,7 +3073,7 @@
err = JVMTI_ERROR_NOT_MONITOR_OWNER;
}
} else {
- int r;
+ int r = 0;
Thread* thread = Thread::current();
if (thread->is_Java_thread()) {
@@ -3107,7 +3107,7 @@
// rmonitor - pre-checked for validity
jvmtiError
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor * rmonitor, jlong millis) {
- int r;
+ int r = 0;
Thread* thread = Thread::current();
if (thread->is_Java_thread()) {
@@ -3166,7 +3166,7 @@
// rmonitor - pre-checked for validity
jvmtiError
JvmtiEnv::RawMonitorNotify(JvmtiRawMonitor * rmonitor) {
- int r;
+ int r = 0;
Thread* thread = Thread::current();
if (thread->is_Java_thread()) {
@@ -3197,7 +3197,7 @@
// rmonitor - pre-checked for validity
jvmtiError
JvmtiEnv::RawMonitorNotifyAll(JvmtiRawMonitor * rmonitor) {
- int r;
+ int r = 0;
Thread* thread = Thread::current();
if (thread->is_Java_thread()) {
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/prims/jvmtiEnvBase.cpp
--- a/src/share/vm/prims/jvmtiEnvBase.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/prims/jvmtiEnvBase.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -511,7 +511,7 @@
// mean much better out of memory handling
unsigned char *
JvmtiEnvBase::jvmtiMalloc(jlong size) {
- unsigned char* mem;
+ unsigned char* mem = NULL;
jvmtiError result = allocate(size, &mem);
assert(result == JVMTI_ERROR_NONE, "Allocate failed");
return mem;
@@ -1038,7 +1038,7 @@
// implied else: entry_count == 0
}
- int nWant,nWait;
+ int nWant = 0, nWait = 0;
if (mon != NULL) {
// this object has a heavyweight monitor
nWant = mon->contentions(); // # of threads contending for monitor
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/prims/jvmtiRedefineClasses.cpp
--- a/src/share/vm/prims/jvmtiRedefineClasses.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/prims/jvmtiRedefineClasses.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -332,7 +332,7 @@
int new_name_and_type_ref_i = find_or_append_indirect_entry(scratch_cp, name_and_type_ref_i,
merge_cp_p, merge_cp_length_p, THREAD);
- const char *entry_name;
+ const char *entry_name = NULL;
switch (scratch_cp->tag_at(scratch_i).value()) {
case JVM_CONSTANT_Fieldref:
entry_name = "Fieldref";
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/prims/unsafe.cpp
--- a/src/share/vm/prims/unsafe.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/prims/unsafe.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -855,7 +855,7 @@
UNSAFE_ENTRY(jint, Unsafe_ArrayBaseOffset(JNIEnv *env, jobject unsafe, jclass acls))
UnsafeWrapper("Unsafe_ArrayBaseOffset");
- int base, scale;
+ int base = 0, scale = 0;
getBaseAndScale(base, scale, acls, CHECK_0);
return field_offset_from_byte_offset(base);
UNSAFE_END
@@ -863,7 +863,7 @@
UNSAFE_ENTRY(jint, Unsafe_ArrayIndexScale(JNIEnv *env, jobject unsafe, jclass acls))
UnsafeWrapper("Unsafe_ArrayIndexScale");
- int base, scale;
+ int base = 0, scale = 0;
getBaseAndScale(base, scale, acls, CHECK_0);
// This VM packs both fields and array elements down to the byte.
// But watch out: If this changes, so that array references for
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/runtime/safepoint.cpp
--- a/src/share/vm/runtime/safepoint.cpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/runtime/safepoint.cpp Tue Mar 01 12:50:37 2016 +0530
@@ -142,7 +142,7 @@
// Save the starting time, so that it can be compared to see if this has taken
// too long to complete.
- jlong safepoint_limit_time;
+ jlong safepoint_limit_time = 0;
timeout_error_printed = false;
// PrintSafepointStatisticsTimeout can be specified separately. When
@@ -925,7 +925,7 @@
void ThreadSafepointState::print_on(outputStream *st) const {
- const char *s;
+ const char *s = NULL;
switch(_type) {
case _running : s = "_running"; break;
diff -r 2f8db587e1fc -r 626f594dffa6 src/share/vm/services/threadService.hpp
--- a/src/share/vm/services/threadService.hpp Thu Feb 18 16:15:28 2016 +0100
+++ b/src/share/vm/services/threadService.hpp Tue Mar 01 12:50:37 2016 +0530
@@ -425,12 +425,12 @@
}
JavaThreadStatusChanger(JavaThread* java_thread,
- java_lang_Thread::ThreadStatus state) {
+ java_lang_Thread::ThreadStatus state) : _old_state(java_lang_Thread::NEW) {
save_old_state(java_thread);
set_thread_status(state);
}
- JavaThreadStatusChanger(JavaThread* java_thread) {
+ JavaThreadStatusChanger(JavaThread* java_thread) : _old_state(java_lang_Thread::NEW) {
save_old_state(java_thread);
}
@@ -527,7 +527,7 @@
// Current thread is the notifying thread which holds the monitor.
static bool wait_reenter_begin(JavaThread *java_thread, ObjectMonitor *obj_m) {
assert((java_thread != NULL), "Java thread should not be null here");
- bool active = false;
+ bool active = false;
if (is_alive(java_thread) && ServiceUtil::visible_oop((oop)obj_m->object())) {
active = contended_enter_begin(java_thread);
}
@@ -542,7 +542,7 @@
}
JavaThreadBlockedOnMonitorEnterState(JavaThread *java_thread, ObjectMonitor *obj_m) :
- JavaThreadStatusChanger(java_thread) {
+ _stat(NULL), _active(false), JavaThreadStatusChanger(java_thread) {
assert((java_thread != NULL), "Java thread should not be null here");
// Change thread status and collect contended enter stats for monitor contended
// enter done for external java world objects and it is contended. All other cases