@@ -310,14 +310,15 @@ void php_v8_callback_function(const v8::FunctionCallbackInfo<v8::Value> &info) {
310310
311311void php_v8_callback_accessor_name_getter (v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value> &info) {
312312 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
313+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
313314
314315 zval args;
315316 zval property_name;
316317
317318 /* Build the parameter array */
318319 array_init_size (&args, 2 );
319320
320- php_v8_get_or_create_value (&property_name, property, isolate );
321+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
321322 add_index_zval (&args, 0 , &property_name);
322323
323324 php_v8_callback_call_from_bucket_with_zargs (0 , info, info.GetReturnValue (), &args);
@@ -327,6 +328,7 @@ void php_v8_callback_accessor_name_getter(v8::Local<v8::Name> property, const v8
327328
328329void php_v8_callback_accessor_name_setter (v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<void > &info) {
329330 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
331+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
330332
331333 zval args;
332334 zval property_name;
@@ -335,8 +337,8 @@ void php_v8_callback_accessor_name_setter(v8::Local<v8::Name> property, v8::Loca
335337 /* Build the parameter array */
336338 array_init_size (&args, 3 );
337339
338- php_v8_get_or_create_value (&property_name, property, isolate );
339- php_v8_get_or_create_value (&property_value, value, isolate );
340+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
341+ php_v8_get_or_create_value (&property_value, value, php_v8_isolate );
340342
341343 add_index_zval (&args, 0 , &property_name);
342344 add_index_zval (&args, 1 , &property_value);
@@ -349,14 +351,15 @@ void php_v8_callback_accessor_name_setter(v8::Local<v8::Name> property, v8::Loca
349351
350352void php_v8_callback_generic_named_property_getter (v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Value> &info) {
351353 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
354+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
352355
353356 zval args;
354357 zval property_name;
355358
356359 /* Build the parameter array */
357360 array_init_size (&args, 2 );
358361
359- php_v8_get_or_create_value (&property_name, property, isolate );
362+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
360363 add_index_zval (&args, 0 , &property_name);
361364
362365 php_v8_callback_call_from_bucket_with_zargs (0 , info, info.GetReturnValue (), &args);
@@ -366,6 +369,7 @@ void php_v8_callback_generic_named_property_getter(v8::Local<v8::Name> property,
366369
367370void php_v8_callback_generic_named_property_setter (v8::Local<v8::Name> property, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value> &info) {
368371 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
372+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
369373
370374 zval args;
371375 zval property_name;
@@ -374,8 +378,8 @@ void php_v8_callback_generic_named_property_setter(v8::Local<v8::Name> property,
374378 /* Build the parameter array */
375379 array_init_size (&args, 3 );
376380
377- php_v8_get_or_create_value (&property_name, property, isolate );
378- php_v8_get_or_create_value (&property_value, value, isolate );
381+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
382+ php_v8_get_or_create_value (&property_value, value, php_v8_isolate );
379383
380384 add_index_zval (&args, 0 , &property_name);
381385 add_index_zval (&args, 1 , &property_value);
@@ -387,14 +391,15 @@ void php_v8_callback_generic_named_property_setter(v8::Local<v8::Name> property,
387391
388392void php_v8_callback_generic_named_property_query (v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Integer> &info) {
389393 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
394+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
390395
391396 zval args;
392397 zval property_name;
393398
394399 /* Build the parameter array */
395400 array_init_size (&args, 2 );
396401
397- php_v8_get_or_create_value (&property_name, property, isolate );
402+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
398403 add_index_zval (&args, 0 , &property_name);
399404
400405 php_v8_callback_call_from_bucket_with_zargs (2 , info, info.GetReturnValue (), &args);
@@ -404,14 +409,15 @@ void php_v8_callback_generic_named_property_query(v8::Local<v8::Name> property,
404409
405410void php_v8_callback_generic_named_property_deleter (v8::Local<v8::Name> property, const v8::PropertyCallbackInfo<v8::Boolean> &info) {
406411 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
412+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
407413
408414 zval args;
409415 zval property_name;
410416
411417 /* Build the parameter array */
412418 array_init_size (&args, 2 );
413419
414- php_v8_get_or_create_value (&property_name, property, isolate );
420+ php_v8_get_or_create_value (&property_name, property, php_v8_isolate );
415421 add_index_zval (&args, 0 , &property_name);
416422
417423 php_v8_callback_call_from_bucket_with_zargs (3 , info, info.GetReturnValue (), &args);
@@ -453,6 +459,7 @@ void php_v8_callback_indexed_property_getter(uint32_t index, const v8::PropertyC
453459
454460void php_v8_callback_indexed_property_setter (uint32_t index, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value> &info) {
455461 PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (info.GetIsolate ());
462+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
456463
457464 zval args;
458465 zval property_name;
@@ -462,7 +469,7 @@ void php_v8_callback_indexed_property_setter(uint32_t index, v8::Local<v8::Value
462469 array_init_size (&args, 3 );
463470
464471 ZVAL_LONG (&property_name, index);
465- php_v8_get_or_create_value (&property_value, value, isolate );
472+ php_v8_get_or_create_value (&property_value, value, php_v8_isolate );
466473
467474 add_index_zval (&args, 0 , &property_name);
468475 add_index_zval (&args, 1 , &property_value);
@@ -520,11 +527,13 @@ void php_v8_callback_indexed_property_enumerator(const v8::PropertyCallbackInfo<
520527}
521528
522529bool php_v8_callback_access_check (v8::Local<v8::Context> accessing_context, v8::Local<v8::Object> accessed_object, v8::Local<v8::Value> data) {
523- PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (v8::Isolate::GetCurrent ());
524-
525530 PHP_V8_THROW_EXCEPTION (" Broken due to problem (see https://groups.google.com/forum/?fromgroups#!topic/v8-dev/c7LhW2bNabY)" );
526531 return false ;
527532
533+ PHP_V8_DECLARE_ISOLATE_LOCAL_ALIAS (v8::Isolate::GetCurrent ());
534+ php_v8_isolate_t *php_v8_isolate = PHP_V8_ISOLATE_FETCH_REFERENCE (isolate);
535+
536+
528537 zval args;
529538 zval accessed_object_zv;
530539 zval retval;
@@ -539,7 +548,7 @@ bool php_v8_callback_access_check(v8::Local<v8::Context> accessing_context, v8::
539548
540549 assert (NULL != php_v8_context);
541550
542- php_v8_get_or_create_value (&accessed_object_zv, accessed_object, isolate );
551+ php_v8_get_or_create_value (&accessed_object_zv, accessed_object, php_v8_isolate );
543552
544553 add_index_zval (&args, 0 , &php_v8_context->this_ptr );
545554 add_index_zval (&args, 1 , &accessed_object_zv);
0 commit comments