OLD | NEW |
---|---|
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // Review notes: | 5 // Review notes: |
6 // | 6 // |
7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
10 // | 10 // |
(...skipping 6952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6963 | 6963 |
6964 uint32_t JSArrayBuffer::bit_field() const { | 6964 uint32_t JSArrayBuffer::bit_field() const { |
6965 return READ_UINT32_FIELD(this, kBitFieldOffset); | 6965 return READ_UINT32_FIELD(this, kBitFieldOffset); |
6966 } | 6966 } |
6967 | 6967 |
6968 | 6968 |
6969 bool JSArrayBuffer::is_external() { return IsExternal::decode(bit_field()); } | 6969 bool JSArrayBuffer::is_external() { return IsExternal::decode(bit_field()); } |
6970 | 6970 |
6971 | 6971 |
6972 void JSArrayBuffer::set_is_external(bool value) { | 6972 void JSArrayBuffer::set_is_external(bool value) { |
6973 set_bit_field(IsExternal::update(bit_field(), value)); | 6973 set_bit_field(IsExternal::update(bit_field(), value)); |
Michael Lippautz
2016/10/27 14:41:50
Please add a
DCHECK(!value || !has_guard_region(
Eric Holk
2016/10/28 16:20:13
Done.
| |
6974 } | 6974 } |
6975 | 6975 |
6976 | 6976 |
6977 bool JSArrayBuffer::is_neuterable() { | 6977 bool JSArrayBuffer::is_neuterable() { |
6978 return IsNeuterable::decode(bit_field()); | 6978 return IsNeuterable::decode(bit_field()); |
6979 } | 6979 } |
6980 | 6980 |
6981 | 6981 |
6982 void JSArrayBuffer::set_is_neuterable(bool value) { | 6982 void JSArrayBuffer::set_is_neuterable(bool value) { |
6983 set_bit_field(IsNeuterable::update(bit_field(), value)); | 6983 set_bit_field(IsNeuterable::update(bit_field(), value)); |
6984 } | 6984 } |
6985 | 6985 |
6986 | 6986 |
6987 bool JSArrayBuffer::was_neutered() { return WasNeutered::decode(bit_field()); } | 6987 bool JSArrayBuffer::was_neutered() { return WasNeutered::decode(bit_field()); } |
6988 | 6988 |
6989 | 6989 |
6990 void JSArrayBuffer::set_was_neutered(bool value) { | 6990 void JSArrayBuffer::set_was_neutered(bool value) { |
6991 set_bit_field(WasNeutered::update(bit_field(), value)); | 6991 set_bit_field(WasNeutered::update(bit_field(), value)); |
6992 } | 6992 } |
6993 | 6993 |
6994 | 6994 |
6995 bool JSArrayBuffer::is_shared() { return IsShared::decode(bit_field()); } | 6995 bool JSArrayBuffer::is_shared() { return IsShared::decode(bit_field()); } |
6996 | 6996 |
6997 | 6997 |
6998 void JSArrayBuffer::set_is_shared(bool value) { | 6998 void JSArrayBuffer::set_is_shared(bool value) { |
6999 set_bit_field(IsShared::update(bit_field(), value)); | 6999 set_bit_field(IsShared::update(bit_field(), value)); |
7000 } | 7000 } |
7001 | 7001 |
7002 bool JSArrayBuffer::has_guard_region() { | |
7003 return HasGuardRegion::decode(bit_field()); | |
7004 } | |
7005 | |
7006 void JSArrayBuffer::set_has_guard_region(bool value) { | |
7007 set_bit_field(HasGuardRegion::update(bit_field(), value)); | |
7008 } | |
7002 | 7009 |
7003 Object* JSArrayBufferView::byte_offset() const { | 7010 Object* JSArrayBufferView::byte_offset() const { |
7004 if (WasNeutered()) return Smi::kZero; | 7011 if (WasNeutered()) return Smi::kZero; |
7005 return Object::cast(READ_FIELD(this, kByteOffsetOffset)); | 7012 return Object::cast(READ_FIELD(this, kByteOffsetOffset)); |
7006 } | 7013 } |
7007 | 7014 |
7008 | 7015 |
7009 void JSArrayBufferView::set_byte_offset(Object* value, WriteBarrierMode mode) { | 7016 void JSArrayBufferView::set_byte_offset(Object* value, WriteBarrierMode mode) { |
7010 WRITE_FIELD(this, kByteOffsetOffset, value); | 7017 WRITE_FIELD(this, kByteOffsetOffset, value); |
7011 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kByteOffsetOffset, value, mode); | 7018 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kByteOffsetOffset, value, mode); |
(...skipping 1411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8423 #undef WRITE_INT64_FIELD | 8430 #undef WRITE_INT64_FIELD |
8424 #undef READ_BYTE_FIELD | 8431 #undef READ_BYTE_FIELD |
8425 #undef WRITE_BYTE_FIELD | 8432 #undef WRITE_BYTE_FIELD |
8426 #undef NOBARRIER_READ_BYTE_FIELD | 8433 #undef NOBARRIER_READ_BYTE_FIELD |
8427 #undef NOBARRIER_WRITE_BYTE_FIELD | 8434 #undef NOBARRIER_WRITE_BYTE_FIELD |
8428 | 8435 |
8429 } // namespace internal | 8436 } // namespace internal |
8430 } // namespace v8 | 8437 } // namespace v8 |
8431 | 8438 |
8432 #endif // V8_OBJECTS_INL_H_ | 8439 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |