| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 18647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 18658 | 18658 |
| 18659 RawTwoByteString* TwoByteString::New(const String& str, | 18659 RawTwoByteString* TwoByteString::New(const String& str, |
| 18660 Heap::Space space) { | 18660 Heap::Space space) { |
| 18661 intptr_t len = str.Length(); | 18661 intptr_t len = str.Length(); |
| 18662 const String& result = String::Handle(TwoByteString::New(len, space)); | 18662 const String& result = String::Handle(TwoByteString::New(len, space)); |
| 18663 String::Copy(result, 0, str, 0, len); | 18663 String::Copy(result, 0, str, 0, len); |
| 18664 return TwoByteString::raw(result); | 18664 return TwoByteString::raw(result); |
| 18665 } | 18665 } |
| 18666 | 18666 |
| 18667 | 18667 |
| 18668 RawTwoByteString* TwoByteString::New(const TypedData& other_typed_data, |
| 18669 intptr_t other_start_index, |
| 18670 intptr_t other_len, |
| 18671 Heap::Space space) { |
| 18672 const String& result = String::Handle(TwoByteString::New(other_len, space)); |
| 18673 if (other_len > 0) { |
| 18674 NoGCScope no_gc; |
| 18675 memmove(TwoByteString::CharAddr(result, 0), |
| 18676 other_typed_data.DataAddr(other_start_index), |
| 18677 other_len * sizeof(uint16_t)); |
| 18678 } |
| 18679 return TwoByteString::raw(result); |
| 18680 } |
| 18681 |
| 18682 |
| 18683 RawTwoByteString* TwoByteString::New(const ExternalTypedData& other_typed_data, |
| 18684 intptr_t other_start_index, |
| 18685 intptr_t other_len, |
| 18686 Heap::Space space) { |
| 18687 const String& result = String::Handle(TwoByteString::New(other_len, space)); |
| 18688 if (other_len > 0) { |
| 18689 NoGCScope no_gc; |
| 18690 memmove(TwoByteString::CharAddr(result, 0), |
| 18691 other_typed_data.DataAddr(other_start_index), |
| 18692 other_len * sizeof(uint16_t)); |
| 18693 } |
| 18694 return TwoByteString::raw(result); |
| 18695 } |
| 18696 |
| 18697 |
| 18668 RawTwoByteString* TwoByteString::Concat(const String& str1, | 18698 RawTwoByteString* TwoByteString::Concat(const String& str1, |
| 18669 const String& str2, | 18699 const String& str2, |
| 18670 Heap::Space space) { | 18700 Heap::Space space) { |
| 18671 intptr_t len1 = str1.Length(); | 18701 intptr_t len1 = str1.Length(); |
| 18672 intptr_t len2 = str2.Length(); | 18702 intptr_t len2 = str2.Length(); |
| 18673 intptr_t len = len1 + len2; | 18703 intptr_t len = len1 + len2; |
| 18674 const String& result = String::Handle(TwoByteString::New(len, space)); | 18704 const String& result = String::Handle(TwoByteString::New(len, space)); |
| 18675 String::Copy(result, 0, str1, 0, len1); | 18705 String::Copy(result, 0, str1, 0, len1); |
| 18676 String::Copy(result, len1, str2, 0, len2); | 18706 String::Copy(result, len1, str2, 0, len2); |
| 18677 return TwoByteString::raw(result); | 18707 return TwoByteString::raw(result); |
| (...skipping 1852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20530 return tag_label.ToCString(); | 20560 return tag_label.ToCString(); |
| 20531 } | 20561 } |
| 20532 | 20562 |
| 20533 | 20563 |
| 20534 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 20564 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 20535 Instance::PrintJSONImpl(stream, ref); | 20565 Instance::PrintJSONImpl(stream, ref); |
| 20536 } | 20566 } |
| 20537 | 20567 |
| 20538 | 20568 |
| 20539 } // namespace dart | 20569 } // namespace dart |
| OLD | NEW |