1629 // Mark all dependee and all its superclasses |
1629 // Mark all dependee and all its superclasses |
1630 // Mark transitive interfaces |
1630 // Mark transitive interfaces |
1631 for (ContextStream str(*this); str.next(); ) { |
1631 for (ContextStream str(*this); str.next(); ) { |
1632 klassOop d = str.klass(); |
1632 klassOop d = str.klass(); |
1633 assert(!instanceKlass::cast(d)->is_marked_dependent(), "checking"); |
1633 assert(!instanceKlass::cast(d)->is_marked_dependent(), "checking"); |
1634 instanceKlass::cast(d)->set_is_marked_dependent(); |
1634 instanceKlass::cast(d)->set_is_marked_dependent(true); |
1635 } |
1635 } |
1636 } |
1636 } |
1637 |
1637 |
1638 KlassDepChange::~KlassDepChange() { |
1638 KlassDepChange::~KlassDepChange() { |
1639 // Unmark all dependee and all its superclasses |
1639 // Unmark all dependee and all its superclasses |
1640 // Unmark transitive interfaces |
1640 // Unmark transitive interfaces |
1641 for (ContextStream str(*this); str.next(); ) { |
1641 for (ContextStream str(*this); str.next(); ) { |
1642 klassOop d = str.klass(); |
1642 klassOop d = str.klass(); |
1643 instanceKlass::cast(d)->clear_is_marked_dependent(); |
1643 instanceKlass::cast(d)->set_is_marked_dependent(false); |
1644 } |
1644 } |
1645 } |
1645 } |
1646 |
1646 |
1647 bool KlassDepChange::involves_context(klassOop k) { |
1647 bool KlassDepChange::involves_context(klassOop k) { |
1648 if (k == NULL || !Klass::cast(k)->oop_is_instance()) { |
1648 if (k == NULL || !Klass::cast(k)->oop_is_instance()) { |