src/share/vm/opto/callGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/callGenerator.hpp

Print this page




  26 #define SHARE_VM_OPTO_CALLGENERATOR_HPP
  27 
  28 #include "compiler/compileBroker.hpp"
  29 #include "opto/callnode.hpp"
  30 #include "opto/compile.hpp"
  31 #include "opto/type.hpp"
  32 #include "runtime/deoptimization.hpp"
  33 
  34 //---------------------------CallGenerator-------------------------------------
  35 // The subclasses of this class handle generation of ideal nodes for
  36 // call sites and method entry points.
  37 
  38 class CallGenerator : public ResourceObj {
  39  public:
  40   enum {
  41     xxxunusedxxx
  42   };
  43 
  44  private:
  45   ciMethod*             _method;                // The method being called.

  46 
  47  protected:
  48   CallGenerator(ciMethod* method) : _method(method) {}
  49 
  50  public:
  51   // Accessors
  52   ciMethod*         method() const              { return _method; }



  53 
  54   // is_inline: At least some code implementing the method is copied here.
  55   virtual bool      is_inline() const           { return false; }
  56   // is_intrinsic: There's a method-specific way of generating the inline code.
  57   virtual bool      is_intrinsic() const        { return false; }
  58   // is_parse: Bytecodes implementing the specific method are copied here.
  59   virtual bool      is_parse() const            { return false; }
  60   // is_virtual: The call uses the receiver type to select or check the method.
  61   virtual bool      is_virtual() const          { return false; }
  62   // is_deferred: The decision whether to inline or not is deferred.
  63   virtual bool      is_deferred() const         { return false; }
  64   // is_predicated: Uses an explicit check (predicate).
  65   virtual bool      is_predicated() const       { return false; }
  66   virtual int       predicates_count() const    { return 0; }
  67   // is_trap: Does not return to the caller.  (E.g., uncommon trap.)
  68   virtual bool      is_trap() const             { return false; }
  69   // does_virtual_dispatch: Should try inlining as normal method first.
  70   virtual bool      does_virtual_dispatch() const     { return false; }
  71 
  72   // is_late_inline: supports conversion of call into an inline




  26 #define SHARE_VM_OPTO_CALLGENERATOR_HPP
  27 
  28 #include "compiler/compileBroker.hpp"
  29 #include "opto/callnode.hpp"
  30 #include "opto/compile.hpp"
  31 #include "opto/type.hpp"
  32 #include "runtime/deoptimization.hpp"
  33 
  34 //---------------------------CallGenerator-------------------------------------
  35 // The subclasses of this class handle generation of ideal nodes for
  36 // call sites and method entry points.
  37 
  38 class CallGenerator : public ResourceObj {
  39  public:
  40   enum {
  41     xxxunusedxxx
  42   };
  43 
  44  private:
  45   ciMethod*             _method;                // The method being called.
  46   bool                  _override_symbolic_info;
  47 
  48  protected:
  49   CallGenerator(ciMethod* method) : _method(method), _override_symbolic_info(false) {}
  50 
  51  public:
  52   // Accessors
  53   ciMethod*          method() const             { return _method; }
  54   void set_override_symbolic_info(bool x)       { _override_symbolic_info = x; }
  55   bool     override_symbolic_info() const       { return _override_symbolic_info; }
  56 
  57 
  58   // is_inline: At least some code implementing the method is copied here.
  59   virtual bool      is_inline() const           { return false; }
  60   // is_intrinsic: There's a method-specific way of generating the inline code.
  61   virtual bool      is_intrinsic() const        { return false; }
  62   // is_parse: Bytecodes implementing the specific method are copied here.
  63   virtual bool      is_parse() const            { return false; }
  64   // is_virtual: The call uses the receiver type to select or check the method.
  65   virtual bool      is_virtual() const          { return false; }
  66   // is_deferred: The decision whether to inline or not is deferred.
  67   virtual bool      is_deferred() const         { return false; }
  68   // is_predicated: Uses an explicit check (predicate).
  69   virtual bool      is_predicated() const       { return false; }
  70   virtual int       predicates_count() const    { return 0; }
  71   // is_trap: Does not return to the caller.  (E.g., uncommon trap.)
  72   virtual bool      is_trap() const             { return false; }
  73   // does_virtual_dispatch: Should try inlining as normal method first.
  74   virtual bool      does_virtual_dispatch() const     { return false; }
  75 
  76   // is_late_inline: supports conversion of call into an inline


src/share/vm/opto/callGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File