Index: src/global-handles.cc |
diff --git a/src/global-handles.cc b/src/global-handles.cc |
index 211bb1c77486bafd754a91854dabbf95355c8e14..e06f7948281fcb6fc95e364c9201266d0935fda1 100644 |
--- a/src/global-handles.cc |
+++ b/src/global-handles.cc |
@@ -235,10 +235,12 @@ class GlobalHandles::Node { |
weak_callback_ = weak_callback; |
} |
- void ClearWeakness() { |
+ void* ClearWeakness() { |
ASSERT(state() != FREE); |
+ void* p = parameter(); |
set_state(NORMAL); |
set_parameter(NULL); |
+ return p; |
} |
bool PostGarbageCollectionProcessing(Isolate* isolate) { |
@@ -502,8 +504,8 @@ void GlobalHandles::MakeWeak(Object** location, |
} |
-void GlobalHandles::ClearWeakness(Object** location) { |
- Node::FromLocation(location)->ClearWeakness(); |
+void* GlobalHandles::ClearWeakness(Object** location) { |
+ return Node::FromLocation(location)->ClearWeakness(); |
} |