Merge
This commit is contained in:
commit
73c59a2643
@ -243,3 +243,4 @@ a4afb0a8d55ef75aef5b0d77b434070468fb89f8 jdk8-b117
|
||||
9e90215673be68a3e77a9e444e4232076373734d jdk8-b119
|
||||
cd3825b2983045784d6fc6d1729c799b08215752 jdk8-b120
|
||||
1e1f86d5d4e22c15a9bf9f1581acddb8c59abae2 jdk9-b00
|
||||
50669e45cec4491de0d921d3118a3fe2e767020a jdk9-b01
|
||||
|
@ -324,8 +324,6 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
|
||||
fi
|
||||
# When is adding -client something that speeds up the JVM?
|
||||
# ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
|
||||
ADD_JVM_ARG_IF_OK([-XX:PermSize=32m],boot_jdk_jvmargs,[$JAVA])
|
||||
ADD_JVM_ARG_IF_OK([-XX:MaxPermSize=160m],boot_jdk_jvmargs,[$JAVA])
|
||||
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
|
||||
# Disable special log output when a debug build is used as Boot JDK...
|
||||
ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
|
||||
|
@ -3865,7 +3865,7 @@ fi
|
||||
#CUSTOM_AUTOCONF_INCLUDE
|
||||
|
||||
# Do not change or remove the following line, it is needed for consistency checks:
|
||||
DATE_WHEN_GENERATED=1389186094
|
||||
DATE_WHEN_GENERATED=1389815815
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@ -11156,6 +11156,12 @@ fi
|
||||
as_fn_error $? "Update version must have a value" "$LINENO" 5
|
||||
elif test "x$with_update_version" != x; then
|
||||
JDK_UPDATE_VERSION="$with_update_version"
|
||||
# On macosx 10.7, it's not possible to set --with-update-version=0X due
|
||||
# to a bug in expr (which reduces it to just X). To work around this, we
|
||||
# always add a 0 to one digit update versions.
|
||||
if test "${#JDK_UPDATE_VERSION}" = "1"; then
|
||||
JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@ -16068,36 +16074,6 @@ fi
|
||||
# When is adding -client something that speeds up the JVM?
|
||||
# ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
|
||||
|
||||
$ECHO "Check if jvm arg is ok: -XX:PermSize=32m" >&5
|
||||
$ECHO "Command: $JAVA -XX:PermSize=32m -version" >&5
|
||||
OUTPUT=`$JAVA -XX:PermSize=32m -version 2>&1`
|
||||
FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
|
||||
FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
|
||||
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
|
||||
boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:PermSize=32m"
|
||||
JVM_ARG_OK=true
|
||||
else
|
||||
$ECHO "Arg failed:" >&5
|
||||
$ECHO "$OUTPUT" >&5
|
||||
JVM_ARG_OK=false
|
||||
fi
|
||||
|
||||
|
||||
$ECHO "Check if jvm arg is ok: -XX:MaxPermSize=160m" >&5
|
||||
$ECHO "Command: $JAVA -XX:MaxPermSize=160m -version" >&5
|
||||
OUTPUT=`$JAVA -XX:MaxPermSize=160m -version 2>&1`
|
||||
FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
|
||||
FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
|
||||
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
|
||||
boot_jdk_jvmargs="$boot_jdk_jvmargs -XX:MaxPermSize=160m"
|
||||
JVM_ARG_OK=true
|
||||
else
|
||||
$ECHO "Arg failed:" >&5
|
||||
$ECHO "$OUTPUT" >&5
|
||||
JVM_ARG_OK=false
|
||||
fi
|
||||
|
||||
|
||||
$ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
|
||||
$ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
|
||||
OUTPUT=`$JAVA -XX:ThreadStackSize=$STACK_SIZE -version 2>&1`
|
||||
@ -20011,9 +19987,9 @@ $as_echo "$PROPER_COMPILER_CC" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, keeping CC" >&5
|
||||
$as_echo "no, keeping CC" >&6; }
|
||||
CC="$TEST_COMPILER"
|
||||
fi
|
||||
|
||||
|
||||
COMPILER=$CC
|
||||
COMPILER_NAME=$COMPILER_NAME
|
||||
|
||||
@ -21590,9 +21566,9 @@ $as_echo "$PROPER_COMPILER_CXX" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, keeping CXX" >&5
|
||||
$as_echo "no, keeping CXX" >&6; }
|
||||
CXX="$TEST_COMPILER"
|
||||
fi
|
||||
|
||||
|
||||
COMPILER=$CXX
|
||||
COMPILER_NAME=$COMPILER_NAME
|
||||
|
||||
|
@ -105,7 +105,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
|
||||
fi
|
||||
|
||||
# Replace the commas with AND for use in the build directory name.
|
||||
ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
|
||||
ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/g'`
|
||||
COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
|
||||
if test "x$COUNT_VARIANTS" != "x,1"; then
|
||||
BUILDING_MULTIPLE_JVM_VARIANTS=yes
|
||||
@ -423,6 +423,12 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
|
||||
AC_MSG_ERROR([Update version must have a value])
|
||||
elif test "x$with_update_version" != x; then
|
||||
JDK_UPDATE_VERSION="$with_update_version"
|
||||
# On macosx 10.7, it's not possible to set --with-update-version=0X due
|
||||
# to a bug in expr (which reduces it to just X). To work around this, we
|
||||
# always add a 0 to one digit update versions.
|
||||
if test "${#JDK_UPDATE_VERSION}" = "1"; then
|
||||
JDK_UPDATE_VERSION="0${JDK_UPDATE_VERSION}"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
|
||||
|
@ -166,8 +166,8 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
|
||||
$1="$PROPER_COMPILER_$1"
|
||||
else
|
||||
AC_MSG_RESULT([no, keeping $1])
|
||||
$1="$TEST_COMPILER"
|
||||
fi
|
||||
|
||||
TOOLCHAIN_CHECK_COMPILER_VERSION([$1], [$COMPILER_NAME])
|
||||
])
|
||||
|
||||
|
@ -243,3 +243,4 @@ d6820a414f182a011a53a29a52370c696cd58dab jdk8-b118
|
||||
379fc7609beb7a3d85ebc0cc21a8a51c60d3c7d3 jdk8-b119
|
||||
53fd772d28c8a9f0f43adfc06f75f6b3cfa93cb5 jdk8-b120
|
||||
a7d3638deb2f4e33217b1ecf889479e90f9e5b50 jdk9-b00
|
||||
79a8136b18c1c6848f500088f5a4b39f262f082d jdk9-b01
|
||||
|
@ -82,11 +82,18 @@ public class AnyImpl extends Any
|
||||
super((ORB)orb);
|
||||
}
|
||||
|
||||
public org.omg.CORBA.portable.InputStream create_input_stream()
|
||||
{
|
||||
return new AnyInputStream(
|
||||
(com.sun.corba.se.impl.encoding.EncapsInputStream)
|
||||
super.create_input_stream());
|
||||
public org.omg.CORBA.portable.InputStream create_input_stream() {
|
||||
final org.omg.CORBA.portable.InputStream is = super
|
||||
.create_input_stream();
|
||||
AnyInputStream aIS = AccessController
|
||||
.doPrivileged(new PrivilegedAction<AnyInputStream>() {
|
||||
@Override
|
||||
public AnyInputStream run() {
|
||||
return new AnyInputStream(
|
||||
(com.sun.corba.se.impl.encoding.EncapsInputStream) is);
|
||||
}
|
||||
});
|
||||
return aIS;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,11 +36,10 @@ import com.sun.corba.se.impl.encoding.OSFCodeSetRegistry;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
|
||||
|
||||
import com.sun.corba.se.spi.orb.ORB;
|
||||
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
|
||||
import com.sun.corba.se.impl.logging.ORBUtilSystemException;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
/**
|
||||
* Encapsulations are supposed to explicitly define their
|
||||
* code sets and GIOP version. The original resolution to issue 2784
|
||||
@ -148,7 +147,7 @@ public class EncapsInputStream extends CDRInputStream
|
||||
}
|
||||
|
||||
public CDRInputStream dup() {
|
||||
return new EncapsInputStream(this);
|
||||
return EncapsInputStreamFactory.newEncapsInputStream(this);
|
||||
}
|
||||
|
||||
protected CodeSetConversion.BTCConverter createCharBTCConverter() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -39,6 +39,8 @@ import com.sun.corba.se.impl.encoding.BufferManagerFactory;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
|
||||
import com.sun.corba.se.impl.orbutil.ORBConstants;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
/**
|
||||
* Encapsulations are supposed to explicitly define their
|
||||
* code sets and GIOP version. The original resolution to issue 2784
|
||||
@ -107,11 +109,11 @@ public class EncapsOutputStream extends CDROutputStream
|
||||
public org.omg.CORBA.portable.InputStream create_input_stream() {
|
||||
freeInternalCaches();
|
||||
|
||||
return new EncapsInputStream(orb(),
|
||||
getByteBuffer(),
|
||||
getSize(),
|
||||
isLittleEndian(),
|
||||
getGIOPVersion());
|
||||
return EncapsInputStreamFactory.newEncapsInputStream(orb(),
|
||||
getByteBuffer(),
|
||||
getSize(),
|
||||
isLittleEndian(),
|
||||
getGIOPVersion());
|
||||
}
|
||||
|
||||
protected CodeSetConversion.CTBConverter createCharCTBConverter() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -64,6 +64,8 @@ import com.sun.corba.se.impl.encoding.CDRInputStream;
|
||||
import com.sun.corba.se.impl.encoding.CDROutputStream;
|
||||
import com.sun.corba.se.impl.encoding.MarshalInputStream;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
public class TypeCodeInputStream extends EncapsInputStream implements TypeCodeReader
|
||||
{
|
||||
private Map typeMap = null;
|
||||
@ -157,11 +159,13 @@ public class TypeCodeInputStream extends EncapsInputStream implements TypeCodeRe
|
||||
|
||||
// create an encapsulation using the marshal buffer
|
||||
if (is instanceof CDRInputStream) {
|
||||
encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length,
|
||||
((CDRInputStream)is).isLittleEndian(),
|
||||
((CDRInputStream)is).getGIOPVersion());
|
||||
encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb,
|
||||
encapBuffer, encapBuffer.length,
|
||||
((CDRInputStream) is).isLittleEndian(),
|
||||
((CDRInputStream) is).getGIOPVersion());
|
||||
} else {
|
||||
encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length);
|
||||
encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb,
|
||||
encapBuffer, encapBuffer.length);
|
||||
}
|
||||
encap.setEnclosingInputStream(is);
|
||||
encap.makeEncapsulation();
|
||||
|
@ -61,6 +61,8 @@ import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
public final class TypeCodeOutputStream extends EncapsOutputStream
|
||||
{
|
||||
private OutputStream enclosure = null;
|
||||
@ -77,9 +79,9 @@ public final class TypeCodeOutputStream extends EncapsOutputStream
|
||||
|
||||
public org.omg.CORBA.portable.InputStream create_input_stream()
|
||||
{
|
||||
//return new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian());
|
||||
TypeCodeInputStream tcis
|
||||
= new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian(), getGIOPVersion());
|
||||
TypeCodeInputStream tcis = EncapsInputStreamFactory
|
||||
.newTypeCodeInputStream((ORB) orb(), getByteBuffer(),
|
||||
getIndex(), isLittleEndian(), getGIOPVersion());
|
||||
//if (TypeCodeImpl.debug) {
|
||||
//System.out.println("Created TypeCodeInputStream " + tcis + " with no parent");
|
||||
//tcis.printBuffer();
|
||||
|
@ -33,6 +33,8 @@ import org.omg.CORBA.LocalObject;
|
||||
import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
|
||||
import com.sun.corba.se.spi.logging.CORBALogDomains;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
import com.sun.corba.se.impl.corba.AnyImpl;
|
||||
import com.sun.corba.se.impl.encoding.EncapsInputStream;
|
||||
import com.sun.corba.se.impl.encoding.EncapsOutputStream;
|
||||
@ -193,8 +195,9 @@ public final class CDREncapsCodec
|
||||
// it is turned into a FormatMismatch exception.
|
||||
|
||||
try {
|
||||
EncapsInputStream cdrIn = new EncapsInputStream( orb, data,
|
||||
data.length, giopVersion );
|
||||
EncapsInputStream cdrIn = EncapsInputStreamFactory.newEncapsInputStream( orb, data,
|
||||
data.length, giopVersion );
|
||||
|
||||
|
||||
cdrIn.consumeEndian();
|
||||
|
||||
|
@ -370,7 +370,7 @@ public class IIOPInputStream
|
||||
* @exception IOException Any of the usual Input/Output related exceptions.
|
||||
* @since JDK1.1
|
||||
*/
|
||||
public final Object readObjectDelegate() throws IOException
|
||||
public final synchronized Object readObjectDelegate() throws IOException
|
||||
{
|
||||
try {
|
||||
|
||||
@ -389,7 +389,7 @@ public class IIOPInputStream
|
||||
}
|
||||
}
|
||||
|
||||
final Object simpleReadObject(Class clz,
|
||||
final synchronized Object simpleReadObject(Class clz,
|
||||
String repositoryID,
|
||||
com.sun.org.omg.SendingContext.CodeBase sender,
|
||||
int offset)
|
||||
@ -461,7 +461,7 @@ public class IIOPInputStream
|
||||
return obj;
|
||||
}
|
||||
|
||||
public final void simpleSkipObject(String repositoryID,
|
||||
public final synchronized void simpleSkipObject(String repositoryID,
|
||||
com.sun.org.omg.SendingContext.CodeBase sender)
|
||||
/* throws OptionalDataException, ClassNotFoundException, IOException */
|
||||
{
|
||||
@ -559,7 +559,7 @@ public class IIOPInputStream
|
||||
* objects.
|
||||
* @since JDK1.1
|
||||
*/
|
||||
public final void defaultReadObjectDelegate()
|
||||
final synchronized void defaultReadObjectDelegate()
|
||||
/* throws IOException, ClassNotFoundException, NotActiveException */
|
||||
{
|
||||
try {
|
||||
@ -988,7 +988,7 @@ public class IIOPInputStream
|
||||
}
|
||||
}
|
||||
|
||||
private Object inputObject(Class clz,
|
||||
private synchronized Object inputObject(Class clz,
|
||||
String repositoryID,
|
||||
com.sun.org.omg.SendingContext.CodeBase sender,
|
||||
int offset)
|
||||
@ -1317,7 +1317,7 @@ public class IIOPInputStream
|
||||
* a form of custom marshaling.
|
||||
*
|
||||
*/
|
||||
private Object inputObjectUsingFVD(Class clz,
|
||||
private synchronized Object inputObjectUsingFVD(Class clz,
|
||||
String repositoryID,
|
||||
com.sun.org.omg.SendingContext.CodeBase sender,
|
||||
int offset)
|
||||
|
@ -201,7 +201,7 @@ public abstract class InputStreamHook extends ObjectInputStream
|
||||
readObjectState.endDefaultReadObject(this);
|
||||
}
|
||||
|
||||
public abstract void defaultReadObjectDelegate();
|
||||
abstract void defaultReadObjectDelegate();
|
||||
|
||||
abstract void readFields(java.util.Map fieldToValueMap)
|
||||
throws java.io.InvalidClassException, java.io.StreamCorruptedException,
|
||||
|
@ -47,6 +47,8 @@ import com.sun.corba.se.impl.encoding.CDROutputStream ;
|
||||
import com.sun.corba.se.impl.encoding.EncapsOutputStream ;
|
||||
import com.sun.corba.se.impl.encoding.EncapsInputStream ;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
/**
|
||||
* This static utility class contains various utility methods for reading and
|
||||
* writing CDR encapsulations.
|
||||
@ -108,8 +110,8 @@ public class EncapsulationUtility
|
||||
static public InputStream getEncapsulationStream( InputStream is )
|
||||
{
|
||||
byte[] data = readOctets( is ) ;
|
||||
EncapsInputStream result = new EncapsInputStream( is.orb(), data,
|
||||
data.length ) ;
|
||||
EncapsInputStream result = EncapsInputStreamFactory.newEncapsInputStream( is.orb(), data,
|
||||
data.length ) ;
|
||||
result.consumeEndian() ;
|
||||
return result ;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -49,6 +49,8 @@ import com.sun.corba.se.impl.ior.ObjectKeyImpl ;
|
||||
import com.sun.corba.se.impl.logging.IORSystemException ;
|
||||
|
||||
import com.sun.corba.se.impl.encoding.EncapsInputStream ;
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
|
||||
/** Based on the magic and scid, return the appropriate
|
||||
* ObjectKeyTemplate. Expects to be called with a valid
|
||||
@ -217,7 +219,7 @@ public class ObjectKeyFactoryImpl implements ObjectKeyFactory
|
||||
public ObjectKey create( byte[] key )
|
||||
{
|
||||
OctetSeqHolder osh = new OctetSeqHolder() ;
|
||||
EncapsInputStream is = new EncapsInputStream( orb, key, key.length ) ;
|
||||
EncapsInputStream is = EncapsInputStreamFactory.newEncapsInputStream( orb, key, key.length );
|
||||
|
||||
ObjectKeyTemplate oktemp = create( is, fullKey, osh ) ;
|
||||
if (oktemp == null)
|
||||
|
@ -70,6 +70,8 @@ import com.sun.corba.se.impl.ior.EncapsulationUtility ;
|
||||
import com.sun.corba.se.impl.encoding.EncapsInputStream ;
|
||||
import com.sun.corba.se.impl.encoding.EncapsOutputStream ;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
import com.sun.corba.se.impl.util.JDKBridge;
|
||||
|
||||
import com.sun.corba.se.impl.logging.IORSystemException;
|
||||
@ -170,8 +172,8 @@ public class IIOPProfileImpl extends IdentifiableBase implements IIOPProfile
|
||||
throw wrapper.invalidTaggedProfile() ;
|
||||
}
|
||||
|
||||
EncapsInputStream istr = new EncapsInputStream((ORB)orb, profile.profile_data,
|
||||
profile.profile_data.length);
|
||||
EncapsInputStream istr = EncapsInputStreamFactory.newEncapsInputStream((ORB)orb, profile.profile_data,
|
||||
profile.profile_data.length);
|
||||
istr.consumeEndian();
|
||||
init( istr ) ;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013 Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,6 +25,7 @@
|
||||
|
||||
package com.sun.corba.se.impl.presentation.rmi ;
|
||||
|
||||
import java.io.SerializablePermission;
|
||||
import java.lang.reflect.InvocationHandler ;
|
||||
import java.lang.reflect.Proxy ;
|
||||
|
||||
@ -38,11 +39,18 @@ public abstract class StubFactoryDynamicBase extends StubFactoryBase
|
||||
{
|
||||
protected final ClassLoader loader ;
|
||||
|
||||
public StubFactoryDynamicBase( PresentationManager.ClassData classData,
|
||||
ClassLoader loader )
|
||||
{
|
||||
super( classData ) ;
|
||||
private static Void checkPermission() {
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
if (sm != null) {
|
||||
sm.checkPermission(new SerializablePermission(
|
||||
"enableSubclassImplementation"));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private StubFactoryDynamicBase(Void unused,
|
||||
PresentationManager.ClassData classData, ClassLoader loader) {
|
||||
super(classData);
|
||||
// this.loader must not be null, or the newProxyInstance call
|
||||
// will fail.
|
||||
if (loader == null) {
|
||||
@ -55,5 +63,11 @@ public abstract class StubFactoryDynamicBase extends StubFactoryBase
|
||||
}
|
||||
}
|
||||
|
||||
public StubFactoryDynamicBase( PresentationManager.ClassData classData,
|
||||
ClassLoader loader )
|
||||
{
|
||||
this (checkPermission(), classData, loader);
|
||||
}
|
||||
|
||||
public abstract org.omg.CORBA.Object makeStub() ;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,14 +25,22 @@
|
||||
|
||||
package com.sun.corba.se.impl.presentation.rmi;
|
||||
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import com.sun.corba.se.spi.presentation.rmi.PresentationManager ;
|
||||
|
||||
public class StubFactoryFactoryProxyImpl extends StubFactoryFactoryDynamicBase
|
||||
{
|
||||
public PresentationManager.StubFactory makeDynamicStubFactory(
|
||||
PresentationManager pm, PresentationManager.ClassData classData,
|
||||
ClassLoader classLoader )
|
||||
PresentationManager pm, final PresentationManager.ClassData classData,
|
||||
final ClassLoader classLoader )
|
||||
{
|
||||
return new StubFactoryProxyImpl( classData, classLoader ) ;
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<StubFactoryProxyImpl>() {
|
||||
@Override
|
||||
public StubFactoryProxyImpl run() {
|
||||
return new StubFactoryProxyImpl(classData, classLoader);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -115,6 +115,7 @@ import com.sun.corba.se.impl.util.JDKBridge;
|
||||
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
/**
|
||||
* ClientDelegate is the RMI client-side subcontract or representation
|
||||
@ -847,8 +848,8 @@ public class CorbaClientRequestDispatcherImpl
|
||||
}
|
||||
byte[] data = ((UnknownServiceContext)sc).getData();
|
||||
EncapsInputStream in =
|
||||
new EncapsInputStream((ORB)messageMediator.getBroker(),
|
||||
data, data.length);
|
||||
EncapsInputStreamFactory.newEncapsInputStream((ORB)messageMediator.getBroker(),
|
||||
data, data.length);
|
||||
in.consumeEndian();
|
||||
|
||||
String msg =
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,7 +36,8 @@ import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
import java.rmi.RemoteException;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import javax.rmi.CORBA.Util;
|
||||
import javax.rmi.CORBA.Tie;
|
||||
|
||||
@ -111,6 +112,7 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.KeyAddr;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.ProfileAddr;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr;
|
||||
import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
|
||||
import com.sun.corba.se.impl.util.JDKBridge;
|
||||
|
||||
/**
|
||||
@ -156,10 +158,17 @@ public class SharedCDRClientRequestDispatcherImpl
|
||||
|
||||
ByteBufferWithInfo bbwi = cdrOutputObject.getByteBufferWithInfo();
|
||||
cdrOutputObject.getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());
|
||||
|
||||
CDRInputObject cdrInputObject =
|
||||
new CDRInputObject(orb, null, bbwi.byteBuffer,
|
||||
cdrOutputObject.getMessageHeader());
|
||||
final ORB inOrb = orb;
|
||||
final ByteBuffer inBuffer = bbwi.byteBuffer;
|
||||
final Message inMsg = cdrOutputObject.getMessageHeader();
|
||||
CDRInputObject cdrInputObject = AccessController
|
||||
.doPrivileged(new PrivilegedAction<CDRInputObject>() {
|
||||
@Override
|
||||
public CDRInputObject run() {
|
||||
return new CDRInputObject(inOrb, null, inBuffer,
|
||||
inMsg);
|
||||
}
|
||||
});
|
||||
messageMediator.setInputObject(cdrInputObject);
|
||||
cdrInputObject.setMessageMediator(messageMediator);
|
||||
|
||||
@ -192,9 +201,17 @@ public class SharedCDRClientRequestDispatcherImpl
|
||||
cdrOutputObject = (CDROutputObject) messageMediator.getOutputObject();
|
||||
bbwi = cdrOutputObject.getByteBufferWithInfo();
|
||||
cdrOutputObject.getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize());
|
||||
cdrInputObject =
|
||||
new CDRInputObject(orb, null, bbwi.byteBuffer,
|
||||
cdrOutputObject.getMessageHeader());
|
||||
final ORB inOrb2 = orb;
|
||||
final ByteBuffer inBuffer2 = bbwi.byteBuffer;
|
||||
final Message inMsg2 = cdrOutputObject.getMessageHeader();
|
||||
cdrInputObject = AccessController
|
||||
.doPrivileged(new PrivilegedAction<CDRInputObject>() {
|
||||
@Override
|
||||
public CDRInputObject run() {
|
||||
return new CDRInputObject(inOrb2, null, inBuffer2,
|
||||
inMsg2);
|
||||
}
|
||||
});
|
||||
messageMediator.setInputObject(cdrInputObject);
|
||||
cdrInputObject.setMessageMediator(messageMediator);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,6 +36,8 @@ import java.util.Collections ;
|
||||
import org.omg.CosNaming.NamingContextExt ;
|
||||
import org.omg.CosNaming.NamingContextExtHelper ;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
import com.sun.corba.se.spi.ior.IOR;
|
||||
import com.sun.corba.se.spi.ior.IORTemplate;
|
||||
import com.sun.corba.se.spi.ior.ObjectKey;
|
||||
@ -114,8 +116,8 @@ public class INSURLOperationImpl implements Operation
|
||||
buf[j] = (byte)((ORBUtility.hexOf(str.charAt(i)) << UN_SHIFT) & 0xF0);
|
||||
buf[j] |= (byte)(ORBUtility.hexOf(str.charAt(i+1)) & 0x0F);
|
||||
}
|
||||
EncapsInputStream s = new EncapsInputStream(orb, buf, buf.length,
|
||||
orb.getORBData().getGIOPVersion());
|
||||
EncapsInputStream s = EncapsInputStreamFactory.newEncapsInputStream(orb, buf, buf.length,
|
||||
orb.getORBData().getGIOPVersion());
|
||||
s.consumeEndian();
|
||||
return s.read_Object() ;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -58,6 +58,9 @@ import com.sun.corba.se.impl.orbutil.ORBUtility ;
|
||||
import com.sun.corba.se.impl.util.Utility ;
|
||||
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
|
||||
|
||||
import sun.corba.EncapsInputStreamFactory;
|
||||
|
||||
|
||||
public class ServiceContexts {
|
||||
private static boolean isDebugging( OutputStream os )
|
||||
{
|
||||
@ -198,11 +201,11 @@ public class ServiceContexts {
|
||||
// Note: As of Jan 2001, no standard OMG or Sun service contexts
|
||||
// ship wchar data or are defined as using anything but GIOP 1.0 CDR.
|
||||
EncapsInputStream eis
|
||||
= new EncapsInputStream(orb,
|
||||
data,
|
||||
data.length,
|
||||
giopVersion,
|
||||
codeBase);
|
||||
= EncapsInputStreamFactory.newEncapsInputStream(orb,
|
||||
data,
|
||||
data.length,
|
||||
giopVersion,
|
||||
codeBase);
|
||||
eis.consumeEndian();
|
||||
|
||||
// Now the input stream passed to a ServiceContext
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -31,6 +31,10 @@
|
||||
|
||||
package org.omg.CORBA_2_3.portable;
|
||||
|
||||
import java.io.SerializablePermission;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
/**
|
||||
* InputStream provides for the reading of all of the mapped IDL types
|
||||
* from the stream. It extends org.omg.CORBA.portable.InputStream. This
|
||||
@ -43,6 +47,43 @@ package org.omg.CORBA_2_3.portable;
|
||||
|
||||
public abstract class InputStream extends org.omg.CORBA.portable.InputStream {
|
||||
|
||||
|
||||
private static final String ALLOW_SUBCLASS_PROP = "jdk.corba.allowInputStreamSubclass";
|
||||
|
||||
private static final boolean allowSubclass = AccessController.doPrivileged(
|
||||
new PrivilegedAction<Boolean>() {
|
||||
@Override
|
||||
public Boolean run() {
|
||||
String prop = System.getProperty(ALLOW_SUBCLASS_PROP);
|
||||
return prop == null ? false :
|
||||
(prop.equalsIgnoreCase("false") ? false : true);
|
||||
}
|
||||
});
|
||||
|
||||
private static Void checkPermission() {
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
if (sm != null) {
|
||||
if (!allowSubclass)
|
||||
sm.checkPermission(new
|
||||
SerializablePermission("enableSubclassImplementation"));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private InputStream(Void ignore) { }
|
||||
|
||||
/**
|
||||
* Create a new instance of this class.
|
||||
*
|
||||
* throw SecurityException if SecurityManager is installed and
|
||||
* enableSubclassImplementation SerializablePermission
|
||||
* is not granted or jdk.corba.allowOutputStreamSubclass system
|
||||
* property is either not set or is set to 'false'
|
||||
*/
|
||||
public InputStream() {
|
||||
this(checkPermission());
|
||||
}
|
||||
|
||||
/**
|
||||
* Unmarshalls a value type from the input stream.
|
||||
* @return the value type unmarshalled from the input stream
|
||||
|
153
corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java
Normal file
153
corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java
Normal file
@ -0,0 +1,153 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation. Oracle designates this
|
||||
* particular file as subject to the "Classpath" exception as provided
|
||||
* by Oracle in the LICENSE file that accompanied this code.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
package sun.corba;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
|
||||
import com.sun.corba.se.impl.encoding.EncapsInputStream;
|
||||
import com.sun.corba.se.impl.encoding.TypeCodeInputStream;
|
||||
import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;
|
||||
import com.sun.corba.se.pept.protocol.MessageMediator;
|
||||
import com.sun.corba.se.spi.ior.iiop.GIOPVersion;
|
||||
import com.sun.corba.se.spi.orb.ORB;
|
||||
import com.sun.org.omg.SendingContext.CodeBase;
|
||||
|
||||
public class EncapsInputStreamFactory {
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] buf, final int size,
|
||||
final boolean littleEndian, final GIOPVersion version) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(orb, buf, size,
|
||||
littleEndian, version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final org.omg.CORBA.ORB orb, final ByteBuffer byteBuffer,
|
||||
final int size, final boolean littleEndian,
|
||||
final GIOPVersion version) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(orb, byteBuffer, size,
|
||||
littleEndian, version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] data, final int size) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(orb, data, size);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final EncapsInputStream eis) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(eis);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] data, final int size,
|
||||
final GIOPVersion version) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(orb, data, size, version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static EncapsInputStream newEncapsInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] data, final int size,
|
||||
final GIOPVersion version, final CodeBase codeBase) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<EncapsInputStream>() {
|
||||
@Override
|
||||
public EncapsInputStream run() {
|
||||
return new EncapsInputStream(orb, data, size, version,
|
||||
codeBase);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static TypeCodeInputStream newTypeCodeInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] buf, final int size,
|
||||
final boolean littleEndian, final GIOPVersion version) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<TypeCodeInputStream>() {
|
||||
@Override
|
||||
public TypeCodeInputStream run() {
|
||||
return new TypeCodeInputStream(orb, buf, size,
|
||||
littleEndian, version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static TypeCodeInputStream newTypeCodeInputStream(
|
||||
final org.omg.CORBA.ORB orb, final ByteBuffer byteBuffer,
|
||||
final int size, final boolean littleEndian,
|
||||
final GIOPVersion version) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<TypeCodeInputStream>() {
|
||||
@Override
|
||||
public TypeCodeInputStream run() {
|
||||
return new TypeCodeInputStream(orb, byteBuffer, size,
|
||||
littleEndian, version);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static TypeCodeInputStream newTypeCodeInputStream(
|
||||
final org.omg.CORBA.ORB orb, final byte[] data, final int size) {
|
||||
return AccessController
|
||||
.doPrivileged(new PrivilegedAction<TypeCodeInputStream>() {
|
||||
@Override
|
||||
public TypeCodeInputStream run() {
|
||||
return new TypeCodeInputStream(orb, data, size);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -403,3 +403,4 @@ ce42d815dd2130250acf6132b51b624001638f0d jdk8-b119
|
||||
05fedd51e40da22c9460bf17c7185889e435db3d hs25-b62
|
||||
fca262db9c4309f99d2f5542ab0780e45c2f1578 jdk8-b120
|
||||
ce2d7e46f3c7e41241f3b407705a4071323a11ab jdk9-b00
|
||||
050a626a88951140df874f7b163e304d07b6c296 jdk9-b01
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -214,8 +214,10 @@ static int open_file_from_debug_link(const char *name,
|
||||
+ 2);
|
||||
strcpy(debug_pathname, name);
|
||||
char *last_slash = strrchr(debug_pathname, '/');
|
||||
if (last_slash == NULL)
|
||||
if (last_slash == NULL) {
|
||||
free(debug_pathname);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Look in the same directory as the object. */
|
||||
strcpy(last_slash+1, debug_filename);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -95,9 +95,15 @@ public class ciEnv extends VMObject {
|
||||
int entryBci = task.osrBci();
|
||||
int compLevel = task.compLevel();
|
||||
Klass holder = method.getMethodHolder();
|
||||
out.println("compile " + holder.getName().asString() + " " +
|
||||
OopUtilities.escapeString(method.getName().asString()) + " " +
|
||||
method.getSignature().asString() + " " +
|
||||
entryBci + " " + compLevel);
|
||||
out.print("compile " + holder.getName().asString() + " " +
|
||||
OopUtilities.escapeString(method.getName().asString()) + " " +
|
||||
method.getSignature().asString() + " " +
|
||||
entryBci + " " + compLevel);
|
||||
Compile compiler = compilerData();
|
||||
if (compiler != null) {
|
||||
// Dump inlining data.
|
||||
compiler.dumpInlineData(out);
|
||||
}
|
||||
out.println();
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -24,19 +24,29 @@
|
||||
|
||||
package sun.jvm.hotspot.jdi;
|
||||
|
||||
import com.sun.jdi.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import sun.jvm.hotspot.oops.ArrayKlass;
|
||||
import sun.jvm.hotspot.oops.InstanceKlass;
|
||||
import sun.jvm.hotspot.oops.ObjArrayKlass;
|
||||
import sun.jvm.hotspot.oops.TypeArrayKlass;
|
||||
import sun.jvm.hotspot.oops.Klass;
|
||||
import sun.jvm.hotspot.oops.Instance;
|
||||
import sun.jvm.hotspot.oops.InstanceKlass;
|
||||
import sun.jvm.hotspot.oops.Klass;
|
||||
import sun.jvm.hotspot.oops.ObjArrayKlass;
|
||||
import sun.jvm.hotspot.oops.Symbol;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import sun.jvm.hotspot.oops.TypeArrayKlass;
|
||||
|
||||
import com.sun.jdi.ArrayReference;
|
||||
import com.sun.jdi.ArrayType;
|
||||
import com.sun.jdi.ClassLoaderReference;
|
||||
import com.sun.jdi.ClassNotLoadedException;
|
||||
import com.sun.jdi.InterfaceType;
|
||||
import com.sun.jdi.Method;
|
||||
import com.sun.jdi.PrimitiveType;
|
||||
import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.Type;
|
||||
import com.sun.jdi.VirtualMachine;
|
||||
|
||||
public class ArrayTypeImpl extends ReferenceTypeImpl implements ArrayType {
|
||||
protected ArrayTypeImpl(VirtualMachine aVm, ArrayKlass aRef) {
|
||||
@ -75,7 +85,8 @@ public class ArrayTypeImpl extends ReferenceTypeImpl implements ArrayType {
|
||||
}
|
||||
}
|
||||
|
||||
void addVisibleMethods(Map methodMap) {
|
||||
@Override
|
||||
void addVisibleMethods(Map<String, Method> methodMap, Set<InterfaceType> handledInterfaces) {
|
||||
// arrays don't have methods
|
||||
}
|
||||
|
||||
|
@ -24,12 +24,30 @@
|
||||
|
||||
package sun.jvm.hotspot.jdi;
|
||||
|
||||
import com.sun.jdi.*;
|
||||
import sun.jvm.hotspot.oops.Klass;
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import sun.jvm.hotspot.oops.InstanceKlass;
|
||||
|
||||
import java.util.*;
|
||||
import java.lang.ref.SoftReference;
|
||||
import com.sun.jdi.ClassNotLoadedException;
|
||||
import com.sun.jdi.ClassType;
|
||||
import com.sun.jdi.Field;
|
||||
import com.sun.jdi.IncompatibleThreadStateException;
|
||||
import com.sun.jdi.InterfaceType;
|
||||
import com.sun.jdi.InvalidTypeException;
|
||||
import com.sun.jdi.InvocationException;
|
||||
import com.sun.jdi.Method;
|
||||
import com.sun.jdi.ObjectReference;
|
||||
import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.ThreadReference;
|
||||
import com.sun.jdi.Value;
|
||||
import com.sun.jdi.VirtualMachine;
|
||||
|
||||
public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
implements ClassType
|
||||
@ -195,22 +213,26 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
return null;
|
||||
}
|
||||
|
||||
void addVisibleMethods(Map methodMap) {
|
||||
@Override
|
||||
void addVisibleMethods(Map<String, Method> methodMap, Set<InterfaceType> seenInterfaces) {
|
||||
/*
|
||||
* Add methods from
|
||||
* parent types first, so that the methods in this class will
|
||||
* overwrite them in the hash table
|
||||
*/
|
||||
|
||||
Iterator iter = interfaces().iterator();
|
||||
Iterator<InterfaceType> iter = interfaces().iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceTypeImpl interfaze = (InterfaceTypeImpl)iter.next();
|
||||
interfaze.addVisibleMethods(methodMap);
|
||||
if (!seenInterfaces.contains(interfaze)) {
|
||||
interfaze.addVisibleMethods(methodMap, seenInterfaces);
|
||||
seenInterfaces.add(interfaze);
|
||||
}
|
||||
}
|
||||
|
||||
ClassTypeImpl clazz = (ClassTypeImpl)superclass();
|
||||
if (clazz != null) {
|
||||
clazz.addVisibleMethods(methodMap);
|
||||
clazz.addVisibleMethods(methodMap, seenInterfaces);
|
||||
}
|
||||
|
||||
addToMethodMap(methodMap, methods());
|
||||
|
@ -24,15 +24,22 @@
|
||||
|
||||
package sun.jvm.hotspot.jdi;
|
||||
|
||||
import com.sun.jdi.*;
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import sun.jvm.hotspot.oops.InstanceKlass;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Map;
|
||||
import java.util.Iterator;
|
||||
import java.util.Collections;
|
||||
import java.lang.ref.SoftReference;
|
||||
import com.sun.jdi.ClassNotPreparedException;
|
||||
import com.sun.jdi.ClassType;
|
||||
import com.sun.jdi.InterfaceType;
|
||||
import com.sun.jdi.Method;
|
||||
import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.VirtualMachine;
|
||||
|
||||
public class InterfaceTypeImpl extends ReferenceTypeImpl
|
||||
implements InterfaceType {
|
||||
@ -96,16 +103,20 @@ public class InterfaceTypeImpl extends ReferenceTypeImpl
|
||||
return implementors;
|
||||
}
|
||||
|
||||
void addVisibleMethods(Map methodMap) {
|
||||
@Override
|
||||
void addVisibleMethods(Map<String, Method> methodMap, Set<InterfaceType> seenInterfaces) {
|
||||
/*
|
||||
* Add methods from
|
||||
* parent types first, so that the methods in this class will
|
||||
* overwrite them in the hash table
|
||||
*/
|
||||
Iterator iter = superinterfaces().iterator();
|
||||
Iterator<InterfaceType> iter = superinterfaces().iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceTypeImpl interfaze = (InterfaceTypeImpl)iter.next();
|
||||
interfaze.addVisibleMethods(methodMap);
|
||||
if (!seenInterfaces.contains(interfaze)) {
|
||||
interfaze.addVisibleMethods(methodMap, seenInterfaces);
|
||||
seenInterfaces.add(interfaze);
|
||||
}
|
||||
}
|
||||
|
||||
addToMethodMap(methodMap, methods());
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -24,24 +24,45 @@
|
||||
|
||||
package sun.jvm.hotspot.jdi;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import com.sun.jdi.*;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.lang.ref.SoftReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import sun.jvm.hotspot.memory.SystemDictionary;
|
||||
import sun.jvm.hotspot.oops.ArrayKlass;
|
||||
import sun.jvm.hotspot.oops.DefaultHeapVisitor;
|
||||
import sun.jvm.hotspot.oops.Instance;
|
||||
import sun.jvm.hotspot.oops.InstanceKlass;
|
||||
import sun.jvm.hotspot.oops.ArrayKlass;
|
||||
import sun.jvm.hotspot.oops.JVMDIClassStatus;
|
||||
import sun.jvm.hotspot.oops.Klass;
|
||||
import sun.jvm.hotspot.oops.ObjArray;
|
||||
import sun.jvm.hotspot.oops.Oop;
|
||||
import sun.jvm.hotspot.oops.Symbol;
|
||||
import sun.jvm.hotspot.oops.DefaultHeapVisitor;
|
||||
import sun.jvm.hotspot.utilities.Assert;
|
||||
|
||||
import java.util.*;
|
||||
import java.lang.ref.SoftReference;
|
||||
import com.sun.jdi.AbsentInformationException;
|
||||
import com.sun.jdi.ArrayType;
|
||||
import com.sun.jdi.ClassLoaderReference;
|
||||
import com.sun.jdi.ClassNotLoadedException;
|
||||
import com.sun.jdi.ClassNotPreparedException;
|
||||
import com.sun.jdi.ClassObjectReference;
|
||||
import com.sun.jdi.Field;
|
||||
import com.sun.jdi.InterfaceType;
|
||||
import com.sun.jdi.Method;
|
||||
import com.sun.jdi.ObjectReference;
|
||||
import com.sun.jdi.PrimitiveType;
|
||||
import com.sun.jdi.ReferenceType;
|
||||
import com.sun.jdi.Type;
|
||||
import com.sun.jdi.Value;
|
||||
import com.sun.jdi.VirtualMachine;
|
||||
|
||||
public abstract class ReferenceTypeImpl extends TypeImpl
|
||||
implements ReferenceType {
|
||||
@ -421,7 +442,8 @@ implements ReferenceType {
|
||||
}
|
||||
}
|
||||
|
||||
abstract void addVisibleMethods(Map methodMap);
|
||||
abstract void addVisibleMethods(Map<String, Method> methodMap, Set<InterfaceType> seenInterfaces);
|
||||
|
||||
public final List visibleMethods() throws ClassNotPreparedException {
|
||||
checkPrepared();
|
||||
/*
|
||||
@ -430,8 +452,8 @@ implements ReferenceType {
|
||||
* concatenation of name and signature.
|
||||
*/
|
||||
//System.out.println("jj: RTI: Calling addVisibleMethods for:" + this);
|
||||
Map map = new HashMap();
|
||||
addVisibleMethods(map);
|
||||
Map<String, Method> map = new HashMap<String, Method>();
|
||||
addVisibleMethods(map, new HashSet<InterfaceType>());
|
||||
|
||||
/*
|
||||
* ... but the hash map destroys order. Methods should be
|
||||
@ -441,7 +463,7 @@ implements ReferenceType {
|
||||
*/
|
||||
//System.out.println("jj: RTI: Calling allMethods for:" + this);
|
||||
|
||||
List list = new ArrayList(allMethods());
|
||||
List<Method> list = new ArrayList<Method>(allMethods());
|
||||
//System.out.println("jj: allMethods = " + jjstr(list));
|
||||
//System.out.println("jj: map = " + map.toString());
|
||||
//System.out.println("jj: map = " + jjstr(map.values()));
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -364,7 +364,7 @@ public class ObjectHeap {
|
||||
}
|
||||
catch (AddressException e) {
|
||||
// This is okay at the top of these regions
|
||||
}
|
||||
}
|
||||
catch (UnknownOopException e) {
|
||||
// This is okay at the top of these regions
|
||||
}
|
||||
@ -373,7 +373,7 @@ public class ObjectHeap {
|
||||
visitor.epilogue();
|
||||
}
|
||||
|
||||
private void addLiveRegions(List input, List output) {
|
||||
private void addLiveRegions(String name, List input, List output) {
|
||||
for (Iterator itr = input.iterator(); itr.hasNext();) {
|
||||
MemRegion reg = (MemRegion) itr.next();
|
||||
Address top = reg.end();
|
||||
@ -386,6 +386,9 @@ public class ObjectHeap {
|
||||
}
|
||||
output.add(top);
|
||||
output.add(bottom);
|
||||
if (DEBUG) {
|
||||
System.err.println("Live region: " + name + ": " + bottom + ", " + top);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -395,7 +398,7 @@ public class ObjectHeap {
|
||||
}
|
||||
|
||||
public void doSpace(Space s) {
|
||||
addLiveRegions(s.getLiveRegions(), liveRegions);
|
||||
addLiveRegions(s.toString(), s.getLiveRegions(), liveRegions);
|
||||
}
|
||||
private List liveRegions;
|
||||
}
|
||||
@ -426,11 +429,11 @@ public class ObjectHeap {
|
||||
ParallelScavengeHeap psh = (ParallelScavengeHeap) heap;
|
||||
PSYoungGen youngGen = psh.youngGen();
|
||||
// Add eden space
|
||||
addLiveRegions(youngGen.edenSpace().getLiveRegions(), liveRegions);
|
||||
addLiveRegions("eden", youngGen.edenSpace().getLiveRegions(), liveRegions);
|
||||
// Add from-space but not to-space
|
||||
addLiveRegions(youngGen.fromSpace().getLiveRegions(), liveRegions);
|
||||
addLiveRegions("from", youngGen.fromSpace().getLiveRegions(), liveRegions);
|
||||
PSOldGen oldGen = psh.oldGen();
|
||||
addLiveRegions(oldGen.objectSpace().getLiveRegions(), liveRegions);
|
||||
addLiveRegions("old ", oldGen.objectSpace().getLiveRegions(), liveRegions);
|
||||
} else if (heap instanceof G1CollectedHeap) {
|
||||
G1CollectedHeap g1h = (G1CollectedHeap) heap;
|
||||
g1h.heapRegionIterate(lrc);
|
||||
@ -451,23 +454,27 @@ public class ObjectHeap {
|
||||
|
||||
if (VM.getVM().getUseTLAB()) {
|
||||
for (JavaThread thread = VM.getVM().getThreads().first(); thread != null; thread = thread.next()) {
|
||||
if (thread.isJavaThread()) {
|
||||
ThreadLocalAllocBuffer tlab = thread.tlab();
|
||||
if (tlab.start() != null) {
|
||||
if ((tlab.top() == null) || (tlab.end() == null)) {
|
||||
System.err.print("Warning: skipping invalid TLAB for thread ");
|
||||
ThreadLocalAllocBuffer tlab = thread.tlab();
|
||||
if (tlab.start() != null) {
|
||||
if ((tlab.top() == null) || (tlab.end() == null)) {
|
||||
System.err.print("Warning: skipping invalid TLAB for thread ");
|
||||
thread.printThreadIDOn(System.err);
|
||||
System.err.println();
|
||||
} else {
|
||||
if (DEBUG) {
|
||||
System.err.print("TLAB for " + thread.getThreadName() + ", #");
|
||||
thread.printThreadIDOn(System.err);
|
||||
System.err.println();
|
||||
} else {
|
||||
// Go from:
|
||||
// - below start() to start()
|
||||
// - start() to top()
|
||||
// - end() and above
|
||||
liveRegions.add(tlab.start());
|
||||
liveRegions.add(tlab.start());
|
||||
liveRegions.add(tlab.top());
|
||||
liveRegions.add(tlab.hardEnd());
|
||||
System.err.print(": ");
|
||||
tlab.printOn(System.err);
|
||||
}
|
||||
// Go from:
|
||||
// - below start() to start()
|
||||
// - start() to top()
|
||||
// - end() and above
|
||||
liveRegions.add(tlab.start());
|
||||
liveRegions.add(tlab.start());
|
||||
liveRegions.add(tlab.top());
|
||||
liveRegions.add(tlab.hardEnd());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -480,6 +487,15 @@ public class ObjectHeap {
|
||||
Assert.that(liveRegions.size() % 2 == 0, "Must have even number of region boundaries");
|
||||
}
|
||||
|
||||
if (DEBUG) {
|
||||
System.err.println("liveRegions:");
|
||||
for (int i = 0; i < liveRegions.size(); i += 2) {
|
||||
Address bottom = (Address) liveRegions.get(i);
|
||||
Address top = (Address) liveRegions.get(i+1);
|
||||
System.err.println(" " + bottom + " - " + top);
|
||||
}
|
||||
}
|
||||
|
||||
return liveRegions;
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
package sun.jvm.hotspot.opto;
|
||||
|
||||
import java.util.*;
|
||||
import java.io.PrintStream;
|
||||
import sun.jvm.hotspot.ci.*;
|
||||
import sun.jvm.hotspot.debugger.*;
|
||||
import sun.jvm.hotspot.runtime.*;
|
||||
@ -92,4 +93,13 @@ public class Compile extends VMObject {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void dumpInlineData(PrintStream out) {
|
||||
InlineTree inlTree = ilt();
|
||||
if (inlTree != null) {
|
||||
out.print(" inline " + inlTree.count());
|
||||
inlTree.dumpReplayData(out);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -87,6 +87,11 @@ public class InlineTree extends VMObject {
|
||||
return GrowableArray.create(addr, inlineTreeConstructor);
|
||||
}
|
||||
|
||||
public int inlineLevel() {
|
||||
JVMState jvms = callerJvms();
|
||||
return (jvms != null) ? jvms.depth() : 0;
|
||||
}
|
||||
|
||||
public void printImpl(PrintStream st, int indent) {
|
||||
for (int i = 0; i < indent; i++) st.print(" ");
|
||||
st.printf(" @ %d ", callerBci());
|
||||
@ -101,4 +106,28 @@ public class InlineTree extends VMObject {
|
||||
public void print(PrintStream st) {
|
||||
printImpl(st, 2);
|
||||
}
|
||||
|
||||
// Count number of nodes in this subtree
|
||||
public int count() {
|
||||
int result = 1;
|
||||
GrowableArray<InlineTree> subt = subtrees();
|
||||
for (int i = 0 ; i < subt.length(); i++) {
|
||||
result += subt.at(i).count();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void dumpReplayData(PrintStream out) {
|
||||
out.printf(" %d %d ", inlineLevel(), callerBci());
|
||||
Method method = (Method)method().getMetadata();
|
||||
Klass holder = method.getMethodHolder();
|
||||
out.print(holder.getName().asString() + " " +
|
||||
OopUtilities.escapeString(method.getName().asString()) + " " +
|
||||
method.getSignature().asString());
|
||||
|
||||
GrowableArray<InlineTree> subt = subtrees();
|
||||
for (int i = 0 ; i < subt.length(); i++) {
|
||||
subt.at(i).dumpReplayData(out);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -88,6 +88,10 @@ public class JVMState extends VMObject {
|
||||
return (int)bciField.getValue(getAddress());
|
||||
}
|
||||
|
||||
public int depth() {
|
||||
return (int)depthField.getValue(getAddress());
|
||||
}
|
||||
|
||||
public JVMState caller() {
|
||||
return create(callerField.getValue(getAddress()));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -109,6 +109,6 @@ public class ThreadLocalAllocBuffer extends VMObject {
|
||||
|
||||
public void printOn(PrintStream tty) {
|
||||
tty.println(" [" + start() + "," +
|
||||
top() + "," + end() + ")");
|
||||
top() + "," + end() + ",{" + hardEnd() + "})");
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -260,14 +260,13 @@ ifeq ($(USE_CLANG), true)
|
||||
WARNINGS_ARE_ERRORS += -Wno-empty-body
|
||||
endif
|
||||
|
||||
WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef
|
||||
WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value
|
||||
|
||||
ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
|
||||
ifeq ($(USE_CLANG),)
|
||||
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
|
||||
# conversions which might affect the values. Only enable it in earlier versions.
|
||||
WARNING_FLAGS = -Wunused-function
|
||||
ifeq ($(USE_CLANG),)
|
||||
WARNING_FLAGS += -Wconversion
|
||||
ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
|
||||
WARNINGS_FLAGS += -Wconversion
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -242,11 +242,6 @@
|
||||
_JVM_Yield
|
||||
_JVM_handle_bsd_signal
|
||||
|
||||
# debug _JVM
|
||||
_JVM_AccessVMBooleanFlag
|
||||
_JVM_AccessVMIntFlag
|
||||
_JVM_VMBreakPoint
|
||||
|
||||
# miscellaneous functions
|
||||
_jio_fprintf
|
||||
_jio_printf
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user