History log of /libcore/ojluni/src/main/java/java/io/ObjectStreamClass.java
Revision Date Author Comments
6c0b680f9b6737327f7305dc266e302e594bf70b 28-Sep-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port of java.io.[ILO]* classes from ojdk8

Javadoc/generic cosmetic changes
Functional changes in a separate cl

Test: cts run of CtsLibcoreTestCases
Bug: 31237296
Change-Id: I32b28d4c3f451058fcd2097924546916b5887417
da09aa47d3c5b5322a74331f0ebc993a0fc16447 22-Aug-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove ObjectStreamClass workarounds for API > 24

Commit 987c9cae27659c044ae474fa92d9f1c51ecba9e0 added
back private API that was abused by some apps. This change
makes
- ObjectStreamClass.getConstructorId(Class<?>)
- ObjectStreamClass.newInstance(Class<?>, long)
throw UnsupportedOperationException if called
with targetSdkVersion > 24.

Change-Id: I79234ca718991ba9dc73b7577768b617de9ad7df
Test: org.apache.harmony.tests.java.io.ObjectStreamClassTest
Bug: 28283540
75febb0b6fbb822a66c6771798297806c06decbe 28-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix serialization of class fields with same names.

Dex allows for fields to share a name if they have
different types. openJdk serialization code was not
handling this case properly.

Bug: 29721023
Change-Id: I3b8ea027f0af829e9f158d4bcb11a2052e34c10f
(cherry picked from commit 0885fcbbbf2fdc46ffe847aca9d3c339f4c7bb41)
49965c1dc9da104344f4893a05e45795a5740d20 30-Jun-2016 Ganesh Mahendran <opensource.ganesh@gmail.com> remove x attribute of java file

java file does not need x attribute. This patch removes it.

Change-Id: I2a7170d99f4bee7a7b819621c84dd197ded37fa2
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
0885fcbbbf2fdc46ffe847aca9d3c339f4c7bb41 28-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix serialization of class fields with same names.

Dex allows for fields to share a name if they have
different types. openJdk serialization code was not
handling this case properly.

Bug: 29721023
Change-Id: I3b8ea027f0af829e9f158d4bcb11a2052e34c10f
d1ce77d790fb9655f09a25afde0b91faf187a74c 09-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix clinit-related serialization incompatibility.

For the code:
class Parent {
some code that will create <clinit>
}
class Child extends Parent {}

java.io.ObjectStreamClass.hasStaticInitializer(Child.class)
was returning false. This is technically valid, but historically
android was returning true in this case. This causes
problems with deserializing classes like Child without
explicit serialVersionUID. To mitigate the problem, this
change reverts to old behavior if sdk target <= 23.

Bug: 29064453
Change-Id: Iaff269ced01543469a30b50673a04d3d8722d261
(cherry picked from commit fd17eabf30cec65a5cfb4df1a298fcf515ef7c93)
fd17eabf30cec65a5cfb4df1a298fcf515ef7c93 09-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix clinit-related serialization incompatibility.

For the code:
class Parent {
some code that will create <clinit>
}
class Child extends Parent {}

java.io.ObjectStreamClass.hasStaticInitializer(Child.class)
was returning false. This is technically valid, but historically
android was returning true in this case. This causes
problems with deserializing classes like Child without
explicit serialVersionUID. To mitigate the problem, this
change reverts to old behavior if sdk target <= 23.

Bug: 29064453
Change-Id: Iaff269ced01543469a30b50673a04d3d8722d261
309f9df28350e15445b9135e8b710fa2b34b5dc1 25-Apr-2016 Yi Kong <yikong@google.com> Update URLs to Java technotes and platform docs

Fix links to {@docRoot}/../{technotes,platform} pages.

This is done by batch editing using the following script:
grep @docRoot -rl | xargs sed -i 's/\/..\/technotes/r\/openjdk-redirect.html?v=8\&path=\/technotes/g;s/\/..\/platform/openjdk-redirect.html?v=8\&path=\/platform/g'

Bug: 27540501
Change-Id: Ib5634cd461fbba37dd94ddad9660910dc9397fe7
(cherry picked from commit d2449bb576ad1e3a3877364e5e1ae28625f69e35)
d2449bb576ad1e3a3877364e5e1ae28625f69e35 25-Apr-2016 Yi Kong <yikong@google.com> Update URLs to Java technotes and platform docs

Fix links to {@docRoot}/../{technotes,platform} pages.

This is done by batch editing using the following script:
grep @docRoot -rl | xargs sed -i 's/\/..\/technotes/r\/openjdk-redirect.html?v=8\&path=\/technotes/g;s/\/..\/platform/openjdk-redirect.html?v=8\&path=\/platform/g'

Bug: 27540501
Change-Id: Ib5634cd461fbba37dd94ddad9660910dc9397fe7
02095df1f58b130e222e8525e6677e7c1e472b52 05-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move more clinit code to registration functions, part 3

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

Removed dead code in DefaultProxySelector.(java|c) that
was never called.

This is last change, remaining classes have either
dependencies that we can't work around, or required
change would make their code less maintainable.

Bug: 28153851
Change-Id: I9ef9a3c07d5cba9d4608110d94b55aada265e68f
(cherry picked from commit 4ef72d32afd6f6b81306b2664a6f3f30f6103ebf)
4ef72d32afd6f6b81306b2664a6f3f30f6103ebf 05-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move more clinit code to registration functions, part 3

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

Removed dead code in DefaultProxySelector.(java|c) that
was never called.

This is last change, remaining classes have either
dependencies that we can't work around, or required
change would make their code less maintainable.

Bug: 28153851
Change-Id: I9ef9a3c07d5cba9d4608110d94b55aada265e68f
dde34deda1ddfd5f9860850e7b3730acaca6fb59 18-Apr-2016 Narayan Kamath <narayan@google.com> ObjectStreamClass: Add a workaround for abusers of private API.

- ObjectStreamClass.getConstructorId(Class<?>) : returns a constant.
- ObjectStreamClass.newInstance(Class<?>, long) : calls through to
sun.misc.Unsafe.allocateInstance.

*** THIS CHANGE WILL BE REVERTED IN A FUTURE ANDROID RELEASE ***

bug: 28106822

(cherry picked from commit 987c9cae27659c044ae474fa92d9f1c51ecba9e0)

Change-Id: I64c5c7e90d7c059114b33e84d5ea8ba69f8f6537
987c9cae27659c044ae474fa92d9f1c51ecba9e0 18-Apr-2016 Narayan Kamath <narayan@google.com> ObjectStreamClass: Add a workaround for abusers of private API.

- ObjectStreamClass.getConstructorId(Class<?>) : returns a constant.
- ObjectStreamClass.newInstance(Class<?>, long) : calls through to
sun.misc.Unsafe.allocateInstance.

*** THIS CHANGE WILL BE REVERTED IN A FUTURE ANDROID RELEASE ***

bug: 28106822

Change-Id: I8c584b11e6779880a61dd2bc462e1a380e86ec89
404b64a5388f2811182e3180d8cd5a1a473a08b0 07-Apr-2016 Yi Kong <yikong@google.com> Make links to Oracle Java tech docs absolute

Bug: 27540501
Change-Id: Id8c1e5ae7fcc52e0a03bee9c76a44bb2c3378031
0967e6020a0e3ccfd88679178cf0b3056863a96c 07-Apr-2016 Yi Kong <yikong@google.com> Make links to Oracle Java tech docs absolute

Bug: 27540501
Change-Id: Id8c1e5ae7fcc52e0a03bee9c76a44bb2c3378031
8d05e88f57c1ea5543d4012687c70cd64efcada0 06-May-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementations for java.io.* [part 2]

Covers most of the serialization classes.

- ObjectInputStream / ObjectStream{Class,Field} : Use VMStack methods
wherever appropriate.
- RandomAccessFile : Reimplement in terms of IoBridge.

Change-Id: I4a57e14ec7fe30f42f6060daf37eb16329636117
51b1b6997fd3f980076b8081f7f1165ccc2a4008 16-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and
src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes
directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to
libcore/ojluni/src/main/native:
jdk/src/solaris/native/java/io/canonicalize_md.c
build/linux-amd64/include/classfile_constants.h
jdk/src/share/native/java/net/DatagramPacket.c
jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
jdk/src/share/native/java/lang/Double.c
jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
jdk/src/solaris/native/java/io/FileDescriptor_md.c
jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c
jdk/src/share/native/java/io/FileInputStream.c
jdk/src/solaris/native/sun/nio/ch/FileKey.c
jdk/src/solaris/native/java/io/FileOutputStream_md.c
jdk/src/solaris/native/java/io/FileSystem_md.c
jdk/src/share/native/java/lang/Float.c
jdk/src/share/native/java/net/Inet4Address.c
jdk/src/solaris/native/java/net/Inet4AddressImpl.c
jdk/src/share/native/java/net/Inet6Address.c
jdk/src/solaris/native/java/net/Inet6AddressImpl.c
jdk/src/share/native/java/net/InetAddress.c
jdk/src/solaris/native/java/net/InetAddressImplFactory.c
jdk/src/share/native/java/io/io_util.c
jdk/src/solaris/native/sun/nio/ch/IOUtil.c
jdk/src/share/native/java/io/io_util.h
jdk/src/solaris/native/java/io/io_util_md.c
jdk/src/solaris/native/java/io/io_util_md.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/java_io_FileDescriptor.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileInputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileOutputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_ObjectStreamClass.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_UnixFileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Double.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Float.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Integer.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Long.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Runtime.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Shutdown.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_StrictMath.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_String.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_System.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Thread.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Throwable.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_DatagramPacket.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddress.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddressImplFactory.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_NetworkInterface.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainDatagramSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketInputStream.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOptions.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOutputStream.h
jdk/src/share/native/java/lang/java_props.h
jdk/src/solaris/native/java/lang/java_props_md.c
jdk/src/share/native/java/util/zip/Adler32.c as java_util_zip_Adler32.c
jdk/src/share/native/java/util/zip/CRC32.c as java_util_zip_CRC32.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_CRC32.h
jdk/src/share/native/java/util/zip/Deflater.c as java_util_zip_Deflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Deflater.h
jdk/src/share/native/java/util/zip/Inflater.c as java_util_zip_Inflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Inflater.h
jdk/src/share/native/java/util/zip/ZipFile.c as java_util_zip_ZipFile.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_ZipFile.h
jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
jdk/src/share/native/common/jlong.h
jdk/src/solaris/native/common/jlong_md.h
jdk/src/share/native/common/jni_util.c
jdk/src/share/native/common/jni_util.h
jdk/src/solaris/native/common/jni_util_md.c
jdk/src/share/javavm/export/jvm.h
jdk/src/solaris/javavm/export/jvm_md.h
jdk/src/solaris/native/java/net/linux_close.c
jdk/src/share/native/sun/misc/NativeSignalHandler.c
jdk/src/solaris/native/sun/nio/ch/NativeThread.c
jdk/src/share/native/java/net/net_util.c
jdk/src/share/native/java/net/net_util.h
jdk/src/solaris/native/java/net/net_util_md.c
jdk/src/solaris/native/java/net/net_util_md.h
jdk/src/solaris/native/java/net/NetworkInterface.c
jdk/src/share/native/sun/nio/ch/nio.h
jdk/src/solaris/native/sun/nio/ch/nio_util.h
jdk/src/share/native/java/io/ObjectStreamClass.c
jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
jdk/src/solaris/native/java/net/PlainSocketImpl.c
jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
jdk/src/share/native/java/lang/Runtime.c
jdk/src/share/native/java/lang/Shutdown.c
jdk/src/share/native/sun/misc/Signal.c
jdk/src/solaris/native/java/net/SocketInputStream.c
jdk/src/solaris/native/java/net/SocketOutputStream.c
jdk/src/share/native/java/lang/StrictMath.c
jdk/src/share/native/java/lang/String.c
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_NativeSignalHandler.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_Signal.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/sun_net_spi_DefaultProxySelector.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileChannelImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileDispatcherImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileKey.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOStatus.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOUtil.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_NativeThread.h
jdk/src/share/native/java/lang/System.c
jdk/src/share/native/java/lang/Thread.c
jdk/src/share/native/java/lang/Throwable.c
jdk/src/solaris/native/java/io/UnixFileSystem_md.c
jdk/src/solaris/native/java/lang/UNIXProcess_md.c
jdk/src/share/native/java/util/zip/zip_util.c
jdk/src/share/native/java/util/zip/zip_util.h

Change-Id: Ib237df4e1b7b5b4d9f12e74d189e6ec9eed3c31d