Index: src/compiler.cc |
=================================================================== |
--- src/compiler.cc (revision 10973) |
+++ src/compiler.cc (working copy) |
@@ -244,12 +244,15 @@ |
} |
// 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 != '\0') { |
+ Vector<const char> filter = CStrVector(FLAG_hydrogen_filter); |
+ 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 |