--- old/src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp 2018-04-24 15:41:26.414714000 +0200 +++ new/src/hotspot/cpu/s390/c1_CodeStubs_s390.cpp 2018-04-24 15:41:25.926666000 +0200 @@ -42,8 +42,14 @@ #undef CHECK_BAILOUT #define CHECK_BAILOUT() { if (ce->compilation()->bailed_out()) return; } -RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array) : - _throw_index_out_of_bounds_exception(array == NULL), _index(index), _array(array) { +RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array) + : _throw_index_out_of_bounds_exception(false), _index(index), _array(array) { + assert(info != NULL, "must have info"); + _info = new CodeEmitInfo(info); +} + +RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index) + : _throw_index_out_of_bounds_exception(true), _index(index), _array(NULL) { assert(info != NULL, "must have info"); _info = new CodeEmitInfo(info); }