comparison src/share/vm/ci/ciInstanceKlass.hpp @ 13021:4d3575d37a07

8026735: Stream tests throw java.lang.IncompatibleClassChangeError Summary: Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1 Reviewed-by: kvn, twisti
author iveresov
date Wed, 30 Oct 2013 22:55:11 -0700
parents d13d7aba8c12
children 096c224171c4 de6a9e811145
comparison
equal deleted inserted replaced
13020:60a32bb8ff99 13021:4d3575d37a07
50 InstanceKlass::ClassState _init_state; // state of class 50 InstanceKlass::ClassState _init_state; // state of class
51 bool _is_shared; 51 bool _is_shared;
52 bool _has_finalizer; 52 bool _has_finalizer;
53 bool _has_subklass; 53 bool _has_subklass;
54 bool _has_nonstatic_fields; 54 bool _has_nonstatic_fields;
55 bool _has_default_methods;
55 56
56 ciFlags _flags; 57 ciFlags _flags;
57 jint _nonstatic_field_size; 58 jint _nonstatic_field_size;
58 jint _nonstatic_oop_map_size; 59 jint _nonstatic_oop_map_size;
59 60
169 } else { 170 } else {
170 return 2; 171 return 2;
171 } 172 }
172 } 173 }
173 174
175 bool has_default_methods() {
176 assert(is_loaded(), "must be loaded");
177 return _has_default_methods;
178 }
179
174 ciInstanceKlass* get_canonical_holder(int offset); 180 ciInstanceKlass* get_canonical_holder(int offset);
175 ciField* get_field_by_offset(int field_offset, bool is_static); 181 ciField* get_field_by_offset(int field_offset, bool is_static);
176 ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static); 182 ciField* get_field_by_name(ciSymbol* name, ciSymbol* signature, bool is_static);
177 183
178 GrowableArray<ciField*>* non_static_fields(); 184 GrowableArray<ciField*>* non_static_fields();