Index: runtime/vm/dart_api_impl.cc |
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc |
index 9186ce6af3d28f43941a7b1af74a64e9fa81e7f1..c45744e638d533a310793ee892203efea47d4879 100644 |
--- a/runtime/vm/dart_api_impl.cc |
+++ b/runtime/vm/dart_api_impl.cc |
@@ -4966,17 +4966,18 @@ DART_EXPORT void Dart_SetWeakHandleReturnValue(Dart_NativeArguments args, |
// --- Environment --- |
-RawString* Api::CallEnvironmentCallback(Isolate* isolate, const String& name) { |
+RawString* Api::CallEnvironmentCallback(Thread* thread, const String& name) { |
+ Isolate* isolate = thread->isolate(); |
Scope api_scope(isolate); |
Dart_EnvironmentCallback callback = isolate->environment_callback(); |
- String& result = String::Handle(isolate->current_zone()); |
+ String& result = String::Handle(thread->zone()); |
if (callback != NULL) { |
Dart_Handle response = callback(Api::NewHandle(isolate, name.raw())); |
if (::Dart_IsString(response)) { |
result ^= Api::UnwrapHandle(response); |
} else if (::Dart_IsError(response)) { |
- const Object& error = |
- Object::Handle(isolate->current_zone(), Api::UnwrapHandle(response)); |
+ const Object& error = Object::Handle( |
+ thread->zone(), Api::UnwrapHandle(response)); |
Exceptions::ThrowArgumentError( |
String::Handle(String::New(Error::Cast(error).ToErrorCString()))); |
} else if (!::Dart_IsNull(response)) { |
@@ -5052,7 +5053,7 @@ DART_EXPORT Dart_Handle Dart_SetLibraryTagHandler( |
// NOTE: Need to pass 'result' as a parameter here in order to avoid |
// warning: variable 'result' might be clobbered by 'longjmp' or 'vfork' |
// which shows up because of the use of setjmp. |
-static void CompileSource(Isolate* isolate, |
+static void CompileSource(Thread* thread, |
const Library& lib, |
const Script& script, |
Dart_Handle* result) { |
@@ -5061,13 +5062,13 @@ static void CompileSource(Isolate* isolate, |
if (update_lib_status) { |
lib.SetLoadInProgress(); |
} |
- ASSERT(isolate != NULL); |
+ ASSERT(thread != NULL); |
const Error& error = |
- Error::Handle(isolate->current_zone(), Compiler::Compile(lib, script)); |
+ Error::Handle(thread->zone(), Compiler::Compile(lib, script)); |
if (error.IsNull()) { |
- *result = Api::NewHandle(isolate, lib.raw()); |
+ *result = Api::NewHandle(thread->isolate(), lib.raw()); |
} else { |
- *result = Api::NewHandle(isolate, error.raw()); |
+ *result = Api::NewHandle(thread->isolate(), error.raw()); |
// Compilation errors are not Dart instances, so just mark the library |
// as having failed to load without providing an error instance. |
lib.SetLoadError(Object::null_instance()); |
@@ -5116,7 +5117,7 @@ DART_EXPORT Dart_Handle Dart_LoadScript(Dart_Handle url, |
Script::New(url_str, source_str, RawScript::kScriptTag)); |
script.SetLocationOffset(line_offset, column_offset); |
Dart_Handle result; |
- CompileSource(I, library, script, &result); |
+ CompileSource(T, library, script, &result); |
return result; |
} |
@@ -5361,7 +5362,7 @@ DART_EXPORT Dart_Handle Dart_LoadLibrary(Dart_Handle url, |
Script::New(url_str, source_str, RawScript::kLibraryTag)); |
script.SetLocationOffset(line_offset, column_offset); |
Dart_Handle result; |
- CompileSource(I, library, script, &result); |
+ CompileSource(T, library, script, &result); |
// Propagate the error out right now. |
if (::Dart_IsError(result)) { |
return result; |
@@ -5456,7 +5457,7 @@ DART_EXPORT Dart_Handle Dart_LoadSource(Dart_Handle library, |
Script::New(url_str, source_str, RawScript::kSourceTag)); |
script.SetLocationOffset(line_offset, column_offset); |
Dart_Handle result; |
- CompileSource(I, lib, script, &result); |
+ CompileSource(T, lib, script, &result); |
return result; |
} |
@@ -5485,7 +5486,7 @@ DART_EXPORT Dart_Handle Dart_LibraryLoadPatch(Dart_Handle library, |
const Script& script = Script::Handle(Z, |
Script::New(url_str, source_str, RawScript::kPatchTag)); |
Dart_Handle result; |
- CompileSource(I, lib, script, &result); |
+ CompileSource(T, lib, script, &result); |
return result; |
} |