Index: test/cctest/test-api.cc |
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
index 2af9d2ebbcbb23d753f1906853bfa2513c4b6f89..ff1f203fccc98669f043a3ae2b5b434ff55528ff 100644 |
--- a/test/cctest/test-api.cc |
+++ b/test/cctest/test-api.cc |
@@ -453,11 +453,11 @@ THREADED_TEST(ScriptUsingStringResource) { |
CHECK_EQ(static_cast<const String::ExternalStringResourceBase*>(resource), |
source->GetExternalStringResourceBase(&encoding)); |
CHECK_EQ(String::TWO_BYTE_ENCODING, encoding); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(0, dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(1, dispose_count); |
} |
@@ -484,11 +484,11 @@ THREADED_TEST(ScriptUsingOneByteStringResource) { |
Local<Value> value = script->Run(env.local()).ToLocalChecked(); |
CHECK(value->IsNumber()); |
CHECK_EQ(7, value->Int32Value(env.local()).FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(0, dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(1, dispose_count); |
} |
@@ -504,8 +504,8 @@ THREADED_TEST(ScriptMakingExternalString) { |
v8::NewStringType::kNormal) |
.ToLocalChecked(); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
CHECK_EQ(source->IsExternal(), false); |
CHECK_EQ(source->IsExternalOneByte(), false); |
String::Encoding encoding = String::UNKNOWN_ENCODING; |
@@ -518,11 +518,11 @@ THREADED_TEST(ScriptMakingExternalString) { |
Local<Value> value = script->Run(env.local()).ToLocalChecked(); |
CHECK(value->IsNumber()); |
CHECK_EQ(7, value->Int32Value(env.local()).FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(0, dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(1, dispose_count); |
} |
@@ -535,8 +535,8 @@ THREADED_TEST(ScriptMakingExternalOneByteString) { |
v8::HandleScope scope(env->GetIsolate()); |
Local<String> source = v8_str(c_source); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
bool success = source->MakeExternal( |
new TestOneByteResource(i::StrDup(c_source), &dispose_count)); |
CHECK(success); |
@@ -544,11 +544,11 @@ THREADED_TEST(ScriptMakingExternalOneByteString) { |
Local<Value> value = script->Run(env.local()).ToLocalChecked(); |
CHECK(value->IsNumber()); |
CHECK_EQ(7, value->Int32Value(env.local()).FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(0, dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(1, dispose_count); |
} |
@@ -558,8 +558,8 @@ TEST(MakingExternalStringConditions) { |
v8::HandleScope scope(env->GetIsolate()); |
// Free some space in the new space so that we can check freshness. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
uint16_t* two_byte_string = AsciiToTwoByteString("s1"); |
Local<String> local_string = |
@@ -571,8 +571,8 @@ TEST(MakingExternalStringConditions) { |
// We should refuse to externalize new space strings. |
CHECK(!local_string->CanMakeExternal()); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
// Old space strings should be accepted. |
CHECK(local_string->CanMakeExternal()); |
} |
@@ -583,15 +583,15 @@ TEST(MakingExternalOneByteStringConditions) { |
v8::HandleScope scope(env->GetIsolate()); |
// Free some space in the new space so that we can check freshness. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
Local<String> local_string = v8_str("s1"); |
// We should refuse to externalize new space strings. |
CHECK(!local_string->CanMakeExternal()); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
// Old space strings should be accepted. |
CHECK(local_string->CanMakeExternal()); |
} |
@@ -612,8 +612,8 @@ TEST(MakingExternalUnalignedOneByteString) { |
// Trigger GCs so that the newly allocated string moves to old gen. |
i::heap::SimulateFullSpace(CcTest::heap()->old_space()); |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
// Turn into external string with unaligned resource data. |
const char* c_cons = "_abcdefghijklmnopqrstuvwxyz"; |
@@ -626,8 +626,8 @@ TEST(MakingExternalUnalignedOneByteString) { |
CHECK(success); |
// Trigger GCs and force evacuation. |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(i::Heap::kReduceMemoryFootprintMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kReduceMemoryFootprintMask); |
} |
@@ -642,14 +642,14 @@ THREADED_TEST(UsingExternalString) { |
.ToLocalChecked(); |
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
i::Handle<i::String> isymbol = |
factory->InternalizeString(istring); |
CHECK(isymbol->IsInternalizedString()); |
} |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -665,14 +665,14 @@ THREADED_TEST(UsingExternalOneByteString) { |
.ToLocalChecked(); |
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); |
// Trigger GCs so that the newly allocated string moves to old gen. |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
i::Handle<i::String> isymbol = |
factory->InternalizeString(istring); |
CHECK(isymbol->IsInternalizedString()); |
} |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -739,12 +739,12 @@ THREADED_TEST(ScavengeExternalString) { |
new TestResource(two_byte_string, &dispose_count)) |
.ToLocalChecked(); |
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
in_new_space = CcTest::heap()->InNewSpace(*istring); |
CHECK(in_new_space || CcTest::heap()->old_space()->Contains(*istring)); |
CHECK_EQ(0, dispose_count); |
} |
- CcTest::heap()->CollectGarbage(in_new_space ? i::NEW_SPACE : i::OLD_SPACE); |
+ CcTest::CollectGarbage(in_new_space ? i::NEW_SPACE : i::OLD_SPACE); |
CHECK_EQ(1, dispose_count); |
} |
@@ -763,12 +763,12 @@ THREADED_TEST(ScavengeExternalOneByteString) { |
new TestOneByteResource(i::StrDup(one_byte_string), &dispose_count)) |
.ToLocalChecked(); |
i::Handle<i::String> istring = v8::Utils::OpenHandle(*string); |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
in_new_space = CcTest::heap()->InNewSpace(*istring); |
CHECK(in_new_space || CcTest::heap()->old_space()->Contains(*istring)); |
CHECK_EQ(0, dispose_count); |
} |
- CcTest::heap()->CollectGarbage(in_new_space ? i::NEW_SPACE : i::OLD_SPACE); |
+ CcTest::CollectGarbage(in_new_space ? i::NEW_SPACE : i::OLD_SPACE); |
CHECK_EQ(1, dispose_count); |
} |
@@ -812,11 +812,11 @@ TEST(ExternalStringWithDisposeHandling) { |
Local<Value> value = script->Run(env.local()).ToLocalChecked(); |
CHECK(value->IsNumber()); |
CHECK_EQ(7, value->Int32Value(env.local()).FromJust()); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(0, TestOneByteResourceWithDisposeControl::dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(1, TestOneByteResourceWithDisposeControl::dispose_calls); |
CHECK_EQ(0, TestOneByteResourceWithDisposeControl::dispose_count); |
@@ -835,11 +835,11 @@ TEST(ExternalStringWithDisposeHandling) { |
Local<Value> value = script->Run(env.local()).ToLocalChecked(); |
CHECK(value->IsNumber()); |
CHECK_EQ(7, value->Int32Value(env.local()).FromJust()); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(0, TestOneByteResourceWithDisposeControl::dispose_count); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK_EQ(1, TestOneByteResourceWithDisposeControl::dispose_calls); |
CHECK_EQ(1, TestOneByteResourceWithDisposeControl::dispose_count); |
} |
@@ -897,8 +897,8 @@ THREADED_TEST(StringConcat) { |
CHECK_EQ(68, value->Int32Value(env.local()).FromJust()); |
} |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -2651,7 +2651,7 @@ static void CheckAlignedPointerInInternalField(Local<v8::Object> obj, |
void* value) { |
CHECK_EQ(0, static_cast<int>(reinterpret_cast<uintptr_t>(value) & 0x1)); |
obj->SetAlignedPointerInInternalField(0, value); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(value, obj->GetAlignedPointerFromInternalField(0)); |
} |
@@ -2707,14 +2707,14 @@ THREADED_TEST(SetAlignedPointerInInternalFields) { |
void* values[] = {heap_allocated_1, heap_allocated_2}; |
obj->SetAlignedPointerInInternalFields(2, indices, values); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(heap_allocated_1, obj->GetAlignedPointerFromInternalField(0)); |
CHECK_EQ(heap_allocated_2, obj->GetAlignedPointerFromInternalField(1)); |
indices[0] = 1; |
indices[1] = 0; |
obj->SetAlignedPointerInInternalFields(2, indices, values); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(heap_allocated_2, obj->GetAlignedPointerFromInternalField(0)); |
CHECK_EQ(heap_allocated_1, obj->GetAlignedPointerFromInternalField(1)); |
@@ -2726,7 +2726,7 @@ static void CheckAlignedPointerInEmbedderData(LocalContext* env, int index, |
void* value) { |
CHECK_EQ(0, static_cast<int>(reinterpret_cast<uintptr_t>(value) & 0x1)); |
(*env)->SetAlignedPointerInEmbedderData(index, value); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(value, (*env)->GetAlignedPointerFromEmbedderData(index)); |
} |
@@ -2756,7 +2756,7 @@ THREADED_TEST(EmbedderDataAlignedPointers) { |
for (int i = 0; i < 100; i++) { |
env->SetAlignedPointerInEmbedderData(i, AlignedTestPointer(i)); |
} |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
for (int i = 0; i < 100; i++) { |
CHECK_EQ(AlignedTestPointer(i), env->GetAlignedPointerFromEmbedderData(i)); |
} |
@@ -2788,7 +2788,7 @@ THREADED_TEST(IdentityHash) { |
// Ensure that the test starts with an fresh heap to test whether the hash |
// code is based on the address. |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
Local<v8::Object> obj = v8::Object::New(isolate); |
int hash = obj->GetIdentityHash(); |
int hash1 = obj->GetIdentityHash(); |
@@ -2798,7 +2798,7 @@ THREADED_TEST(IdentityHash) { |
// objects should not be assigned the same hash code. If the test below fails |
// the random number generator should be evaluated. |
CHECK_NE(hash, hash2); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
int hash3 = v8::Object::New(isolate)->GetIdentityHash(); |
// Make sure that the identity hash is not based on the initial address of |
// the object alone. If the test below fails the random number generator |
@@ -2874,7 +2874,7 @@ TEST(SymbolIdentityHash) { |
int hash = symbol->GetIdentityHash(); |
int hash1 = symbol->GetIdentityHash(); |
CHECK_EQ(hash, hash1); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
int hash3 = symbol->GetIdentityHash(); |
CHECK_EQ(hash, hash3); |
} |
@@ -2885,7 +2885,7 @@ TEST(SymbolIdentityHash) { |
int hash = js_symbol->GetIdentityHash(); |
int hash1 = js_symbol->GetIdentityHash(); |
CHECK_EQ(hash, hash1); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
int hash3 = js_symbol->GetIdentityHash(); |
CHECK_EQ(hash, hash3); |
} |
@@ -2901,7 +2901,7 @@ TEST(StringIdentityHash) { |
int hash = str->GetIdentityHash(); |
int hash1 = str->GetIdentityHash(); |
CHECK_EQ(hash, hash1); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
int hash3 = str->GetIdentityHash(); |
CHECK_EQ(hash, hash3); |
@@ -2921,7 +2921,7 @@ THREADED_TEST(SymbolProperties) { |
v8::Local<v8::Symbol> sym2 = v8::Symbol::New(isolate, v8_str("my-symbol")); |
v8::Local<v8::Symbol> sym3 = v8::Symbol::New(isolate, v8_str("sym3")); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Check basic symbol functionality. |
CHECK(sym1->IsSymbol()); |
@@ -2990,7 +2990,7 @@ THREADED_TEST(SymbolProperties) { |
CHECK_EQ(num_props + 1, |
obj->GetPropertyNames(env.local()).ToLocalChecked()->Length()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK(obj->SetAccessor(env.local(), sym3, SymbolAccessorGetter, |
SymbolAccessorSetter) |
@@ -3100,7 +3100,7 @@ THREADED_TEST(PrivatePropertiesOnProxies) { |
v8::Local<v8::Private> priv2 = |
v8::Private::New(isolate, v8_str("my-private")); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK(priv2->Name() |
->Equals(env.local(), |
@@ -3142,7 +3142,7 @@ THREADED_TEST(PrivatePropertiesOnProxies) { |
CHECK_EQ(num_props + 1, |
proxy->GetPropertyNames(env.local()).ToLocalChecked()->Length()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Add another property and delete it afterwards to force the object in |
// slow case. |
@@ -3194,7 +3194,7 @@ THREADED_TEST(PrivateProperties) { |
v8::Local<v8::Private> priv2 = |
v8::Private::New(isolate, v8_str("my-private")); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK(priv2->Name() |
->Equals(env.local(), |
@@ -3236,7 +3236,7 @@ THREADED_TEST(PrivateProperties) { |
CHECK_EQ(num_props + 1, |
obj->GetPropertyNames(env.local()).ToLocalChecked()->Length()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Add another property and delete it afterwards to force the object in |
// slow case. |
@@ -3385,7 +3385,7 @@ THREADED_TEST(ArrayBuffer_ApiInternalToExternal) { |
CheckInternalFieldsAreZero(ab); |
CHECK_EQ(1024, static_cast<int>(ab->ByteLength())); |
CHECK(!ab->IsExternal()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
ScopedArrayBufferContents ab_contents(ab->Externalize()); |
CHECK(ab->IsExternal()); |
@@ -3661,7 +3661,7 @@ THREADED_TEST(SharedArrayBuffer_ApiInternalToExternal) { |
CheckInternalFieldsAreZero(ab); |
CHECK_EQ(1024, static_cast<int>(ab->ByteLength())); |
CHECK(!ab->IsExternal()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
ScopedSharedArrayBufferContents ab_contents(ab->Externalize()); |
CHECK(ab->IsExternal()); |
@@ -3778,7 +3778,7 @@ THREADED_TEST(HiddenProperties) { |
v8::Local<v8::String> empty = v8_str(""); |
v8::Local<v8::String> prop_name = v8_str("prop_name"); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Make sure delete of a non-existent hidden value works |
obj->DeletePrivate(env.local(), key).FromJust(); |
@@ -3796,7 +3796,7 @@ THREADED_TEST(HiddenProperties) { |
->Int32Value(env.local()) |
.FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Make sure we do not find the hidden property. |
CHECK(!obj->Has(env.local(), empty).FromJust()); |
@@ -3820,7 +3820,7 @@ THREADED_TEST(HiddenProperties) { |
->Int32Value(env.local()) |
.FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Add another property and delete it afterwards to force the object in |
// slow case. |
@@ -3844,7 +3844,7 @@ THREADED_TEST(HiddenProperties) { |
->Int32Value(env.local()) |
.FromJust()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK(obj->SetPrivate(env.local(), key, v8::Integer::New(isolate, 2002)) |
.FromJust()); |
@@ -4135,7 +4135,7 @@ void SecondPassCallback(const v8::WeakCallbackInfo<TwoPassCallbackData>& data) { |
if (!trigger_gc) return; |
auto data_2 = new TwoPassCallbackData(data.GetIsolate(), instance_counter); |
data_2->SetWeak(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -4156,7 +4156,7 @@ TEST(TwoPassPhantomCallbacks) { |
data->SetWeak(); |
} |
CHECK_EQ(static_cast<int>(kLength), instance_counter); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
EmptyMessageQueues(isolate); |
CHECK_EQ(0, instance_counter); |
} |
@@ -4175,7 +4175,7 @@ TEST(TwoPassPhantomCallbacksNestedGc) { |
array[10]->MarkTriggerGc(); |
array[15]->MarkTriggerGc(); |
CHECK_EQ(static_cast<int>(kLength), instance_counter); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
EmptyMessageQueues(isolate); |
CHECK_EQ(0, instance_counter); |
} |
@@ -4286,8 +4286,7 @@ void TestGlobalValueMap() { |
} |
CHECK_EQ(initial_handle_count + 1, global_handles->global_handles_count()); |
if (map.IsWeak()) { |
- CcTest::i_isolate()->heap()->CollectAllGarbage( |
- i::Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
} else { |
map.Clear(); |
} |
@@ -4518,9 +4517,7 @@ THREADED_TEST(ApiObjectGroups) { |
iso->SetReferenceFromGroup(id2, g2c1.handle); |
} |
// Do a single full GC, ensure incremental marking is stopped. |
- v8::internal::Heap* heap = |
- reinterpret_cast<v8::internal::Isolate*>(iso)->heap(); |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All object should be alive. |
CHECK_EQ(0, counter.NumberOfWeakCalls()); |
@@ -4545,7 +4542,7 @@ THREADED_TEST(ApiObjectGroups) { |
iso->SetReferenceFromGroup(id2, g2c1.handle); |
} |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All objects should be gone. 5 global handles in total. |
CHECK_EQ(5, counter.NumberOfWeakCalls()); |
@@ -4556,7 +4553,7 @@ THREADED_TEST(ApiObjectGroups) { |
g2c1.handle.SetWeak(&g2c1, &WeakPointerCallback, |
v8::WeakCallbackType::kParameter); |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(7, counter.NumberOfWeakCalls()); |
} |
@@ -4623,9 +4620,7 @@ THREADED_TEST(ApiObjectGroupsForSubtypes) { |
iso->SetReferenceFromGroup(id2, g2c1.handle); |
} |
// Do a single full GC, ensure incremental marking is stopped. |
- v8::internal::Heap* heap = |
- reinterpret_cast<v8::internal::Isolate*>(iso)->heap(); |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All object should be alive. |
CHECK_EQ(0, counter.NumberOfWeakCalls()); |
@@ -4650,7 +4645,7 @@ THREADED_TEST(ApiObjectGroupsForSubtypes) { |
iso->SetReferenceFromGroup(id2, g2c1.handle); |
} |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All objects should be gone. 5 global handles in total. |
CHECK_EQ(5, counter.NumberOfWeakCalls()); |
@@ -4661,7 +4656,7 @@ THREADED_TEST(ApiObjectGroupsForSubtypes) { |
g2c1.handle.SetWeak(&g2c1, &WeakPointerCallback, |
v8::WeakCallbackType::kParameter); |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(7, counter.NumberOfWeakCalls()); |
} |
@@ -4746,9 +4741,7 @@ THREADED_TEST(ApiObjectGroupsCycle) { |
iso->SetReferenceFromGroup(id4, g1s1.handle); |
} |
// Do a single full GC |
- v8::internal::Heap* heap = |
- reinterpret_cast<v8::internal::Isolate*>(iso)->heap(); |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All object should be alive. |
CHECK_EQ(0, counter.NumberOfWeakCalls()); |
@@ -4777,7 +4770,7 @@ THREADED_TEST(ApiObjectGroupsCycle) { |
iso->SetReferenceFromGroup(id4, g1s1.handle); |
} |
- heap->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// All objects should be gone. 9 global handles in total. |
CHECK_EQ(9, counter.NumberOfWeakCalls()); |
@@ -5077,7 +5070,7 @@ TEST(NativeWeakMap) { |
CHECK(value->Equals(env.local(), weak_map->Get(obj2)).FromJust()); |
CHECK(value->Equals(env.local(), weak_map->Get(sym1)).FromJust()); |
} |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
{ |
HandleScope scope(isolate); |
CHECK(value->Equals(env.local(), weak_map->Get(local1)).FromJust()); |
@@ -5099,7 +5092,7 @@ TEST(NativeWeakMap) { |
s1.handle.SetWeak(&s1, &WeakPointerCallback, |
v8::WeakCallbackType::kParameter); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(3, counter.NumberOfWeakCalls()); |
CHECK(o1.handle.IsEmpty()); |
@@ -7770,9 +7763,9 @@ static void IndependentWeakHandle(bool global_gc, bool interlinked) { |
b->Set(context, v8_str("x"), a).FromJust(); |
} |
if (global_gc) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} else { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
// We are relying on this creating a big flag array and reserving the space |
// up front. |
@@ -7792,9 +7785,9 @@ static void IndependentWeakHandle(bool global_gc, bool interlinked) { |
object_b.handle.MarkIndependent(); |
CHECK(object_b.handle.IsIndependent()); |
if (global_gc) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} else { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
// A single GC should be enough to reclaim the memory, since we are using |
// phantom handles. |
@@ -7891,9 +7884,9 @@ void InternalFieldCallback(bool global_gc) { |
} |
} |
if (global_gc) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} else { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
CHECK_EQ(1729, t1->x()); |
@@ -7938,9 +7931,9 @@ void v8::internal::HeapTester::ResetWeakHandle(bool global_gc) { |
object_a.handle.Reset(iso, a); |
object_b.handle.Reset(iso, b); |
if (global_gc) { |
- CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); |
} else { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
} |
@@ -7956,9 +7949,9 @@ void v8::internal::HeapTester::ResetWeakHandle(bool global_gc) { |
CHECK(object_b.handle.IsIndependent()); |
} |
if (global_gc) { |
- CcTest::heap()->CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(Heap::kAbortIncrementalMarkingMask); |
} else { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
CHECK(object_a.flag); |
CHECK(object_b.flag); |
@@ -7970,12 +7963,11 @@ THREADED_HEAP_TEST(ResetWeakHandle) { |
v8::internal::HeapTester::ResetWeakHandle(true); |
} |
+static void InvokeScavenge() { CcTest::CollectGarbage(i::NEW_SPACE); } |
-static void InvokeScavenge() { CcTest::heap()->CollectGarbage(i::NEW_SPACE); } |
- |
- |
-static void InvokeMarkSweep() { CcTest::heap()->CollectAllGarbage(); } |
- |
+static void InvokeMarkSweep() { |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+} |
static void ForceScavenge2( |
const v8::WeakCallbackInfo<FlagAndPersistent>& data) { |
@@ -8051,7 +8043,7 @@ static void ArgumentsTestCallback( |
CHECK(v8::Integer::New(isolate, 3)->Equals(context, args[2]).FromJust()); |
CHECK(v8::Undefined(isolate)->Equals(context, args[3]).FromJust()); |
v8::HandleScope scope(args.GetIsolate()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -9381,7 +9373,7 @@ static bool security_check_with_gc_called; |
static bool SecurityTestCallbackWithGC(Local<v8::Context> accessing_context, |
Local<v8::Object> accessed_object, |
Local<v8::Value> data) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
security_check_with_gc_called = true; |
return true; |
} |
@@ -12169,7 +12161,7 @@ static void InterceptorCallICFastApi( |
reinterpret_cast<int*>(v8::External::Cast(*info.Data())->Value()); |
++(*call_count); |
if ((*call_count) % 20 == 0) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
} |
@@ -12226,8 +12218,8 @@ static void GenerateSomeGarbage() { |
void DirectApiCallback(const v8::FunctionCallbackInfo<v8::Value>& args) { |
static int count = 0; |
if (count++ % 3 == 0) { |
- CcTest::heap()->CollectAllGarbage(); |
- // This should move the stub |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ // This should move the stub |
GenerateSomeGarbage(); // This should ensure the old stub memory is flushed |
} |
} |
@@ -12296,7 +12288,7 @@ static int p_getter_count_3; |
static Local<Value> DoDirectGetter() { |
if (++p_getter_count_3 % 3 == 0) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
GenerateSomeGarbage(); |
} |
return v8_str("Direct Getter Result"); |
@@ -14016,8 +14008,8 @@ static void CheckSurvivingGlobalObjectsCount(int expected) { |
// the first garbage collection but some of the maps have already |
// been marked at that point. Therefore some of the maps are not |
// collected until the second garbage collection. |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(i::Heap::kMakeHeapIterableMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kMakeHeapIterableMask); |
int count = GetGlobalObjectsCount(); |
#ifdef DEBUG |
if (count != expected) CcTest::heap()->TracePathToGlobal(); |
@@ -14118,7 +14110,8 @@ TEST(WeakCallbackApi) { |
handle, WeakApiCallback, v8::WeakCallbackType::kParameter); |
} |
reinterpret_cast<i::Isolate*>(isolate)->heap()->CollectAllGarbage( |
- i::Heap::kAbortIncrementalMarkingMask); |
+ i::Heap::kAbortIncrementalMarkingMask, |
+ i::GarbageCollectionReason::kTesting); |
// Verify disposed. |
CHECK_EQ(initial_handles, globals->global_handles_count()); |
} |
@@ -14160,7 +14153,7 @@ THREADED_TEST(NewPersistentHandleFromWeakCallback) { |
handle1.SetWeak(&handle1, NewPersistentHandleCallback1, |
v8::WeakCallbackType::kParameter); |
handle2.Reset(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -14170,7 +14163,7 @@ v8::Persistent<v8::Object> to_be_disposed; |
void DisposeAndForceGcCallback2( |
const v8::WeakCallbackInfo<v8::Persistent<v8::Object>>& data) { |
to_be_disposed.Reset(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
@@ -14194,7 +14187,7 @@ THREADED_TEST(DoNotUseDeletedNodesInSecondLevelGc) { |
handle1.SetWeak(&handle1, DisposeAndForceGcCallback1, |
v8::WeakCallbackType::kParameter); |
to_be_disposed.Reset(isolate, handle2); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
} |
void DisposingCallback( |
@@ -14232,7 +14225,7 @@ THREADED_TEST(NoGlobalHandlesOrphaningDueToWeakCallback) { |
v8::WeakCallbackType::kParameter); |
handle3.SetWeak(&handle3, HandleCreatingCallback1, |
v8::WeakCallbackType::kParameter); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
EmptyMessageQueues(isolate); |
} |
@@ -14793,7 +14786,7 @@ UNINITIALIZED_TEST(SetJitCodeEventHandler) { |
i::Heap* heap = i_isolate->heap(); |
// Start with a clean slate. |
- heap->CollectAllAvailableGarbage("TestSetJitCodeEventHandler_Prepare"); |
+ heap->CollectAllAvailableGarbage(i::GarbageCollectionReason::kTesting); |
{ |
v8::HandleScope scope(isolate); |
@@ -14837,7 +14830,7 @@ UNINITIALIZED_TEST(SetJitCodeEventHandler) { |
} |
// Force code movement. |
- heap->CollectAllAvailableGarbage("TestSetJitCodeEventHandler_Move"); |
+ heap->CollectAllAvailableGarbage(i::GarbageCollectionReason::kTesting); |
isolate->SetJitCodeEventHandler(v8::kJitCodeEventDefault, NULL); |
@@ -16465,7 +16458,7 @@ static void ObjectWithExternalArrayTestHelper(Local<Context> context, |
"}" |
"sum;"); |
// Force GC to trigger verification. |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(28, result->Int32Value(context).FromJust()); |
// Make sure out-of-range loads do not throw. |
@@ -16681,12 +16674,12 @@ static void FixedTypedArrayTestHelper(i::ExternalArrayType array_type, |
CHECK_EQ(FixedTypedArrayClass::kInstanceType, |
fixed_array->map()->instance_type()); |
CHECK_EQ(kElementCount, fixed_array->length()); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
for (int i = 0; i < kElementCount; i++) { |
fixed_array->set(i, static_cast<ElementType>(i)); |
} |
// Force GC to trigger verification. |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
for (int i = 0; i < kElementCount; i++) { |
CHECK_EQ(static_cast<int64_t>(static_cast<ElementType>(i)), |
static_cast<int64_t>(fixed_array->get_scalar(i))); |
@@ -16876,10 +16869,10 @@ THREADED_TEST(SkipArrayBufferBackingStoreDuringGC) { |
Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New(isolate, store_ptr, 8); |
// Should not crash |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
// Should not move the pointer |
CHECK_EQ(ab->GetContents().Data(), store_ptr); |
@@ -16897,15 +16890,15 @@ THREADED_TEST(SkipArrayBufferDuringScavenge) { |
reinterpret_cast<uint8_t*>(*reinterpret_cast<uintptr_t*>(*tmp)); |
// Make `store_ptr` point to from space |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
// Create ArrayBuffer with pointer-that-cannot-be-visited in the backing store |
Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New(isolate, store_ptr, 8); |
// Should not crash, |
// i.e. backing store pointer should not be treated as a heap object pointer |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in survivor space now |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); // in old gen now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in survivor space now |
+ CcTest::CollectGarbage(i::NEW_SPACE); // in old gen now |
// Use `ab` to silence compiler warning |
CHECK_EQ(ab->GetContents().Data(), store_ptr); |
@@ -18206,7 +18199,8 @@ TEST(TestIdleNotification) { |
bool finished = false; |
for (int i = 0; i < 200 && !finished; i++) { |
if (i < 10 && CcTest::heap()->incremental_marking()->IsStopped()) { |
- CcTest::heap()->StartIdleIncrementalMarking(); |
+ CcTest::heap()->StartIdleIncrementalMarking( |
+ i::GarbageCollectionReason::kTesting); |
} |
finished = env->GetIsolate()->IdleNotificationDeadline( |
(v8::base::TimeTicks::HighResolutionNow().ToInternalValue() / |
@@ -18225,7 +18219,7 @@ TEST(TestIdleNotification) { |
TEST(Regress2333) { |
LocalContext env; |
for (int i = 0; i < 3; i++) { |
- CcTest::heap()->CollectGarbage(i::NEW_SPACE); |
+ CcTest::CollectGarbage(i::NEW_SPACE); |
} |
} |
@@ -18363,7 +18357,7 @@ TEST(ExternalizeOldSpaceTwoByteCons) { |
->ToString(env.local()) |
.ToLocalChecked(); |
CHECK(v8::Utils::OpenHandle(*cons)->IsConsString()); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK(CcTest::heap()->old_space()->Contains(*v8::Utils::OpenHandle(*cons))); |
TestResource* resource = new TestResource( |
@@ -18387,7 +18381,7 @@ TEST(ExternalizeOldSpaceOneByteCons) { |
->ToString(env.local()) |
.ToLocalChecked(); |
CHECK(v8::Utils::OpenHandle(*cons)->IsConsString()); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
CHECK(CcTest::heap()->old_space()->Contains(*v8::Utils::OpenHandle(*cons))); |
TestOneByteResource* resource = |
@@ -18431,7 +18425,7 @@ TEST(VisitExternalStrings) { |
v8::Local<v8::String> string3 = |
v8::String::NewExternalTwoByte(env->GetIsolate(), resource[3]) |
.ToLocalChecked(); |
- CcTest::heap()->CollectAllAvailableGarbage(); // Tenure string. |
+ CcTest::CollectAllAvailableGarbage(); // Tenure string. |
// Turn into a symbol. |
i::Handle<i::String> string3_i = v8::Utils::OpenHandle(*string3); |
CHECK(!CcTest::i_isolate()->factory()->InternalizeString( |
@@ -18518,7 +18512,7 @@ TEST(ExternalInternalizedStringCollectedAtGC) { |
// Garbage collector deals swift blows to evil. |
CcTest::i_isolate()->compilation_cache()->Clear(); |
- CcTest::heap()->CollectAllAvailableGarbage(); |
+ CcTest::CollectAllAvailableGarbage(); |
// Ring has been destroyed. Free Peoples of Middle-earth Rejoice. |
CHECK_EQ(1, destroyed); |
@@ -18719,7 +18713,7 @@ TEST(Regress528) { |
other_context->Enter(); |
CompileRun(source_simple); |
other_context->Exit(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
if (GetGlobalObjectsCount() == 1) break; |
} |
CHECK_GE(2, gc_count); |
@@ -18741,7 +18735,7 @@ TEST(Regress528) { |
other_context->Enter(); |
CompileRun(source_eval); |
other_context->Exit(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
if (GetGlobalObjectsCount() == 1) break; |
} |
CHECK_GE(2, gc_count); |
@@ -18768,7 +18762,7 @@ TEST(Regress528) { |
other_context->Enter(); |
CompileRun(source_exception); |
other_context->Exit(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
if (GetGlobalObjectsCount() == 1) break; |
} |
CHECK_GE(2, gc_count); |
@@ -19385,8 +19379,7 @@ void PrologueCallbackAlloc(v8::Isolate* isolate, |
Local<Object> obj = Object::New(isolate); |
CHECK(!obj.IsEmpty()); |
- CcTest::heap()->CollectAllGarbage( |
- i::Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
} |
@@ -19405,8 +19398,7 @@ void EpilogueCallbackAlloc(v8::Isolate* isolate, |
Local<Object> obj = Object::New(isolate); |
CHECK(!obj.IsEmpty()); |
- CcTest::heap()->CollectAllGarbage( |
- i::Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
} |
@@ -19419,26 +19411,26 @@ TEST(GCCallbacksOld) { |
context->GetIsolate()->AddGCEpilogueCallback(EpilogueCallback); |
CHECK_EQ(0, prologue_call_count); |
CHECK_EQ(0, epilogue_call_count); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(1, prologue_call_count); |
CHECK_EQ(1, epilogue_call_count); |
context->GetIsolate()->AddGCPrologueCallback(PrologueCallbackSecond); |
context->GetIsolate()->AddGCEpilogueCallback(EpilogueCallbackSecond); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(1, prologue_call_count_second); |
CHECK_EQ(1, epilogue_call_count_second); |
context->GetIsolate()->RemoveGCPrologueCallback(PrologueCallback); |
context->GetIsolate()->RemoveGCEpilogueCallback(EpilogueCallback); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(2, prologue_call_count_second); |
CHECK_EQ(2, epilogue_call_count_second); |
context->GetIsolate()->RemoveGCPrologueCallback(PrologueCallbackSecond); |
context->GetIsolate()->RemoveGCEpilogueCallback(EpilogueCallbackSecond); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(2, prologue_call_count_second); |
@@ -19454,26 +19446,26 @@ TEST(GCCallbacks) { |
isolate->AddGCEpilogueCallback(EpilogueCallback); |
CHECK_EQ(0, prologue_call_count); |
CHECK_EQ(0, epilogue_call_count); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(1, prologue_call_count); |
CHECK_EQ(1, epilogue_call_count); |
isolate->AddGCPrologueCallback(PrologueCallbackSecond); |
isolate->AddGCEpilogueCallback(EpilogueCallbackSecond); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(1, prologue_call_count_second); |
CHECK_EQ(1, epilogue_call_count_second); |
isolate->RemoveGCPrologueCallback(PrologueCallback); |
isolate->RemoveGCEpilogueCallback(EpilogueCallback); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(2, prologue_call_count_second); |
CHECK_EQ(2, epilogue_call_count_second); |
isolate->RemoveGCPrologueCallback(PrologueCallbackSecond); |
isolate->RemoveGCEpilogueCallback(EpilogueCallbackSecond); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CHECK_EQ(2, prologue_call_count); |
CHECK_EQ(2, epilogue_call_count); |
CHECK_EQ(2, prologue_call_count_second); |
@@ -19483,8 +19475,7 @@ TEST(GCCallbacks) { |
CHECK_EQ(0, epilogue_call_count_alloc); |
isolate->AddGCPrologueCallback(PrologueCallbackAlloc); |
isolate->AddGCEpilogueCallback(EpilogueCallbackAlloc); |
- CcTest::heap()->CollectAllGarbage( |
- i::Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
CHECK_EQ(1, prologue_call_count_alloc); |
CHECK_EQ(1, epilogue_call_count_alloc); |
isolate->RemoveGCPrologueCallback(PrologueCallbackAlloc); |
@@ -19662,7 +19653,7 @@ TEST(ContainsOnlyOneByte) { |
void FailedAccessCheckCallbackGC(Local<v8::Object> target, |
v8::AccessType type, |
Local<v8::Value> data) { |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
CcTest::isolate()->ThrowException( |
v8::Exception::Error(v8_str("cross context"))); |
} |
@@ -20287,7 +20278,7 @@ TEST(DontDeleteCellLoadIC) { |
"})()", |
"ReferenceError: cell is not defined"); |
CompileRun("cell = \"new_second\";"); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
ExpectString("readCell()", "new_second"); |
ExpectString("readCell()", "new_second"); |
} |
@@ -20357,8 +20348,8 @@ TEST(PersistentHandleInNewSpaceVisitor) { |
object1.SetWrapperClassId(42); |
CHECK_EQ(42, object1.WrapperClassId()); |
- CcTest::heap()->CollectAllGarbage(); |
- CcTest::heap()->CollectAllGarbage(); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kFinalizeIncrementalMarkingMask); |
v8::Persistent<v8::Object> object2(isolate, v8::Object::New(isolate)); |
CHECK_EQ(0, object2.WrapperClassId()); |
@@ -21035,7 +21026,7 @@ THREADED_TEST(Regress1516) { |
CHECK_LE(1, elements); |
// We have to abort incremental marking here to abandon black pages. |
- CcTest::heap()->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
+ CcTest::CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask); |
CHECK_GT(elements, CountLiveMapsInMapCache(CcTest::i_isolate()->context())); |
} |