test/lib/sun/hotspot/WhiteBox.java
changeset 31572 886b43bbc0d4
parent 31320 5358f1744a3f
child 31949 ddd0594084a7
--- a/test/lib/sun/hotspot/WhiteBox.java	Wed Jun 24 15:29:34 2015 -0700
+++ b/test/lib/sun/hotspot/WhiteBox.java	Thu Jun 25 18:00:28 2015 +0200
@@ -26,6 +26,7 @@
 
 import java.lang.management.MemoryUsage;
 import java.lang.reflect.Executable;
+import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.List;
 import java.util.function.BiFunction;
@@ -37,7 +38,6 @@
 import sun.hotspot.parser.DiagnosticCommand;
 
 public class WhiteBox {
-
   @SuppressWarnings("serial")
   public static class WhiteBoxPermission extends BasicPermission {
     public WhiteBoxPermission(String s) {
@@ -362,6 +362,23 @@
                               .orElse(null);
   }
 
+  public native boolean readImageFile(String imagePath);
+  public native long imageOpenImage(String imagePath, boolean bigEndian);
+  public native void imageCloseImage(long id);
+  public native long imageGetIndexAddress(long id);
+  public native long imageGetDataAddress(long id);
+  public native boolean imageReadCompressed(long id, long offset,
+    ByteBuffer compressedBuffer, long compressedSize,
+    ByteBuffer uncompressedBuffer, long uncompressedSize);
+  public native boolean imageRead(long id, long offset,
+    ByteBuffer uncompressedBuffer, long uncompressedSize);
+  public native byte[] imageGetStringBytes(long id, int offset);
+  public native long imageGetStringsSize(long id);
+  public native long[] imageGetAttributes(long id, int offset);
+  public native long[] imageFindAttributes(long id, byte[] path);
+  public native int[] imageAttributeOffsets(long id);
+  public native int imageGetIntAtAddress(long address, int offset, boolean big_endian);
+
   // Safepoint Checking
   public native void assertMatchingSafepointCalls(boolean mutexSafepointValue, boolean attemptedNoSafepointValue);