--- old/src/share/vm/c1/c1_IR.cpp 2016-10-25 10:40:04.926774716 +0200 +++ new/src/share/vm/c1/c1_IR.cpp 2016-10-25 10:40:04.879774684 +0200 @@ -218,6 +218,23 @@ } +void CodeEmitInfo::record_non_safepoint_debug_info(DebugInformationRecorder* recorder, int pc_offset) { + if (recorder->recording_non_safepoints()) { + recorder->add_non_safepoint(pc_offset); + record_scope_non_safepoint_debug_info(recorder, pc_offset, scope(), stack()); + recorder->end_non_safepoint(pc_offset); + } +} + + +void CodeEmitInfo::record_scope_non_safepoint_debug_info(DebugInformationRecorder* recorder, int pc_offset, IRScope *scope, ValueStack *state) { + if (scope->caller() != NULL) { + record_scope_non_safepoint_debug_info(recorder, pc_offset, scope->caller(), state->caller_state()); + } + recorder->describe_scope(pc_offset, scope->method(), state->bci(), false); +} + + void CodeEmitInfo::add_register_oop(LIR_Opr opr) { assert(_oop_map != NULL, "oop map must already exist"); assert(opr->is_single_cpu(), "should not call otherwise");