Reviewers: Benedikt Meurer,

Description:
Fix --hydrogen-filter="-".

SubVector asserts that the vector length is not 0 and fails.

[email protected]
BUG=

Please review this at https://codereview.chromium.org/43873002/

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

Affected files (+7, -3 lines):
  M src/objects.cc


Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index bbd95ce7232d49b13547a197221e9f5a5038a34f..2c1674e968cbdd9c01fdb837ab3fb283f08c8655 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -9904,9 +9904,13 @@ bool JSFunction::PassesFilter(const char* raw_filter) {
   String* name = shared()->DebugName();
   Vector<const char> filter = CStrVector(raw_filter);
   if (filter.length() == 0) return name->length() == 0;
-  if (filter[0] != '-' && name->IsUtf8EqualTo(filter)) return true;
-  if (filter[0] == '-' &&
-      !name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) {
+  if (filter[0] == '-') {
+    if (filter.length() == 1) {
+      return (name->length() != 0);
+ } else if (!name->IsUtf8EqualTo(filter.SubVector(1, filter.length()))) {
+      return true;
+    }
+  } else if (name->IsUtf8EqualTo(filter)) {
     return true;
   }
   if (filter[filter.length() - 1] == '*' &&


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to