GetNumberOfArguments - быстрая реализация numargs
Описание:
Вычисляет количество аргументов в функции.
Параметры:
-
Возвращаемое значение:
Возвращает количество аргументов в функции.
Плюсы реализации:
- Быстрое вычисление количества аргументов. Таким образом, это функция быстрее numargs с JIT в 3 раза, а без него в 2 раза.
Минусы реализации:
Код:
PHP код:
stock
GetNumberOfArguments()
{
#emit load.s.pri 0x0 // узнаем FRM прежней функции.
#emit add.c 0x8 // смещение на 8 байт.
#emit load.i // читаем.
#emit shr.c.pri 2 // побитовый сдвиг в право - деление на 4
#emit retn // возвращаем.
return 0;
}
Пример использования:
PHP код:
main()
{
printf("Arguments: %d", GetNumberOfArguments());
SomeFunction(1, 3, 4, 5);
}
stock
SomeFunction(...)
{
printf("Arguments: %d", GetNumberOfArguments());
}
См. также:
Автор: VVWVV
Исключительно для pro-pawn.ru
Копирование данной статьи на других ресурсах без разрешения автора запрещено.