@@ -374,20 +374,23 @@ static PHP_METHOD(V8Isolate, GetEnteredContext) {
374374}
375375
376376static PHP_METHOD (V8Isolate, ThrowException) {
377+ zval *php_v8_context_zv;
377378 zval *php_v8_value_zv;
378379
379- if (zend_parse_parameters (ZEND_NUM_ARGS (), " o " , &php_v8_value_zv) == FAILURE) {
380+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " oo " , &php_v8_context_zv , &php_v8_value_zv) == FAILURE) {
380381 return ;
381382 }
382383
383384 PHP_V8_ISOLATE_FETCH_WITH_CHECK (getThis (), php_v8_isolate);
385+
386+ PHP_V8_CONTEXT_FETCH_WITH_CHECK (php_v8_context_zv, php_v8_context);
384387 PHP_V8_VALUE_FETCH_WITH_CHECK (php_v8_value_zv, php_v8_value);
385388
389+ PHP_V8_DATA_ISOLATES_CHECK_USING (php_v8_context, php_v8_isolate);
386390 PHP_V8_DATA_ISOLATES_CHECK_USING (php_v8_value, php_v8_isolate);
387391
388- PHP_V8_ENTER_ISOLATE (php_v8_isolate);
389-
390- PHP_V8_ISOLATE_REQUIRE_IN_CONTEXT (isolate);
392+ PHP_V8_ENTER_STORED_ISOLATE (php_v8_context);
393+ PHP_V8_ENTER_CONTEXT (php_v8_context);
391394
392395 v8::Local<v8::Value> local_value = php_v8_value_get_local (php_v8_value);
393396 v8::Local<v8::Value> local_return_value = isolate->ThrowException (local_value);
@@ -549,7 +552,8 @@ ZEND_END_ARG_INFO()
549552PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_v8_isolate_GetEnteredContext, ZEND_RETURN_VALUE, 0 , V8\\Context, 0 )
550553ZEND_END_ARG_INFO()
551554
552- PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_v8_isolate_ThrowException, ZEND_RETURN_VALUE, 1 , V8\\Value, 0 )
555+ PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_v8_isolate_ThrowException, ZEND_RETURN_VALUE, 2 , V8\\Value, 0 )
556+ ZEND_ARG_OBJ_INFO(0 , context, V8\\Context, 0 )
553557 ZEND_ARG_OBJ_INFO(0 , value, V8\\Value, 0 )
554558ZEND_END_ARG_INFO()
555559
0 commit comments