Mercurial > hg > truffle
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 |