diff options
Diffstat (limited to 'runtime/mirror/string.cc')
-rw-r--r-- | runtime/mirror/string.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/runtime/mirror/string.cc b/runtime/mirror/string.cc index 6a0c225..ee719b4 100644 --- a/runtime/mirror/string.cc +++ b/runtime/mirror/string.cc @@ -22,7 +22,7 @@ #include "intern_table.h" #include "object-inl.h" #include "runtime.h" -#include "sirt_ref.h" +#include "handle_scope-inl.h" #include "thread.h" #include "utf-inl.h" @@ -123,18 +123,19 @@ String* String::AllocFromModifiedUtf8(Thread* self, int32_t utf16_length, } String* String::Alloc(Thread* self, int32_t utf16_length) { - SirtRef<CharArray> array(self, CharArray::Alloc(self, utf16_length)); - if (UNLIKELY(array.get() == nullptr)) { + StackHandleScope<1> hs(self); + Handle<CharArray> array(hs.NewHandle(CharArray::Alloc(self, utf16_length))); + if (UNLIKELY(array.Get() == nullptr)) { return nullptr; } return Alloc(self, array); } -String* String::Alloc(Thread* self, const SirtRef<CharArray>& array) { +String* String::Alloc(Thread* self, const Handle<CharArray>& array) { // Hold reference in case AllocObject causes GC. String* string = down_cast<String*>(GetJavaLangString()->AllocObject(self)); if (LIKELY(string != nullptr)) { - string->SetArray(array.get()); + string->SetArray(array.Get()); string->SetCount(array->GetLength()); } return string; |