Print this page
rev 1082 : imported patch indy.compiler.patch
rev 1083 : [mq]: indy.compiler.inline.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/ci/ciMethod.hpp
          +++ new/src/share/vm/ci/ciMethod.hpp
↓ open down ↓ 30 lines elided ↑ open up ↑
  31   31  
  32   32  // ciMethod
  33   33  //
  34   34  // This class represents a methodOop in the HotSpot virtual
  35   35  // machine.
  36   36  class ciMethod : public ciObject {
  37   37    friend class CompileBroker;
  38   38    CI_PACKAGE_ACCESS
  39   39    friend class ciEnv;
  40   40    friend class ciExceptionHandlerStream;
       41 +  friend class ciBytecodeStream;
       42 +  friend class ciMethodHandle;
  41   43  
  42   44   private:
  43   45    // General method information.
  44   46    ciFlags          _flags;
  45   47    ciSymbol*        _name;
  46   48    ciInstanceKlass* _holder;
  47   49    ciSignature*     _signature;
  48   50    ciMethodData*    _method_data;
  49   51    BCEscapeAnalyzer* _bcea;
  50   52    ciMethodBlocks*   _method_blocks;
↓ open down ↓ 193 lines elided ↑ open up ↑
 244  246    // Print the bytecodes of this method.
 245  247    void print_codes_on(outputStream* st);
 246  248    void print_codes() {
 247  249      print_codes_on(tty);
 248  250    }
 249  251    void print_codes_on(int from, int to, outputStream* st);
 250  252  
 251  253    // Print the name of this method in various incarnations.
 252  254    void print_name(outputStream* st = tty);
 253  255    void print_short_name(outputStream* st = tty);
      256 +
      257 +  methodOop get_method_handle_target() {
      258 +    klassOop receiver_limit_oop = NULL;
      259 +    int flags = 0;
      260 +    return MethodHandles::decode_method(get_oop(), receiver_limit_oop, flags);
      261 +  }
 254  262  };
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX