| Index: runtime/vm/object.cc
|
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
|
| index 79689346507076d9ad80316a2a4888335a6b6dd2..3a2fb6830843056e9cbe373919e155b8dfa9de29 100644
|
| --- a/runtime/vm/object.cc
|
| +++ b/runtime/vm/object.cc
|
| @@ -4168,7 +4168,7 @@ const char* Class::ToCString() const {
|
| const char* library_name = lib.IsNull() ? "" : lib.ToCString();
|
| const char* class_name = String::Handle(Name()).ToCString();
|
| intptr_t len = OS::SNPrint(NULL, 0, format, library_name, class_name) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, library_name, class_name);
|
| return chars;
|
| }
|
| @@ -4339,7 +4339,7 @@ const char* UnresolvedClass::ToCString() const {
|
| const char* format = "unresolved class '%s'";
|
| const char* cname = String::Handle(Name()).ToCString();
|
| intptr_t len = OS::SNPrint(NULL, 0, format, cname) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, cname);
|
| return chars;
|
| }
|
| @@ -5093,7 +5093,7 @@ const char* TypeArguments::ToCString() const {
|
| const AbstractType& type_at = AbstractType::Handle(TypeAt(i));
|
| const char* type_cstr = type_at.IsNull() ? "null" : type_at.ToCString();
|
| intptr_t len = OS::SNPrint(NULL, 0, format, prev_cstr, type_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, prev_cstr, type_cstr);
|
| prev_cstr = chars;
|
| }
|
| @@ -5106,7 +5106,7 @@ const char* PatchClass::ToCString() const {
|
| const Class& cls = Class::Handle(patched_class());
|
| const char* cls_name = cls.ToCString();
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, cls_name) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, cls_name);
|
| return chars;
|
| }
|
| @@ -5921,7 +5921,7 @@ static intptr_t ConstructFunctionFullyQualifiedCString(
|
| reserve_len +=
|
| OS::SNPrint(NULL, 0, lib_class_format, library_name, class_name);
|
| ASSERT(chars != NULL);
|
| - *chars = Isolate::Current()->current_zone()->Alloc<char>(reserve_len + 1);
|
| + *chars = Thread::Current()->zone()->Alloc<char>(reserve_len + 1);
|
| written = OS::SNPrint(
|
| *chars, reserve_len + 1, lib_class_format, library_name, class_name);
|
| } else {
|
| @@ -6926,7 +6926,7 @@ const char* Function::ToCString() const {
|
| const char* function_name = String::Handle(name()).ToCString();
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, function_name,
|
| static_str, abstract_str, kind_str, const_str) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, function_name,
|
| static_str, abstract_str, kind_str, const_str);
|
| return chars;
|
| @@ -7318,7 +7318,7 @@ const char* Field::ToCString() const {
|
| const char* cls_name = String::Handle(cls.Name()).ToCString();
|
| intptr_t len =
|
| OS::SNPrint(NULL, 0, kFormat, cls_name, field_name, kF0, kF1, kF2) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, cls_name, field_name, kF0, kF1, kF2);
|
| return chars;
|
| }
|
| @@ -7528,10 +7528,10 @@ const char* Field::GuardedPropertiesAsCString() const {
|
| is_final()) {
|
| ASSERT(guarded_list_length() != kUnknownFixedLength);
|
| if (guarded_list_length() == kNoFixedLength) {
|
| - return Isolate::Current()->current_zone()->PrintToString(
|
| + return Thread::Current()->zone()->PrintToString(
|
| "<%s [*]>", class_name);
|
| } else {
|
| - return Isolate::Current()->current_zone()->PrintToString(
|
| + return Thread::Current()->zone()->PrintToString(
|
| "<%s [%" Pd " @%" Pd "]>",
|
| class_name,
|
| guarded_list_length(),
|
| @@ -7539,7 +7539,7 @@ const char* Field::GuardedPropertiesAsCString() const {
|
| }
|
| }
|
|
|
| - return Isolate::Current()->current_zone()->PrintToString("<%s %s>",
|
| + return Thread::Current()->zone()->PrintToString("<%s %s>",
|
| is_nullable() ? "nullable" : "not-nullable",
|
| class_name);
|
| }
|
| @@ -10011,7 +10011,7 @@ const char* Library::ToCString() const {
|
| const char* kFormat = "Library:'%s'";
|
| const String& name = String::Handle(url());
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, name.ToCString());
|
| return chars;
|
| }
|
| @@ -10425,7 +10425,7 @@ const char* LibraryPrefix::ToCString() const {
|
| const char* kFormat = "LibraryPrefix:'%s'";
|
| const String& prefix = String::Handle(name());
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, prefix.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, prefix.ToCString());
|
| return chars;
|
| }
|
| @@ -10481,7 +10481,7 @@ const char* Namespace::ToCString() const {
|
| const char* kFormat = "Namespace for library '%s'";
|
| const Library& lib = Library::Handle(library());
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, lib.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, lib.ToCString());
|
| return chars;
|
| }
|
| @@ -10989,7 +10989,7 @@ const char* PcDescriptors::ToCString() const {
|
| }
|
| }
|
| // Allocate the buffer.
|
| - char* buffer = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* buffer = Thread::Current()->zone()->Alloc<char>(len);
|
| // Layout the fields in the buffer.
|
| intptr_t index = 0;
|
| Iterator iter(*this, RawPcDescriptors::kAnyKind);
|
| @@ -11177,7 +11177,7 @@ const char* Stackmap::ToCString() const {
|
| } else {
|
| const char* kFormat = "%#" Px ": ";
|
| intptr_t fixed_length = OS::SNPrint(NULL, 0, kFormat, PcOffset()) + 1;
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| // Guard against integer overflow in the computation of alloc_size.
|
| //
|
| // TODO(kmillikin): We could just truncate the string if someone
|
| @@ -11186,7 +11186,7 @@ const char* Stackmap::ToCString() const {
|
| FATAL1("Length() is unexpectedly large (%" Pd ")", Length());
|
| }
|
| intptr_t alloc_size = fixed_length + Length();
|
| - char* chars = isolate->current_zone()->Alloc<char>(alloc_size);
|
| + char* chars = thread->zone()->Alloc<char>(alloc_size);
|
| intptr_t index = OS::SNPrint(chars, alloc_size, kFormat, PcOffset());
|
| for (intptr_t i = 0; i < Length(); i++) {
|
| chars[index++] = IsObject(i) ? '1' : '0';
|
| @@ -11301,7 +11301,7 @@ const char* LocalVarDescriptors::ToCString() const {
|
| GetInfo(i, &info);
|
| len += PrintVarInfo(NULL, 0, i, var_name, info);
|
| }
|
| - char* buffer = Isolate::Current()->current_zone()->Alloc<char>(len + 1);
|
| + char* buffer = Thread::Current()->zone()->Alloc<char>(len + 1);
|
| buffer[0] = '\0';
|
| intptr_t num_chars = 0;
|
| for (intptr_t i = 0; i < Length(); i++) {
|
| @@ -11544,7 +11544,7 @@ const char* ExceptionHandlers::ToCString() const {
|
| }
|
| }
|
| // Allocate the buffer.
|
| - char* buffer = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* buffer = Thread::Current()->zone()->Alloc<char>(len);
|
| // Layout the fields in the buffer.
|
| intptr_t num_chars = 0;
|
| for (intptr_t i = 0; i < num_entries(); i++) {
|
| @@ -11653,7 +11653,7 @@ const char* DeoptInfo::ToCString(const Array& deopt_table,
|
| }
|
|
|
| // Allocate the buffer.
|
| - char* buffer = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* buffer = Thread::Current()->zone()->Alloc<char>(len);
|
|
|
| // Layout the fields in the buffer.
|
| intptr_t index = 0;
|
| @@ -11690,7 +11690,7 @@ const char* ICData::ToCString() const {
|
| const intptr_t num_checks = NumberOfChecks();
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString(),
|
| num_args, num_checks) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, name.ToCString(), num_args, num_checks);
|
| return chars;
|
| }
|
| @@ -12953,7 +12953,7 @@ intptr_t Code::GetDeoptIdForOsr(uword pc) const {
|
| const char* Code::ToCString() const {
|
| const char* kFormat = "Code entry:%p";
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, EntryPoint()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, EntryPoint());
|
| return chars;
|
| }
|
| @@ -13272,7 +13272,7 @@ const char* Context::ToCString() const {
|
| if (IsNull()) {
|
| return "Context (Null)";
|
| }
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| const Context& parent_ctx = Context::Handle(parent());
|
| if (parent_ctx.IsNull()) {
|
| return zone->PrintToString("Context@%p num_variables:% " Pd "",
|
| @@ -13473,7 +13473,7 @@ const char* ContextScope::ToCString() const {
|
| intptr_t lvl = ContextLevelAt(i);
|
| intptr_t len =
|
| OS::SNPrint(NULL, 0, format, prev_cstr, cname, pos, lvl, idx) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, prev_cstr, cname, pos, lvl, idx);
|
| prev_cstr = chars;
|
| }
|
| @@ -13930,7 +13930,8 @@ void UnhandledException::set_stacktrace(const Instance& stacktrace) const {
|
|
|
|
|
| const char* UnhandledException::ToErrorCString() const {
|
| - Isolate* isolate = Isolate::Current();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| HANDLESCOPE(isolate);
|
| Object& strtmp = Object::Handle();
|
| const char* exc_str;
|
| @@ -13956,7 +13957,7 @@ const char* UnhandledException::ToErrorCString() const {
|
| }
|
| const char* format = "Unhandled exception:\n%s\n%s";
|
| intptr_t len = OS::SNPrint(NULL, 0, format, exc_str, stack_str);
|
| - char* chars = isolate->current_zone()->Alloc<char>(len);
|
| + char* chars = thread->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, exc_str, stack_str);
|
| return chars;
|
| }
|
| @@ -14122,7 +14123,7 @@ bool Instance::CheckAndCanonicalizeFields(const char** error_str) const {
|
| const char* kFormat = "field: %s\n";
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, kFormat, obj.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, obj.ToCString());
|
| *error_str = chars;
|
| return false;
|
| @@ -14456,7 +14457,7 @@ const char* Instance::ToCString() const {
|
| const String& type_name = String::Handle(type.UserVisibleName());
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, type_name.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, type_name.ToCString());
|
| return chars;
|
| }
|
| @@ -15606,7 +15607,7 @@ const char* Type::ToCString() const {
|
| const char* format = "%sType: class '%s'";
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, format, unresolved, class_name) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, unresolved, class_name);
|
| return chars;
|
| } else if (IsResolved() && IsFinalized() && IsRecursive()) {
|
| @@ -15615,7 +15616,7 @@ const char* Type::ToCString() const {
|
| const char* args_cstr = TypeArguments::Handle(arguments()).ToCString();
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, format, raw(), hash, class_name, args_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, raw(), hash, class_name, args_cstr);
|
| return chars;
|
| } else {
|
| @@ -15623,7 +15624,7 @@ const char* Type::ToCString() const {
|
| const char* args_cstr = TypeArguments::Handle(arguments()).ToCString();
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, format, unresolved, class_name, args_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, unresolved, class_name, args_cstr);
|
| return chars;
|
| }
|
| @@ -15808,13 +15809,13 @@ const char* TypeRef::ToCString() const {
|
| const intptr_t hash = ref_type.Hash();
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, format, type_cstr, ref_type.raw(), hash) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, type_cstr, ref_type.raw(), hash);
|
| return chars;
|
| } else {
|
| const char* format = "TypeRef: %s<...>";
|
| const intptr_t len = OS::SNPrint(NULL, 0, format, type_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, type_cstr);
|
| return chars;
|
| }
|
| @@ -16050,7 +16051,7 @@ const char* TypeParameter::ToCString() const {
|
| const char* bound_cstr = String::Handle(upper_bound.Name()).ToCString();
|
| intptr_t len = OS::SNPrint(
|
| NULL, 0, format, name_cstr, index(), cls_cstr, bound_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, name_cstr, index(), cls_cstr, bound_cstr);
|
| return chars;
|
| }
|
| @@ -16265,7 +16266,7 @@ const char* BoundedType::ToCString() const {
|
| const char* cls_cstr = String::Handle(cls.Name()).ToCString();
|
| intptr_t len = OS::SNPrint(
|
| NULL, 0, format, type_cstr, bound_cstr, type_param_cstr, cls_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(
|
| chars, len, format, type_cstr, bound_cstr, type_param_cstr, cls_cstr);
|
| return chars;
|
| @@ -16311,7 +16312,7 @@ const char* MixinAppType::ToCString() const {
|
| MixinTypeAt(0)).Name()).ToCString();
|
| intptr_t len = OS::SNPrint(
|
| NULL, 0, format, super_type_cstr, first_mixin_type_cstr) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, super_type_cstr, first_mixin_type_cstr);
|
| return chars;
|
| }
|
| @@ -16798,7 +16799,7 @@ const char* Smi::ToCString() const {
|
| const char* kFormat = "%ld";
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, Value()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, Value());
|
| return chars;
|
| }
|
| @@ -16929,7 +16930,7 @@ const char* Mint::ToCString() const {
|
| const char* kFormat = "%lld";
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, value()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, value());
|
| return chars;
|
| }
|
| @@ -17060,7 +17061,7 @@ const char* Double::ToCString() const {
|
| return value() < 0 ? "-Infinity" : "Infinity";
|
| }
|
| const int kBufferSize = 128;
|
| - char* buffer = Isolate::Current()->current_zone()->Alloc<char>(kBufferSize);
|
| + char* buffer = Thread::Current()->zone()->Alloc<char>(kBufferSize);
|
| buffer[kBufferSize - 1] = '\0';
|
| DoubleToCString(value(), buffer, kBufferSize);
|
| return buffer;
|
| @@ -17809,7 +17810,7 @@ const char* Bigint::ToHexCString(uword (*allocator)(intptr_t size)) const {
|
|
|
|
|
| static uword BigintAllocator(intptr_t size) {
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| return zone->AllocUnsafe(size);
|
| }
|
|
|
| @@ -18395,7 +18396,7 @@ static int32_t MergeHexCharacters(int32_t c1, int32_t c2) {
|
|
|
| RawString* String::EncodeIRI(const String& str) {
|
| const intptr_t len = Utf8::Length(str);
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| uint8_t* utf8 = zone->Alloc<uint8_t>(len);
|
| str.ToUTF8(utf8, len);
|
| intptr_t num_escapes = 0;
|
| @@ -18459,7 +18460,7 @@ RawString* String::DecodeIRI(const String& str) {
|
| }
|
| intptr_t utf8_len = len - num_escapes;
|
| ASSERT(utf8_len >= 0);
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| uint8_t* utf8 = zone->Alloc<uint8_t>(utf8_len);
|
| {
|
| intptr_t index = 0;
|
| @@ -18502,7 +18503,7 @@ RawString* String::NewFormattedV(const char* format, va_list args) {
|
| intptr_t len = OS::VSNPrint(NULL, 0, format, args_copy);
|
| va_end(args_copy);
|
|
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| char* buffer = zone->Alloc<char>(len + 1);
|
| OS::VSNPrint(buffer, (len + 1), format, args);
|
|
|
| @@ -18612,7 +18613,7 @@ const char* String::ToCString() const {
|
| if (len == 0) {
|
| return "";
|
| }
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| uint8_t* result = zone->Alloc<uint8_t>(len + 1);
|
| NoSafepointScope no_safepoint;
|
| const uint8_t* original_str = OneByteString::CharAddr(*this, 0);
|
| @@ -18630,7 +18631,7 @@ const char* String::ToCString() const {
|
| }
|
| }
|
| const intptr_t len = Utf8::Length(*this);
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| uint8_t* result = zone->Alloc<uint8_t>(len + 1);
|
| ToUTF8(result, len);
|
| result[len] = 0;
|
| @@ -18834,7 +18835,7 @@ bool String::ParseDouble(const String& str,
|
| } else if (str.IsExternalOneByteString()) {
|
| startChar = ExternalOneByteString::CharAddr(str, start);
|
| } else {
|
| - uint8_t* chars = Isolate::Current()->current_zone()->Alloc<uint8_t>(length);
|
| + uint8_t* chars = Thread::Current()->zone()->Alloc<uint8_t>(length);
|
| const Scanner::CharAtFunc char_at = str.CharAtFunc();
|
| for (intptr_t i = 0; i < length; i++) {
|
| int32_t ch = char_at(str, start + i);
|
| @@ -19659,7 +19660,7 @@ const char* Array::ToCString() const {
|
| if (IsNull()) {
|
| return IsImmutable() ? "_ImmutableList NULL" : "_List NULL";
|
| }
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| const char* format = IsImmutable() ? "_ImmutableList len:%" Pd
|
| : "_List len:%" Pd;
|
| return zone->PrintToString(format, Length());
|
| @@ -19776,7 +19777,7 @@ bool Array::CheckAndCanonicalizeFields(const char** error_str) const {
|
| const char* kFormat = "element at index %" Pd ": %s\n";
|
| const intptr_t len =
|
| OS::SNPrint(NULL, 0, kFormat, i, obj.ToCString()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, i, obj.ToCString());
|
| *error_str = chars;
|
| return false;
|
| @@ -19903,7 +19904,7 @@ const char* GrowableObjectArray::ToCString() const {
|
| }
|
| const char* format = "Instance(length:%" Pd ") of '_GrowableList'";
|
| intptr_t len = OS::SNPrint(NULL, 0, format, Length()) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, Length());
|
| return chars;
|
| }
|
| @@ -20011,7 +20012,7 @@ RawLinkedHashMap* LinkedHashMap::NewUninitialized(Heap::Space space) {
|
|
|
|
|
| const char* LinkedHashMap::ToCString() const {
|
| - Zone* zone = Isolate::Current()->current_zone();
|
| + Zone* zone = Thread::Current()->zone();
|
| return zone->PrintToString("_LinkedHashMap len:%" Pd, Length());
|
| }
|
|
|
| @@ -20134,7 +20135,7 @@ const char* Float32x4::ToCString() const {
|
| float _w = w();
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, _x, _y, _z, _w) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w);
|
| return chars;
|
| }
|
| @@ -20239,7 +20240,7 @@ const char* Int32x4::ToCString() const {
|
| int32_t _w = w();
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, _x, _y, _z, _w) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, _x, _y, _z, _w);
|
| return chars;
|
| }
|
| @@ -20319,7 +20320,7 @@ const char* Float64x2::ToCString() const {
|
| double _y = y();
|
| // Calculate the size of the string.
|
| intptr_t len = OS::SNPrint(NULL, 0, kFormat, _x, _y) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, kFormat, _x, _y);
|
| return chars;
|
| }
|
| @@ -20589,7 +20590,7 @@ const char* Closure::ToCString(const Instance& closure) {
|
| const char* fun_desc = is_implicit_closure ? fun.ToCString() : "";
|
| const char* format = "Closure: %s%s%s";
|
| intptr_t len = OS::SNPrint(NULL, 0, format, fun_sig, from, fun_desc) + 1;
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len);
|
| OS::SNPrint(chars, len, format, fun_sig, from, fun_desc);
|
| return chars;
|
| }
|
| @@ -20705,7 +20706,7 @@ void Stacktrace::PrintJSONImpl(JSONStream* stream, bool ref) const {
|
| }
|
|
|
|
|
| -static intptr_t PrintOneStacktrace(Isolate* isolate,
|
| +static intptr_t PrintOneStacktrace(Zone* zone,
|
| GrowableArray<char*>* frame_strings,
|
| uword pc,
|
| const Function& function,
|
| @@ -20715,10 +20716,10 @@ static intptr_t PrintOneStacktrace(Isolate* isolate,
|
| const char* kFormatNoCol = "#%-6d %s (%s:%d)\n";
|
| const char* kFormatNoLine = "#%-6d %s (%s)\n";
|
| const intptr_t token_pos = code.GetTokenIndexOfPC(pc);
|
| - const Script& script = Script::Handle(isolate, function.script());
|
| + const Script& script = Script::Handle(zone, function.script());
|
| const String& function_name =
|
| - String::Handle(isolate, function.QualifiedUserVisibleName());
|
| - const String& url = String::Handle(isolate, script.url());
|
| + String::Handle(zone, function.QualifiedUserVisibleName());
|
| + const String& url = String::Handle(zone, script.url());
|
| intptr_t line = -1;
|
| intptr_t column = -1;
|
| if (token_pos > 0) {
|
| @@ -20734,7 +20735,7 @@ static intptr_t PrintOneStacktrace(Isolate* isolate,
|
| len = OS::SNPrint(NULL, 0, kFormatWithCol,
|
| frame_index, function_name.ToCString(),
|
| url.ToCString(), line, column);
|
| - chars = isolate->current_zone()->Alloc<char>(len + 1);
|
| + chars = zone->Alloc<char>(len + 1);
|
| OS::SNPrint(chars, (len + 1), kFormatWithCol,
|
| frame_index,
|
| function_name.ToCString(),
|
| @@ -20743,7 +20744,7 @@ static intptr_t PrintOneStacktrace(Isolate* isolate,
|
| len = OS::SNPrint(NULL, 0, kFormatNoCol,
|
| frame_index, function_name.ToCString(),
|
| url.ToCString(), line);
|
| - chars = isolate->current_zone()->Alloc<char>(len + 1);
|
| + chars = zone->Alloc<char>(len + 1);
|
| OS::SNPrint(chars, (len + 1), kFormatNoCol,
|
| frame_index, function_name.ToCString(),
|
| url.ToCString(), line);
|
| @@ -20751,7 +20752,7 @@ static intptr_t PrintOneStacktrace(Isolate* isolate,
|
| len = OS::SNPrint(NULL, 0, kFormatNoLine,
|
| frame_index, function_name.ToCString(),
|
| url.ToCString());
|
| - chars = isolate->current_zone()->Alloc<char>(len + 1);
|
| + chars = zone->Alloc<char>(len + 1);
|
| OS::SNPrint(chars, (len + 1), kFormatNoLine,
|
| frame_index, function_name.ToCString(),
|
| url.ToCString());
|
| @@ -20763,7 +20764,7 @@ static intptr_t PrintOneStacktrace(Isolate* isolate,
|
|
|
| const char* Stacktrace::ToCStringInternal(intptr_t* frame_index,
|
| intptr_t max_frames) const {
|
| - Isolate* isolate = Isolate::Current();
|
| + Zone* zone = Thread::Current()->zone();
|
| Function& function = Function::Handle();
|
| Code& code = Code::Handle();
|
| // Iterate through the stack frames and create C string description
|
| @@ -20778,7 +20779,7 @@ const char* Stacktrace::ToCStringInternal(intptr_t* frame_index,
|
| (FunctionAtFrame(i + 1) != Function::null())) {
|
| const char* kTruncated = "...\n...\n";
|
| intptr_t truncated_len = strlen(kTruncated) + 1;
|
| - char* chars = isolate->current_zone()->Alloc<char>(truncated_len);
|
| + char* chars = zone->Alloc<char>(truncated_len);
|
| OS::SNPrint(chars, truncated_len, "%s", kTruncated);
|
| frame_strings.Add(chars);
|
| total_len += truncated_len;
|
| @@ -20800,20 +20801,20 @@ const char* Stacktrace::ToCStringInternal(intptr_t* frame_index,
|
| ASSERT(code.EntryPoint() <= pc);
|
| ASSERT(pc < (code.EntryPoint() + code.Size()));
|
| total_len += PrintOneStacktrace(
|
| - isolate, &frame_strings, pc, function, code, *frame_index);
|
| + zone, &frame_strings, pc, function, code, *frame_index);
|
| (*frame_index)++; // To account for inlined frames.
|
| }
|
| }
|
| } else {
|
| total_len += PrintOneStacktrace(
|
| - isolate, &frame_strings, pc, function, code, *frame_index);
|
| + zone, &frame_strings, pc, function, code, *frame_index);
|
| (*frame_index)++;
|
| }
|
| }
|
| }
|
|
|
| // Now concatenate the frame descriptions into a single C string.
|
| - char* chars = isolate->current_zone()->Alloc<char>(total_len + 1);
|
| + char* chars = zone->Alloc<char>(total_len + 1);
|
| intptr_t index = 0;
|
| for (intptr_t i = 0; i < frame_strings.length(); i++) {
|
| index += OS::SNPrint((chars + index),
|
| @@ -20916,7 +20917,7 @@ const char* JSRegExp::ToCString() const {
|
| const String& str = String::Handle(pattern());
|
| const char* format = "JSRegExp: pattern=%s flags=%s";
|
| intptr_t len = OS::SNPrint(NULL, 0, format, str.ToCString(), Flags());
|
| - char* chars = Isolate::Current()->current_zone()->Alloc<char>(len + 1);
|
| + char* chars = Thread::Current()->zone()->Alloc<char>(len + 1);
|
| OS::SNPrint(chars, (len + 1), format, str.ToCString(), Flags());
|
| return chars;
|
| }
|
|
|