diff --git a/v8js_convert.cc b/v8js_convert.cc index 9528616..a6ff654 100644 --- a/v8js_convert.cc +++ b/v8js_convert.cc @@ -37,7 +37,7 @@ extern "C" { static v8::Handle php_v8js_php_callback(const v8::Arguments &args) /* {{{ */ { v8::Handle return_value; - zval *value = reinterpret_cast(args.This()->GetPointerFromInternalField(0)); + zval *value = reinterpret_cast(args.This()->GetAlignedPointerFromInternalField(0)); zend_function *method_ptr; zend_fcall_info fci; zend_fcall_info_cache fcc; @@ -50,7 +50,7 @@ static v8::Handle php_v8js_php_callback(const v8::Arguments &args) /* /* Set method_ptr from v8::External or fetch the closure invoker */ if (!args.Data().IsEmpty() && args.Data()->IsExternal()) { - method_ptr = static_cast(v8::External::Unwrap(args.Data())); + method_ptr = static_cast(v8::External::Cast(*args.Data())->Value()); } else { method_ptr = zend_get_closure_invoke_method(value TSRMLS_CC); } @@ -186,9 +186,9 @@ static v8::Handle php_v8js_property_caller(const v8::Arguments &args) argv[i] = args[i]; } value = cb->Call(self, argc, argv); - } + } else /* __call() */ - { + { v8::Local argsarr = v8::Array::New(argc); for (; i < argc; ++i) { argsarr->Set(i, args[i]); @@ -384,7 +384,7 @@ static v8::Handle php_v8js_hash_to_jsobj(zval *value TSRMLS_DC) /* {{ newobj->SetHiddenValue(V8JS_SYM(ZEND_ISSET_FUNC_NAME), PHP_V8JS_CALLBACK(isset_ptr)); } } - newobj->SetPointerInInternalField(0, (void *) value); + newobj->SetAlignedPointerInInternalField(0, (void *) value); } else { new_tpl->SetClassName(V8JS_SYM("Array")); newobj = new_tpl->InstanceTemplate()->NewInstance(); @@ -518,7 +518,7 @@ v8::Handle zval_to_v8js(zval *value TSRMLS_DC) /* {{{ */ jsValue = V8JS_NULL; break; } - return jsValue; + return jsValue; } /* }}} */