comparison src/share/vm/ci/ciObjectFactory.hpp @ 1602:136b78722a08

6939203: JSR 292 needs method handle constants Summary: Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode. Reviewed-by: twisti, never
author jrose
date Wed, 09 Jun 2010 18:50:45 -0700
parents c18cbe5936b8
children 2d26b0046e0d f95d63e2154a
comparison
equal deleted inserted replaced
1585:49fac4acd688 1602:136b78722a08
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