deps: V8: cherry-pick 0188634 · nodejs/node@5b8434e (original) (raw)

`@@ -323,40 +323,10 @@

`

323

323

`#define WRITE_INT_FIELD(p, offset, value) \

`

324

324

` (*reinterpret_cast<int*>(FIELD_ADDR(p, offset)) = value)

`

325

325

``

326

``

`-

#define ACQUIRE_READ_INTPTR_FIELD(p, offset) \

`

327

``

`-

static_cast(base::Acquire_Load( \

`

328

``

`-

reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR(p, offset))))

`

329

``

-

330

326

`#define ACQUIRE_READ_INT32_FIELD(p, offset) \

`

331

327

`static_cast(base::Acquire_Load( \

`

332

328

`reinterpret_cast<const base::Atomic32*>(FIELD_ADDR(p, offset))))

`

333

329

``

334

``

`-

#define RELAXED_READ_INTPTR_FIELD(p, offset) \

`

335

``

`-

static_cast(base::Relaxed_Load( \

`

336

``

`-

reinterpret_cast<const base::AtomicWord*>(FIELD_ADDR(p, offset))))

`

337

``

-

338

``

`-

#define READ_INTPTR_FIELD(p, offset) \

`

339

``

`-

(*reinterpret_cast<const intptr_t*>(FIELD_ADDR(p, offset)))

`

340

``

-

341

``

`-

#define RELEASE_WRITE_INTPTR_FIELD(p, offset, value) \

`

342

``

`-

base::Release_Store( \

`

343

``

`-

reinterpret_castbase::AtomicWord*(FIELD_ADDR(p, offset)), \

`

344

``

`-

static_castbase::AtomicWord(value));

`

345

``

-

346

``

`-

#define RELAXED_WRITE_INTPTR_FIELD(p, offset, value) \

`

347

``

`-

base::Relaxed_Store( \

`

348

``

`-

reinterpret_castbase::AtomicWord*(FIELD_ADDR(p, offset)), \

`

349

``

`-

static_castbase::AtomicWord(value));

`

350

``

-

351

``

`-

#define WRITE_INTPTR_FIELD(p, offset, value) \

`

352

``

`-

(*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value)

`

353

``

-

354

``

`-

#define READ_UINTPTR_FIELD(p, offset) \

`

355

``

`-

(*reinterpret_cast<const uintptr_t*>(FIELD_ADDR(p, offset)))

`

356

``

-

357

``

`-

#define WRITE_UINTPTR_FIELD(p, offset, value) \

`

358

``

`-

(*reinterpret_cast<uintptr_t*>(FIELD_ADDR(p, offset)) = value)

`

359

``

-

360

330

`#define READ_UINT8_FIELD(p, offset) \

`

361

331

` (*reinterpret_cast<const uint8_t*>(FIELD_ADDR(p, offset)))

`

362

332

``

439

409

`#define WRITE_FLOAT_FIELD(p, offset, value) \

`

440

410

` (*reinterpret_cast<float*>(FIELD_ADDR(p, offset)) = value)

`

441

411

``

``

412

`+

// TODO(ishell, v8:8875): When pointer compression is enabled 8-byte size fields

`

``

413

`+

// (external pointers, doubles and BigInt data) are only kTaggedSize aligned so

`

``

414

`+

// we have to use unaligned pointer friendly way of accessing them in order to

`

``

415

`+

// avoid undefined behavior in C++ code.

`

``

416

`+

#ifdef V8_COMPRESS_POINTERS

`

``

417

+

``

418

`+

#define READ_INTPTR_FIELD(p, offset) \

`

``

419

`+

ReadUnalignedValue(FIELD_ADDR(p, offset))

`

``

420

+

``

421

`+

#define WRITE_INTPTR_FIELD(p, offset, value) \

`

``

422

`+

WriteUnalignedValue(FIELD_ADDR(p, offset), value)

`

``

423

+

``

424

`+

#define READ_UINTPTR_FIELD(p, offset) \

`

``

425

`+

ReadUnalignedValue(FIELD_ADDR(p, offset))

`

``

426

+

``

427

`+

#define WRITE_UINTPTR_FIELD(p, offset, value) \

`

``

428

`+

WriteUnalignedValue(FIELD_ADDR(p, offset), value)

`

``

429

+

``

430

`+

#define READ_UINT64_FIELD(p, offset) \

`

``

431

`+

ReadUnalignedValue(FIELD_ADDR(p, offset))

`

``

432

+

``

433

`+

#define WRITE_UINT64_FIELD(p, offset, value) \

`

``

434

`+

WriteUnalignedValue(FIELD_ADDR(p, offset), value)

`

``

435

+

``

436

`+

#else // V8_COMPRESS_POINTERS

`

``

437

+

``

438

`+

#define READ_INTPTR_FIELD(p, offset) \

`

``

439

`+

(*reinterpret_cast<const intptr_t*>(FIELD_ADDR(p, offset)))

`

``

440

+

``

441

`+

#define WRITE_INTPTR_FIELD(p, offset, value) \

`

``

442

`+

(*reinterpret_cast<intptr_t*>(FIELD_ADDR(p, offset)) = value)

`

``

443

+

``

444

`+

#define READ_UINTPTR_FIELD(p, offset) \

`

``

445

`+

(*reinterpret_cast<const uintptr_t*>(FIELD_ADDR(p, offset)))

`

``

446

+

``

447

`+

#define WRITE_UINTPTR_FIELD(p, offset, value) \

`

``

448

`+

(*reinterpret_cast<uintptr_t*>(FIELD_ADDR(p, offset)) = value)

`

``

449

+

442

450

`#define READ_UINT64_FIELD(p, offset) \

`

443

451

` (*reinterpret_cast<const uint64_t*>(FIELD_ADDR(p, offset)))

`

444

452

``

445

453

`#define WRITE_UINT64_FIELD(p, offset, value) \

`

446

454

` (*reinterpret_cast<uint64_t*>(FIELD_ADDR(p, offset)) = value)

`

447

455

``

448

``

`-

#define READ_INT64_FIELD(p, offset) \

`

449

``

`-

(*reinterpret_cast<const int64_t*>(FIELD_ADDR(p, offset)))

`

450

``

-

451

``

`-

#define WRITE_INT64_FIELD(p, offset, value) \

`

452

``

`-

(*reinterpret_cast<int64_t*>(FIELD_ADDR(p, offset)) = value)

`

``

456

`+

#endif // V8_COMPRESS_POINTERS

`

453

457

``

454

458

`#define READ_BYTE_FIELD(p, offset) \

`

455

459

` (*reinterpret_cast<const byte*>(FIELD_ADDR(p, offset)))

`