1.2.49. $MAXFPUREGISTERS : Максимальное количество регистров FPU для переменных |
Вверх Предыдущий Следующий |
Директива {$MAXFPUREGISTERS XXX} указывает компилятору, сколько переменных с плавающей точкой можно хранить в регистрах плавающей точки процессора Intel X86. Этот переключатель игнорируется, если используется переключатель оптимизации -Or (использовать регистровые переменные). Это довольно сложно, так как стек Intel FPU имеет ограничение в 8 записей. Компилятор использует эвристический алгоритм, чтобы определить, сколько переменных необходимо поместить в стек: для видимых процедур это ограничение равно 3, для невидимых – 1. Но в случае глубокого дерева вызовов или, что ещё хуже, в рекурсивных процедурах, это всё равно может привести к переполнению стека FPU, поэтому пользователь может указать компилятору, сколько (плавающая точка) переменных должно сохраняться в регистрах. Директива допускает следующие аргументы: N Normal Default
|