< prev index next >
src/hotspot/share/ci/ciEnv.hpp
Print this page
@@ -131,10 +131,12 @@
ciField* get_field_by_index(ciInstanceKlass* loading_klass,
int field_index);
ciMethod* get_method_by_index(const constantPoolHandle& cpool,
int method_index, Bytecodes::Code bc,
ciInstanceKlass* loading_klass);
+ bool is_klass_never_null(const constantPoolHandle& cpool,
+ int klass_index);
// Implementation methods for loading and constant pool access.
ciKlass* get_klass_by_name_impl(ciKlass* accessing_klass,
const constantPoolHandle& cpool,
ciSymbol* klass_name,
@@ -149,10 +151,12 @@
ciField* get_field_by_index_impl(ciInstanceKlass* loading_klass,
int field_index);
ciMethod* get_method_by_index_impl(const constantPoolHandle& cpool,
int method_index, Bytecodes::Code bc,
ciInstanceKlass* loading_klass);
+ bool is_klass_never_null_impl(const constantPoolHandle& cpool,
+ int klass_index);
// Helper methods
bool check_klass_accessibility(ciKlass* accessing_klass,
Klass* resolved_klass);
Method* lookup_method(ciInstanceKlass* accessor,
@@ -195,10 +199,14 @@
ciInstance* get_instance(oop o) {
if (o == NULL) return NULL;
return get_object(o)->as_instance();
}
+ ciValueArrayKlass* get_value_array_klass(Klass* o) {
+ if (o == NULL) return NULL;
+ return get_metadata(o)->as_value_array_klass();
+ }
ciObjArrayKlass* get_obj_array_klass(Klass* o) {
if (o == NULL) return NULL;
return get_metadata(o)->as_obj_array_klass();
}
ciTypeArrayKlass* get_type_array_klass(Klass* o) {
@@ -471,8 +479,12 @@
void dump_replay_data(int compile_id);
void dump_inline_data(int compile_id);
void dump_replay_data(outputStream* out);
void dump_replay_data_unsafe(outputStream* out);
void dump_compile_data(outputStream* out);
+
+ ciWrapper* make_never_null_wrapper(ciType* type) {
+ return _factory->make_never_null_wrapper(type);
+ }
};
#endif // SHARE_CI_CIENV_HPP
< prev index next >