| Index: runtime/lib/mirrors_impl.dart
|
| diff --git a/runtime/lib/mirrors_impl.dart b/runtime/lib/mirrors_impl.dart
|
| index e20aa8874d603d414c29eaca193a54e8a4bcd9d7..858b2eef12ed0be2d6b87b3f3156476ac63068f8 100644
|
| --- a/runtime/lib/mirrors_impl.dart
|
| +++ b/runtime/lib/mirrors_impl.dart
|
| @@ -302,21 +302,11 @@ class _LocalInstanceMirrorImpl extends _LocalObjectMirrorImpl
|
| }
|
|
|
| int get hashCode {
|
| - // If the reflectee is a double or bignum, use the base hashCode to preserve
|
| - // the illusion that boxed numbers with the same value are identical. If the
|
| - // reflectee is a Smi, use the base hashCode because Object.hashCode does
|
| - // not work for non-heap objects. Otherwise, use Object.hashCode to maintain
|
| - // correctness even if a user-defined hashCode returns different values for
|
| - // successive invocations.
|
| - var h = _reflectee is num ? _reflectee.hashCode : _identityHash(_reflectee);
|
| // Avoid hash collisions with the reflectee. This constant is in Smi range
|
| // and happens to be the inner padding from RFC 2104.
|
| - return h ^ 0x36363636;
|
| + return identityHashCode(_reflectee) ^ 0x36363636;
|
| }
|
|
|
| - static _identityHash(reflectee)
|
| - native "InstanceMirror_identityHash";
|
| -
|
| // Override to include the receiver in the arguments.
|
| InstanceMirror invoke(Symbol memberName,
|
| List positionalArguments,
|
|
|