Reviewers: Mikhail Naganov (Chromium),

Description:
Create v8::HandleScope outside the while loop of RunShell().

We don't need to create it every single time we pass through the loop.

[email protected]

Signed-off-by: Thiago Farina <[email protected]>


Please review this at http://codereview.chromium.org/7828072/

SVN Base: git://github.com/v8/v8.git@master

Affected files:
  M samples/shell.cc


Index: samples/shell.cc
diff --git a/samples/shell.cc b/samples/shell.cc
index b40eca2f7c0b696411e0db9b4d4101100d0baf50..37a05b99e21a8363a3e469463a149834aff9e734 100644
--- a/samples/shell.cc
+++ b/samples/shell.cc
@@ -246,17 +246,18 @@ int RunMain(int argc, char* argv[]) {

 // The read-eval-execute loop of the shell.
 void RunShell(v8::Handle<v8::Context> context) {
-  printf("V8 version %s [sample shell]\n", v8::V8::GetVersion());
-  static const int kBufferSize = 256;
   // Enter the execution environment before evaluating any code.
+  v8::HandleScope handle_scope;
   v8::Context::Scope context_scope(context);
   v8::Local<v8::String> name(v8::String::New("(shell)"));
+
+  printf("V8 version %s [sample shell]\n", v8::V8::GetVersion());
+  static const int kBufferSize = 256;
   while (true) {
     char buffer[kBufferSize];
     printf("> ");
     char* str = fgets(buffer, kBufferSize, stdin);
     if (str == NULL) break;
-    v8::HandleScope handle_scope;
     ExecuteString(v8::String::New(str), name, true, true);
   }
   printf("\n");


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to