Chromium Code Reviews| Index: runtime/vm/object.cc |
| =================================================================== |
| --- runtime/vm/object.cc (revision 37049) |
| +++ runtime/vm/object.cc (working copy) |
| @@ -15998,6 +15998,24 @@ |
| } |
| +Scanner::CharAtFunc String::CharAtFunc() const { |
| + intptr_t class_id = raw()->GetClassId(); |
| + ASSERT(RawObject::IsStringClassId(class_id)); |
| + NoGCScope no_gc; |
|
zra
2014/06/05 20:49:46
What is the reason for the NoGCScope?
srdjan
2014/06/05 21:16:38
Copy and paste error: removed.
|
| + if (class_id == kOneByteStringCid) { |
| + return &OneByteString::CharAt; |
| + } |
| + if (class_id == kTwoByteStringCid) { |
| + return &TwoByteString::CharAt; |
| + } |
| + if (class_id == kExternalOneByteStringCid) { |
| + return &ExternalOneByteString::CharAt; |
| + } |
| + ASSERT(class_id == kExternalTwoByteStringCid); |
| + return &ExternalTwoByteString::CharAt; |
| +} |
| + |
| + |
| intptr_t String::CharSize() const { |
| intptr_t class_id = raw()->GetClassId(); |
| if (class_id == kOneByteStringCid || class_id == kExternalOneByteStringCid) { |