Reviewers: Sven Panne,

Description:
Change --hydrogen-filter to allow specifying a negative filter for optimized
functions.

When prepending a '-' to the function name, the function will not be optimized.

--hydrogen-filter=foo works as before.

--hydrogen-filter=-foo means don't optimize foo.

Please review this at https://chromiumcodereview.appspot.com/9691042/

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     src/compiler.cc


Index: src/compiler.cc
===================================================================
--- src/compiler.cc     (revision 10974)
+++ src/compiler.cc     (working copy)
@@ -244,12 +244,16 @@
   }

   // Take --hydrogen-filter into account.
-  Vector<const char> filter = CStrVector(FLAG_hydrogen_filter);
   Handle<String> name = info->function()->debug_name();
-  bool match = filter.is_empty() || name->IsEqualTo(filter);
-  if (!match) {
-    info->SetCode(code);
-    return true;
+  if (*FLAG_hydrogen_filter) {
+    Vector<const char> filter = CStrVector(FLAG_hydrogen_filter);
+    ASSERT(!filter.is_empty());
+    if ((filter[0] == '-'
+         && name->IsEqualTo(filter.SubVector(1, filter.length())))
+        || (filter[0] != '-' && !name->IsEqualTo(filter))) {
+      info->SetCode(code);
+      return true;
+    }
   }

   // Recompile the unoptimized version of the code if the current version


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

Reply via email to