8080511: Refresh of jimage support

Co-authored-by: James Laskey <james.laskey@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: alanb, mchung, psandoz, acorn, lfoltan, ctornqvi
This commit is contained in:
Jean-Francois Denise 2015-06-25 18:00:28 +02:00
parent 053ccc4c4a
commit 7d75d2a98a
2 changed files with 22 additions and 1 deletions

View File

@ -218,6 +218,10 @@
<name>jdk.internal.jimage</name>
<to>jdk.dev</to>
</export>
<export>
<name>jdk.internal.jimage.decompressor</name>
<to>jdk.dev</to>
</export>
<export>
<name>jdk.internal.org.objectweb.asm</name>
<to>java.instrument</to>

View File

@ -26,6 +26,7 @@ package sun.hotspot;
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 java.util.Objects;
import sun.hotspot.parser.DiagnosticCommand;
public class WhiteBox {
@SuppressWarnings("serial")
public static class WhiteBoxPermission extends BasicPermission {
public WhiteBoxPermission(String s) {
@ -362,6 +362,23 @@ public class WhiteBox {
.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);