我有一个用 bigloo 方案函数式语言编写的解析器,我需要将其编译成 java 类。整个解析器被写成一个函数。不幸的是,这导致 JVM 编译器抛出“方法太大”警告,随后给出“far label in localvar”错误。有什么办法可以避免这个错误吗?我在某处读到有关 DontCompileHugeMethods 选项的信息,它有效吗?拆分功能对我来说似乎不是一个可行的选择:( !!
最佳答案
Is there any possible way where I can circumvent this error?
嗯,这个编译器错误的根本原因是字节码文件的格式有硬性限制。在这种情况下,问题在于单个方法最多可以包含 65536 字节的字节码。 (参见 JVM spec)。
唯一的解决方法是拆分方法。
关于java - Java编译出现 "Method too large"错误如何规避?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3192896/