Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/c1/c1_IR.cpp
          +++ new/src/share/vm/c1/c1_IR.cpp
   1    1  /*
   2      - * Copyright 1999-2009 Sun Microsystems, Inc.  All Rights Reserved.
        2 + * Copyright 1999-2010 Sun Microsystems, Inc.  All Rights Reserved.
   3    3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4   *
   5    5   * This code is free software; you can redistribute it and/or modify it
   6    6   * under the terms of the GNU General Public License version 2 only, as
   7    7   * published by the Free Software Foundation.
   8    8   *
   9    9   * This code is distributed in the hope that it will be useful, but WITHOUT
  10   10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12   * version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 239 lines elided ↑ open up ↑
 252  252      _stack = info->_stack;
 253  253    }
 254  254  
 255  255    // deep copy of exception handlers
 256  256    if (info->_exception_handlers != NULL) {
 257  257      _exception_handlers = new XHandlers(info->_exception_handlers);
 258  258    }
 259  259  }
 260  260  
 261  261  
 262      -void CodeEmitInfo::record_debug_info(DebugInformationRecorder* recorder, int pc_offset) {
      262 +void CodeEmitInfo::record_debug_info(DebugInformationRecorder* recorder, int pc_offset, bool is_method_handle_invoke) {
 263  263    // record the safepoint before recording the debug info for enclosing scopes
 264  264    recorder->add_safepoint(pc_offset, _oop_map->deep_copy());
 265      -  _scope_debug_info->record_debug_info(recorder, pc_offset, true/*topmost*/);
      265 +  _scope_debug_info->record_debug_info(recorder, pc_offset, true/*topmost*/, is_method_handle_invoke);
 266  266    recorder->end_safepoint(pc_offset);
 267  267  }
 268  268  
 269  269  
 270  270  void CodeEmitInfo::add_register_oop(LIR_Opr opr) {
 271  271    assert(_oop_map != NULL, "oop map must already exist");
 272  272    assert(opr->is_single_cpu(), "should not call otherwise");
 273  273  
 274  274    int frame_size = frame_map()->framesize();
 275  275    int arg_count = frame_map()->oop_map_arg_count();
↓ open down ↓ 1068 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX