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

Split Close
Expand all
Collapse all
          --- old/src/share/vm/opto/callnode.hpp
          +++ new/src/share/vm/opto/callnode.hpp
↓ open down ↓ 554 lines elided ↑ open up ↑
 555  555  //------------------------------CallJavaNode-----------------------------------
 556  556  // Make a static or dynamic subroutine call node using Java calling
 557  557  // convention.  (The "Java" calling convention is the compiler's calling
 558  558  // convention, as opposed to the interpreter's or that of native C.)
 559  559  class CallJavaNode : public CallNode {
 560  560  protected:
 561  561    virtual uint cmp( const Node &n ) const;
 562  562    virtual uint size_of() const; // Size is bigger
 563  563  
 564  564    bool    _optimized_virtual;
      565 +  bool    _method_handle_invoke;
 565  566    ciMethod* _method;            // Method being direct called
 566  567  public:
 567  568    const int       _bci;         // Byte Code Index of call byte code
 568  569    CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
 569  570      : CallNode(tf, addr, TypePtr::BOTTOM),
 570      -      _method(method), _bci(bci), _optimized_virtual(false)
      571 +      _method(method), _bci(bci),
      572 +      _optimized_virtual(false),
      573 +      _method_handle_invoke(false)
 571  574    {
 572  575      init_class_id(Class_CallJava);
 573  576    }
 574  577  
 575  578    virtual int   Opcode() const;
 576  579    ciMethod* method() const                { return _method; }
 577  580    void  set_method(ciMethod *m)           { _method = m; }
 578  581    void  set_optimized_virtual(bool f)     { _optimized_virtual = f; }
 579  582    bool  is_optimized_virtual() const      { return _optimized_virtual; }
      583 +  void  set_method_handle_invoke(bool f)  { _method_handle_invoke = f; }
      584 +  bool  is_method_handle_invoke() const   { return _method_handle_invoke; }
 580  585  
 581  586  #ifndef PRODUCT
 582  587    virtual void  dump_spec(outputStream *st) const;
 583  588  #endif
 584  589  };
 585  590  
 586  591  //------------------------------CallStaticJavaNode-----------------------------
 587  592  // Make a direct subroutine call using Java calling convention (for static
 588  593  // calls and optimized virtual calls, plus calls to wrappers for run-time
 589  594  // routines); generates static stub.
↓ open down ↓ 346 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX