comparison src/share/vm/graal/graalEnv.hpp @ 3653:6aef50c6d967

Handlize to fix GC issue.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Thu, 17 Nov 2011 00:01:56 +0100
parents cb1181db8bec
children 4123781869da
comparison
equal deleted inserted replaced
3652:aac12c75f805 3653:6aef50c6d967
69 KlassHandle loading_klass); 69 KlassHandle loading_klass);
70 static void get_field_by_index(instanceKlassHandle loading_klass, fieldDescriptor& fd, 70 static void get_field_by_index(instanceKlassHandle loading_klass, fieldDescriptor& fd,
71 int field_index); 71 int field_index);
72 static methodHandle get_method_by_index(constantPoolHandle cpool, 72 static methodHandle get_method_by_index(constantPoolHandle cpool,
73 int method_index, Bytecodes::Code bc, 73 int method_index, Bytecodes::Code bc,
74 instanceKlass* loading_klass); 74 instanceKlassHandle loading_klass);
75 75
76 private: 76 private:
77 77
78 // Implementation methods for loading and constant pool access. 78 // Implementation methods for loading and constant pool access.
79 static klassOop get_klass_by_name_impl(KlassHandle accessing_klass, 79 static klassOop get_klass_by_name_impl(KlassHandle accessing_klass,
86 KlassHandle loading_klass); 86 KlassHandle loading_klass);
87 static void get_field_by_index_impl(instanceKlassHandle loading_klass, fieldDescriptor& fd, 87 static void get_field_by_index_impl(instanceKlassHandle loading_klass, fieldDescriptor& fd,
88 int field_index); 88 int field_index);
89 static methodHandle get_method_by_index_impl(constantPoolHandle cpool, 89 static methodHandle get_method_by_index_impl(constantPoolHandle cpool,
90 int method_index, Bytecodes::Code bc, 90 int method_index, Bytecodes::Code bc,
91 instanceKlass* loading_klass); 91 instanceKlassHandle loading_klass);
92 92
93 // Helper methods 93 // Helper methods
94 static bool check_klass_accessibility(klassOop accessing_klass, klassOop resolved_klassOop); 94 static bool check_klass_accessibility(klassOop accessing_klass, klassOop resolved_klassOop);
95 static methodOop lookup_method(instanceKlass* accessor, 95 static methodHandle lookup_method(instanceKlassHandle accessor,
96 instanceKlass* holder, 96 instanceKlassHandle holder,
97 Symbol* name, 97 Symbol* name,
98 Symbol* sig, 98 Symbol* sig,
99 Bytecodes::Code bc); 99 Bytecodes::Code bc);
100 100
101 private: 101 private:
133 133
134 // converts the ciKlass* representing the holder of a method into a 134 // converts the ciKlass* representing the holder of a method into a
135 // ciInstanceKlass*. This is needed since the holder of a method in 135 // ciInstanceKlass*. This is needed since the holder of a method in
136 // the bytecodes could be an array type. Basically this converts 136 // the bytecodes could be an array type. Basically this converts
137 // array types into java/lang/Object and other types stay as they are. 137 // array types into java/lang/Object and other types stay as they are.
138 static instanceKlass* get_instance_klass_for_declared_method_holder(KlassHandle klass); 138 static instanceKlassHandle get_instance_klass_for_declared_method_holder(KlassHandle klass);
139 }; 139 };
140 140
141 #endif // SHARE_VM_GRAAL_GRAALENV_HPP 141 #endif // SHARE_VM_GRAAL_GRAALENV_HPP