Print this page


Split Close
Expand all
Collapse all
          --- old/src/cpu/x86/vm/methodHandles_x86.hpp
          +++ new/src/cpu/x86/vm/methodHandles_x86.hpp
↓ open down ↓ 124 lines elided ↑ open up ↑
 125  125   public:
 126  126    intptr_t* continuation() const        { return _continuation; }
 127  127    oop       saved_target() const        { return _saved_target; }
 128  128    oop       saved_args_layout() const   { return _saved_args_layout; }
 129  129    intptr_t* saved_args_base() const     { return _saved_args_base; }
 130  130    intptr_t  conversion() const          { return _conversion; }
 131  131    intptr_t* exact_sender_sp() const     { return _exact_sender_sp; }
 132  132    intptr_t* sender_link() const         { return _sender_link; }
 133  133    address   sender_pc() const           { return _sender_pc; }
 134  134  
 135      -  intptr_t* extended_sender_sp() const  { return saved_args_base(); }
      135 +  intptr_t* extended_sender_sp() const {
      136 +    // The extended sender SP is above the current RicochetFrame.
      137 +    return (intptr_t*) (((address) this) + sizeof(RicochetFrame));
      138 +  }
 136  139  
 137  140    intptr_t  return_value_slot_number() const {
 138  141      return adapter_conversion_vminfo(conversion());
 139  142    }
 140  143    BasicType return_value_type() const {
 141  144      return adapter_conversion_dest_type(conversion());
 142  145    }
 143  146    bool has_return_value_slot() const {
 144  147      return return_value_type() != T_VOID;
 145  148    }
↓ open down ↓ 159 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX