Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/code/debugInfoRec.cpp
          +++ new/src/share/vm/code/debugInfoRec.cpp
↓ open down ↓ 273 lines elided ↑ open up ↑
 274  274    return serialized_null;
 275  275  }
 276  276  
 277  277  
 278  278  // must call add_safepoint before: it sets PcDesc and this routine uses
 279  279  // the last PcDesc set
 280  280  void DebugInformationRecorder::describe_scope(int         pc_offset,
 281  281                                                ciMethod*   method,
 282  282                                                int         bci,
 283  283                                                bool        reexecute,
      284 +                                              bool        is_method_handle_invoke,
 284  285                                                DebugToken* locals,
 285  286                                                DebugToken* expressions,
 286  287                                                DebugToken* monitors) {
 287  288    assert(_recording_state != rs_null, "nesting of recording calls");
 288  289    PcDesc* last_pd = last_pc();
 289  290    assert(last_pd->pc_offset() == pc_offset, "must be last pc");
 290  291    int sender_stream_offset = last_pd->scope_decode_offset();
 291  292    // update the stream offset of current pc desc
 292  293    int stream_offset = stream()->position();
 293  294    last_pd->set_scope_decode_offset(stream_offset);
 294  295  
 295      -  // Record reexecute bit into pcDesc
      296 +  // Record flags into pcDesc.
 296  297    last_pd->set_should_reexecute(reexecute);
      298 +  last_pd->set_is_method_handle_invoke(is_method_handle_invoke);
 297  299  
 298  300    // serialize sender stream offest
 299  301    stream()->write_int(sender_stream_offset);
 300  302  
 301  303    // serialize scope
 302  304    jobject method_enc = (method == NULL)? NULL: method->constant_encoding();
 303  305    stream()->write_int(oop_recorder()->find_index(method_enc));
 304  306    stream()->write_bci(bci);
 305  307    assert(method == NULL ||
 306  308           (method->is_native() && bci == 0) ||
↓ open down ↓ 108 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX