Files
node/src/node_v8_embedder.h
Chengzhong Wu b8e264d3c3 src: tag v8 aligned pointer slots with embedder data type tags
PR-URL: https://github.com/nodejs/node/pull/60602
Fixes: https://github.com/nodejs/node/issues/60589
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2025-11-08 14:27:25 +00:00

27 lines
715 B
C++

#ifndef SRC_NODE_V8_EMBEDDER_H_
#define SRC_NODE_V8_EMBEDDER_H_
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#include <cstdint>
namespace node {
// Type tags for different kinds of embedder data stored in V8 aligned pointer
// slots.
enum EmbedderDataTag : uint16_t {
// kDefault is used in slots that don't use V8 type tagging.
kDefault = 0,
// kEmbedderType is used by BaseObject to store the kEmbedderType value.
kEmbedderType,
// kPerContextData is used to store data on a `v8::Context`, including
// slots indexed by ContextEmbedderIndex.
kPerContextData,
};
} // namespace node
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
#endif // SRC_NODE_V8_EMBEDDER_H_