Commit 8c8b7f89 authored by vegorov@chromium.org's avatar vegorov@chromium.org

Fix api tests based on incorrect assumptions about GC behavior.

Review URL: http://codereview.chromium.org/1701018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 9223815b
...@@ -569,6 +569,7 @@ THREADED_TEST(UsingExternalAsciiString) { ...@@ -569,6 +569,7 @@ THREADED_TEST(UsingExternalAsciiString) {
THREADED_TEST(ScavengeExternalString) { THREADED_TEST(ScavengeExternalString) {
TestResource::dispose_count = 0; TestResource::dispose_count = 0;
bool in_new_space = false;
{ {
v8::HandleScope scope; v8::HandleScope scope;
uint16_t* two_byte_string = AsciiToTwoByteString("test string"); uint16_t* two_byte_string = AsciiToTwoByteString("test string");
...@@ -576,16 +577,18 @@ THREADED_TEST(ScavengeExternalString) { ...@@ -576,16 +577,18 @@ THREADED_TEST(ScavengeExternalString) {
String::NewExternal(new TestResource(two_byte_string)); String::NewExternal(new TestResource(two_byte_string));
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); i::Handle<i::String> istring = v8::Utils::OpenHandle(*string);
i::Heap::CollectGarbage(0, i::NEW_SPACE); 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); 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); CHECK_EQ(1, TestResource::dispose_count);
} }
THREADED_TEST(ScavengeExternalAsciiString) { THREADED_TEST(ScavengeExternalAsciiString) {
TestAsciiResource::dispose_count = 0; TestAsciiResource::dispose_count = 0;
bool in_new_space = false;
{ {
v8::HandleScope scope; v8::HandleScope scope;
const char* one_byte_string = "test string"; const char* one_byte_string = "test string";
...@@ -593,10 +596,11 @@ THREADED_TEST(ScavengeExternalAsciiString) { ...@@ -593,10 +596,11 @@ THREADED_TEST(ScavengeExternalAsciiString) {
new TestAsciiResource(i::StrDup(one_byte_string))); new TestAsciiResource(i::StrDup(one_byte_string)));
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); i::Handle<i::String> istring = v8::Utils::OpenHandle(*string);
i::Heap::CollectGarbage(0, i::NEW_SPACE); 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); 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); CHECK_EQ(1, TestAsciiResource::dispose_count);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment