| Index: vm/dart_api_impl.cc
 | 
| ===================================================================
 | 
| --- vm/dart_api_impl.cc	(revision 13564)
 | 
| +++ vm/dart_api_impl.cc	(working copy)
 | 
| @@ -2384,21 +2384,22 @@
 | 
|    // different signature classes for closures.
 | 
|    Isolate* isolate = Isolate::Current();
 | 
|    DARTSCOPE(isolate);
 | 
| -  const Object& obj = Object::Handle(isolate, Api::UnwrapHandle(object));
 | 
| -  return obj.IsClosure();
 | 
| +  const Instance& closure_obj = Api::UnwrapInstanceHandle(isolate, object);
 | 
| +  return (!closure_obj.IsNull() && closure_obj.IsClosure());
 | 
|  }
 | 
|  
 | 
|  
 | 
|  DART_EXPORT Dart_Handle Dart_ClosureFunction(Dart_Handle closure) {
 | 
|    Isolate* isolate = Isolate::Current();
 | 
|    DARTSCOPE(isolate);
 | 
| -  const Closure& closure_obj = Api::UnwrapClosureHandle(isolate, closure);
 | 
| -  if (closure_obj.IsNull()) {
 | 
| -    RETURN_TYPE_ERROR(isolate, closure, Closure);
 | 
| +  const Instance& closure_obj = Api::UnwrapInstanceHandle(isolate, closure);
 | 
| +  if (closure_obj.IsNull() || !closure_obj.IsClosure()) {
 | 
| +    RETURN_TYPE_ERROR(isolate, closure, Instance);
 | 
|    }
 | 
| +
 | 
|    ASSERT(ClassFinalizer::AllClassesFinalized());
 | 
|  
 | 
| -  RawFunction* rf = closure_obj.function();
 | 
| +  RawFunction* rf = Closure::function(closure_obj);
 | 
|    return Api::NewHandle(isolate, rf);
 | 
|  }
 | 
|  
 | 
| @@ -2408,9 +2409,9 @@
 | 
|                                             Dart_Handle* arguments) {
 | 
|    Isolate* isolate = Isolate::Current();
 | 
|    DARTSCOPE(isolate);
 | 
| -  const Closure& closure_obj = Api::UnwrapClosureHandle(isolate, closure);
 | 
| -  if (closure_obj.IsNull()) {
 | 
| -    RETURN_TYPE_ERROR(isolate, closure, Closure);
 | 
| +  const Instance& closure_obj = Api::UnwrapInstanceHandle(isolate, closure);
 | 
| +  if (closure_obj.IsNull() || !closure_obj.IsClosure()) {
 | 
| +    RETURN_TYPE_ERROR(isolate, closure, Instance);
 | 
|    }
 | 
|    if (number_of_arguments < 0) {
 | 
|      return Api::NewError(
 | 
| 
 |