src/share/vm/c1/c1_IR.cpp

changeset 1335
9987d9d5eb0e
parent 905
ad8c8ca4ab0f
child 1383
89e0543e1737
     1.1 --- a/src/share/vm/c1/c1_IR.cpp	Fri Jul 31 12:04:07 2009 -0700
     1.2 +++ b/src/share/vm/c1/c1_IR.cpp	Fri Jul 31 17:12:33 2009 -0700
     1.3 @@ -208,6 +208,15 @@
     1.4    return scope->caller_bci();
     1.5  }
     1.6  
     1.7 +bool IRScopeDebugInfo::should_reexecute() {
     1.8 +  ciMethod* cur_method = scope()->method();
     1.9 +  int       cur_bci    = bci();
    1.10 +  if (cur_method != NULL && cur_bci != SynchronizationEntryBCI) {
    1.11 +    Bytecodes::Code code = cur_method->java_code_at_bci(cur_bci);
    1.12 +    return Interpreter::bytecode_should_reexecute(code);
    1.13 +  } else
    1.14 +    return false;
    1.15 +}
    1.16  
    1.17  
    1.18  // Implementation of CodeEmitInfo
    1.19 @@ -253,7 +262,7 @@
    1.20  void CodeEmitInfo::record_debug_info(DebugInformationRecorder* recorder, int pc_offset) {
    1.21    // record the safepoint before recording the debug info for enclosing scopes
    1.22    recorder->add_safepoint(pc_offset, _oop_map->deep_copy());
    1.23 -  _scope_debug_info->record_debug_info(recorder, pc_offset);
    1.24 +  _scope_debug_info->record_debug_info(recorder, pc_offset, true/*topmost*/);
    1.25    recorder->end_safepoint(pc_offset);
    1.26  }
    1.27  

mercurial