From 6c2233fbaa91f3b8fe6065fe37ff1f282c0e23a5 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Mon, 28 Oct 2013 09:01:33 +0000 Subject: [PATCH] Fix --hydrogen-filter="-". SubVector asserts that the vector length is not 0 and fails. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/43873002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/objects.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/objects.cc b/src/objects.cc index 00e7b8a..f7c8917 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -9912,9 +9912,13 @@ bool JSFunction::PassesFilter(const char* raw_filter) { String* name = shared()->DebugName(); Vector 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] == '*' && -- 2.7.4