Print this page
rev 1025 : imported patch 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 ↓ 531 lines elided ↑ open up ↑
 532  532  //------------------------------CallJavaNode-----------------------------------
 533  533  // Make a static or dynamic subroutine call node using Java calling
 534  534  // convention.  (The "Java" calling convention is the compiler's calling
 535  535  // convention, as opposed to the interpreter's or that of native C.)
 536  536  class CallJavaNode : public CallNode {
 537  537  protected:
 538  538    virtual uint cmp( const Node &n ) const;
 539  539    virtual uint size_of() const; // Size is bigger
 540  540  
 541  541    bool    _optimized_virtual;
      542 +  bool    _method_handle_invoke;
 542  543    ciMethod* _method;            // Method being direct called
 543  544  public:
 544  545    const int       _bci;         // Byte Code Index of call byte code
 545  546    CallJavaNode(const TypeFunc* tf , address addr, ciMethod* method, int bci)
 546  547      : CallNode(tf, addr, TypePtr::BOTTOM),
 547      -      _method(method), _bci(bci), _optimized_virtual(false)
      548 +      _method(method), _bci(bci),
      549 +      _optimized_virtual(false),
      550 +      _method_handle_invoke(false)
 548  551    {
 549  552      init_class_id(Class_CallJava);
 550  553    }
 551  554  
 552  555    virtual int   Opcode() const;
 553  556    ciMethod* method() const                { return _method; }
 554  557    void  set_method(ciMethod *m)           { _method = m; }
 555  558    void  set_optimized_virtual(bool f)     { _optimized_virtual = f; }
 556  559    bool  is_optimized_virtual() const      { return _optimized_virtual; }
      560 +  void  set_method_handle_invoke(bool f)  { _method_handle_invoke = f; }
      561 +  bool  is_method_handle_invoke() const   { return _method_handle_invoke; }
 557  562  
 558  563  #ifndef PRODUCT
 559  564    virtual void  dump_spec(outputStream *st) const;
 560  565  #endif
 561  566  };
 562  567  
 563  568  //------------------------------CallStaticJavaNode-----------------------------
 564  569  // Make a direct subroutine call using Java calling convention (for static
 565  570  // calls and optimized virtual calls, plus calls to wrappers for run-time
 566  571  // routines); generates static stub.
↓ open down ↓ 346 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX