| Index: runtime/lib/mirrors.cc
|
| diff --git a/runtime/lib/mirrors.cc b/runtime/lib/mirrors.cc
|
| index 17f4e94bcce27d0689bc6a9928db56e4a94f34fa..55b99b7d0458405bb7df0dc1ccdbd9df7f4232e3 100644
|
| --- a/runtime/lib/mirrors.cc
|
| +++ b/runtime/lib/mirrors.cc
|
| @@ -751,6 +751,18 @@ DEFINE_NATIVE_ENTRY(TypeVariableMirror_upper_bound, 1) {
|
| }
|
|
|
|
|
| +DEFINE_NATIVE_ENTRY(InstanceMirror_identityHash, 1) {
|
| + GET_NATIVE_ARGUMENT(Instance, reflectee, arguments->NativeArgAt(0));
|
| + ObjectStore* object_store = isolate->object_store();
|
| + const Class& cls = Class::Handle(isolate, object_store->object_class());
|
| + const Function& function =
|
| + Function::Handle(isolate, cls.LookupDynamicFunction(Symbols::hashCode()));
|
| + const Array& args = Array::Handle(isolate, Array::New(1));
|
| + args.SetAt(0, reflectee);
|
| + return DartEntry::InvokeFunction(function, args);
|
| +}
|
| +
|
| +
|
| // Invoke the function, or noSuchMethod if it is null. Propagate any unhandled
|
| // exceptions. Wrap and propagate any compilation errors.
|
| static RawObject* ReflectivelyInvokeDynamicFunction(const Instance& receiver,
|
|
|