< prev index next >

src/share/vm/ci/ciMethodData.hpp

Print this page

        

*** 86,95 **** --- 86,106 ---- } else { return NULL; } } + static ProfilePtrKind ptr_kind(intptr_t v) { + bool maybe_null = TypeEntries::was_null_seen(v); + if (!maybe_null) { + return ProfileNeverNull; + } else if (TypeEntries::is_type_none(v)) { + return ProfileAlwaysNull; + } else { + return ProfileMaybeNull; + } + } + static intptr_t with_status(ciKlass* k, intptr_t in) { return TypeEntries::with_status((intptr_t)k, in); } #ifndef PRODUCT
*** 103,114 **** ciKlass* valid_type(int i) const { return valid_ciklass(type(i)); } ! bool maybe_null(int i) const { ! return was_null_seen(type(i)); } #ifndef PRODUCT void print_data_on(outputStream* st) const; #endif --- 114,125 ---- ciKlass* valid_type(int i) const { return valid_ciklass(type(i)); } ! ProfilePtrKind ptr_kind(int i) const { ! return ciTypeEntries::ptr_kind(type(i)); } #ifndef PRODUCT void print_data_on(outputStream* st) const; #endif
*** 120,131 **** ciKlass* valid_type() const { return valid_ciklass(type()); } ! bool maybe_null() const { ! return was_null_seen(type()); } #ifndef PRODUCT void print_data_on(outputStream* st) const; #endif --- 131,142 ---- ciKlass* valid_type() const { return valid_ciklass(type()); } ! ProfilePtrKind ptr_kind() const { ! return ciTypeEntries::ptr_kind(type()); } #ifndef PRODUCT void print_data_on(outputStream* st) const; #endif
*** 165,180 **** ciKlass* valid_return_type() const { assert(has_return(), "no ret type profiling data"); return ret()->valid_type(); } ! bool argument_maybe_null(int i) const { ! return args()->maybe_null(i); } ! bool return_maybe_null() const { ! return ret()->maybe_null(); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif --- 176,191 ---- ciKlass* valid_return_type() const { assert(has_return(), "no ret type profiling data"); return ret()->valid_type(); } ! ProfilePtrKind argument_ptr_kind(int i) const { ! return args()->ptr_kind(i); } ! ProfilePtrKind return_ptr_kind() const { ! return ret()->ptr_kind(); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif
*** 279,294 **** ciKlass* valid_return_type() const { assert(has_return(), "no ret type profiling data"); return ret()->valid_type(); } ! bool argument_maybe_null(int i) const { ! return args()->maybe_null(i); } ! bool return_maybe_null() const { ! return ret()->maybe_null(); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif --- 290,305 ---- ciKlass* valid_return_type() const { assert(has_return(), "no ret type profiling data"); return ret()->valid_type(); } ! ProfilePtrKind argument_ptr_kind(int i) const { ! return args()->ptr_kind(i); } ! ProfilePtrKind return_ptr_kind() const { ! return ret()->ptr_kind(); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif
*** 332,343 **** ciKlass* valid_parameter_type(int i) const { return parameters()->valid_type(i); } ! bool parameter_maybe_null(int i) const { ! return parameters()->maybe_null(i); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif --- 343,354 ---- ciKlass* valid_parameter_type(int i) const { return parameters()->valid_type(i); } ! ProfilePtrKind parameter_ptr_kind(int i) const { ! return parameters()->ptr_kind(i); } #ifndef PRODUCT void print_data_on(outputStream* st, const char* extra = NULL) const; #endif
< prev index next >