Index: test/cctest/test-strings.cc |
diff --git a/test/cctest/test-strings.cc b/test/cctest/test-strings.cc |
index 9aebdb18fb8872375bad3d0f1f46f0924b8f2010..2889172f5a625e9ccfea54cf72a113e4d2dc6633 100644 |
--- a/test/cctest/test-strings.cc |
+++ b/test/cctest/test-strings.cc |
@@ -95,18 +95,6 @@ class RandomNumberGenerator { |
using namespace v8::internal; |
-static v8::Persistent<v8::Context> env; |
- |
- |
-static void InitializeVM() { |
- if (env.IsEmpty()) { |
- const char* extensions[] = { "v8/print" }; |
- v8::ExtensionConfiguration config(1, extensions); |
- env = v8::Context::New(&config); |
- } |
- env->Enter(); |
-} |
- |
static const int DEEP_DEPTH = 8 * 1024; |
static const int SUPER_DEEP_DEPTH = 80 * 1024; |
@@ -574,8 +562,8 @@ static void TraverseFirst(Handle<String> s1, Handle<String> s2, int chars) { |
TEST(Traverse) { |
printf("TestTraverse\n"); |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
ZoneScope zone(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
ConsStringGenerationData data(false); |
Handle<String> flat = ConstructBalanced(&data); |
@@ -663,7 +651,7 @@ printf( |
template<typename BuildString> |
void TestStringCharacterStream(BuildString build, int test_cases) { |
- InitializeVM(); |
+ CcTest::InitializeVM(); |
Isolate* isolate = Isolate::Current(); |
HandleScope outer_scope(isolate); |
ZoneScope zone(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
@@ -863,8 +851,8 @@ static const int DEEP_ASCII_DEPTH = 100000; |
TEST(DeepAscii) { |
printf("TestDeepAscii\n"); |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
char* foo = NewArray<char>(DEEP_ASCII_DEPTH); |
for (int i = 0; i < DEEP_ASCII_DEPTH; i++) { |
@@ -888,8 +876,8 @@ TEST(DeepAscii) { |
TEST(Utf8Conversion) { |
// Smoke test for converting strings to utf-8. |
- InitializeVM(); |
- v8::HandleScope handle_scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope handle_scope(CcTest::isolate()); |
// A simple ascii string |
const char* ascii_string = "abcdef12345"; |
int len = |
@@ -935,8 +923,8 @@ TEST(Utf8Conversion) { |
TEST(ExternalShortStringAdd) { |
ZoneScope zonescope(Isolate::Current()->runtime_zone(), DELETE_ON_EXIT); |
- InitializeVM(); |
- v8::HandleScope handle_scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope handle_scope(CcTest::isolate()); |
Zone* zone = Isolate::Current()->runtime_zone(); |
// Make sure we cover all always-flat lengths and at least one above. |
@@ -977,7 +965,7 @@ TEST(ExternalShortStringAdd) { |
} |
// Add the arrays with the short external strings in the global object. |
- v8::Handle<v8::Object> global = env->Global(); |
+ v8::Handle<v8::Object> global = CcTest::env()->Global(); |
global->Set(v8_str("external_ascii"), ascii_external_strings); |
global->Set(v8_str("external_non_ascii"), non_ascii_external_strings); |
global->Set(v8_str("max_length"), v8::Integer::New(kMaxLength)); |
@@ -1027,8 +1015,8 @@ TEST(CachedHashOverflow) { |
Isolate* isolate = Isolate::Current(); |
ZoneScope zone(isolate->runtime_zone(), DELETE_ON_EXIT); |
- InitializeVM(); |
- v8::HandleScope handle_scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope handle_scope(CcTest::isolate()); |
// Lines must be executed sequentially. Combining them into one script |
// makes the bug go away. |
const char* lines[] = { |
@@ -1070,8 +1058,8 @@ TEST(CachedHashOverflow) { |
TEST(SliceFromCons) { |
FLAG_string_slices = true; |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
Handle<String> string = |
FACTORY->NewStringFromAscii(CStrVector("parentparentparent")); |
Handle<String> parent = FACTORY->NewConsString(string, string); |
@@ -1104,8 +1092,8 @@ class AsciiVectorResource : public v8::String::ExternalAsciiStringResource { |
TEST(SliceFromExternal) { |
FLAG_string_slices = true; |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
AsciiVectorResource resource( |
i::Vector<const char>("abcdefghijklmnopqrstuvwxyz", 26)); |
Handle<String> string = FACTORY->NewExternalStringFromAscii(&resource); |
@@ -1123,8 +1111,8 @@ TEST(TrivialSlice) { |
// This tests whether a slice that contains the entire parent string |
// actually creates a new string (it should not). |
FLAG_string_slices = true; |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
v8::Local<v8::Value> result; |
Handle<String> string; |
const char* init = "var str = 'abcdefghijklmnopqrstuvwxyz';"; |
@@ -1152,8 +1140,8 @@ TEST(SliceFromSlice) { |
// This tests whether a slice that contains the entire parent string |
// actually creates a new string (it should not). |
FLAG_string_slices = true; |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
v8::Local<v8::Value> result; |
Handle<String> string; |
const char* init = "var str = 'abcdefghijklmnopqrstuvwxyz';"; |
@@ -1220,8 +1208,8 @@ TEST(RobustSubStringStub) { |
// This tests whether the SubStringStub can handle unsafe arguments. |
// If not recognized, those unsafe arguments lead to out-of-bounds reads. |
FLAG_allow_natives_syntax = true; |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
v8::Local<v8::Value> result; |
Handle<String> string; |
CompileRun("var short = 'abcdef';"); |
@@ -1264,8 +1252,8 @@ TEST(RobustSubStringStub) { |
TEST(RegExpOverflow) { |
// Result string has the length 2^32, causing a 32-bit integer overflow. |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
LocalContext context; |
v8::V8::IgnoreOutOfMemoryException(); |
v8::Local<v8::Value> result = CompileRun( |
@@ -1280,8 +1268,8 @@ TEST(RegExpOverflow) { |
TEST(StringReplaceAtomTwoByteResult) { |
- InitializeVM(); |
- v8::HandleScope scope(env->GetIsolate()); |
+ CcTest::InitializeVM(); |
+ v8::HandleScope scope(CcTest::isolate()); |
LocalContext context; |
v8::Local<v8::Value> result = CompileRun( |
"var subject = 'ascii~only~string~'; " |