22 */ |
22 */ |
23 |
23 |
24 |
24 |
25 package org.graalvm.compiler.hotspot.test; |
25 package org.graalvm.compiler.hotspot.test; |
26 |
26 |
|
27 import static org.junit.Assume.assumeFalse; |
|
28 |
27 import java.io.DataInputStream; |
29 import java.io.DataInputStream; |
28 import java.io.InputStream; |
30 import java.io.InputStream; |
|
31 import java.lang.invoke.MethodHandle; |
|
32 import java.lang.invoke.MethodHandles; |
|
33 import java.lang.invoke.MethodType; |
29 import java.nio.ByteBuffer; |
34 import java.nio.ByteBuffer; |
30 import java.util.zip.Checksum; |
35 import java.util.zip.Checksum; |
31 |
36 |
32 import java.lang.invoke.MethodHandle; |
|
33 import java.lang.invoke.MethodHandles; |
|
34 import java.lang.invoke.MethodType; |
|
35 |
|
36 import org.graalvm.compiler.test.GraalTest; |
|
37 import org.graalvm.compiler.core.test.GraalCompilerTest; |
37 import org.graalvm.compiler.core.test.GraalCompilerTest; |
38 |
38 import org.graalvm.compiler.serviceprovider.JavaVersionUtil; |
39 import org.junit.Test; |
39 import org.junit.Test; |
40 |
|
41 import static org.junit.Assume.assumeFalse; |
|
42 |
40 |
43 /** |
41 /** |
44 * Tests compiled calls to {@link java.util.zip.CRC32C}. |
42 * Tests compiled calls to {@link java.util.zip.CRC32C}. |
45 */ |
43 */ |
46 @SuppressWarnings("javadoc") |
44 @SuppressWarnings("javadoc") |
54 return crc.getValue(); |
52 return crc.getValue(); |
55 } |
53 } |
56 |
54 |
57 @Test |
55 @Test |
58 public void test1() throws Throwable { |
56 public void test1() throws Throwable { |
59 assumeFalse(GraalTest.Java8OrEarlier); |
57 assumeFalse(JavaVersionUtil.JAVA_SPEC <= 8); |
60 String classfileName = CRC32CSubstitutionsTest.class.getSimpleName().replace('.', '/') + ".class"; |
58 String classfileName = CRC32CSubstitutionsTest.class.getSimpleName().replace('.', '/') + ".class"; |
61 InputStream s = CRC32CSubstitutionsTest.class.getResourceAsStream(classfileName); |
59 InputStream s = CRC32CSubstitutionsTest.class.getResourceAsStream(classfileName); |
62 byte[] buf = new byte[s.available()]; |
60 byte[] buf = new byte[s.available()]; |
63 new DataInputStream(s).readFully(buf); |
61 new DataInputStream(s).readFully(buf); |
64 int end = buf.length; |
62 int end = buf.length; |
77 return crc.getValue(); |
75 return crc.getValue(); |
78 } |
76 } |
79 |
77 |
80 @Test |
78 @Test |
81 public void test2() throws Throwable { |
79 public void test2() throws Throwable { |
82 assumeFalse(GraalTest.Java8OrEarlier); |
80 assumeFalse(JavaVersionUtil.JAVA_SPEC <= 8); |
83 String classfileName = CRC32CSubstitutionsTest.class.getSimpleName().replace('.', '/') + ".class"; |
81 String classfileName = CRC32CSubstitutionsTest.class.getSimpleName().replace('.', '/') + ".class"; |
84 InputStream s = CRC32CSubstitutionsTest.class.getResourceAsStream(classfileName); |
82 InputStream s = CRC32CSubstitutionsTest.class.getResourceAsStream(classfileName); |
85 byte[] buf = new byte[s.available()]; |
83 byte[] buf = new byte[s.available()]; |
86 new DataInputStream(s).readFully(buf); |
84 new DataInputStream(s).readFully(buf); |
87 |
85 |