Skip to content

Commit 31994fb

Browse files
joyeecheungBethGriggs
authored andcommittedSep 21, 2021
src: register zlib external references for snapshot
PR-URL: #40050 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Michael Dawson <midawson@redhat.com> Reviewed-By: Khaidi Chu <i@2333.moe>
1 parent 81cb14b commit 31994fb

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed
 

‎src/node_external_reference.h

+1
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ class ExternalReferenceRegistry {
8181
V(types) \
8282
V(uv) \
8383
V(v8) \
84+
V(zlib) \
8485
V(worker)
8586

8687
#if NODE_HAVE_I18N_SUPPORT

‎src/node_zlib.cc

+18
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
#include "async_wrap-inl.h"
2727
#include "env-inl.h"
28+
#include "node_external_reference.h"
2829
#include "threadpoolwork-inl.h"
2930
#include "util-inl.h"
3031

@@ -1266,6 +1267,16 @@ struct MakeClass {
12661267

12671268
env->SetConstructorFunction(target, name, z);
12681269
}
1270+
1271+
static void Make(ExternalReferenceRegistry* registry) {
1272+
registry->Register(Stream::New);
1273+
registry->Register(Stream::template Write<true>);
1274+
registry->Register(Stream::template Write<false>);
1275+
registry->Register(Stream::Close);
1276+
registry->Register(Stream::Init);
1277+
registry->Register(Stream::Params);
1278+
registry->Register(Stream::Reset);
1279+
}
12691280
};
12701281

12711282
void Initialize(Local<Object> target,
@@ -1283,6 +1294,12 @@ void Initialize(Local<Object> target,
12831294
FIXED_ONE_BYTE_STRING(env->isolate(), ZLIB_VERSION)).Check();
12841295
}
12851296

1297+
void RegisterExternalReferences(ExternalReferenceRegistry* registry) {
1298+
MakeClass<ZlibStream>::Make(registry);
1299+
MakeClass<BrotliEncoderStream>::Make(registry);
1300+
MakeClass<BrotliDecoderStream>::Make(registry);
1301+
}
1302+
12861303
} // anonymous namespace
12871304

12881305
void DefineZlibConstants(Local<Object> target) {
@@ -1408,3 +1425,4 @@ void DefineZlibConstants(Local<Object> target) {
14081425
} // namespace node
14091426

14101427
NODE_MODULE_CONTEXT_AWARE_INTERNAL(zlib, node::Initialize)
1428+
NODE_MODULE_EXTERNAL_REFERENCE(zlib, node::RegisterExternalReferences)

0 commit comments

Comments
 (0)
Please sign in to comment.