[heap,api] Remove deprecated APIs

Bug: chromium:923361, v8:8834
Change-Id: I6ec42aeb74bea5c0629fcdc3f95c125f5de534a0
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526195
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60289}
This commit is contained in:
Michael Lippautz 2019-03-18 11:29:07 +01:00 committed by Commit Bot
parent 1c1545401f
commit f4b860d9b8
7 changed files with 0 additions and 106 deletions

View File

@ -164,7 +164,6 @@ class Internals {
static const int kNodeStateMask = 0x7;
static const int kNodeStateIsWeakValue = 2;
static const int kNodeStateIsPendingValue = 3;
static const int kNodeStateIsNearDeathValue = 4;
static const int kNodeIsIndependentShift = 3;
static const int kNodeIsActiveShift = 4;

View File

@ -576,10 +576,6 @@ template <class T> class PersistentBase {
V8_DEPRECATED("See MarkIndependent.", V8_INLINE bool IsIndependent() const);
/** Checks if the handle holds the only reference to an object. */
V8_DEPRECATED("Garbage collection internal state should not be relied on.",
V8_INLINE bool IsNearDeath() const);
/** Returns true if the handle's reference is weak. */
V8_INLINE bool IsWeak() const;
@ -8520,17 +8516,6 @@ class V8_EXPORT Isolate {
*/
void VisitHandlesWithClassIds(PersistentHandleVisitor* visitor);
/**
* Iterates through all the persistent handles in the current isolate's heap
* that have class_ids and are candidates to be marked as partially dependent
* handles. This will visit handles to young objects created since the last
* garbage collection but is free to visit an arbitrary superset of these
* objects.
*/
V8_DEPRECATED(
"Use VisitHandlesWithClassIds",
void VisitHandlesForPartialDependence(PersistentHandleVisitor* visitor));
/**
* Iterates through all the persistent handles in the current isolate's heap
* that have class_ids and are weak to be marked as inactive if there is no
@ -9784,17 +9769,6 @@ bool PersistentBase<T>::IsIndependent() const {
I::kNodeIsIndependentShift);
}
template <class T>
bool PersistentBase<T>::IsNearDeath() const {
typedef internal::Internals I;
if (this->IsEmpty()) return false;
uint8_t node_state =
I::GetNodeState(reinterpret_cast<internal::Address*>(this->val_));
return node_state == I::kNodeStateIsNearDeathValue ||
node_state == I::kNodeStateIsPendingValue;
}
template <class T>
bool PersistentBase<T>::IsWeak() const {
typedef internal::Internals I;

View File

@ -8881,15 +8881,6 @@ void Isolate::VisitHandlesWithClassIds(PersistentHandleVisitor* visitor) {
isolate->global_handles()->IterateAllRootsWithClassIds(visitor);
}
void Isolate::VisitHandlesForPartialDependence(
PersistentHandleVisitor* visitor) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
i::DisallowHeapAllocation no_allocation;
isolate->global_handles()->IterateAllYoungRootsWithClassIds(visitor);
}
void Isolate::VisitWeakHandles(PersistentHandleVisitor* visitor) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
i::DisallowHeapAllocation no_allocation;

View File

@ -379,7 +379,6 @@ class GlobalHandles::Node final : public NodeBase<GlobalHandles::Node> {
Internals::kNodeStateMask);
STATIC_ASSERT(WEAK == Internals::kNodeStateIsWeakValue);
STATIC_ASSERT(PENDING == Internals::kNodeStateIsPendingValue);
STATIC_ASSERT(NEAR_DEATH == Internals::kNodeStateIsNearDeathValue);
STATIC_ASSERT(static_cast<int>(IsIndependent::kShift) ==
Internals::kNodeIsIndependentShift);
STATIC_ASSERT(static_cast<int>(IsActive::kShift) ==
@ -427,11 +426,6 @@ class GlobalHandles::Node final : public NodeBase<GlobalHandles::Node> {
flags_ = NodeWeaknessType::update(flags_, weakness_type);
}
bool IsNearDeath() const {
// Check for PENDING to ensure correct answer when processing callbacks.
return state() == PENDING || state() == NEAR_DEATH;
}
bool IsWeak() const { return state() == WEAK; }
bool IsInUse() const { return state() != FREE; }
@ -819,10 +813,6 @@ void GlobalHandles::AnnotateStrongRetainer(Address* location,
Node::FromLocation(location)->AnnotateStrongRetainer(label);
}
bool GlobalHandles::IsNearDeath(Address* location) {
return Node::FromLocation(location)->IsNearDeath();
}
bool GlobalHandles::IsWeak(Address* location) {
return Node::FromLocation(location)->IsWeak();
}

View File

@ -73,9 +73,6 @@ class GlobalHandles final {
// Clear the weakness of a global handle.
static void* ClearWeakness(Address* location);
// Tells whether global handle is near death.
static bool IsNearDeath(Address* location);
// Tells whether global handle is weak.
static bool IsWeak(Address* location);

View File

@ -531,14 +531,9 @@ TEST(WeakGlobalHandlesScavenge) {
// Scavenge treats weak pointers as normal roots.
CcTest::CollectGarbage(NEW_SPACE);
CHECK((*h1)->IsString());
CHECK((*h2)->IsHeapNumber());
CHECK(!WeakPointerCleared);
CHECK(!global_handles->IsNearDeath(h2.location()));
CHECK(!global_handles->IsNearDeath(h1.location()));
GlobalHandles::Destroy(h1.location());
GlobalHandles::Destroy(h2.location());
}
@ -576,11 +571,8 @@ TEST(WeakGlobalUnmodifiedApiHandlesScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
CHECK((*h1)->IsHeapNumber());
CHECK(WeakPointerCleared);
CHECK(!global_handles->IsNearDeath(h1.location()));
GlobalHandles::Destroy(h1.location());
}
@ -617,10 +609,7 @@ TEST(WeakGlobalApiHandleModifiedMapScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
CHECK(!WeakPointerCleared);
CHECK(!global_handles->IsNearDeath(h1.location()));
GlobalHandles::Destroy(h1.location());
}
@ -661,10 +650,7 @@ TEST(WeakGlobalApiHandleWithElementsScavenge) {
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CcTest::CollectGarbage(NEW_SPACE);
CHECK(!WeakPointerCleared);
CHECK(!global_handles->IsNearDeath(h1.location()));
GlobalHandles::Destroy(h1.location());
}
@ -699,17 +685,11 @@ TEST(WeakGlobalHandlesMark) {
GlobalHandles::MakeWeak(
h2.location(), reinterpret_cast<void*>(&handle_and_id),
&TestWeakGlobalHandleCallback, v8::WeakCallbackType::kParameter);
CHECK(!GlobalHandles::IsNearDeath(h1.location()));
CHECK(!GlobalHandles::IsNearDeath(h2.location()));
// Incremental marking potentially marked handles before they turned weak.
CcTest::CollectAllGarbage();
CHECK((*h1)->IsString());
CHECK(WeakPointerCleared);
CHECK(!GlobalHandles::IsNearDeath(h1.location()));
GlobalHandles::Destroy(h1.location());
}

View File

@ -20472,43 +20472,6 @@ TEST(WrapperClassId) {
object.Reset();
}
TEST(PersistentHandleInNewSpaceVisitor) {
LocalContext context;
v8::Isolate* isolate = context->GetIsolate();
v8::HandleScope scope(isolate);
v8::Persistent<v8::Object> object1(isolate, v8::Object::New(isolate));
CHECK_EQ(0, object1.WrapperClassId());
object1.SetWrapperClassId(42);
CHECK_EQ(42, object1.WrapperClassId());
CcTest::CollectAllGarbage();
CcTest::CollectAllGarbage();
v8::Persistent<v8::Object> object2(isolate, v8::Object::New(isolate));
CHECK_EQ(0, object2.WrapperClassId());
object2.SetWrapperClassId(42);
CHECK_EQ(42, object2.WrapperClassId());
Visitor42 visitor(&object2);
#if __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
#endif
// VisitHandlesForPartialDependence is marked deprecated. This test will be
// removed with the API method.
isolate->VisitHandlesForPartialDependence(&visitor);
#if __clang__
#pragma clang diagnostic pop
#endif
CHECK_EQ(1, visitor.counter_);
object1.Reset();
object2.Reset();
}
TEST(RegExp) {
LocalContext context;
v8::HandleScope scope(context->GetIsolate());