> >Once we did get to this proxy = non-native state, I think we could simplify
> >the world a lot; e.g., removing ObjectOps and making js::Class store a
> >BaseProxyHandler* directly (NULL for non-proxies).
> 
> How would removing ObjectOps work?  Plenty of native types have custom
> versions of some of those ops.

Plenty of builtin objects set hooks in the JS_CLASS_MEMBERS/ClassExtension 
fields of js::Class; but afaics other than proxies and ArrayBufferObject, the 
only code setting ObjectOps hooks is WithObject::class_ (which I'm guessing we 
could turn into a proxy pretty easily) and a few Classes in 
XPCWrappedNativeJSOps.cpp which only use the 'enumerate' and 'thisObject' hooks 
(we should probably move those hooks from ObjectOps to ClassExtensions).
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to