< prev index next >

src/share/vm/gc_implementation/g1/g1InCSetState.hpp

Print this page
rev 7472 : [mq]: 8060025-mikael-review1
rev 7473 : imported patch mikael-refactor-cset-state
rev 7474 : [mq]: kim-review

*** 28,37 **** --- 28,38 ---- #include "gc_implementation/g1/g1BiasedArray.hpp" #include "memory/allocation.hpp" // Per-region state during garbage collection. struct InCSetState { + private: // We use different types to represent the state value. Particularly SPARC puts // values in structs from "left to right", i.e. MSB to LSB. This results in many // unnecessary shift operations when loading and storing values of this type. // This degrades performance significantly (>10%) on that platform. // Other tested ABIs do not seem to have this problem, and actually tend to
*** 73,83 **** bool is_young() const { return _value == Young; } bool is_old() const { return _value == Old; } #ifdef ASSERT bool is_default() const { return is_not_in_cset(); } ! bool is_valid() const { return _value < Num; } bool is_valid_gen() const { return (_value >= Young && _value <= Old); } #endif }; // Instances of this class are used for quick tests on whether a reference points --- 74,84 ---- bool is_young() const { return _value == Young; } bool is_old() const { return _value == Old; } #ifdef ASSERT bool is_default() const { return is_not_in_cset(); } ! bool is_valid() const { return (_value >= Humongous) && (_value < Num); } bool is_valid_gen() const { return (_value >= Young && _value <= Old); } #endif }; // Instances of this class are used for quick tests on whether a reference points
< prev index next >