Commit 089ed6e0 authored by yangguo@chromium.org's avatar yangguo@chromium.org

Remove unique static RegExpEmpty instance.

R=marja@chromium.org
BUG=chromium:430652
LOG=N

Review URL: https://codereview.chromium.org/716113002

Cr-Commit-Position: refs/heads/master@{#25284}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 434f2ebb
......@@ -3117,10 +3117,6 @@ class RegExpEmpty FINAL : public RegExpTree {
virtual bool IsEmpty() OVERRIDE;
virtual int min_match() OVERRIDE { return 0; }
virtual int max_match() OVERRIDE { return 0; }
static RegExpEmpty* GetInstance() {
static RegExpEmpty* instance = ::new RegExpEmpty();
return instance;
}
};
......
......@@ -111,7 +111,7 @@ void RegExpBuilder::FlushTerms() {
int num_terms = terms_.length();
RegExpTree* alternative;
if (num_terms == 0) {
alternative = RegExpEmpty::GetInstance();
alternative = new (zone()) RegExpEmpty();
} else if (num_terms == 1) {
alternative = terms_.last();
} else {
......@@ -126,12 +126,8 @@ void RegExpBuilder::FlushTerms() {
RegExpTree* RegExpBuilder::ToRegExp() {
FlushTerms();
int num_alternatives = alternatives_.length();
if (num_alternatives == 0) {
return RegExpEmpty::GetInstance();
}
if (num_alternatives == 1) {
return alternatives_.last();
}
if (num_alternatives == 0) return new (zone()) RegExpEmpty();
if (num_alternatives == 1) return alternatives_.last();
return new(zone()) RegExpDisjunction(alternatives_.GetList(zone()));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment