12 void* pointer =
new uint8_t[size];
17 delete[]
reinterpret_cast<uint8_t*
>(region.pointer());
23 EXPECT(region.pointer() ==
nullptr);
24 EXPECT_EQ(
kSize, region.size());
30 EXPECT_EQ(
kSize, region.size());
31 EXPECT(region.pointer() !=
nullptr);
33 region.Store<int32_t>(0, 42);
34 EXPECT_EQ(42, region.Load<int32_t>(0));
41 const uword kSubOffset = 128;
42 const uword kSubSize = 512;
45 sub_region.
Subregion(region, kSubOffset, kSubSize);
46 EXPECT_EQ(kSubSize, sub_region.
size());
48 EXPECT(sub_region.
start() == region.start() + kSubOffset);
50 region.Store<int32_t>(0, 42);
51 sub_region.
Store<int32_t>(0, 100);
52 EXPECT_EQ(42, region.Load<int32_t>(0));
53 EXPECT_EQ(100, region.Load<int32_t>(kSubOffset));
60 const uword kSubSize = 512;
61 const uword kExtendSize = 512;
64 sub_region.
Subregion(region, 0, kSubSize);
66 extended_region.
Extend(sub_region, kExtendSize);
71 extended_region.
Store<int32_t>(0, 42);
72 EXPECT_EQ(42, extended_region.
Load<int32_t>(0));
void Subregion(const MemoryRegion &from, uword offset, uword size)
void Store(uword offset, T value) const
T Load(uword offset) const
void Extend(const MemoryRegion ®ion, uword extra)
static constexpr int kSize
static void * NewRegion(uword size)
static void DeleteRegion(const MemoryRegion ®ion)
#define VM_UNIT_TEST_CASE(name)