compiler2016 icon indicating copy to clipboard operation
compiler2016 copied to clipboard

ByteInputStream and spim version

Open chakpongchung opened this issue 6 years ago • 3 comments

Thank you for sharing your amazing work!

I tried to run it and found these two issues: 1.

java.lang.NoClassDefFoundError: com/sun/xml/internal/messaging/saaj/util/ByteInputStream
# testcase/final/a-function-call.mx
========== PROGRAM OUTPUT:
SPIM Version 8.0 of January 8, 2010
========== ANS OUTPUT: 7053
Copyright 1990-2010, James R. Larus.
All Rights Reserved.
See the file README for a full copyright notice.
Loaded: /usr/lib/spim/exceptions.s
7053
1035
7035
========== STDERR:

Unknown argument: -stat (ignored)
Usage: spim
	-bare			Bare machine (no pseudo-ops, delayed branches and loads)
	-asm			Extended machine (pseudo-ops, no delayed branches and loads) (default)
	-delayed_branches	Execute delayed branches
	-delayed_loads		Execute delayed loads
	-exception		Load exception handler (default)
	-noexception		Do not load exception handler
	-exception_file <file>	Specify exception handler in place of default
	-quiet			Do not print warnings
	-noquiet		Print warnings (default)
	-mapped_io		Enable memory-mapped IO
	-nomapped_io		Do not enable memory-mapped IO (default)
	-file <file> <args>	Assembly code file and arguments to program

java.lang.AssertionError
	at org.junit.Assert.fail(Assert.java:86)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertTrue(Assert.java:52)
	at com.abcdabcd987.compiler2016.BackEnd.FinalTest.testPass(FinalTest.java:147)
javac 10.0.2
tom@t430:~/code/qbe$ uname -a
Linux t430 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

what spim version you were using? Are there any alternative to get rid of the ByteInputStream dependencies?

chakpongchung avatar Jan 06 '19 03:01 chakpongchung

I think I must have mistakenly used ByteInputStream. I'm not sure what's the alternative since I haven't used Java for a long time. Anyway, it only has to be a derived class of InputStream. Maybe try BufferedInputStream?

spim we used in this class was: https://bitbucket.org/xjia/statspim

abcdabcd987 avatar Jan 08 '19 02:01 abcdabcd987

thank you for your reply!

I just tried the statspim and it takes forever to run the testcase1 in the Finaltest section. Also, for the SSA constructor/destructor test, they are not working because of the null pointer issues.

All other tests are working fine except for some locations issues.

chakpongchung avatar Jan 08 '19 04:01 chakpongchung

Yeah I remember statspim being buggy. I remember I couldn't run statspim on Ubuntu 16.04. I can't remember what is wrong exactly, but maybe like you say, running forever (or I suspect it doesn't run at all. Check CPU usage). Then I switched back to Ubuntu 14.04, and it worked.

I'm not sure about the null pointer issues. I should have passed all the tests. But maybe there are some bugs I didn't discover.

abcdabcd987 avatar Jan 08 '19 19:01 abcdabcd987