| 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 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1296 (*reinterpret_cast<Object* const*>(FIELD_ADDR_CONST(p, offset))) | 1296 (*reinterpret_cast<Object* const*>(FIELD_ADDR_CONST(p, offset))) |
| 1297 | 1297 |
| 1298 #define ACQUIRE_READ_FIELD(p, offset) \ | 1298 #define ACQUIRE_READ_FIELD(p, offset) \ |
| 1299 reinterpret_cast<Object*>(base::Acquire_Load( \ | 1299 reinterpret_cast<Object*>(base::Acquire_Load( \ |
| 1300 reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) | 1300 reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) |
| 1301 | 1301 |
| 1302 #define NOBARRIER_READ_FIELD(p, offset) \ | 1302 #define NOBARRIER_READ_FIELD(p, offset) \ |
| 1303 reinterpret_cast<Object*>(base::NoBarrier_Load( \ | 1303 reinterpret_cast<Object*>(base::NoBarrier_Load( \ |
| 1304 reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) | 1304 reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR_CONST(p, offset)))) |
| 1305 | 1305 |
| 1306 #if V8_CONCURRENT_MARKING | 1306 #ifdef V8_CONCURRENT_MARKING |
| 1307 #define WRITE_FIELD(p, offset, value) \ | 1307 #define WRITE_FIELD(p, offset, value) \ |
| 1308 base::NoBarrier_Store( \ | 1308 base::NoBarrier_Store( \ |
| 1309 reinterpret_cast<base::AtomicWord*>(FIELD_ADDR(p, offset)), \ | 1309 reinterpret_cast<base::AtomicWord*>(FIELD_ADDR(p, offset)), \ |
| 1310 reinterpret_cast<base::AtomicWord>(value)); | 1310 reinterpret_cast<base::AtomicWord>(value)); |
| 1311 #else | 1311 #else |
| 1312 #define WRITE_FIELD(p, offset, value) \ | 1312 #define WRITE_FIELD(p, offset, value) \ |
| 1313 (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value) | 1313 (*reinterpret_cast<Object**>(FIELD_ADDR(p, offset)) = value) |
| 1314 #endif | 1314 #endif |
| 1315 | 1315 |
| 1316 #define RELEASE_WRITE_FIELD(p, offset, value) \ | 1316 #define RELEASE_WRITE_FIELD(p, offset, value) \ |
| (...skipping 6944 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8261 #undef WRITE_BYTE_FIELD | 8261 #undef WRITE_BYTE_FIELD |
| 8262 #undef NOBARRIER_READ_BYTE_FIELD | 8262 #undef NOBARRIER_READ_BYTE_FIELD |
| 8263 #undef NOBARRIER_WRITE_BYTE_FIELD | 8263 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 8264 | 8264 |
| 8265 } // namespace internal | 8265 } // namespace internal |
| 8266 } // namespace v8 | 8266 } // namespace v8 |
| 8267 | 8267 |
| 8268 #include "src/objects/object-macros-undef.h" | 8268 #include "src/objects/object-macros-undef.h" |
| 8269 | 8269 |
| 8270 #endif // V8_OBJECTS_INL_H_ | 8270 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |