[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.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