hotspot/src/share/vm/ci/ciObjectFactory.hpp
changeset 5882 6b2aecc4f7d8
parent 5547 f4b087cbb361
child 7397 5b173b4ca846
equal deleted inserted replaced
5708:e92b3d8118f1 5882:6b2aecc4f7d8
    37 
    37 
    38   Arena*                    _arena;
    38   Arena*                    _arena;
    39   GrowableArray<ciObject*>* _ci_objects;
    39   GrowableArray<ciObject*>* _ci_objects;
    40   GrowableArray<ciMethod*>* _unloaded_methods;
    40   GrowableArray<ciMethod*>* _unloaded_methods;
    41   GrowableArray<ciKlass*>* _unloaded_klasses;
    41   GrowableArray<ciKlass*>* _unloaded_klasses;
       
    42   GrowableArray<ciInstance*>* _unloaded_instances;
    42   GrowableArray<ciReturnAddress*>* _return_addresses;
    43   GrowableArray<ciReturnAddress*>* _return_addresses;
    43   int                       _next_ident;
    44   int                       _next_ident;
    44 
    45 
    45 public:
    46 public:
    46   struct NonPermObject : public ResourceObj {
    47   struct NonPermObject : public ResourceObj {
    71 
    72 
    72   Arena* arena() { return _arena; }
    73   Arena* arena() { return _arena; }
    73 
    74 
    74   void print_contents_impl();
    75   void print_contents_impl();
    75 
    76 
       
    77   ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
       
    78 
    76 public:
    79 public:
    77   static bool is_initialized() { return _initialized; }
    80   static bool is_initialized() { return _initialized; }
    78 
    81 
    79   static void initialize();
    82   static void initialize();
    80   void init_shared_objects();
    83   void init_shared_objects();
    96   // Get a ciKlass representing an unloaded klass.
    99   // Get a ciKlass representing an unloaded klass.
    97   ciKlass* get_unloaded_klass(ciKlass* accessing_klass,
   100   ciKlass* get_unloaded_klass(ciKlass* accessing_klass,
    98                               ciSymbol* name,
   101                               ciSymbol* name,
    99                               bool create_if_not_found);
   102                               bool create_if_not_found);
   100 
   103 
       
   104   // Get a ciInstance representing an unresolved klass mirror.
       
   105   ciInstance* get_unloaded_klass_mirror(ciKlass* type);
       
   106 
       
   107   // Get a ciInstance representing an unresolved method handle constant.
       
   108   ciInstance* get_unloaded_method_handle_constant(ciKlass*  holder,
       
   109                                                   ciSymbol* name,
       
   110                                                   ciSymbol* signature,
       
   111                                                   int       ref_kind);
       
   112 
       
   113   // Get a ciInstance representing an unresolved method type constant.
       
   114   ciInstance* get_unloaded_method_type_constant(ciSymbol* signature);
       
   115 
   101 
   116 
   102   // Get the ciMethodData representing the methodData for a method
   117   // Get the ciMethodData representing the methodData for a method
   103   // with none.
   118   // with none.
   104   ciMethodData* get_empty_methodData();
   119   ciMethodData* get_empty_methodData();
   105 
   120