Skip to content

Commit 6b6a26b

Browse files
ryzokukentargos
authored andcommitted
src: use kInternalized instead of kNormal
Use v8::NewStringType::kInternalized instead of v8::NewStringType::kNormal in different calls to v8::String::NewFromUtf8 in node.h and node.cc wherever it makes sense, to save the GC some work which would largely be redundant. PR-URL: #21926 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 2c95b96 commit 6b6a26b

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/node.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -2351,11 +2351,11 @@ void SetupProcessObject(Environment* env,
23512351
if (uv_exepath(exec_path, &exec_path_len) == 0) {
23522352
exec_path_value = String::NewFromUtf8(env->isolate(),
23532353
exec_path,
2354-
v8::NewStringType::kNormal,
2354+
v8::NewStringType::kInternalized,
23552355
exec_path_len).ToLocalChecked();
23562356
} else {
23572357
exec_path_value = String::NewFromUtf8(env->isolate(), argv[0],
2358-
v8::NewStringType::kNormal).ToLocalChecked();
2358+
v8::NewStringType::kInternalized).ToLocalChecked();
23592359
}
23602360
process->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "execPath"),
23612361
exec_path_value);

src/node.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ NODE_EXTERN struct uv_loop_s* GetCurrentEventLoop(v8::Isolate* isolate);
304304
v8::Local<v8::Context> context = isolate->GetCurrentContext(); \
305305
v8::Local<v8::String> constant_name = \
306306
v8::String::NewFromUtf8(isolate, #constant, \
307-
v8::NewStringType::kNormal).ToLocalChecked(); \
307+
v8::NewStringType::kInternalized).ToLocalChecked(); \
308308
v8::Local<v8::Number> constant_value = \
309309
v8::Number::New(isolate, static_cast<double>(constant)); \
310310
v8::PropertyAttribute constant_attributes = \
@@ -346,7 +346,7 @@ inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
346346
v8::Local<v8::FunctionTemplate> t = v8::FunctionTemplate::New(isolate,
347347
callback);
348348
v8::Local<v8::String> fn_name = v8::String::NewFromUtf8(isolate, name,
349-
v8::NewStringType::kNormal).ToLocalChecked();
349+
v8::NewStringType::kInternalized).ToLocalChecked();
350350
t->SetClassName(fn_name);
351351
recv->Set(fn_name, t);
352352
}
@@ -361,7 +361,7 @@ inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
361361
callback);
362362
v8::Local<v8::Function> fn = t->GetFunction();
363363
v8::Local<v8::String> fn_name = v8::String::NewFromUtf8(isolate, name,
364-
v8::NewStringType::kNormal).ToLocalChecked();
364+
v8::NewStringType::kInternalized).ToLocalChecked();
365365
fn->SetName(fn_name);
366366
recv->Set(fn_name, fn);
367367
}
@@ -378,7 +378,7 @@ inline void NODE_SET_PROTOTYPE_METHOD(v8::Local<v8::FunctionTemplate> recv,
378378
v8::Local<v8::FunctionTemplate> t =
379379
v8::FunctionTemplate::New(isolate, callback, v8::Local<v8::Value>(), s);
380380
v8::Local<v8::String> fn_name = v8::String::NewFromUtf8(isolate, name,
381-
v8::NewStringType::kNormal).ToLocalChecked();
381+
v8::NewStringType::kInternalized).ToLocalChecked();
382382
t->SetClassName(fn_name);
383383
recv->PrototypeTemplate()->Set(fn_name, t);
384384
}

0 commit comments

Comments
 (0)