Revert "Add a flag to d8 to invoke weak callbacks"
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 27 May 2014 14:21:46 +0000 (14:21 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 27 May 2014 14:21:46 +0000 (14:21 +0000)
This reverts r21529.

TBR=jochen@chromium.org

Review URL: https://codereview.chromium.org/302543004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/d8.cc
src/d8.h
tools/run-tests.py

index b1d996a..73bde94 100644 (file)
--- a/src/d8.cc
+++ b/src/d8.cc
@@ -1190,21 +1190,6 @@ i::Thread::Options SourceGroup::GetThreadOptions() {
 }
 
 
-void SuggestivelyAskForAggressiveGC() {
-  if (Shell::options.send_idle_notification) {
-    const int kLongIdlePauseInMs = 1000;
-    V8::ContextDisposedNotification();
-    V8::IdleNotification(kLongIdlePauseInMs);
-  }
-  if (Shell::options.invoke_weak_callbacks) {
-    // By sending a low memory notifications, we will try hard to collect
-    // all garbage and will therefore also invoke all weak callbacks of
-    // actually unreachable persistent handles.
-    V8::LowMemoryNotification();
-  }
-}
-
-
 void SourceGroup::ExecuteInThread() {
   Isolate* isolate = Isolate::New();
   do {
@@ -1221,11 +1206,14 @@ void SourceGroup::ExecuteInThread() {
           Execute(isolate);
         }
       }
-      SuggestivelyAskForAggressiveGC();
+      if (Shell::options.send_idle_notification) {
+        const int kLongIdlePauseInMs = 1000;
+        V8::ContextDisposedNotification();
+        V8::IdleNotification(kLongIdlePauseInMs);
+      }
     }
     done_semaphore_.Signal();
   } while (!Shell::options.last_run);
-
   isolate->Dispose();
 }
 
@@ -1286,11 +1274,6 @@ bool Shell::SetOptions(int argc, char* argv[]) {
     } else if (strcmp(argv[i], "--send-idle-notification") == 0) {
       options.send_idle_notification = true;
       argv[i] = NULL;
-    } else if (strcmp(argv[i], "--invoke-weak-callbacks") == 0) {
-      options.invoke_weak_callbacks = true;
-      // TODO(jochen) See issue 3351
-      options.send_idle_notification = true;
-      argv[i] = NULL;
     } else if (strcmp(argv[i], "-f") == 0) {
       // Ignore any -f flags for compatibility with other stand-alone
       // JavaScript engines.
@@ -1379,7 +1362,11 @@ int Shell::RunMain(Isolate* isolate, int argc, char* argv[]) {
       options.isolate_sources[0].Execute(isolate);
     }
   }
-  SuggestivelyAskForAggressiveGC();
+  if (options.send_idle_notification) {
+    const int kLongIdlePauseInMs = 1000;
+    V8::ContextDisposedNotification();
+    V8::IdleNotification(kLongIdlePauseInMs);
+  }
 
 #ifndef V8_SHARED
   for (int i = 1; i < options.num_isolates; ++i) {
index 1f7f5d1..2c7513f 100644 (file)
--- a/src/d8.h
+++ b/src/d8.h
@@ -198,7 +198,6 @@ class ShellOptions {
      script_executed(false),
      last_run(true),
      send_idle_notification(false),
-     invoke_weak_callbacks(false),
      stress_opt(false),
      stress_deopt(false),
      interactive_shell(false),
@@ -221,7 +220,6 @@ class ShellOptions {
   bool script_executed;
   bool last_run;
   bool send_idle_notification;
-  bool invoke_weak_callbacks;
   bool stress_opt;
   bool stress_deopt;
   bool interactive_shell;
index 5824f25..b02fcfa 100755 (executable)
@@ -257,7 +257,7 @@ def ProcessOptions(options):
     options.extra_flags += GC_STRESS_FLAGS
 
   if options.asan:
-    options.extra_flags.append("--invoke-weak-callbacks")
+    options.extra_flags.append("--send-idle-notification")
 
   if options.j == 0:
     options.j = multiprocessing.cpu_count()