| 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()));
|
| }
|
|
|