| Index: test/cctest/test-api.cc
|
| ===================================================================
|
| --- test/cctest/test-api.cc (revision 4524)
|
| +++ test/cctest/test-api.cc (working copy)
|
| @@ -569,6 +569,7 @@
|
|
|
| THREADED_TEST(ScavengeExternalString) {
|
| TestResource::dispose_count = 0;
|
| + bool in_new_space = false;
|
| {
|
| v8::HandleScope scope;
|
| uint16_t* two_byte_string = AsciiToTwoByteString("test string");
|
| @@ -576,16 +577,18 @@
|
| String::NewExternal(new TestResource(two_byte_string));
|
| i::Handle<i::String> istring = v8::Utils::OpenHandle(*string);
|
| i::Heap::CollectGarbage(0, i::NEW_SPACE);
|
| - CHECK(i::Heap::InNewSpace(*istring));
|
| + in_new_space = i::Heap::InNewSpace(*istring);
|
| + CHECK(in_new_space || i::Heap::old_data_space()->Contains(*istring));
|
| CHECK_EQ(0, TestResource::dispose_count);
|
| }
|
| - i::Heap::CollectGarbage(0, i::NEW_SPACE);
|
| + i::Heap::CollectGarbage(0, in_new_space ? i::NEW_SPACE : i::OLD_DATA_SPACE);
|
| CHECK_EQ(1, TestResource::dispose_count);
|
| }
|
|
|
|
|
| THREADED_TEST(ScavengeExternalAsciiString) {
|
| TestAsciiResource::dispose_count = 0;
|
| + bool in_new_space = false;
|
| {
|
| v8::HandleScope scope;
|
| const char* one_byte_string = "test string";
|
| @@ -593,10 +596,11 @@
|
| new TestAsciiResource(i::StrDup(one_byte_string)));
|
| i::Handle<i::String> istring = v8::Utils::OpenHandle(*string);
|
| i::Heap::CollectGarbage(0, i::NEW_SPACE);
|
| - CHECK(i::Heap::InNewSpace(*istring));
|
| + in_new_space = i::Heap::InNewSpace(*istring);
|
| + CHECK(in_new_space || i::Heap::old_data_space()->Contains(*istring));
|
| CHECK_EQ(0, TestAsciiResource::dispose_count);
|
| }
|
| - i::Heap::CollectGarbage(0, i::NEW_SPACE);
|
| + i::Heap::CollectGarbage(0, in_new_space ? i::NEW_SPACE : i::OLD_DATA_SPACE);
|
| CHECK_EQ(1, TestAsciiResource::dispose_count);
|
| }
|
|
|
|
|