Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index 88ebd0e8e941309c6b21a740741755ce938ac85a..1b73107e7b4e7cf1811cafcbbdee8ece61e1b5d0 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -8500,18 +8500,20 @@ void Script::set_tokens(const TokenStream& value) const { |
void Script::Tokenize(const String& private_key) const { |
- Isolate* isolate = Isolate::Current(); |
- const TokenStream& tkns = TokenStream::Handle(isolate, tokens()); |
+ Thread* thread = Thread::Current(); |
+ Zone* zone = thread->zone(); |
+ Isolate* isolate = thread->isolate(); |
+ const TokenStream& tkns = TokenStream::Handle(zone, tokens()); |
if (!tkns.IsNull()) { |
// Already tokenized. |
return; |
} |
// Get the source, scan and allocate the token stream. |
- VMTagScope tagScope(isolate, VMTag::kCompileScannerTagId); |
+ VMTagScope tagScope(thread, VMTag::kCompileScannerTagId); |
CSTAT_TIMER_SCOPE(isolate, scanner_timer); |
- const String& src = String::Handle(isolate, Source()); |
+ const String& src = String::Handle(zone, Source()); |
Scanner scanner(src, private_key); |
- set_tokens(TokenStream::Handle(isolate, |
+ set_tokens(TokenStream::Handle(zone, |
TokenStream::New(scanner.GetStream(), |
private_key))); |
INC_STAT(isolate, src_length, src.Length()); |