Chromium Code Reviews| Index: runtime/vm/object.cc |
| =================================================================== |
| --- runtime/vm/object.cc (revision 3698) |
| +++ runtime/vm/object.cc (working copy) |
| @@ -7511,6 +7511,51 @@ |
| } |
| +void ByteArray::Copy(uint8_t* dst, |
| + const ByteArray& src, |
| + intptr_t src_offset, |
| + intptr_t length) { |
| + ASSERT(Utils::RangeCheck(src_offset, length, src.Length())); |
| + { |
| + NoGCScope no_gc; |
| + memmove(dst, src.ByteAddr(src_offset), length); |
| + } |
| +} |
| + |
| + |
| +void ByteArray::Copy(const ByteArray& dst, |
| + intptr_t dst_offset, |
| + const uint8_t* src, |
| + intptr_t length) { |
| + ASSERT(Utils::RangeCheck(dst_offset, length, dst.Length())); |
| + { |
| + NoGCScope no_gc; |
| + memmove(dst.ByteAddr(dst_offset), src, length); |
| + } |
| +} |
| + |
| + |
| +void ByteArray::Copy(const ByteArray& dst, |
| + intptr_t dst_offset, |
| + const ByteArray& src, |
| + intptr_t src_offset, |
| + intptr_t length) { |
| + ASSERT(Utils::RangeCheck(src_offset, length, src.Length())); |
| + ASSERT(Utils::RangeCheck(dst_offset, length, dst.Length())); |
|
cshapiro
2012/01/31 03:12:03
This function does not yet seem to exist in Utils.
Anders Johnsen
2012/01/31 03:34:56
Sorry, forgot to add file to cl. Added now.
|
| + { |
| + NoGCScope no_gc; |
| + memmove(dst.ByteAddr(dst_offset), src.ByteAddr(src_offset), length); |
| + } |
| +} |
| + |
| + |
| +uint8_t* ByteArray::ByteAddr(intptr_t byte_offset) const { |
| + // ByteArray is an abstract class. |
| + UNREACHABLE(); |
| + return NULL; |
| +} |
| + |
| + |
| const char* ByteArray::ToCString() const { |
| // ByteArray is an abstract class. |
| UNREACHABLE(); |