src/share/vm/ci/ciMethodData.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/ci/ciMethodData.hpp

src/share/vm/ci/ciMethodData.hpp

Print this page
rev 5463 : 8026251: New type profiling points: parameters to methods
Summary: x86 interpreter and c1 type profiling for parameters on method entries
Reviewed-by:
rev 5464 : 8024070: C2 needs some form of type speculation
Summary: record unused type profile information with type system, propagate and use it.
Reviewed-by:

*** 98,107 **** --- 98,111 ---- 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 };
*** 111,120 **** --- 115,128 ---- 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 };
*** 152,161 **** --- 160,177 ---- 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; #endif };
*** 258,267 **** --- 274,291 ---- 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; #endif };
*** 303,312 **** --- 327,340 ---- 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; #endif };
src/share/vm/ci/ciMethodData.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File