[Nestedvm] constant pool full

David Ehrmann ehrmann at gmail.com
Wed Jun 16 14:56:12 EDT 2010


I was able to get something non-trivial to cross compile, but when I ran
NestedVM on it, I got this exception:

java org.ibex.nestedvm.Compiler -outfile Test.class Test test.mips
org.ibex.classgen.ClassFile$Exn: constant pool full
   at org.ibex.classgen.ConstantPool.add(ConstantPool.java:247)
   at org.ibex.classgen.MethodGen.finish(MethodGen.java:604)
   at org.ibex.classgen.ClassFile._dump(ClassFile.java:169)
   at org.ibex.classgen.ClassFile.dump(ClassFile.java:160)
   at
org.ibex.nestedvm.ClassFileCompiler.__go(ClassFileCompiler.java:380)
   at
org.ibex.nestedvm.ClassFileCompiler._go(ClassFileCompiler.java:72)
   at org.ibex.nestedvm.Compiler.go(Compiler.java:259)
   at org.ibex.nestedvm.Compiler.main(Compiler.java:183)
Compiler Error: Class generation exception: org.ibex.classgen.ClassFile$Exn:
constant pool full

I googled a bit and found that it's been hit before, and there's not really
a workaround.  The difference is that that code used several libraries, mine
uses just the standard ones.  When I ran nm on it, it only had 4325
lines of output (I assume it's one line per symbol)--far from the 64k limit.
I put a System.out.println at ClassFileCompiler.java:179, and symbols only
has ~4325 elements.

Any ideas?



More information about the Nestedvm mailing list