Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Unified Diff: runtime/bin/dartutils.cc

Issue 1275853008: Reverts VM thread cleanup (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/dartutils.h ('k') | runtime/bin/dbg_message.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/dartutils.cc
diff --git a/runtime/bin/dartutils.cc b/runtime/bin/dartutils.cc
index 8e59a77fd4ecd0d99bee4aad7d923d00a3a7c4bc..dd63bec000de6c79ed7a318f7d4231b0924039fb 100644
--- a/runtime/bin/dartutils.cc
+++ b/runtime/bin/dartutils.cc
@@ -21,15 +21,6 @@
#include "bin/socket.h"
#include "bin/utils.h"
-// Return the error from the containing function if handle is in error handle.
-#define RETURN_IF_ERROR(handle) \
- { \
- Dart_Handle __handle = handle; \
- if (Dart_IsError((__handle))) { \
- return __handle; \
- } \
- }
-
namespace dart {
namespace bin {
@@ -392,7 +383,7 @@ Dart_Handle DartUtils::LibraryTagHandler(Dart_LibraryTag tag,
// Resolve the url within the context of the library's URL.
Dart_Handle builtin_lib =
Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary);
- RETURN_IF_ERROR(builtin_lib);
+ DART_CHECK_VALID(builtin_lib);
return ResolveUri(library_url, url, builtin_lib);
}
@@ -432,7 +423,7 @@ Dart_Handle DartUtils::LibraryTagHandler(Dart_LibraryTag tag,
Dart_Handle builtin_lib =
Builtin::LoadAndCheckLibrary(Builtin::kBuiltinLibrary);
- RETURN_IF_ERROR(builtin_lib);
+ DART_CHECK_VALID(builtin_lib);
if (DartUtils::IsDartExtensionSchemeURL(url_string)) {
// Load a native code shared library to use in a native extension
if (tag != Dart_kImportTag) {
@@ -578,9 +569,7 @@ void FUNCTION_NAME(Builtin_LoadSource)(Dart_NativeArguments args) {
} else {
ASSERT(tag == Dart_kSourceTag);
Dart_Handle library = Dart_LookupLibrary(library_uri);
- if (Dart_IsError(library)) {
- Dart_PropagateError(library);
- }
+ DART_CHECK_VALID(library);
result = Dart_LoadSource(library, resolved_script_uri, source, 0, 0);
}
}
@@ -646,24 +635,24 @@ Dart_Handle DartUtils::PrepareBuiltinLibrary(Dart_Handle builtin_lib,
// Setup the internal library's 'internalPrint' function.
Dart_Handle print = Dart_Invoke(
builtin_lib, NewString("_getPrintClosure"), 0, NULL);
- RETURN_IF_ERROR(print);
+ DART_CHECK_VALID(print);
Dart_Handle result =
Dart_SetField(internal_lib, NewString("_printClosure"), print);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
if (!is_service_isolate) {
if (IsWindowsHost()) {
result = Dart_SetField(builtin_lib, NewString("_isWindows"), Dart_True());
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
}
if (trace_loading) {
result = Dart_SetField(builtin_lib,
NewString("_traceLoading"), Dart_True());
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
}
// Set current working directory.
result = SetWorkingDirectory(builtin_lib);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
// Wait for the service isolate to initialize the load port.
Dart_Port load_port = Dart_ServiceWaitForLoadPort();
if (load_port == ILLEGAL_PORT) {
@@ -676,7 +665,7 @@ Dart_Handle DartUtils::PrepareBuiltinLibrary(Dart_Handle builtin_lib,
if (package_root != NULL) {
ASSERT(packages_file == NULL);
result = NewString(package_root);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
const int kNumArgs = 1;
Dart_Handle dart_args[kNumArgs];
dart_args[0] = result;
@@ -684,10 +673,10 @@ Dart_Handle DartUtils::PrepareBuiltinLibrary(Dart_Handle builtin_lib,
NewString("_setPackageRoot"),
kNumArgs,
dart_args);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
} else if (packages_file != NULL) {
result = NewString(packages_file);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
const int kNumArgs = 1;
Dart_Handle dart_args[kNumArgs];
dart_args[0] = result;
@@ -695,48 +684,47 @@ Dart_Handle DartUtils::PrepareBuiltinLibrary(Dart_Handle builtin_lib,
NewString("_loadPackagesMap"),
kNumArgs,
dart_args);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
}
return Dart_True();
}
-Dart_Handle DartUtils::PrepareCoreLibrary(Dart_Handle core_lib,
- Dart_Handle builtin_lib,
- bool is_service_isolate) {
+void DartUtils::PrepareCoreLibrary(Dart_Handle core_lib,
+ Dart_Handle builtin_lib,
+ bool is_service_isolate) {
if (!is_service_isolate) {
// Setup the 'Uri.base' getter in dart:core.
Dart_Handle uri_base = Dart_Invoke(
builtin_lib, NewString("_getUriBaseClosure"), 0, NULL);
- RETURN_IF_ERROR(uri_base);
+ DART_CHECK_VALID(uri_base);
Dart_Handle result = Dart_SetField(core_lib,
NewString("_uriBaseClosure"),
uri_base);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
}
- return Dart_True();
}
-Dart_Handle DartUtils::PrepareAsyncLibrary(Dart_Handle async_lib,
- Dart_Handle isolate_lib) {
+void DartUtils::PrepareAsyncLibrary(Dart_Handle async_lib,
+ Dart_Handle isolate_lib) {
Dart_Handle schedule_immediate_closure =
Dart_Invoke(isolate_lib, NewString("_getIsolateScheduleImmediateClosure"),
0, NULL);
Dart_Handle args[1];
args[0] = schedule_immediate_closure;
- return Dart_Invoke(
- async_lib, NewString("_setScheduleImmediateClosure"), 1, args);
+ DART_CHECK_VALID(Dart_Invoke(
+ async_lib, NewString("_setScheduleImmediateClosure"), 1, args));
}
-Dart_Handle DartUtils::PrepareIOLibrary(Dart_Handle io_lib) {
- return Dart_Invoke(io_lib, NewString("_setupHooks"), 0, NULL);
+void DartUtils::PrepareIOLibrary(Dart_Handle io_lib) {
+ DART_CHECK_VALID(Dart_Invoke(io_lib, NewString("_setupHooks"), 0, NULL));
}
-Dart_Handle DartUtils::PrepareIsolateLibrary(Dart_Handle isolate_lib) {
- return Dart_Invoke(isolate_lib, NewString("_setupHooks"), 0, NULL);
+void DartUtils::PrepareIsolateLibrary(Dart_Handle isolate_lib) {
+ DART_CHECK_VALID(Dart_Invoke(isolate_lib, NewString("_setupHooks"), 0, NULL));
}
@@ -747,28 +735,28 @@ Dart_Handle DartUtils::PrepareForScriptLoading(const char* package_root,
Dart_Handle builtin_lib) {
// First ensure all required libraries are available.
Dart_Handle url = NewString(kCoreLibURL);
- RETURN_IF_ERROR(url);
+ DART_CHECK_VALID(url);
Dart_Handle core_lib = Dart_LookupLibrary(url);
- RETURN_IF_ERROR(core_lib);
+ DART_CHECK_VALID(core_lib);
url = NewString(kAsyncLibURL);
- RETURN_IF_ERROR(url);
+ DART_CHECK_VALID(url);
Dart_Handle async_lib = Dart_LookupLibrary(url);
- RETURN_IF_ERROR(async_lib);
+ DART_CHECK_VALID(async_lib);
url = NewString(kIsolateLibURL);
- RETURN_IF_ERROR(url);
+ DART_CHECK_VALID(url);
Dart_Handle isolate_lib = Dart_LookupLibrary(url);
- RETURN_IF_ERROR(isolate_lib);
+ DART_CHECK_VALID(isolate_lib);
url = NewString(kInternalLibURL);
- RETURN_IF_ERROR(url);
+ DART_CHECK_VALID(url);
Dart_Handle internal_lib = Dart_LookupLibrary(url);
- RETURN_IF_ERROR(internal_lib);
+ DART_CHECK_VALID(internal_lib);
Dart_Handle io_lib = Builtin::LoadAndCheckLibrary(Builtin::kIOLibrary);
- RETURN_IF_ERROR(io_lib);
+ DART_CHECK_VALID(io_lib);
// We need to ensure that all the scripts loaded so far are finalized
// as we are about to invoke some Dart code below to setup closures.
Dart_Handle result = Dart_FinalizeLoading(false);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
result = PrepareBuiltinLibrary(builtin_lib,
internal_lib,
@@ -776,32 +764,30 @@ Dart_Handle DartUtils::PrepareForScriptLoading(const char* package_root,
trace_loading,
package_root,
packages_file);
- RETURN_IF_ERROR(result);
+ DART_CHECK_VALID(result);
- RETURN_IF_ERROR(PrepareAsyncLibrary(async_lib, isolate_lib));
- RETURN_IF_ERROR(PrepareCoreLibrary(
- core_lib, builtin_lib, is_service_isolate));
- RETURN_IF_ERROR(PrepareIsolateLibrary(isolate_lib));
- RETURN_IF_ERROR(PrepareIOLibrary(io_lib));
+ PrepareAsyncLibrary(async_lib, isolate_lib);
+ PrepareCoreLibrary(core_lib, builtin_lib, is_service_isolate);
+ PrepareIsolateLibrary(isolate_lib);
+ PrepareIOLibrary(io_lib);
return result;
}
-Dart_Handle DartUtils::SetupIOLibrary(const char* script_uri) {
+void DartUtils::SetupIOLibrary(const char* script_uri) {
Dart_Handle io_lib_url = NewString(kIOLibURL);
- RETURN_IF_ERROR(io_lib_url);
+ DART_CHECK_VALID(io_lib_url);
Dart_Handle io_lib = Dart_LookupLibrary(io_lib_url);
- RETURN_IF_ERROR(io_lib);
+ DART_CHECK_VALID(io_lib);
Dart_Handle platform_type = GetDartType(DartUtils::kIOLibURL, "_Platform");
- RETURN_IF_ERROR(platform_type);
+ DART_CHECK_VALID(platform_type);
Dart_Handle script_name = NewString("_nativeScript");
- RETURN_IF_ERROR(script_name);
+ DART_CHECK_VALID(script_name);
Dart_Handle dart_script = NewString(script_uri);
- RETURN_IF_ERROR(dart_script);
+ DART_CHECK_VALID(dart_script);
Dart_Handle set_script_name =
Dart_SetField(platform_type, script_name, dart_script);
- RETURN_IF_ERROR(set_script_name);
- return Dart_Null();
+ DART_CHECK_VALID(set_script_name);
}
« no previous file with comments | « runtime/bin/dartutils.h ('k') | runtime/bin/dbg_message.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698