Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2020-02-13 22:40:50 +0300
committerShelley Vohr <shelley.vohr@gmail.com>2020-02-27 19:45:37 +0300
commit57302f866e9ba954992ac32334b6dad3ebd4090f (patch)
tree1ee3a18e814d1928f1feeff43bacf3d219dfa26a /src/node_v8.cc
parentdb291aaf065d5b96cf179f74be7bafb4d1023a6e (diff)
src: prefer 3-argument Array::New()
This is nicer, because: 1. It reduces overall code size, 2. It’s faster, because `Object::Set()` calls are relatively slow, and 3. It helps avoid invalid `.Check()`/`.FromJust()` calls. PR-URL: https://github.com/nodejs/node/pull/31775 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>
Diffstat (limited to 'src/node_v8.cc')
-rw-r--r--src/node_v8.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/node_v8.cc b/src/node_v8.cc
index ed2e71de106..32a85944da4 100644
--- a/src/node_v8.cc
+++ b/src/node_v8.cc
@@ -218,19 +218,19 @@ void Initialize(Local<Object> target,
// Heap space names are extracted once and exposed to JavaScript to
// avoid excessive creation of heap space name Strings.
HeapSpaceStatistics s;
- const Local<Array> heap_spaces = Array::New(env->isolate(),
- number_of_heap_spaces);
+ MaybeStackBuffer<Local<Value>, 16> heap_spaces(number_of_heap_spaces);
for (size_t i = 0; i < number_of_heap_spaces; i++) {
env->isolate()->GetHeapSpaceStatistics(&s, i);
- Local<String> heap_space_name = String::NewFromUtf8(env->isolate(),
- s.space_name(),
- NewStringType::kNormal)
- .ToLocalChecked();
- heap_spaces->Set(env->context(), i, heap_space_name).Check();
+ heap_spaces[i] = String::NewFromUtf8(env->isolate(),
+ s.space_name(),
+ NewStringType::kNormal)
+ .ToLocalChecked();
}
target->Set(env->context(),
FIXED_ONE_BYTE_STRING(env->isolate(), "kHeapSpaces"),
- heap_spaces).Check();
+ Array::New(env->isolate(),
+ heap_spaces.out(),
+ number_of_heap_spaces)).Check();
env->SetMethod(target,
"updateHeapSpaceStatisticsArrayBuffer",