| Index: test/cctest/test-regexp.cc
|
| diff --git a/test/cctest/test-regexp.cc b/test/cctest/test-regexp.cc
|
| index 10c9242a6a42fffb018ec4a9c6596ee65c085181..50356e7595804ff180ca32f9baccf6715d351da9 100644
|
| --- a/test/cctest/test-regexp.cc
|
| +++ b/test/cctest/test-regexp.cc
|
| @@ -72,24 +72,26 @@ using namespace v8::internal;
|
| static bool CheckParse(const char* input) {
|
| V8::Initialize(NULL);
|
| v8::HandleScope scope;
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| FlatStringReader reader(Isolate::Current(), CStrVector(input));
|
| RegExpCompileData result;
|
| - return v8::internal::RegExpParser::ParseRegExp(&reader, false, &result);
|
| + return v8::internal::RegExpParser::ParseRegExp(
|
| + &reader, false, &result, Isolate::Current()->runtime_zone());
|
| }
|
|
|
|
|
| static SmartArrayPointer<const char> Parse(const char* input) {
|
| V8::Initialize(NULL);
|
| v8::HandleScope scope;
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| FlatStringReader reader(Isolate::Current(), CStrVector(input));
|
| RegExpCompileData result;
|
| - CHECK(v8::internal::RegExpParser::ParseRegExp(&reader, false, &result));
|
| + CHECK(v8::internal::RegExpParser::ParseRegExp(
|
| + &reader, false, &result, Isolate::Current()->runtime_zone()));
|
| CHECK(result.tree != NULL);
|
| CHECK(result.error.is_null());
|
| SmartArrayPointer<const char> output =
|
| - result.tree->ToString(Isolate::Current()->zone());
|
| + result.tree->ToString(Isolate::Current()->runtime_zone());
|
| return output;
|
| }
|
|
|
| @@ -97,10 +99,11 @@ static bool CheckSimple(const char* input) {
|
| V8::Initialize(NULL);
|
| v8::HandleScope scope;
|
| unibrow::Utf8InputBuffer<> buffer(input, StrLength(input));
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| FlatStringReader reader(Isolate::Current(), CStrVector(input));
|
| RegExpCompileData result;
|
| - CHECK(v8::internal::RegExpParser::ParseRegExp(&reader, false, &result));
|
| + CHECK(v8::internal::RegExpParser::ParseRegExp(
|
| + &reader, false, &result, Isolate::Current()->runtime_zone()));
|
| CHECK(result.tree != NULL);
|
| CHECK(result.error.is_null());
|
| return result.simple;
|
| @@ -115,10 +118,11 @@ static MinMaxPair CheckMinMaxMatch(const char* input) {
|
| V8::Initialize(NULL);
|
| v8::HandleScope scope;
|
| unibrow::Utf8InputBuffer<> buffer(input, StrLength(input));
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| FlatStringReader reader(Isolate::Current(), CStrVector(input));
|
| RegExpCompileData result;
|
| - CHECK(v8::internal::RegExpParser::ParseRegExp(&reader, false, &result));
|
| + CHECK(v8::internal::RegExpParser::ParseRegExp(
|
| + &reader, false, &result, Isolate::Current()->runtime_zone()));
|
| CHECK(result.tree != NULL);
|
| CHECK(result.error.is_null());
|
| int min_match = result.tree->min_match();
|
| @@ -386,10 +390,11 @@ static void ExpectError(const char* input,
|
| const char* expected) {
|
| V8::Initialize(NULL);
|
| v8::HandleScope scope;
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| FlatStringReader reader(Isolate::Current(), CStrVector(input));
|
| RegExpCompileData result;
|
| - CHECK(!v8::internal::RegExpParser::ParseRegExp(&reader, false, &result));
|
| + CHECK(!v8::internal::RegExpParser::ParseRegExp(
|
| + &reader, false, &result, Isolate::Current()->runtime_zone()));
|
| CHECK(result.tree == NULL);
|
| CHECK(!result.error.is_null());
|
| SmartArrayPointer<char> str = result.error->ToCString(ALLOW_NULLS);
|
| @@ -469,8 +474,8 @@ static bool NotWord(uc16 c) {
|
|
|
|
|
| static void TestCharacterClassEscapes(uc16 c, bool (pred)(uc16 c)) {
|
| - ZoneScope scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| ZoneList<CharacterRange>* ranges =
|
| new(zone) ZoneList<CharacterRange>(2, zone);
|
| CharacterRange::AddClassEscape(c, ranges, zone);
|
| @@ -503,7 +508,8 @@ static RegExpNode* Compile(const char* input, bool multiline, bool is_ascii) {
|
| FlatStringReader reader(isolate, CStrVector(input));
|
| RegExpCompileData compile_data;
|
| if (!v8::internal::RegExpParser::ParseRegExp(&reader, multiline,
|
| - &compile_data))
|
| + &compile_data,
|
| + isolate->runtime_zone()))
|
| return NULL;
|
| Handle<String> pattern = isolate->factory()->
|
| NewStringFromUtf8(CStrVector(input));
|
| @@ -516,7 +522,7 @@ static RegExpNode* Compile(const char* input, bool multiline, bool is_ascii) {
|
| pattern,
|
| sample_subject,
|
| is_ascii,
|
| - isolate->zone());
|
| + isolate->runtime_zone());
|
| return compile_data.node;
|
| }
|
|
|
| @@ -526,7 +532,7 @@ static void Execute(const char* input,
|
| bool is_ascii,
|
| bool dot_output = false) {
|
| v8::HandleScope scope;
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| RegExpNode* node = Compile(input, multiline, is_ascii);
|
| USE(node);
|
| #ifdef DEBUG
|
| @@ -566,8 +572,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(), DELETE_ON_EXIT);
|
| - ZoneSplayTree<TestConfig> tree(Isolate::Current()->zone());
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + ZoneSplayTree<TestConfig> tree(Isolate::Current()->runtime_zone());
|
| bool seen[kLimit];
|
| for (unsigned i = 0; i < kLimit; i++) seen[i] = false;
|
| #define CHECK_MAPS_EQUAL() do { \
|
| @@ -634,13 +640,13 @@ TEST(DispatchTableConstruction) {
|
| }
|
| }
|
| // Enter test data into dispatch table.
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - DispatchTable table(Isolate::Current()->zone());
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + DispatchTable table(Isolate::Current()->runtime_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()->zone());
|
| + Isolate::Current()->runtime_zone());
|
| }
|
| // Check that the table looks as we would expect
|
| for (int p = 0; p < kLimit; p++) {
|
| @@ -702,7 +708,8 @@ typedef RegExpMacroAssemblerMIPS ArchRegExpMacroAssembler;
|
| class ContextInitializer {
|
| public:
|
| ContextInitializer()
|
| - : env_(), scope_(), zone_(Isolate::Current(), DELETE_ON_EXIT) {
|
| + : env_(), scope_(), zone_(Isolate::Current()->runtime_zone(),
|
| + DELETE_ON_EXIT) {
|
| env_ = v8::Context::New();
|
| env_->Enter();
|
| }
|
| @@ -741,7 +748,7 @@ TEST(MacroAssemblerNativeSuccess) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| m.Succeed();
|
|
|
| @@ -777,7 +784,7 @@ TEST(MacroAssemblerNativeSimple) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| uc16 foo_chars[3] = {'f', 'o', 'o'};
|
| Vector<const uc16> foo(foo_chars, 3);
|
| @@ -835,7 +842,7 @@ TEST(MacroAssemblerNativeSimpleUC16) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| uc16 foo_chars[3] = {'f', 'o', 'o'};
|
| Vector<const uc16> foo(foo_chars, 3);
|
| @@ -898,7 +905,7 @@ TEST(MacroAssemblerNativeBacktrack) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| Label fail;
|
| Label backtrack;
|
| @@ -937,7 +944,7 @@ TEST(MacroAssemblerNativeBackReferenceASCII) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| m.WriteCurrentPositionToRegister(0, 0);
|
| m.AdvanceCurrentPosition(2);
|
| @@ -985,7 +992,7 @@ TEST(MacroAssemblerNativeBackReferenceUC16) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::UC16, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| m.WriteCurrentPositionToRegister(0, 0);
|
| m.AdvanceCurrentPosition(2);
|
| @@ -1036,7 +1043,7 @@ TEST(MacroAssemblernativeAtStart) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| Label not_at_start, newline, fail;
|
| m.CheckNotAtStart(¬_at_start);
|
| @@ -1094,7 +1101,7 @@ TEST(MacroAssemblerNativeBackRefNoCase) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 4,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| Label fail, succ;
|
|
|
| @@ -1152,7 +1159,7 @@ TEST(MacroAssemblerNativeRegisters) {
|
| Factory* factory = Isolate::Current()->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 6,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| uc16 foo_chars[3] = {'f', 'o', 'o'};
|
| Vector<const uc16> foo(foo_chars, 3);
|
| @@ -1255,7 +1262,7 @@ TEST(MacroAssemblerStackOverflow) {
|
| Factory* factory = isolate->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 0,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| Label loop;
|
| m.Bind(&loop);
|
| @@ -1294,7 +1301,7 @@ TEST(MacroAssemblerNativeLotsOfRegisters) {
|
| Factory* factory = isolate->factory();
|
|
|
| ArchRegExpMacroAssembler m(NativeRegExpMacroAssembler::ASCII, 2,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
|
|
| // At least 2048, to ensure the allocated space for registers
|
| // span one full page.
|
| @@ -1412,8 +1419,8 @@ TEST(AddInverseToTable) {
|
| static const int kLimit = 1000;
|
| static const int kRangeCount = 16;
|
| for (int t = 0; t < 10; t++) {
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| ZoneList<CharacterRange>* ranges =
|
| new(zone)
|
| ZoneList<CharacterRange>(kRangeCount, zone);
|
| @@ -1424,7 +1431,8 @@ TEST(AddInverseToTable) {
|
| ranges->Add(CharacterRange(from, to), zone);
|
| }
|
| DispatchTable table(zone);
|
| - DispatchTableConstructor cons(&table, false, Isolate::Current()->zone());
|
| + DispatchTableConstructor cons(&table, false,
|
| + Isolate::Current()->runtime_zone());
|
| cons.set_choice_index(0);
|
| cons.AddInverse(ranges);
|
| for (int i = 0; i < kLimit; i++) {
|
| @@ -1435,13 +1443,14 @@ TEST(AddInverseToTable) {
|
| CHECK_EQ(is_on, set->Get(0) == false);
|
| }
|
| }
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| ZoneList<CharacterRange>* ranges =
|
| new(zone) ZoneList<CharacterRange>(1, zone);
|
| ranges->Add(CharacterRange(0xFFF0, 0xFFFE), zone);
|
| DispatchTable table(zone);
|
| - DispatchTableConstructor cons(&table, false, Isolate::Current()->zone());
|
| + DispatchTableConstructor cons(&table, false,
|
| + Isolate::Current()->runtime_zone());
|
| cons.set_choice_index(0);
|
| cons.AddInverse(ranges);
|
| CHECK(!table.Get(0xFFFE)->Get(0));
|
| @@ -1549,8 +1558,8 @@ TEST(UncanonicalizeEquivalence) {
|
|
|
| static void TestRangeCaseIndependence(CharacterRange input,
|
| Vector<CharacterRange> expected) {
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| int count = expected.length();
|
| ZoneList<CharacterRange>* list =
|
| new(zone) ZoneList<CharacterRange>(count, zone);
|
| @@ -1615,8 +1624,8 @@ static bool InClass(uc16 c, ZoneList<CharacterRange>* ranges) {
|
|
|
| TEST(CharClassDifference) {
|
| v8::internal::V8::Initialize(NULL);
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope zone_scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| ZoneList<CharacterRange>* base =
|
| new(zone) ZoneList<CharacterRange>(1, zone);
|
| base->Add(CharacterRange::Everything(), zone);
|
| @@ -1624,7 +1633,7 @@ TEST(CharClassDifference) {
|
| ZoneList<CharacterRange>* included = NULL;
|
| ZoneList<CharacterRange>* excluded = NULL;
|
| CharacterRange::Split(base, overlay, &included, &excluded,
|
| - Isolate::Current()->zone());
|
| + Isolate::Current()->runtime_zone());
|
| for (int i = 0; i < (1 << 16); i++) {
|
| bool in_base = InClass(i, base);
|
| if (in_base) {
|
| @@ -1645,8 +1654,8 @@ TEST(CharClassDifference) {
|
|
|
| TEST(CanonicalizeCharacterSets) {
|
| v8::internal::V8::Initialize(NULL);
|
| - ZoneScope scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - Zone* zone = Isolate::Current()->zone();
|
| + ZoneScope scope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT);
|
| + Zone* zone = Isolate::Current()->runtime_zone();
|
| ZoneList<CharacterRange>* list =
|
| new(zone) ZoneList<CharacterRange>(4, zone);
|
| CharacterSet set(list);
|
| @@ -1708,10 +1717,10 @@ TEST(CanonicalizeCharacterSets) {
|
|
|
| TEST(CharacterRangeMerge) {
|
| v8::internal::V8::Initialize(NULL);
|
| - ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT);
|
| - ZoneList<CharacterRange> l1(4, Isolate::Current()->zone());
|
| - ZoneList<CharacterRange> l2(4, Isolate::Current()->zone());
|
| - Zone* zone = Isolate::Current()->zone();
|
| + 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();
|
| // Create all combinations of intersections of ranges, both singletons and
|
| // longer.
|
|
|
| @@ -1789,9 +1798,9 @@ TEST(CharacterRangeMerge) {
|
| ASSERT(CharacterRange::IsCanonical(&l1));
|
| ASSERT(CharacterRange::IsCanonical(&l2));
|
|
|
| - ZoneList<CharacterRange> first_only(4, Isolate::Current()->zone());
|
| - ZoneList<CharacterRange> second_only(4, Isolate::Current()->zone());
|
| - ZoneList<CharacterRange> both(4, Isolate::Current()->zone());
|
| + 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());
|
| }
|
|
|
|
|
|
|