| Index: src/objects-inl.h | 
| diff --git a/src/objects-inl.h b/src/objects-inl.h | 
| index d6665d6f0165c32d2c891e5056e9169effac7496..4c9f160c4afd04d73100bfb23e4b9caf3b43c76d 100644 | 
| --- a/src/objects-inl.h | 
| +++ b/src/objects-inl.h | 
| @@ -1232,9 +1232,16 @@ MaybeObject* Object::GetProperty(Name* key, PropertyAttributes* attributes) { | 
| #define READ_BYTE_FIELD(p, offset) \ | 
| (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset))) | 
|  | 
| +#define NOBARRIER_READ_BYTE_FIELD(p, offset)               \ | 
| +  static_cast<byte>(NoBarrier_Load(                        \ | 
| +      reinterpret_cast<Atomic8*>(FIELD_ADDR(p, offset))) ) | 
| + | 
| #define WRITE_BYTE_FIELD(p, offset, value) \ | 
| (*reinterpret_cast<byte*>(FIELD_ADDR(p, offset)) = value) | 
|  | 
| +#define NOBARRIER_WRITE_BYTE_FIELD(p, offset, value)                 \ | 
| +  NoBarrier_Store(reinterpret_cast<Atomic8*>(FIELD_ADDR(p, offset)), \ | 
| +                  static_cast<Atomic8>(value)); | 
|  | 
| Object** HeapObject::RawField(HeapObject* obj, int byte_offset) { | 
| return &READ_FIELD(obj, byte_offset); | 
| @@ -4151,7 +4158,8 @@ void Map::set_visitor_id(int id) { | 
|  | 
|  | 
| int Map::instance_size() { | 
| -  return READ_BYTE_FIELD(this, kInstanceSizeOffset) << kPointerSizeLog2; | 
| +  return NOBARRIER_READ_BYTE_FIELD( | 
| +      this, kInstanceSizeOffset) << kPointerSizeLog2; | 
| } | 
|  | 
|  | 
| @@ -4221,7 +4229,8 @@ void Map::set_instance_size(int value) { | 
| ASSERT_EQ(0, value & (kPointerSize - 1)); | 
| value >>= kPointerSizeLog2; | 
| ASSERT(0 <= value && value < 256); | 
| -  WRITE_BYTE_FIELD(this, kInstanceSizeOffset, static_cast<byte>(value)); | 
| +  NOBARRIER_WRITE_BYTE_FIELD( | 
| +      this, kInstanceSizeOffset, static_cast<byte>(value)); | 
| } | 
|  | 
|  | 
| @@ -7075,11 +7084,15 @@ void FlexibleBodyDescriptor<start_offset>::IterateBody(HeapObject* obj, | 
| #undef ACCESSORS | 
| #undef ACCESSORS_TO_SMI | 
| #undef SMI_ACCESSORS | 
| +#undef SYNCHRONIZED_SMI_ACCESSORS | 
| +#undef NOBARRIER_SMI_ACCESSORS | 
| #undef BOOL_GETTER | 
| #undef BOOL_ACCESSORS | 
| #undef FIELD_ADDR | 
| #undef READ_FIELD | 
| +#undef NOBARRIER_READ_FIELD | 
| #undef WRITE_FIELD | 
| +#undef NOBARRIER_WRITE_FIELD | 
| #undef WRITE_BARRIER | 
| #undef CONDITIONAL_WRITE_BARRIER | 
| #undef READ_DOUBLE_FIELD | 
| @@ -7094,6 +7107,8 @@ void FlexibleBodyDescriptor<start_offset>::IterateBody(HeapObject* obj, | 
| #undef WRITE_SHORT_FIELD | 
| #undef READ_BYTE_FIELD | 
| #undef WRITE_BYTE_FIELD | 
| +#undef NOBARRIER_READ_BYTE_FIELD | 
| +#undef NOBARRIER_WRITE_BYTE_FIELD | 
|  | 
| } }  // namespace v8::internal | 
|  | 
|  |