Skip to content

Commit ec6c6d3

Browse files
committed
Use WeakCallbackInfo
WeakCallbackData was deprecated and finally removed in V8 5.2
1 parent 05b96a9 commit ec6c6d3

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

v8js_object_export.cc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ extern "C" {
3030
#include "v8js_object_export.h"
3131
#include "v8js_v8object_class.h"
3232

33-
static void v8js_weak_object_callback(const v8::WeakCallbackData<v8::Object, zval> &data);
33+
static void v8js_weak_object_callback(const v8::WeakCallbackInfo<zval> &data);
3434

3535
/* Callback for PHP methods and functions */
3636
static void v8js_call_php_func(zval *value, zend_class_entry *ce, zend_function *method_ptr, v8::Isolate *isolate, const v8::FunctionCallbackInfo<v8::Value>& info TSRMLS_DC) /* {{{ */
@@ -252,7 +252,7 @@ static void v8js_construct_callback(const v8::FunctionCallbackInfo<v8::Value>& i
252252
// decides to dispose the JS object, we add a weak persistent handle and register
253253
// a callback function that removes the reference.
254254
ctx->weak_objects[value].Reset(isolate, newobj);
255-
ctx->weak_objects[value].SetWeak(value, v8js_weak_object_callback);
255+
ctx->weak_objects[value].SetWeak(value, v8js_weak_object_callback, v8::WeakCallbackType::kParameter);
256256

257257
// Just tell v8 that we're allocating some external memory
258258
// (for the moment we just always tell 1k instead of trying to find out actual values)
@@ -261,7 +261,7 @@ static void v8js_construct_callback(const v8::FunctionCallbackInfo<v8::Value>& i
261261
/* }}} */
262262

263263

264-
static void v8js_weak_object_callback(const v8::WeakCallbackData<v8::Object, zval> &data) {
264+
static void v8js_weak_object_callback(const v8::WeakCallbackInfo<zval> &data) {
265265
v8::Isolate *isolate = data.GetIsolate();
266266

267267
zval *value = data.GetParameter();
@@ -275,7 +275,7 @@ static void v8js_weak_object_callback(const v8::WeakCallbackData<v8::Object, zva
275275
isolate->AdjustAmountOfExternalAllocatedMemory(-ctx->average_object_size);
276276
}
277277

278-
static void v8js_weak_closure_callback(const v8::WeakCallbackData<v8::Object, v8js_tmpl_t> &data) {
278+
static void v8js_weak_closure_callback(const v8::WeakCallbackInfo<v8js_tmpl_t> &data) {
279279
v8::Isolate *isolate = data.GetIsolate();
280280

281281
v8js_tmpl_t *persist_tpl_ = data.GetParameter();
@@ -884,7 +884,7 @@ static v8::Handle<v8::Object> v8js_wrap_object(v8::Isolate *isolate, zend_class_
884884
if (ce == zend_ce_closure) {
885885
// free uncached function template when object is freed
886886
ctx->weak_closures[persist_tpl_].Reset(isolate, newobj);
887-
ctx->weak_closures[persist_tpl_].SetWeak(persist_tpl_, v8js_weak_closure_callback);
887+
ctx->weak_closures[persist_tpl_].SetWeak(persist_tpl_, v8js_weak_closure_callback, v8::WeakCallbackType::kParameter);
888888
}
889889

890890
return newobj;

0 commit comments

Comments
 (0)