diff options
author | Anna Henningsen <anna@addaleax.net> | 2018-06-10 16:40:13 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-07-13 19:53:15 +0200 |
commit | 57e301539bff2599974b7269a56377330c9b730e (patch) | |
tree | 6f5c866728f22bbacb8dadb89a2c8a12e5b66508 /src/node_crypto.h | |
parent | 36cc5f5caf52af895079d153a9131fe2b0c6b8f9 (diff) | |
download | android-node-v8-57e301539bff2599974b7269a56377330c9b730e.tar.gz android-node-v8-57e301539bff2599974b7269a56377330c9b730e.tar.bz2 android-node-v8-57e301539bff2599974b7269a56377330c9b730e.zip |
src: enable more detailed memory tracking
This will enable more detailed heap snapshots based on
a newer V8 API.
This commit itself is not tied to that API and could
be backported.
PR-URL: https://github.com/nodejs/node/pull/21742
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_crypto.h')
-rw-r--r-- | src/node_crypto.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/node_crypto.h b/src/node_crypto.h index 4587a96e72..7df2660c77 100644 --- a/src/node_crypto.h +++ b/src/node_crypto.h @@ -105,6 +105,10 @@ class SecureContext : public BaseObject { static void Initialize(Environment* env, v8::Local<v8::Object> target); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + SSLCtxPointer ctx_; X509Pointer cert_; X509Pointer issuer_; @@ -337,6 +341,10 @@ class CipherBase : public BaseObject { public: static void Initialize(Environment* env, v8::Local<v8::Object> target); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + protected: enum CipherKind { kCipher, @@ -407,6 +415,10 @@ class Hmac : public BaseObject { public: static void Initialize(Environment* env, v8::Local<v8::Object> target); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + protected: void HmacInit(const char* hash_type, const char* key, int key_len); bool HmacUpdate(const char* data, int len); @@ -430,6 +442,10 @@ class Hash : public BaseObject { public: static void Initialize(Environment* env, v8::Local<v8::Object> target); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + bool HashInit(const char* hash_type); bool HashUpdate(const char* data, int len); @@ -469,6 +485,10 @@ class SignBase : public BaseObject { Error Init(const char* sign_type); Error Update(const char* data, int len); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + protected: void CheckThrow(Error error); @@ -581,6 +601,10 @@ class DiffieHellman : public BaseObject { MakeWeak(); } + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + private: static void GetField(const v8::FunctionCallbackInfo<v8::Value>& args, const BIGNUM* (*get_field)(const DH*), @@ -606,6 +630,10 @@ class ECDH : public BaseObject { char* data, size_t len); + void MemoryInfo(MemoryTracker* tracker) const override { + tracker->TrackThis(this); + } + protected: ECDH(Environment* env, v8::Local<v8::Object> wrap, ECKeyPointer&& key) : BaseObject(env, wrap), |