Если ли в ASM.JS функции и переменные которые обязаны присутствовать в любом ASM.JS коде?
Ситуация такая. Есть чужой код ASM.JS. Кода очень много, но больше половины нигде не используется. Т.е. объявлено очень много переменных и функций, которые нигде никогда не вызываются, ни в самом ASM.JS, ни в вышестоящем скрипте который запускает этот ASM.JS. Как мне кажется, этот ASM.JS скомпилирован из C/C++ и все лишнее добавлено компилятором. Или все-таки специфика ASM.JS требует объявлять какие-то стандартные функции и переменные, не смотря на то что они не используются? Может кто знает? Хочу удалить все лишнее, его реально много. Размер файла сократить, быстрее будет загружаться, компилироваться, может и работать станет быстрее. Я понимаю, что надо просто удалить и посмотреть запустится или нет. Но кода очень много, на качественный отбор и удаление неиспользуемого кода потребуется как минимум неделя. Не хотелось бы зря потратить время. Потому спрашиваю, может кто в курсе.
Так удалите одну и посмотрите что будет. Если сразу не заработает, то не будете тратить неделю. Если какие-то функции нужно будет оставить, то вам всё равно придётся сидеть неделю.
freeExec, я сейчас примерно так и делаю, уже удалил там много, пока все работает. Проблема в том что проверить работу скрипта тоже нужно время. Ту работу по которой можно точно определить верно он работает или нет он может проделывать до нескольких минут. Делать это после удаления каждой строчки выйдет уже на несколько месяцев. Хотелось бы делать это быстрее, т.е. свести проверку к минимуму, удалять все с большей уверенностью что ничего не сломается из-за того что какие-то лишние функции вдруг окажутся нужными из-за особенностей ASM.JS. Сейчас я смотрю на это как на JavaScript, и удаляю все так, что по правилам JavaScript все будет работать. Но ASM.JS это ведь не совсем JavaScript, может этот код какие-то специальные заморочки ASM.JS, из-за удаления которых код например перестанет работать в некоторых браузерах. Этот лишний код же не просто так там присутствует, кто-то его туда засунул (скорее всего компилятор), вопрос по каким причинам.