我有一个用 bigloo 方案功能语言编写的解析器,我需要将其编译成 java 类。整个解析器被编写为单个函数。不幸的是,这导致 JVM 编译器抛出“方法太大”警告,然后给出“localvar 中的远标签”错误。有什么可能的方法可以避免这个错误吗?我在某处读到有关 DontCompileHugeMethods 选项的信息,它有效吗?拆分函数对我来说似乎不是一个可行的选择:(!!
有什么可能的方法可以避免这个错误吗?
那么,这个编译器错误的根本原因是字节码文件的格式存在硬性限制。在这种情况下,问题在于单个方法最多可以包含 65536 字节的字节码。 (参见JVM spec).
唯一的解决方法是拆分该方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)