From 6b6a26bb8dacd14eb600f5f78a1718c4b5c1a1ba Mon Sep 17 00:00:00 2001 From: Ujjwal Sharma Date: Sun, 22 Jul 2018 03:28:49 +0530 Subject: [PATCH] src: use kInternalized instead of kNormal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: https://github.com/nodejs/node/pull/21926 Reviewed-By: Anna Henningsen Reviewed-By: Tobias Nießen Reviewed-By: Anatoli Papirovski Reviewed-By: James M Snell --- src/node.cc | 4 ++-- src/node.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/node.cc b/src/node.cc index 0e2c020a5e1fd6..138595ba86834c 100644 --- a/src/node.cc +++ b/src/node.cc @@ -2351,11 +2351,11 @@ void SetupProcessObject(Environment* env, if (uv_exepath(exec_path, &exec_path_len) == 0) { exec_path_value = String::NewFromUtf8(env->isolate(), exec_path, - v8::NewStringType::kNormal, + v8::NewStringType::kInternalized, exec_path_len).ToLocalChecked(); } else { exec_path_value = String::NewFromUtf8(env->isolate(), argv[0], - v8::NewStringType::kNormal).ToLocalChecked(); + v8::NewStringType::kInternalized).ToLocalChecked(); } process->Set(FIXED_ONE_BYTE_STRING(env->isolate(), "execPath"), exec_path_value); diff --git a/src/node.h b/src/node.h index 7dd55b06ece2c0..636a3ef029732a 100644 --- a/src/node.h +++ b/src/node.h @@ -304,7 +304,7 @@ NODE_EXTERN struct uv_loop_s* GetCurrentEventLoop(v8::Isolate* isolate); v8::Local context = isolate->GetCurrentContext(); \ v8::Local constant_name = \ v8::String::NewFromUtf8(isolate, #constant, \ - v8::NewStringType::kNormal).ToLocalChecked(); \ + v8::NewStringType::kInternalized).ToLocalChecked(); \ v8::Local constant_value = \ v8::Number::New(isolate, static_cast(constant)); \ v8::PropertyAttribute constant_attributes = \ @@ -346,7 +346,7 @@ inline void NODE_SET_METHOD(v8::Local recv, v8::Local t = v8::FunctionTemplate::New(isolate, callback); v8::Local fn_name = v8::String::NewFromUtf8(isolate, name, - v8::NewStringType::kNormal).ToLocalChecked(); + v8::NewStringType::kInternalized).ToLocalChecked(); t->SetClassName(fn_name); recv->Set(fn_name, t); } @@ -361,7 +361,7 @@ inline void NODE_SET_METHOD(v8::Local recv, callback); v8::Local fn = t->GetFunction(); v8::Local fn_name = v8::String::NewFromUtf8(isolate, name, - v8::NewStringType::kNormal).ToLocalChecked(); + v8::NewStringType::kInternalized).ToLocalChecked(); fn->SetName(fn_name); recv->Set(fn_name, fn); } @@ -378,7 +378,7 @@ inline void NODE_SET_PROTOTYPE_METHOD(v8::Local recv, v8::Local t = v8::FunctionTemplate::New(isolate, callback, v8::Local(), s); v8::Local fn_name = v8::String::NewFromUtf8(isolate, name, - v8::NewStringType::kNormal).ToLocalChecked(); + v8::NewStringType::kInternalized).ToLocalChecked(); t->SetClassName(fn_name); recv->PrototypeTemplate()->Set(fn_name, t); }