gecko-dev/js/ipc
Jan de Mooij f480e9ecdf Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco
The patch makes the following proxy changes:

* The number of slots in ProxyValueArray is now dynamic and depends on the number of reserved slots we get from the Class.
* "Extra slots" was renamed to "Reserved slots" to make this clearer.
* All proxy Classes now have 2 reserved slots, but it should be easy to change that for proxy Classes that need more than 2 slots.
* Proxies now store a pointer to these slots and this means GetReservedSlot and SetReservedSlot can be used on proxies as well. We no longer need GetReservedOrProxyPrivateSlot and SetReservedOrProxyPrivateSlot.

And some changes to make DOM Proxies work with this:

* We now store the C++ object in the first reserved slot (DOM_OBJECT_SLOT) instead of in the proxy's private slot. This is pretty nice because it matches what we do for non-proxy DOM objects.
* We now store the expando in the proxy's private slot so I removed GetDOMProxyExpandoSlot and changed the IC code to get the expando from the private slot instead.
2017-04-28 14:12:28 +02:00
..
CpowHolder.h
CPOWTimer.cpp
CPOWTimer.h
CrossProcessObjectWrappers.h
JavaScriptBase.h
JavaScriptChild.cpp
JavaScriptChild.h
JavaScriptLogging.h
JavaScriptParent.cpp
JavaScriptParent.h
JavaScriptShared.cpp
JavaScriptShared.h
JavaScriptTypes.ipdlh
moz.build
PJavaScript.ipdl
WrapperAnswer.cpp
WrapperAnswer.h
WrapperOwner.cpp Bug 1237504 - Refactor proxy slot layout to allow proxies to have more than 2 slots. r=bz,jonco 2017-04-28 14:12:28 +02:00
WrapperOwner.h