Index: test/cctest/test-regexp.cc |
diff --git a/test/cctest/test-regexp.cc b/test/cctest/test-regexp.cc |
index ac62b752c0c8d1b0f7bcee273d4a73bfd2e25f96..f810fcdb28d77da9e33eb3e5769e78907678a5e5 100644 |
--- a/test/cctest/test-regexp.cc |
+++ b/test/cctest/test-regexp.cc |
@@ -72,37 +72,36 @@ using namespace v8::internal; |
static bool CheckParse(const char* input) { |
V8::Initialize(NULL); |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
+ Zone zone(Isolate::Current()); |
FlatStringReader reader(Isolate::Current(), CStrVector(input)); |
RegExpCompileData result; |
return v8::internal::RegExpParser::ParseRegExp( |
- &reader, false, &result, Isolate::Current()->runtime_zone()); |
+ &reader, false, &result, &zone); |
} |
static SmartArrayPointer<const char> Parse(const char* input) { |
V8::Initialize(NULL); |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
+ Zone zone(Isolate::Current()); |
FlatStringReader reader(Isolate::Current(), CStrVector(input)); |
RegExpCompileData result; |
CHECK(v8::internal::RegExpParser::ParseRegExp( |
- &reader, false, &result, Isolate::Current()->runtime_zone())); |
+ &reader, false, &result, &zone)); |
CHECK(result.tree != NULL); |
CHECK(result.error.is_null()); |
- SmartArrayPointer<const char> output = |
- result.tree->ToString(Isolate::Current()->runtime_zone()); |
+ SmartArrayPointer<const char> output = result.tree->ToString(&zone); |
return output; |
} |
static bool CheckSimple(const char* input) { |
V8::Initialize(NULL); |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
+ Zone zone(Isolate::Current()); |
FlatStringReader reader(Isolate::Current(), CStrVector(input)); |
RegExpCompileData result; |
CHECK(v8::internal::RegExpParser::ParseRegExp( |
- &reader, false, &result, Isolate::Current()->runtime_zone())); |
+ &reader, false, &result, &zone)); |
CHECK(result.tree != NULL); |
CHECK(result.error.is_null()); |
return result.simple; |
@@ -116,11 +115,11 @@ struct MinMaxPair { |
static MinMaxPair CheckMinMaxMatch(const char* input) { |
V8::Initialize(NULL); |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
+ Zone zone(Isolate::Current()); |
FlatStringReader reader(Isolate::Current(), CStrVector(input)); |
RegExpCompileData result; |
CHECK(v8::internal::RegExpParser::ParseRegExp( |
- &reader, false, &result, Isolate::Current()->runtime_zone())); |
+ &reader, false, &result, &zone)); |
CHECK(result.tree != NULL); |
CHECK(result.error.is_null()); |
int min_match = result.tree->min_match(); |
@@ -389,11 +388,11 @@ static void ExpectError(const char* input, |
const char* expected) { |
V8::Initialize(NULL); |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
+ Zone zone(Isolate::Current()); |
FlatStringReader reader(Isolate::Current(), CStrVector(input)); |
RegExpCompileData result; |
CHECK(!v8::internal::RegExpParser::ParseRegExp( |
- &reader, false, &result, Isolate::Current()->runtime_zone())); |
+ &reader, false, &result, &zone)); |
CHECK(result.tree == NULL); |
CHECK(!result.error.is_null()); |
SmartArrayPointer<char> str = result.error->ToCString(ALLOW_NULLS); |
@@ -473,11 +472,10 @@ static bool NotWord(uc16 c) { |
static void TestCharacterClassEscapes(uc16 c, bool (pred)(uc16 c)) { |
- ZoneScope scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
ZoneList<CharacterRange>* ranges = |
- new(zone) ZoneList<CharacterRange>(2, zone); |
- CharacterRange::AddClassEscape(c, ranges, zone); |
+ new(&zone) ZoneList<CharacterRange>(2, &zone); |
+ CharacterRange::AddClassEscape(c, ranges, &zone); |
for (unsigned i = 0; i < (1 << 16); i++) { |
bool in_class = false; |
for (int j = 0; !in_class && j < ranges->length(); j++) { |
@@ -501,14 +499,16 @@ TEST(CharacterClassEscapes) { |
} |
-static RegExpNode* Compile(const char* input, bool multiline, bool is_ascii) { |
+static RegExpNode* Compile(const char* input, |
+ bool multiline, |
+ bool is_ascii, |
+ Zone* zone) { |
V8::Initialize(NULL); |
Isolate* isolate = Isolate::Current(); |
FlatStringReader reader(isolate, CStrVector(input)); |
RegExpCompileData compile_data; |
if (!v8::internal::RegExpParser::ParseRegExp(&reader, multiline, |
- &compile_data, |
- isolate->runtime_zone())) |
+ &compile_data, zone)) |
return NULL; |
Handle<String> pattern = isolate->factory()-> |
NewStringFromUtf8(CStrVector(input)); |
@@ -521,7 +521,7 @@ static RegExpNode* Compile(const char* input, bool multiline, bool is_ascii) { |
pattern, |
sample_subject, |
is_ascii, |
- isolate->runtime_zone()); |
+ zone); |
return compile_data.node; |
} |
@@ -531,8 +531,8 @@ static void Execute(const char* input, |
bool is_ascii, |
bool dot_output = false) { |
v8::HandleScope scope(v8::Isolate::GetCurrent()); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- RegExpNode* node = Compile(input, multiline, is_ascii); |
+ Zone zone(Isolate::Current()); |
+ RegExpNode* node = Compile(input, multiline, is_ascii, &zone); |
USE(node); |
#ifdef DEBUG |
if (dot_output) { |
@@ -571,8 +571,8 @@ static unsigned PseudoRandom(int i, int j) { |
TEST(SplayTreeSimple) { |
v8::internal::V8::Initialize(NULL); |
static const unsigned kLimit = 1000; |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- ZoneSplayTree<TestConfig> tree(Isolate::Current()->runtime_zone()); |
+ Zone zone(Isolate::Current()); |
+ ZoneSplayTree<TestConfig> tree(&zone); |
bool seen[kLimit]; |
for (unsigned i = 0; i < kLimit; i++) seen[i] = false; |
#define CHECK_MAPS_EQUAL() do { \ |
@@ -639,13 +639,12 @@ TEST(DispatchTableConstruction) { |
} |
} |
// Enter test data into dispatch table. |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- DispatchTable table(Isolate::Current()->runtime_zone()); |
+ Zone zone(Isolate::Current()); |
+ DispatchTable table(&zone); |
for (int i = 0; i < kRangeCount; i++) { |
uc16* range = ranges[i]; |
for (int j = 0; j < 2 * kRangeSize; j += 2) |
- table.AddRange(CharacterRange(range[j], range[j + 1]), i, |
- Isolate::Current()->runtime_zone()); |
+ table.AddRange(CharacterRange(range[j], range[j + 1]), i, &zone); |
} |
// Check that the table looks as we would expect |
for (int p = 0; p < kLimit; p++) { |
@@ -708,8 +707,7 @@ class ContextInitializer { |
public: |
ContextInitializer() |
: scope_(v8::Isolate::GetCurrent()), |
- env_(v8::Context::New(v8::Isolate::GetCurrent())), |
- zone_(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT) { |
+ env_(v8::Context::New(v8::Isolate::GetCurrent())) { |
env_->Enter(); |
} |
~ContextInitializer() { |
@@ -718,7 +716,6 @@ class ContextInitializer { |
private: |
v8::HandleScope scope_; |
v8::Handle<v8::Context> env_; |
- v8::internal::ZoneScope zone_; |
}; |
@@ -743,10 +740,11 @@ static ArchRegExpMacroAssembler::Result Execute(Code* code, |
TEST(MacroAssemblerNativeSuccess) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, &zone); |
m.Succeed(); |
@@ -779,10 +777,11 @@ TEST(MacroAssemblerNativeSuccess) { |
TEST(MacroAssemblerNativeSimple) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, &zone); |
Label fail, backtrack; |
m.PushBacktrack(&fail); |
@@ -844,10 +843,11 @@ TEST(MacroAssemblerNativeSimple) { |
TEST(MacroAssemblerNativeSimpleUC16) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4, &zone); |
Label fail, backtrack; |
m.PushBacktrack(&fail); |
@@ -914,10 +914,11 @@ TEST(MacroAssemblerNativeSimpleUC16) { |
TEST(MacroAssemblerNativeBacktrack) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, &zone); |
Label fail; |
Label backtrack; |
@@ -953,10 +954,11 @@ TEST(MacroAssemblerNativeBacktrack) { |
TEST(MacroAssemblerNativeBackReferenceASCII) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, &zone); |
m.WriteCurrentPositionToRegister(0, 0); |
m.AdvanceCurrentPosition(2); |
@@ -1001,10 +1003,11 @@ TEST(MacroAssemblerNativeBackReferenceASCII) { |
TEST(MacroAssemblerNativeBackReferenceUC16) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4, &zone); |
m.WriteCurrentPositionToRegister(0, 0); |
m.AdvanceCurrentPosition(2); |
@@ -1052,10 +1055,11 @@ TEST(MacroAssemblerNativeBackReferenceUC16) { |
TEST(MacroAssemblernativeAtStart) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, &zone); |
Label not_at_start, newline, fail; |
m.CheckNotAtStart(¬_at_start); |
@@ -1110,10 +1114,11 @@ TEST(MacroAssemblernativeAtStart) { |
TEST(MacroAssemblerNativeBackRefNoCase) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4, &zone); |
Label fail, succ; |
@@ -1168,10 +1173,11 @@ TEST(MacroAssemblerNativeBackRefNoCase) { |
TEST(MacroAssemblerNativeRegisters) { |
v8::V8::Initialize(); |
ContextInitializer initializer; |
- Factory* factory = Isolate::Current()->factory(); |
+ Isolate* isolate = Isolate::Current(); |
+ Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 6, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 6, &zone); |
uc16 foo_chars[3] = {'f', 'o', 'o'}; |
Vector<const uc16> foo(foo_chars, 3); |
@@ -1272,9 +1278,9 @@ TEST(MacroAssemblerStackOverflow) { |
ContextInitializer initializer; |
Isolate* isolate = Isolate::Current(); |
Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0, &zone); |
Label loop; |
m.Bind(&loop); |
@@ -1311,9 +1317,9 @@ TEST(MacroAssemblerNativeLotsOfRegisters) { |
ContextInitializer initializer; |
Isolate* isolate = Isolate::Current(); |
Factory* factory = isolate->factory(); |
+ Zone zone(isolate); |
- ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 2, |
- Isolate::Current()->runtime_zone()); |
+ ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 2, &zone); |
// At least 2048, to ensure the allocated space for registers |
// span one full page. |
@@ -1360,8 +1366,8 @@ TEST(MacroAssemblerNativeLotsOfRegisters) { |
TEST(MacroAssembler) { |
V8::Initialize(NULL); |
byte codes[1024]; |
- RegExpMacroAssemblerIrregexp m(Vector<byte>(codes, 1024), |
- Isolate::Current()->runtime_zone()); |
+ Zone zone(Isolate::Current()); |
+ RegExpMacroAssemblerIrregexp m(Vector<byte>(codes, 1024), &zone); |
// ^f(o)o. |
Label start, fail, backtrack; |
@@ -1428,20 +1434,17 @@ TEST(AddInverseToTable) { |
static const int kLimit = 1000; |
static const int kRangeCount = 16; |
for (int t = 0; t < 10; t++) { |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
ZoneList<CharacterRange>* ranges = |
- new(zone) |
- ZoneList<CharacterRange>(kRangeCount, zone); |
+ new(&zone) ZoneList<CharacterRange>(kRangeCount, &zone); |
for (int i = 0; i < kRangeCount; i++) { |
int from = PseudoRandom(t + 87, i + 25) % kLimit; |
int to = from + (PseudoRandom(i + 87, t + 25) % (kLimit / 20)); |
if (to > kLimit) to = kLimit; |
- ranges->Add(CharacterRange(from, to), zone); |
+ ranges->Add(CharacterRange(from, to), &zone); |
} |
- DispatchTable table(zone); |
- DispatchTableConstructor cons(&table, false, |
- Isolate::Current()->runtime_zone()); |
+ DispatchTable table(&zone); |
+ DispatchTableConstructor cons(&table, false, &zone); |
cons.set_choice_index(0); |
cons.AddInverse(ranges); |
for (int i = 0; i < kLimit; i++) { |
@@ -1452,14 +1455,12 @@ TEST(AddInverseToTable) { |
CHECK_EQ(is_on, set->Get(0) == false); |
} |
} |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
ZoneList<CharacterRange>* ranges = |
- new(zone) ZoneList<CharacterRange>(1, zone); |
- ranges->Add(CharacterRange(0xFFF0, 0xFFFE), zone); |
- DispatchTable table(zone); |
- DispatchTableConstructor cons(&table, false, |
- Isolate::Current()->runtime_zone()); |
+ new(&zone) ZoneList<CharacterRange>(1, &zone); |
+ ranges->Add(CharacterRange(0xFFF0, 0xFFFE), &zone); |
+ DispatchTable table(&zone); |
+ DispatchTableConstructor cons(&table, false, &zone); |
cons.set_choice_index(0); |
cons.AddInverse(ranges); |
CHECK(!table.Get(0xFFFE)->Get(0)); |
@@ -1567,12 +1568,11 @@ TEST(UncanonicalizeEquivalence) { |
static void TestRangeCaseIndependence(CharacterRange input, |
Vector<CharacterRange> expected) { |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
int count = expected.length(); |
ZoneList<CharacterRange>* list = |
- new(zone) ZoneList<CharacterRange>(count, zone); |
- input.AddCaseEquivalents(list, false, zone); |
+ new(&zone) ZoneList<CharacterRange>(count, &zone); |
+ input.AddCaseEquivalents(list, false, &zone); |
CHECK_EQ(count, list->length()); |
for (int i = 0; i < list->length(); i++) { |
CHECK_EQ(expected[i].from(), list->at(i).from()); |
@@ -1633,16 +1633,14 @@ static bool InClass(uc16 c, ZoneList<CharacterRange>* ranges) { |
TEST(CharClassDifference) { |
v8::internal::V8::Initialize(NULL); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
ZoneList<CharacterRange>* base = |
- new(zone) ZoneList<CharacterRange>(1, zone); |
- base->Add(CharacterRange::Everything(), zone); |
+ new(&zone) ZoneList<CharacterRange>(1, &zone); |
+ base->Add(CharacterRange::Everything(), &zone); |
Vector<const int> overlay = CharacterRange::GetWordBounds(); |
ZoneList<CharacterRange>* included = NULL; |
ZoneList<CharacterRange>* excluded = NULL; |
- CharacterRange::Split(base, overlay, &included, &excluded, |
- Isolate::Current()->runtime_zone()); |
+ CharacterRange::Split(base, overlay, &included, &excluded, &zone); |
for (int i = 0; i < (1 << 16); i++) { |
bool in_base = InClass(i, base); |
if (in_base) { |
@@ -1663,15 +1661,14 @@ TEST(CharClassDifference) { |
TEST(CanonicalizeCharacterSets) { |
v8::internal::V8::Initialize(NULL); |
- ZoneScope scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
ZoneList<CharacterRange>* list = |
- new(zone) ZoneList<CharacterRange>(4, zone); |
+ new(&zone) ZoneList<CharacterRange>(4, &zone); |
CharacterSet set(list); |
- list->Add(CharacterRange(10, 20), zone); |
- list->Add(CharacterRange(30, 40), zone); |
- list->Add(CharacterRange(50, 60), zone); |
+ list->Add(CharacterRange(10, 20), &zone); |
+ list->Add(CharacterRange(30, 40), &zone); |
+ list->Add(CharacterRange(50, 60), &zone); |
set.Canonicalize(); |
ASSERT_EQ(3, list->length()); |
ASSERT_EQ(10, list->at(0).from()); |
@@ -1682,9 +1679,9 @@ TEST(CanonicalizeCharacterSets) { |
ASSERT_EQ(60, list->at(2).to()); |
list->Rewind(0); |
- list->Add(CharacterRange(10, 20), zone); |
- list->Add(CharacterRange(50, 60), zone); |
- list->Add(CharacterRange(30, 40), zone); |
+ list->Add(CharacterRange(10, 20), &zone); |
+ list->Add(CharacterRange(50, 60), &zone); |
+ list->Add(CharacterRange(30, 40), &zone); |
set.Canonicalize(); |
ASSERT_EQ(3, list->length()); |
ASSERT_EQ(10, list->at(0).from()); |
@@ -1695,11 +1692,11 @@ TEST(CanonicalizeCharacterSets) { |
ASSERT_EQ(60, list->at(2).to()); |
list->Rewind(0); |
- list->Add(CharacterRange(30, 40), zone); |
- list->Add(CharacterRange(10, 20), zone); |
- list->Add(CharacterRange(25, 25), zone); |
- list->Add(CharacterRange(100, 100), zone); |
- list->Add(CharacterRange(1, 1), zone); |
+ list->Add(CharacterRange(30, 40), &zone); |
+ list->Add(CharacterRange(10, 20), &zone); |
+ list->Add(CharacterRange(25, 25), &zone); |
+ list->Add(CharacterRange(100, 100), &zone); |
+ list->Add(CharacterRange(1, 1), &zone); |
set.Canonicalize(); |
ASSERT_EQ(5, list->length()); |
ASSERT_EQ(1, list->at(0).from()); |
@@ -1714,9 +1711,9 @@ TEST(CanonicalizeCharacterSets) { |
ASSERT_EQ(100, list->at(4).to()); |
list->Rewind(0); |
- list->Add(CharacterRange(10, 19), zone); |
- list->Add(CharacterRange(21, 30), zone); |
- list->Add(CharacterRange(20, 20), zone); |
+ list->Add(CharacterRange(10, 19), &zone); |
+ list->Add(CharacterRange(21, 30), &zone); |
+ list->Add(CharacterRange(20, 20), &zone); |
set.Canonicalize(); |
ASSERT_EQ(1, list->length()); |
ASSERT_EQ(10, list->at(0).from()); |
@@ -1726,10 +1723,9 @@ TEST(CanonicalizeCharacterSets) { |
TEST(CharacterRangeMerge) { |
v8::internal::V8::Initialize(NULL); |
- ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- ZoneList<CharacterRange> l1(4, Isolate::Current()->runtime_zone()); |
- ZoneList<CharacterRange> l2(4, Isolate::Current()->runtime_zone()); |
- Zone* zone = Isolate::Current()->runtime_zone(); |
+ Zone zone(Isolate::Current()); |
+ ZoneList<CharacterRange> l1(4, &zone); |
+ ZoneList<CharacterRange> l2(4, &zone); |
// Create all combinations of intersections of ranges, both singletons and |
// longer. |
@@ -1744,8 +1740,8 @@ TEST(CharacterRangeMerge) { |
// Y - outside after |
for (int i = 0; i < 5; i++) { |
- l1.Add(CharacterRange::Singleton(offset + 2), zone); |
- l2.Add(CharacterRange::Singleton(offset + i), zone); |
+ l1.Add(CharacterRange::Singleton(offset + 2), &zone); |
+ l2.Add(CharacterRange::Singleton(offset + i), &zone); |
offset += 6; |
} |
@@ -1760,8 +1756,8 @@ TEST(CharacterRangeMerge) { |
// Y - disjoint after |
for (int i = 0; i < 7; i++) { |
- l1.Add(CharacterRange::Range(offset + 2, offset + 4), zone); |
- l2.Add(CharacterRange::Singleton(offset + i), zone); |
+ l1.Add(CharacterRange::Range(offset + 2, offset + 4), &zone); |
+ l2.Add(CharacterRange::Singleton(offset + i), &zone); |
offset += 8; |
} |
@@ -1781,35 +1777,35 @@ TEST(CharacterRangeMerge) { |
// YYYYYYYYYYYY - containing entirely. |
for (int i = 0; i < 9; i++) { |
- l1.Add(CharacterRange::Range(offset + 6, offset + 15), zone); // Length 8. |
- l2.Add(CharacterRange::Range(offset + 2 * i, offset + 2 * i + 3), zone); |
+ l1.Add(CharacterRange::Range(offset + 6, offset + 15), &zone); // Length 8. |
+ l2.Add(CharacterRange::Range(offset + 2 * i, offset + 2 * i + 3), &zone); |
offset += 22; |
} |
- l1.Add(CharacterRange::Range(offset + 6, offset + 15), zone); |
- l2.Add(CharacterRange::Range(offset + 6, offset + 15), zone); |
+ l1.Add(CharacterRange::Range(offset + 6, offset + 15), &zone); |
+ l2.Add(CharacterRange::Range(offset + 6, offset + 15), &zone); |
offset += 22; |
- l1.Add(CharacterRange::Range(offset + 6, offset + 15), zone); |
- l2.Add(CharacterRange::Range(offset + 4, offset + 17), zone); |
+ l1.Add(CharacterRange::Range(offset + 6, offset + 15), &zone); |
+ l2.Add(CharacterRange::Range(offset + 4, offset + 17), &zone); |
offset += 22; |
// Different kinds of multi-range overlap: |
// XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX |
// YYYY Y YYYY Y YYYY Y YYYY Y YYYY Y YYYY Y |
- l1.Add(CharacterRange::Range(offset, offset + 21), zone); |
- l1.Add(CharacterRange::Range(offset + 31, offset + 52), zone); |
+ l1.Add(CharacterRange::Range(offset, offset + 21), &zone); |
+ l1.Add(CharacterRange::Range(offset + 31, offset + 52), &zone); |
for (int i = 0; i < 6; i++) { |
- l2.Add(CharacterRange::Range(offset + 2, offset + 5), zone); |
- l2.Add(CharacterRange::Singleton(offset + 8), zone); |
+ l2.Add(CharacterRange::Range(offset + 2, offset + 5), &zone); |
+ l2.Add(CharacterRange::Singleton(offset + 8), &zone); |
offset += 9; |
} |
ASSERT(CharacterRange::IsCanonical(&l1)); |
ASSERT(CharacterRange::IsCanonical(&l2)); |
- ZoneList<CharacterRange> first_only(4, Isolate::Current()->runtime_zone()); |
- ZoneList<CharacterRange> second_only(4, Isolate::Current()->runtime_zone()); |
- ZoneList<CharacterRange> both(4, Isolate::Current()->runtime_zone()); |
+ ZoneList<CharacterRange> first_only(4, &zone); |
+ ZoneList<CharacterRange> second_only(4, &zone); |
+ ZoneList<CharacterRange> both(4, &zone); |
} |