diff --git a/v8js_convert.cc b/v8js_convert.cc index d8e7e55..51c54d9 100644 --- a/v8js_convert.cc +++ b/v8js_convert.cc @@ -153,9 +153,10 @@ static void php_v8js_php_callback(const v8::FunctionCallbackInfo& inf { v8::Isolate *isolate = info.GetIsolate(); v8::Local self = info.Holder(); + + TSRMLS_FETCH(); zval *value = reinterpret_cast(v8::External::Cast(*self->GetHiddenValue(V8JS_SYM(PHPJS_OBJECT_KEY)))->Value()); zend_function *method_ptr; - TSRMLS_FETCH(); zend_class_entry *ce = Z_OBJCE_P(value); /* Set method_ptr from v8::External or fetch the closure invoker */ @@ -177,7 +178,6 @@ static void php_v8js_construct_callback(const v8::FunctionCallbackInfo newobj = info.This(); v8::Local php_object; - TSRMLS_FETCH(); if (!info.IsConstructCall()) { return; @@ -192,6 +192,7 @@ static void php_v8js_construct_callback(const v8::FunctionCallbackInfo::Cast(info[0]); } else { // Object created from JavaScript context. Need to create PHP object first. + TSRMLS_FETCH(); zend_class_entry *ce = static_cast(ext_ce->Value()); zend_function *ctor_ptr = ce->constructor; @@ -279,6 +280,7 @@ static void php_v8js_named_property_enumerator(const v8::PropertyCallbackInfo result = v8::Array::New(0); uint32_t result_len = 0; + TSRMLS_FETCH(); zend_class_entry *ce; zend_function *method_ptr; HashTable *proptable; @@ -401,6 +403,7 @@ static void php_v8js_fake_call_impl(const v8::FunctionCallbackInfo& i char *error; int error_len; + TSRMLS_FETCH(); zend_class_entry *ce; zval *object = reinterpret_cast(v8::External::Cast(*self->GetHiddenValue(V8JS_SYM(PHPJS_OBJECT_KEY)))->Value()); ce = Z_OBJCE_P(object); @@ -443,7 +446,7 @@ static void php_v8js_fake_call_impl(const v8::FunctionCallbackInfo& i const zend_object_handlers *h = Z_OBJ_HT_P(object); zend_function *method_ptr = h->get_method(&object, (char*)method_name, method_name_len - ZEND_HASH_KEY_NULL TSRMLS_DC); + ZEND_HASH_KEY_NULL TSRMLS_CC); if (method_ptr == NULL || (method_ptr->common.fn_flags & ZEND_ACC_PUBLIC) == 0 || (method_ptr->common.fn_flags & (ZEND_ACC_CTOR|ZEND_ACC_DTOR|ZEND_ACC_CLONE)) != 0) { @@ -494,6 +497,7 @@ static inline v8::Local php_v8js_named_property_callback(v8::Local ret_value; v8::Local cb; + TSRMLS_FETCH(); zend_class_entry *scope = NULL; /* XXX? */ zend_class_entry *ce; zend_function *method_ptr = NULL; @@ -559,7 +563,7 @@ static inline v8::Local php_v8js_named_property_callback(v8::Local php_v8js_named_property_callback(v8::Local();