mirror of
https://github.com/phpv8/v8js.git
synced 2024-12-23 04:51:53 +00:00
Fix ZTS build + memory leak
This commit is contained in:
parent
1efd91b29a
commit
94a889b2cb
@ -30,6 +30,8 @@ static void php_v8js_array_access_getter(uint32_t index, const v8::PropertyCallb
|
|||||||
v8::Isolate *isolate = info.GetIsolate();
|
v8::Isolate *isolate = info.GetIsolate();
|
||||||
v8::Local<v8::Object> self = info.Holder();
|
v8::Local<v8::Object> self = info.Holder();
|
||||||
|
|
||||||
|
V8JS_TSRMLS_FETCH();
|
||||||
|
|
||||||
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
||||||
zend_class_entry *ce = Z_OBJCE_P(object);
|
zend_class_entry *ce = Z_OBJCE_P(object);
|
||||||
|
|
||||||
@ -74,6 +76,8 @@ static void php_v8js_array_access_setter(uint32_t index, v8::Local<v8::Value> va
|
|||||||
v8::Isolate *isolate = info.GetIsolate();
|
v8::Isolate *isolate = info.GetIsolate();
|
||||||
v8::Local<v8::Object> self = info.Holder();
|
v8::Local<v8::Object> self = info.Holder();
|
||||||
|
|
||||||
|
V8JS_TSRMLS_FETCH();
|
||||||
|
|
||||||
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
||||||
zend_class_entry *ce = Z_OBJCE_P(object);
|
zend_class_entry *ce = Z_OBJCE_P(object);
|
||||||
|
|
||||||
@ -117,6 +121,10 @@ static void php_v8js_array_access_setter(uint32_t index, v8::Local<v8::Value> va
|
|||||||
/* simply pass back the value to tell we intercepted the call
|
/* simply pass back the value to tell we intercepted the call
|
||||||
* as the offsetSet function returns void. */
|
* as the offsetSet function returns void. */
|
||||||
info.GetReturnValue().Set(value);
|
info.GetReturnValue().Set(value);
|
||||||
|
|
||||||
|
/* if PHP wanted to hold on to this value, zend_call_function would
|
||||||
|
* have bumped the refcount. */
|
||||||
|
zval_ptr_dtor(&zvalue_ptr);
|
||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
@ -125,6 +133,8 @@ static void php_v8js_array_access_length(v8::Local<v8::String> property, const v
|
|||||||
v8::Isolate *isolate = info.GetIsolate();
|
v8::Isolate *isolate = info.GetIsolate();
|
||||||
v8::Local<v8::Object> self = info.Holder();
|
v8::Local<v8::Object> self = info.Holder();
|
||||||
|
|
||||||
|
V8JS_TSRMLS_FETCH();
|
||||||
|
|
||||||
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
zval *object = reinterpret_cast<zval *>(self->GetAlignedPointerFromInternalField(0));
|
||||||
zend_class_entry *ce = Z_OBJCE_P(object);
|
zend_class_entry *ce = Z_OBJCE_P(object);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user