5#ifndef RUNTIME_VM_MEMORY_REGION_H_
6#define RUNTIME_VM_MEMORY_REGION_H_
24 pointer_ = other.pointer_;
29 void*
pointer()
const {
return pointer_; }
38 return *ComputeInternalPointer<T>(
offset);
53 return ComputeInternalPointer<T>(
offset);
57 return (address >=
start()) && (address <
end());
66 pointer_ =
reinterpret_cast<void*
>(from.
start() +
offset);
72 pointer_ =
region.pointer();
73 size_ = (
region.size() + extra);
void StoreUnaligned(uword offset, T value) const
void Subregion(const MemoryRegion &from, uword offset, uword size)
bool Contains(uword address) const
MemoryRegion(const MemoryRegion &other)
void Store(uword offset, T value) const
void set_size(uword new_size)
MemoryRegion & operator=(const MemoryRegion &other)
T * PointerTo(uword offset) const
MemoryRegion(void *pointer, uword size)
T Load(uword offset) const
void Extend(const MemoryRegion ®ion, uword extra)
void CopyFrom(uword offset, const MemoryRegion &from) const
ClipOpAndAA opAA SkRegion region
static void StoreUnaligned(T *ptr, T value)