Cast raw void * pointers to type jsval and vice versa.


PRIVATE_TO_JSVAL(void *ptr);

void *
JSVAL_TO_PRIVATE(jsval v); // Obsoleted since JSAPI 32


With PRIVATE_TO_JSVAL(), an application can store a private data pointer, p, as a jsval. This can be useful with reserved slots.

The private data pointer can point to application-defined memory of any type, but the pointer must be two-byte-aligned (that is, (int) p must be even).

Private data is managed entirely by the application. The JavaScript engine itself never uses a private data pointer. Private data is not garbage collected. It is the application's responsibility to determine when it is safe to dereference a private data pointer.

Document Tags and Contributors

Contributors to this page: fscholz, Jorend, Callek, Nickolay, ethertank, Dria, arai
Last updated by: arai,
Hide Sidebar