Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(233)

Unified Diff: src/global-handles.cc

Issue 1953263002: [API] Remove deprecated WeakCallbackData and related functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/global-handles.h ('k') | src/profiler/allocation-tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/global-handles.cc
diff --git a/src/global-handles.cc b/src/global-handles.cc
index 65e74e13062c88fd549d81a041a5ef6e91aee793..25a5a0ba2426589d6070f28d5158bba0c255e1f7 100644
--- a/src/global-handles.cc
+++ b/src/global-handles.cc
@@ -82,7 +82,6 @@ class GlobalHandles::Node {
index_ = static_cast<uint8_t>(index);
DCHECK(static_cast<int>(index_) == index);
set_state(FREE);
- set_weakness_type(NORMAL_WEAK);
set_in_new_space_list(false);
parameter_or_next_free_.next_free = *first_free;
*first_free = this;
@@ -197,16 +196,14 @@ class GlobalHandles::Node {
bool IsRetainer() const {
return state() != FREE &&
- !(state() == NEAR_DEATH && weakness_type() != NORMAL_WEAK &&
- weakness_type() != FINALIZER_WEAK);
+ !(state() == NEAR_DEATH && weakness_type() != FINALIZER_WEAK);
}
bool IsStrongRetainer() const { return state() == NORMAL; }
bool IsWeakRetainer() const {
return state() == WEAK || state() == PENDING ||
- (state() == NEAR_DEATH && (weakness_type() == NORMAL_WEAK ||
- weakness_type() == FINALIZER_WEAK));
+ (state() == NEAR_DEATH && weakness_type() == FINALIZER_WEAK);
}
void MarkPending() {
@@ -252,16 +249,6 @@ class GlobalHandles::Node {
parameter_or_next_free_.next_free = value;
}
- void MakeWeak(void* parameter, WeakCallback weak_callback) {
- DCHECK(weak_callback != nullptr);
- DCHECK(IsInUse());
- CHECK_NE(object_, reinterpret_cast<Object*>(kGlobalHandleZapValue));
- set_state(WEAK);
- set_weakness_type(NORMAL_WEAK);
- set_parameter(parameter);
- weak_callback_ = weak_callback;
- }
-
void MakeWeak(void* parameter,
WeakCallbackInfo<void>::Callback phantom_callback,
v8::WeakCallbackType type) {
@@ -281,7 +268,7 @@ class GlobalHandles::Node {
break;
}
set_parameter(parameter);
- weak_callback_ = reinterpret_cast<WeakCallback>(phantom_callback);
+ weak_callback_ = phantom_callback;
}
void* ClearWeakness() {
@@ -337,30 +324,18 @@ class GlobalHandles::Node {
ExternalOneByteString::cast(object_)->resource() != NULL);
DCHECK(!object_->IsExternalTwoByteString() ||
ExternalTwoByteString::cast(object_)->resource() != NULL);
- if (weakness_type() != NORMAL_WEAK && weakness_type() != FINALIZER_WEAK) {
+ if (weakness_type() != FINALIZER_WEAK) {
return false;
}
// Leaving V8.
VMState<EXTERNAL> vmstate(isolate);
HandleScope handle_scope(isolate);
- if (weakness_type() == NORMAL_WEAK) {
- Object** object = location();
- Handle<Object> handle(*object, isolate);
- v8::WeakCallbackData<v8::Value, void> data(
- reinterpret_cast<v8::Isolate*>(isolate), parameter(),
- v8::Utils::ToLocal(handle));
- set_parameter(NULL);
- weak_callback_(data);
- } else {
- void* internal_fields[v8::kInternalFieldsInWeakCallback] = {nullptr,
- nullptr};
- v8::WeakCallbackInfo<void> data(reinterpret_cast<v8::Isolate*>(isolate),
- parameter(), internal_fields, nullptr);
- auto callback = reinterpret_cast<v8::WeakCallbackInfo<void>::Callback>(
- weak_callback_);
- callback(data);
- }
+ void* internal_fields[v8::kInternalFieldsInWeakCallback] = {nullptr,
+ nullptr};
+ v8::WeakCallbackInfo<void> data(reinterpret_cast<v8::Isolate*>(isolate),
+ parameter(), internal_fields, nullptr);
+ weak_callback_(data);
// Absence of explicit cleanup or revival of weak handle
// in most of the cases would lead to memory leak.
@@ -401,7 +376,7 @@ class GlobalHandles::Node {
uint8_t flags_;
// Handle specific callback - might be a weak reference in disguise.
- WeakCallback weak_callback_;
+ WeakCallbackInfo<void>::Callback weak_callback_;
// Provided data for callback. In FREE state, this is used for
// the free list link.
@@ -617,12 +592,6 @@ void GlobalHandles::Destroy(Object** location) {
}
-void GlobalHandles::MakeWeak(Object** location, void* parameter,
- WeakCallback weak_callback) {
- Node::FromLocation(location)->MakeWeak(parameter, weak_callback);
-}
-
-
typedef v8::WeakCallbackInfo<void>::Callback GenericCallback;
@@ -668,7 +637,6 @@ void GlobalHandles::IterateWeakRoots(ObjectVisitor* v) {
if (node->IsWeakRetainer()) {
// Pending weak phantom handles die immediately. Everything else survives.
if (node->state() == Node::PENDING &&
- node->weakness_type() != NORMAL_WEAK &&
node->weakness_type() != FINALIZER_WEAK) {
node->CollectPhantomCallbackData(isolate(),
&pending_phantom_callbacks_);
@@ -730,7 +698,6 @@ void GlobalHandles::IterateNewSpaceWeakIndependentRoots(ObjectVisitor* v) {
node->IsWeakRetainer()) {
// Pending weak phantom handles die immediately. Everything else survives.
if (node->state() == Node::PENDING &&
- node->weakness_type() != NORMAL_WEAK &&
node->weakness_type() != FINALIZER_WEAK) {
node->CollectPhantomCallbackData(isolate(),
&pending_phantom_callbacks_);
@@ -774,7 +741,6 @@ void GlobalHandles::IterateNewSpaceWeakUnmodifiedRoots(ObjectVisitor* v) {
node->IsWeakRetainer()) {
// Pending weak phantom handles die immediately. Everything else survives.
if (node->state() == Node::PENDING &&
- node->weakness_type() != NORMAL_WEAK &&
node->weakness_type() != FINALIZER_WEAK) {
node->CollectPhantomCallbackData(isolate(),
&pending_phantom_callbacks_);
« no previous file with comments | « src/global-handles.h ('k') | src/profiler/allocation-tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698