8138978: Examine usages of sun.misc.IOUtils
authorchegar
Fri, 09 Oct 2015 14:21:33 +0100
changeset 32924 89da05adaa00
parent 32917 8392405ab038
child 32925 7e41230dec76
8138978: Examine usages of sun.misc.IOUtils Reviewed-by: alanb, mullan, psandoz, rriggs, weijun
hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java
hotspot/test/runtime/8003720/VictimClassLoader.java
--- a/hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java	Wed Jul 05 20:52:37 2017 +0200
+++ b/hotspot/test/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java	Fri Oct 09 14:21:33 2015 +0100
@@ -23,8 +23,8 @@
 
 import sun.hotspot.WhiteBox;
 import sun.misc.Unsafe;
-import sun.misc.IOUtils;
 
+import java.io.IOException;
 import java.lang.reflect.Method;
 import java.net.URL;
 import java.net.URLConnection;
@@ -109,7 +109,13 @@
         // (1) Load an anonymous version of this class using the corresponding Unsafe method
         URL classUrl = TestAnonymousClassUnloading.class.getResource("TestAnonymousClassUnloading.class");
         URLConnection connection = classUrl.openConnection();
-        byte[] classBytes = IOUtils.readFully(connection.getInputStream(), connection.getContentLength(), true);
+
+        int length = connection.getContentLength();
+        byte[] classBytes = connection.getInputStream().readAllBytes();
+        if (length != -1 && classBytes.length != length) {
+            throw new IOException("Expected:" + length + ", actual: " + classBytes.length);
+        }
+
         Class<?> anonymousClass = UNSAFE.defineAnonymousClass(TestAnonymousClassUnloading.class, classBytes, null);
 
         // (2) Make sure all paths of doWork are profiled and compiled
--- a/hotspot/test/runtime/8003720/VictimClassLoader.java	Wed Jul 05 20:52:37 2017 +0200
+++ b/hotspot/test/runtime/8003720/VictimClassLoader.java	Fri Oct 09 14:21:33 2015 +0100
@@ -72,8 +72,10 @@
     }
 
     static byte[] readFully(java.io.InputStream in, int len) throws java.io.IOException {
-        // Warning here:
-        return sun.misc.IOUtils.readFully(in, len, true);
+        byte[] b = in.readAllBytes();
+        if (len != -1 && b.length != len)
+            throw new java.io.IOException("Expected:" + len + ", actual:" + b.length);
+        return b;
     }
 
     public void finalize() {