| Index: runtime/vm/code_generator.cc
|
| ===================================================================
|
| --- runtime/vm/code_generator.cc (revision 18992)
|
| +++ runtime/vm/code_generator.cc (working copy)
|
| @@ -1109,20 +1109,16 @@
|
|
|
| // A non-closure object was invoked as a closure, so call the "call" method
|
| // on it.
|
| -// Arg0: non-closure object.
|
| -// Arg1: arguments descriptor.
|
| -// Arg2: arguments array, including non-closure object.
|
| -DEFINE_RUNTIME_ENTRY(InvokeNonClosure, 3) {
|
| +// Arg0: arguments descriptor.
|
| +// Arg1: arguments array, including non-closure object.
|
| +DEFINE_RUNTIME_ENTRY(InvokeNonClosure, 2) {
|
| ASSERT(arguments.ArgCount() ==
|
| kInvokeNonClosureRuntimeEntry.argument_count());
|
| - const Instance& instance = Instance::CheckedHandle(arguments.ArgAt(0));
|
| - const Array& args_descriptor = Array::CheckedHandle(arguments.ArgAt(1));
|
| - const Array& function_args = Array::CheckedHandle(arguments.ArgAt(2));
|
| + const Array& args_descriptor = Array::CheckedHandle(arguments.ArgAt(0));
|
| + const Array& function_args = Array::CheckedHandle(arguments.ArgAt(1));
|
|
|
| const Object& result = Object::Handle(
|
| - DartEntry::InvokeClosure(instance,
|
| - function_args,
|
| - args_descriptor));
|
| + DartEntry::InvokeClosure(function_args, args_descriptor));
|
| CheckResultError(result);
|
| arguments.SetReturn(result);
|
| }
|
| @@ -1154,7 +1150,7 @@
|
| // 2. Invoke the getter.
|
| const Array& args = Array::Handle(Array::New(kNumArguments));
|
| args.SetAt(0, receiver);
|
| - const Object& value = Object::Handle(DartEntry::InvokeDynamic(getter, args));
|
| + const Object& value = Object::Handle(DartEntry::InvokeFunction(getter, args));
|
|
|
| // 3. If the getter threw an exception, treat it as no such method.
|
| if (value.IsUnhandledException()) return false;
|
| @@ -1166,9 +1162,7 @@
|
| Instance& instance = Instance::Handle();
|
| instance ^= value.raw();
|
| arguments.SetAt(0, instance);
|
| - *result = DartEntry::InvokeClosure(instance,
|
| - arguments,
|
| - arguments_descriptor);
|
| + *result = DartEntry::InvokeClosure(arguments, arguments_descriptor);
|
| CheckResultError(*result);
|
| return true;
|
| }
|
|
|