954 {
955 for (ObjectPtr* ptr = from; ptr <= to; ptr++) {
956 ObjectPtr obj = *ptr;
957 if (obj->IsHeapObject() && obj->IsNewObject()) {
958 if (is_card_remembered_) {
959 if (!
Page::Of(visiting_)->IsCardRemembered(ptr)) {
961 "%s: Old object %#" Px " references new object %#" Px
962 ", but the "
963 "slot's card is not remembered. Consider using rr to watch the "
964 "slot %p and reverse-continue to find the store with a missing "
965 "barrier.\n",
966 msg_,
static_cast<uword>(visiting_),
static_cast<uword>(obj),
967 ptr);
968 }
969 } else if (!is_remembered_) {
970 FATAL(
"%s: Old object %#" Px " references new object %#" Px
971 ", but it is "
972 "not in any store buffer. Consider using rr to watch the "
973 "slot %p and reverse-continue to find the store with a missing "
974 "barrier.\n",
975 msg_,
static_cast<uword>(visiting_),
static_cast<uword>(obj),
976 ptr);
977 }
979 msg_);
980 }
981 }
982 }
bool Contains(uword addr) const
static uword ToAddr(const UntaggedObject *raw_obj)