mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-27 07:10:45 +00:00
Merge
This commit is contained in:
commit
037437a48d
@ -467,18 +467,6 @@ jdk.jvmstat_COPY := aliasmap
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.vm.ci_EXCLUDE_FILES += \
|
||||
jdk/vm/ci/options/processor/OptionProcessor.java \
|
||||
jdk/vm/ci/service/processor/ServiceProviderProcessor.java \
|
||||
#
|
||||
|
||||
jdk.vm.ci_EXCLUDES += \
|
||||
META-INF/jvmci.options \
|
||||
META-INF/jvmci.providers \
|
||||
#
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.xml.bind_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
|
||||
jdk.xml.bind_CLEAN := .properties
|
||||
jdk.xml.bind_COPY := .xsd JAXBContextFactory.java ZeroOneBooleanAdapter.java
|
||||
|
||||
@ -34,6 +34,7 @@ public class Platform {
|
||||
private static final String vmName = System.getProperty("java.vm.name");
|
||||
private static final String userName = System.getProperty("user.name");
|
||||
private static final String compiler = System.getProperty("sun.management.compiler");
|
||||
private static final String vmInfo = System.getProperty("java.vm.info");
|
||||
|
||||
public static boolean isClient() {
|
||||
return vmName.endsWith(" Client VM");
|
||||
@ -63,6 +64,18 @@ public class Platform {
|
||||
return compiler.contains("Tiered Compilers");
|
||||
}
|
||||
|
||||
public static boolean isInt() {
|
||||
return vmInfo.contains("interpreted");
|
||||
}
|
||||
|
||||
public static boolean isMixed() {
|
||||
return vmInfo.contains("mixed");
|
||||
}
|
||||
|
||||
public static boolean isComp() {
|
||||
return vmInfo.contains("compiled");
|
||||
}
|
||||
|
||||
public static boolean is32bit() {
|
||||
return dataModel.equals("32");
|
||||
}
|
||||
@ -135,12 +148,6 @@ public class Platform {
|
||||
return isArch("aarch64");
|
||||
}
|
||||
|
||||
private static boolean isArch(String archnameRE) {
|
||||
return Pattern.compile(archnameRE, Pattern.CASE_INSENSITIVE)
|
||||
.matcher(osArch)
|
||||
.matches();
|
||||
}
|
||||
|
||||
public static String getOsArch() {
|
||||
return osArch;
|
||||
}
|
||||
@ -203,4 +210,10 @@ public class Platform {
|
||||
public static boolean canAttachOSX() throws Exception {
|
||||
return userName.equals("root");
|
||||
}
|
||||
|
||||
private static boolean isArch(String archnameRE) {
|
||||
return Pattern.compile(archnameRE, Pattern.CASE_INSENSITIVE)
|
||||
.matcher(osArch)
|
||||
.matches();
|
||||
}
|
||||
}
|
||||
|
||||
@ -354,7 +354,14 @@ public class HprofReader extends Reader /* imports */ implements ArrayTypeCodes
|
||||
}
|
||||
|
||||
private void skipBytes(long length) throws IOException {
|
||||
in.skipBytes((int)length);
|
||||
while (length > 0) {
|
||||
long skipped = in.skip(length);
|
||||
if (skipped == 0) {
|
||||
// EOF or other problem, throw exception
|
||||
throw new EOFException("Couldn't skip enough bytes");
|
||||
}
|
||||
length -= skipped;
|
||||
}
|
||||
}
|
||||
|
||||
private int readVersionHeader() throws IOException {
|
||||
@ -486,12 +493,12 @@ public class HprofReader extends Reader /* imports */ implements ArrayTypeCodes
|
||||
break;
|
||||
}
|
||||
case HPROF_GC_OBJ_ARRAY_DUMP: {
|
||||
int bytesRead = readArray(false);
|
||||
long bytesRead = readArray(false);
|
||||
bytesLeft -= bytesRead;
|
||||
break;
|
||||
}
|
||||
case HPROF_GC_PRIM_ARRAY_DUMP: {
|
||||
int bytesRead = readArray(true);
|
||||
long bytesRead = readArray(true);
|
||||
bytesLeft -= bytesRead;
|
||||
break;
|
||||
}
|
||||
@ -743,12 +750,12 @@ public class HprofReader extends Reader /* imports */ implements ArrayTypeCodes
|
||||
// Handle a HPROF_GC_OBJ_ARRAY_DUMP or HPROF_GC_PRIM_ARRAY_DUMP
|
||||
// Return number of bytes read
|
||||
//
|
||||
private int readArray(boolean isPrimitive) throws IOException {
|
||||
private long readArray(boolean isPrimitive) throws IOException {
|
||||
long start = in.position();
|
||||
long id = readID();
|
||||
StackTrace stackTrace = getStackTraceFromSerial(in.readInt());
|
||||
int num = in.readInt();
|
||||
int bytesRead = identifierSize + 8;
|
||||
long bytesRead = identifierSize + 8;
|
||||
long elementClassID;
|
||||
if (isPrimitive) {
|
||||
elementClassID = in.readByte();
|
||||
@ -810,14 +817,14 @@ public class HprofReader extends Reader /* imports */ implements ArrayTypeCodes
|
||||
}
|
||||
}
|
||||
if (primitiveSignature != 0x00) {
|
||||
int size = elSize * num;
|
||||
long size = elSize * (long)num;
|
||||
bytesRead += size;
|
||||
JavaValueArray va = new JavaValueArray(primitiveSignature, start);
|
||||
skipBytes(size);
|
||||
snapshot.addHeapObject(id, va);
|
||||
snapshot.setSiteTrace(va, stackTrace);
|
||||
} else {
|
||||
int sz = num * identifierSize;
|
||||
long sz = (long)num * identifierSize;
|
||||
bytesRead += sz;
|
||||
JavaObjectArray arr = new JavaObjectArray(elementClassID, start);
|
||||
skipBytes(sz);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user