2012-09-05 24 views
1

我正在編譯一段帶有Free Pascal和JVM後端的Delphi代碼。FPC/Java錯誤:「JAS錯誤:來自行10039的引用超出了大小。」

在關閉的機會,人誰是參與移植Free Pascal中的JVM後端正在讀這一點,這裏有一個編譯錯誤消息我得到:

MyFile.j:379326: JAS Error: reference from line 10039 exceed size for short. 

文件是相當大的(> 6000線),其功能也是如此。所以可能會有一些資源枯竭。可以暗示我爲什麼要簡化擺脫這個?

回答

0

追查錯誤消息的茉莉彙編:http://www.java2s.com/Open-Source/Java/Byte-Code/Jasmin-2.4/jas/InsnOperand.java.htm

貌似錯誤時,有一個在指向一個標籤,是超過32KB遠字節碼裝配文件goto命令體現。所以看起來塊大小應該是怪罪--FPC中的程序集生成器假定單個if/loop體適合64K塊的字節代碼。我在生成的程序集中找不到任何goto_w命令 - 猜測FPC不會發出它們。

問題在Jasmin中得到解決 - 它現在在適當的位置用goto_w代替goto。獲取副本ftp://ftp.freepascal.org/pub/fpc/contrib/jvm/fpcjvmutilities.zip

相關問題