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(); |