summaryrefslogtreecommitdiff
path: root/src/memory_region.cc
blob: 987db51807f85bea0da9238a41d321ae058cc4b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Copyright 2011 Google Inc. All Rights Reserved.

#include <stdint.h>
#include <string.h>
#include "globals.h"
#include "logging.h"
#include "memory_region.h"

namespace art {

void MemoryRegion::CopyFrom(size_t offset, const MemoryRegion& from) const {
  CHECK(from.pointer() != NULL);
  CHECK_GT(from.size(), 0U);
  CHECK_GE(this->size(), from.size());
  CHECK_LE(offset, this->size() - from.size());
  memmove(reinterpret_cast<void*>(start() + offset),
          from.pointer(), from.size());
}

}  // namespace art