898 {
899 for (ObjectPtr* ptr = from; ptr <= to; ptr++) {
900 ObjectPtr obj = *ptr;
901 if (obj->IsHeapObject() && obj->IsNewObject()) {
902 if (is_card_remembered_) {
903 if (!
Page::Of(visiting_)->IsCardRemembered(ptr)) {
905 "%s: Old object %#" Px " references new object %#" Px
906 ", but the "
907 "slot's card is not remembered. Consider using rr to watch the "
908 "slot %p and reverse-continue to find the store with a missing "
909 "barrier.\n",
910 msg_,
static_cast<uword>(visiting_),
static_cast<uword>(obj),
911 ptr);
912 }
913 } else if (!is_remembered_) {
914 FATAL(
"%s: Old object %#" Px " references new object %#" Px
915 ", but it is "
916 "not in any store buffer. Consider using rr to watch the "
917 "slot %p and reverse-continue to find the store with a missing "
918 "barrier.\n",
919 msg_,
static_cast<uword>(visiting_),
static_cast<uword>(obj),
920 ptr);
921 }
923 msg_);
924 }
925 }
926 }
bool Contains(uword addr) const
static uword ToAddr(const UntaggedObject *raw_obj)