Revision: 4529
Author: [email protected]
Date: Wed Apr 28 04:02:26 2010
Log: Fix api tests based on incorrect assumptions about GC behavior.
Review URL: http://codereview.chromium.org/1701018
http://code.google.com/p/v8/source/detail?r=4529
Modified:
/branches/bleeding_edge/test/cctest/test-api.cc
=======================================
--- /branches/bleeding_edge/test/cctest/test-api.cc Fri Mar 26 02:05:22 2010
+++ /branches/bleeding_edge/test/cctest/test-api.cc Wed Apr 28 04:02:26 2010
@@ -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);
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev