Print this page
rev 3101 : 7120450: complete information dumped by frame_describe
Summary: improvements of frame_describe
Reviewed-by: never, twisti
rev 3107 : 7120468: SPARC/x86: use frame::describe to enhance trace_method_handle
Summary: improvements of TraceMethodHandles for JSR292
Reviewed-by: never, twisti

Split Split Close
Expand all
Collapse all
          --- old/src/cpu/x86/vm/methodHandles_x86.hpp
          +++ new/src/cpu/x86/vm/methodHandles_x86.hpp
   1    1  /*
   2      - * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
        2 + * Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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 ↓ 204 lines elided ↑ open up ↑
 217  217    }
 218  218  
 219  219    static RicochetFrame* from_frame(const frame& fr) {
 220  220      address bp = (address) fr.fp();
 221  221      RicochetFrame* rf = (RicochetFrame*)(bp - sender_link_offset_in_bytes());
 222  222      rf->verify();
 223  223      return rf;
 224  224    }
 225  225  
 226  226    static void verify_clean(MacroAssembler* _masm) NOT_DEBUG_RETURN;
      227 +
      228 +  static void describe(const frame* fr, FrameValues& values, int frame_no) PRODUCT_RETURN;
 227  229  };
 228  230  
 229  231  // Additional helper methods for MethodHandles code generation:
 230  232  public:
 231  233    static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg);
 232  234    static void load_conversion_vminfo(MacroAssembler* _masm, Register reg, Address conversion_field_addr);
 233  235    static void load_conversion_dest_type(MacroAssembler* _masm, Register reg, Address conversion_field_addr);
 234  236  
 235  237    static void load_stack_move(MacroAssembler* _masm,
 236  238                                Register rdi_stack_move,
↓ open down ↓ 71 lines elided ↑ open up ↑