From f1d2c3aeb2839caab79dc0718532fc1de9ff9802 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Tue, 16 Jul 2024 20:06:46 +0200 Subject: [PATCH] Use fast ZPP for ParentNode manipulation methods These are very common, and parsing variadic arguments takes a very long time, so this optimization makes sense to do. --- ext/dom/element.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/ext/dom/element.c b/ext/dom/element.c index 0e1de94c46c69..8d14af416ed64 100644 --- a/ext/dom/element.c +++ b/ext/dom/element.c @@ -1453,9 +1453,9 @@ PHP_METHOD(DOMElement, after) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern); @@ -1468,9 +1468,9 @@ PHP_METHOD(DOMElement, before) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern); @@ -1486,9 +1486,9 @@ PHP_METHOD(DOMElement, append) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern); @@ -1505,9 +1505,9 @@ PHP_METHOD(DOMElement, prepend) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern); @@ -1524,9 +1524,9 @@ PHP_METHOD(DOMElement, replaceWith) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern); @@ -1543,9 +1543,9 @@ PHP_METHOD(DOMElement, replaceChildren) zval *args; dom_object *intern; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "*", &args, &argc) == FAILURE) { - RETURN_THROWS(); - } + ZEND_PARSE_PARAMETERS_START(0, -1) + Z_PARAM_VARIADIC('*', args, argc) + ZEND_PARSE_PARAMETERS_END(); DOM_GET_THIS_INTERN(intern);