src: fix minor inefficiency in Buffer::New() call
authorBen Noordhuis <info@bnoordhuis.nl>
Fri, 1 May 2015 15:25:18 +0000 (17:25 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Mon, 4 May 2015 22:41:59 +0000 (00:41 +0200)
Commit ccb199a ("src: fix deprecation warnings") passes env()->isolate()
to the Buffer::New() call.  It's somewhat inefficient because the callee
looks up the environment from the isolate.  Just pass the env directly.

PR-URL: https://github.com/iojs/io.js/pull/1577
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
src/spawn_sync.cc
src/spawn_sync.h

index 901a4a0..15e4fe8 100644 (file)
@@ -165,9 +165,9 @@ void SyncProcessStdioPipe::Close() {
 }
 
 
-Local<Object> SyncProcessStdioPipe::GetOutputAsBuffer(Isolate* isolate) const {
+Local<Object> SyncProcessStdioPipe::GetOutputAsBuffer(Environment* env) const {
   size_t length = OutputLength();
-  Local<Object> js_buffer = Buffer::New(isolate, length);
+  Local<Object> js_buffer = Buffer::New(env, length);
   CopyOutput(Buffer::Data(js_buffer));
   return js_buffer;
 }
@@ -679,7 +679,7 @@ Local<Array> SyncProcessRunner::BuildOutputArray() {
   for (uint32_t i = 0; i < stdio_count_; i++) {
     SyncProcessStdioPipe* h = stdio_pipes_[i];
     if (h != nullptr && h->writable())
-      js_output->Set(i, h->GetOutputAsBuffer(env()->isolate()));
+      js_output->Set(i, h->GetOutputAsBuffer(env()));
     else
       js_output->Set(i, Null(env()->isolate()));
   }
index 9a544fa..3069df6 100644 (file)
@@ -72,7 +72,7 @@ class SyncProcessStdioPipe {
   int Start();
   void Close();
 
-  Local<Object> GetOutputAsBuffer(Isolate* isolate) const;
+  Local<Object> GetOutputAsBuffer(Environment* env) const;
 
   inline bool readable() const;
   inline bool writable() const;