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
