From 3c2964a7238b6b15b4b6d5eac9ea109464ea9cb7 Mon Sep 17 00:00:00 2001 From: "kmillikin@chromium.org" Date: Thu, 1 Apr 2010 06:57:31 +0000 Subject: [PATCH] Make check for writes without remembered set updates less restrictive. One doesn't have to update remembered set if it already contains a mark for the given address. BUG=39766 Original review: http://codereview.chromium.org/1603002 Review URL: http://codereview.chromium.org/1577005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/objects-inl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/objects-inl.h b/src/objects-inl.h index 6d7bad7512..d363d4d6ab 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -742,7 +742,8 @@ Object* Object::GetProperty(String* key, PropertyAttributes* attributes) { } else { \ ASSERT(mode == SKIP_WRITE_BARRIER); \ ASSERT(Heap::InNewSpace(object) || \ - !Heap::InNewSpace(READ_FIELD(object, offset))); \ + !Heap::InNewSpace(READ_FIELD(object, offset)) || \ + Page::IsRSetSet(object->address(), offset)); \ } #define READ_DOUBLE_FIELD(p, offset) \