< prev index next >
src/share/vm/oops/instanceRefKlass.hpp
Print this page
rev 12851 : 8138737: Remove oop_ms_adjust_pointers and use oop_iterate instead
Reviewed-by:
rev 12852 : [mq]: 8138737-remove-oop-ms-adjust-kbarrett-rev1
rev 12853 : [mq]: 8138737-remove-oop-ms-adjust-stefank-rev1
rev 12854 : 8138888: Remove ExtendedOopClosure::apply_to_weak_ref_discovered_field
Reviewed-by:
*** 121,130 ****
--- 121,136 ----
// Do discovery while handling InstanceRefKlasses. Reference discovery
// is only done if the closure provides a ReferenceProcessor.
template <bool nv, typename T, class OopClosureType, class Contains>
static void oop_oop_iterate_discovery(oop obj, ReferenceType type, OopClosureType* closure, Contains& contains);
+ // Used for a special case in G1 where the closure needs to be applied
+ // to the discovered field. Reference discovery is also done if the
+ // closure provides a ReferenceProcessor.
+ template <bool nv, typename T, class OopClosureType, class Contains>
+ static void oop_oop_iterate_discovered_and_discovery(oop obj, ReferenceType type, OopClosureType* closure, Contains& contains);
+
// Apply the closure to all fields. No reference discovery is done.
template <bool nv, typename T, class OopClosureType, class Contains>
static void oop_oop_iterate_fields(oop obj, OopClosureType* closure, Contains& contains);
template <typename T>
< prev index next >