Я проверил тест только сейчас:
function overflow(stack:int = 0):void
{
if(stack < 5290)
{
trace(stack);
overflow(stack + 1);
}
}
overflow();
Это всегда вызывает ошибку StackOverflow после вызовов 5287
.
Ошибка # 1023: произошло переполнение стека.
Является ли эта предельная переменная (в зависимости от спецификаций машины, среды и т.д.) или является ли это плоское значение, определенное где-то? Если я изменил оператор if
на менее чем 5287, я не получу ошибку.