object: Method lookup repeatedly traverses introspection
Submitted by Colin Walters
Link to original bug (#632552)
Description
SpiderMonkey will call the property resolve operation every time we try to call one of the predefined override functions like "connect". This is particularly problematic because the code to loop over interfaces for a given class is hit badly by introspections' lack of indexing in the typelib directory.
Concretely, every time we were calling foo.connect("blah", function() {}), we'd scan typelibs multiple times (e.g. for an object implementing an interface in both Atk and Gtk).