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

Unified Diff: runtime/vm/dart_api_impl.cc

Issue 215293002: Use ASSERT instead of CHECK_ISOLATE in cases where we derive the isolate from the native Arguments … (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 9 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/dart_api_impl.cc
===================================================================
--- runtime/vm/dart_api_impl.cc (revision 34483)
+++ runtime/vm/dart_api_impl.cc (working copy)
@@ -3890,7 +3890,7 @@
DART_EXPORT void* Dart_GetNativeIsolateData(Dart_NativeArguments args) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
Isolate* isolate = arguments->isolate();
- ASSERT(isolate);
+ ASSERT(isolate == Isolate::Current());
return isolate->init_callback_data();
}
@@ -3930,7 +3930,7 @@
RETURN_NULL_ERROR(field_values);
}
Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(isolate == Isolate::Current());
REUSABLE_OBJECT_HANDLESCOPE(isolate);
Object& obj = isolate->ObjectHandle();
obj = arguments->NativeArgAt(arg_index);
@@ -3959,8 +3959,7 @@
DART_EXPORT Dart_Handle Dart_GetNativeReceiver(Dart_NativeArguments args,
intptr_t* value) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
- Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(arguments->isolate() == Isolate::Current());
if (value == NULL) {
RETURN_NULL_ERROR(value);
}
@@ -3977,7 +3976,7 @@
void** peer) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(isolate == Isolate::Current());
if (Api::StringGetPeerHelper(arguments, arg_index, peer)) {
return Api::Success();
}
@@ -4007,6 +4006,7 @@
CURRENT_FUNC, arguments->NativeArgCount() - 1, index);
}
Isolate* isolate = arguments->isolate();
+ ASSERT(isolate == Isolate::Current());
REUSABLE_OBJECT_HANDLESCOPE(isolate);
Object& obj = isolate->ObjectHandle();
obj = arguments->NativeArgAt(index);
@@ -4064,6 +4064,7 @@
CURRENT_FUNC, arguments->NativeArgCount() - 1, index);
}
Isolate* isolate = arguments->isolate();
+ ASSERT(isolate == Isolate::Current());
REUSABLE_OBJECT_HANDLESCOPE(isolate);
Object& obj = isolate->ObjectHandle();
obj = arguments->NativeArgAt(index);
@@ -4093,8 +4094,7 @@
DART_EXPORT void Dart_SetReturnValue(Dart_NativeArguments args,
Dart_Handle retval) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
- Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(arguments->isolate() == Isolate::Current());
if ((retval != Api::Null()) && (!Api::IsInstance(retval))) {
const Object& ret_obj = Object::Handle(Api::UnwrapHandle(retval));
FATAL1("Return value check failed: saw '%s' expected a dart Instance.",
@@ -4108,11 +4108,13 @@
DART_EXPORT void Dart_SetWeakHandleReturnValue(Dart_NativeArguments args,
Dart_WeakPersistentHandle rval) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
+#if defined(DEBUG)
Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(isolate == Isolate::Current());
ASSERT(isolate->api_state() != NULL &&
(isolate->api_state()->IsValidWeakPersistentHandle(rval) ||
isolate->api_state()->IsValidPrologueWeakPersistentHandle(rval)));
+#endif
Api::SetWeakHandleReturnValue(arguments, rval);
}
@@ -4139,13 +4141,12 @@
DART_EXPORT void Dart_SetIntegerReturnValue(Dart_NativeArguments args,
int64_t retval) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
- Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(arguments->isolate() == Isolate::Current());
if (Smi::IsValid64(retval)) {
Api::SetSmiReturnValue(arguments, retval);
} else {
// Slow path for Mints and Bigints.
- ASSERT_CALLBACK_STATE(isolate);
+ ASSERT_CALLBACK_STATE(arguments->isolate());
Api::SetIntegerReturnValue(arguments, retval);
}
}
@@ -4154,9 +4155,11 @@
DART_EXPORT void Dart_SetDoubleReturnValue(Dart_NativeArguments args,
double retval) {
NativeArguments* arguments = reinterpret_cast<NativeArguments*>(args);
+#if defined(DEBUG)
Isolate* isolate = arguments->isolate();
- CHECK_ISOLATE(isolate);
+ ASSERT(isolate == Isolate::Current());
ASSERT_CALLBACK_STATE(isolate);
+#endif
Api::SetDoubleReturnValue(arguments, retval);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698