updated ARM assembler patch

Rob Savoye rob at senecass.com
Wed Aug 25 19:20:58 PDT 2010


I've got a new version of the ARM assembler patch at:
http://www.senecass.com/projects/OpenJDK-ARM/thumb2-082510.patch
I've been battling with register allocations, as it turns out minor
changes cause segfaults. Even running gdb causes problems depending
where I set breakpoints.

While this version has a segfault at the end, it's working better then
the previous patch as far as I can tell. I'm not 100% sure what the
output of the gamma test should look like, but hope all these hex
numbers are what it's supposed to do. :-)

java full version "1.6.0_18-b18"
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8) (6b18-1.8-2ubuntu2)
OpenJDK Zero VM (build 16.0-b13, mixed mode)

 1. A1 B5 C8 D6 E3 F7 G2 H4
 2. A1 B6 C8 D3 E7 F4 G2 H5
 3. A1 B7 C4 D6 E8 F2 G5 H3
 4. A1 B7 C5 D8 E2 F4 G6 H3
 5. A2 B4 C6 D8 E3 F1 G7 H5
 6. A2 B5 C7 D1 E3 F8 G6 H4
 7. A2 B5 C7 D4 E1 F8 G6 H3
 8. A2 B6 C1 D7 E4 F8 G3 H5
 9. A2 B6 C8 D3 E1 F4 G7 H5
10. A2 B7 C3 D6 E8 F5 G1 H4
11. A2 B7 C5 D8 E1 F4 G6 H3
12. A2 B8 C6 D1 E3 F5 G7 H4
13. A3 B1 C7 D5 E8 F2 G4 H6
14. A3 B5 C2 D8 E1 F7 G4 H6
15. A3 B5 C2 D8 E6 F4 G7 H1
16. A3 B5 C7 D1 E4 F2 G8 H6
17. A3 B5 C8 D4 E1 F7 G2 H6
18. A3 B6 C2 D5 E8 F1 G7 H4
19. A3 B6 C2 D7 E1 F4 G8 H5
20. A3 B6 C2 D7 E5 F1 G8 H4
21. A3 B6 C4 D1 E8 F5 G7 H2
22. A3 B6 C4 D2 E8 F5 G7 H1
23. A3 B6 C8 D1 E4 F7 G5 H2
24. A3 B6 C8 D1 E5 F7 G2 H4
25. A3 B6 C8 D2 E4 F1 G7 H5
26. A3 B7 C2 D8 E5 F1 G4 H6
27. A3 B7 C2 D8 E6 F4 G1 H5
28. A3 B8 C4 D7 E1 F6 G2 H5
29. A4 B1 C5 D8 E2 F7 G3 H6
30. A4 B1 C5 D8 E6 F3 G7 H2
31. A4 B2 C5 D8 E6 F1 G3 H7
32. A4 B2 C7 D3 E6 F8 G1 H5
33. A4 B2 C7 D3 E6 F8 G5 H1
34. A4 B2 C7 D5 E1 F8 G6 H3
35. A4 B2 C8 D5 E7 F1 G3 H6
36. A4 B2 C8 D6 E1 F3 G5 H7
37. A4 B6 C1 D5 E2 F8 G3 H7
38. A4 B6 C8 D2 E7 F1 G3 H5
39. A4 B6 C8 D3 E1 F7 G5 H2
40. A4 B7 C1 D8 E5 F2 G6 H3
41. A4 B7 C3 D8 E2 F5 G1 H6
42. A4 B7 C5 D2 E6 F1 G3 H8
43. A4 B7 C5 D3 E1 F6 G8 H2
44. A4 B8 C1 D3 E6 F2 G7 H5
45. A4 B8 C1 D5 E7 F2 G6 H3
46. A4 B8 C5 D3 E1 F7 G2 H6
47. A5 B1 C4 D6 E8 F2 G7 H3
48. A5 B1 C8 D4 E2 F7 G3 H6
49. A5 B1 C8 D6 E3 F7 G2 H4
50. A5 B2 C4 D6 E8 F3 G1 H7
51. A5 B2 C4 D7 E3 F8 G6 H1
52. A5 B2 C6 D1 E7 F4 G8 H3
53. A5 B2 C8 D1 E4 F7 G3 H6
54. A5 B3 C1 D6 E8 F2 G4 H7
55. A5 B3 C1 D7 E2 F8 G6 H4
56. A5 B3 C8 D4 E7 F1 G6 H2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
	at Queens.try_i(Queens.java:33)
	at Queens.try_i(Queens.java:41)
	at Queens.try_i(Queens.java:41)
	at Queens.try_i(Queens.java:41)
	at Queens.try_i(Queens.java:41)
	at Queens.try_i(Queens.java:41)
	at Queens.try_i(Queens.java:41)
	at Queens.main(Queens.java:65)
make[4]: *** [productzero] Error 1
make[4]: Leaving directory
`/wd/rsavoye/build/openjdk/build/linux-arm/hotspot/outputdir'
make[3]: *** [generic_buildzero] Error 2
make[3]: Leaving directory `/wd/rsavoye/build/openjdk/hotspot/make'
make[2]: *** [productzero] Error 2
make[2]: Leaving directory `/wd/rsavoye/build/openjdk/hotspot/make'
make[1]: *** [hotspot-build] Error 2
make[1]: Leaving directory `/wd/rsavoye/build/openjdk'
make: *** [stamps/icedtea.stamp] Error 2

I've been having some weird reproducibility issues with this revision
and with an older one where gamma doesn't always want to start.
Sometimes it does, and sometimes it doesn't with this error:

Exception in thread "main" java.lang.NoClassDefFoundError: Queens
Caused by: java.lang.ClassNotFoundException: Queens
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

If I do a make, it runs once, then I get this till I make again. This
makes it extremely difficult to debug. It's been pretty stable until
today, I'm not sure what changed, as I don't think it has anything to do
with my patch.

	- rob -


More information about the zero-dev mailing list