Index: sdk/lib/_internal/js_runtime/lib/interceptors.dart |
diff --git a/sdk/lib/_internal/js_runtime/lib/interceptors.dart b/sdk/lib/_internal/js_runtime/lib/interceptors.dart |
index f13c3f8f4200f300fd51e1f9d8b9131a3f6cace1..23025ad578cc34276949080428a92a0e7b49fcab 100644 |
--- a/sdk/lib/_internal/js_runtime/lib/interceptors.dart |
+++ b/sdk/lib/_internal/js_runtime/lib/interceptors.dart |
@@ -168,16 +168,7 @@ getNativeInterceptor(object) { |
} |
} |
- // Check for cached UnknownJavaScriptObject. This avoids doing the slow |
- // dispatch-record based lookup for repeated js-interop classes. |
- var constructor = JS('', '#.constructor', object); |
- var interceptor = JS('', '#.get(#)', constructorToInterceptor, constructor); |
- if (interceptor != null) return interceptor; |
- |
- // This takes care of dispatch-record based caching, but not constructor based |
- // caching of [UnknownJavaScriptObject]s. |
- interceptor = lookupAndCacheInterceptor(object); |
- |
+ var interceptor = lookupAndCacheInterceptor(object); |
if (interceptor == null) { |
// JavaScript Objects created via object literals and `Object.create(null)` |
// are 'plain' Objects. This test could be simplified and the dispatch path |
@@ -189,10 +180,6 @@ getNativeInterceptor(object) { |
var proto = JS('', 'Object.getPrototypeOf(#)', object); |
if (JS('bool', '# == null || # === Object.prototype', proto, proto)) { |
return JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject); |
- } else if (JS('bool', 'typeof # == "function"', constructor)) { |
- interceptor = JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject); |
- JS('', '#.set(#, #)', constructorToInterceptor, constructor, interceptor); |
- return interceptor; |
} else { |
return JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject); |
} |
@@ -201,9 +188,6 @@ getNativeInterceptor(object) { |
return interceptor; |
} |
-var constructorToInterceptor = |
- JS('', 'typeof(self.WeakMap) == "undefined" ? new Map() : new WeakMap()'); |
- |
/** |
* Data structure used to map a [Type] to the [Interceptor] and constructors for |
* that type. It is JavaScript array of 3N entries of adjacent slots containing |