c3155270c33344c61e2e8dc055410fc9fc215a24 |
|
13-Apr-2017 |
Tobias Thierer <tobiast@google.com> |
misc: Tweak Android change documentation, revert redundant changes. Tweaked existing or added missing Android change documentation for misc ojluni .java files. Also got rid of a couple of small needless differences (e.g. indentation) vs. upstream OpenJDK8u121-b13. The selection of files touched by this CL is fairly arbitrary. Future CLs will likely apply similar changes to other files. AbstractStringBuilder: Revert minor indentation difference vs. upstream ArrayIndexOutOfBoundsException: Tweak docs for @hide constructors Byte: Tweak change docs Console: Minor tweaks to minimize diff, minor improvements to change docs DeleteOnExitHook: add missing Android-changed documentation InterruptedIOException: Added change comment body. HijrahChronology: Revert minor indentation difference vs. upstream SocketTimeoutException: Added change comment body. Serializable:: add missing Android-added documentation. SerializablePermission: Improve toplevel documentation, added Android-changed comment Bug: 35910877 Test: Treehugger build succeeds Change-Id: Ia7d1236fb694fc706ae1bba7ba31b320b00a2795
|
5ccab91cbbddfa1c9e8d1ae63f44d923e0d7afa1 |
|
03-Feb-2017 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
AbstrackStringBuilder capacity calculations fix. Port from openJdk80u112: changeset: 11450:21fd38547115 user: igerasim date: Fri Mar 04 14:03:34 2016 +0300 summary: 8149330: Capacity of StringBuilder should not get close to Integer.MAX_VALUE unless necessary Adding tests for this change is not possible due to memory constraints. Test: CtsLibcoreTestCases Bug: 31028374 Change-Id: If3a8699ba8afe5b3595f61593f8ed6cf51ad6bef
|
694e617f54a7bfbdad24913ce96f5d56f1a1960a |
|
20-Jun-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Port openJdk8 java.lang package, part 2 - Removed floating to/from string performance hacks we have added on the top of openJdk7 code (no longer needed) - AbstractStringBuilder is Appendable again, we may decide to revert this (see b/27582395 for context) - New String method #join Bug: 28666126 Change-Id: I35f6dbc1199e2bd2b4a4db69d35da81679d80093
|
a7b3c8e92c0bdc02c4cc9e2f42ff80b732df18f6 |
|
10-May-2016 |
Joachim Sauer <jsauer@google.com> |
Fix AbstractStringBuilder gaining extra APIs. AbstractStringBuilder showed up in the API as gaining methods originally belonging to StringBuffer/StringBuilder (mostly append(*) and insert(*)). Ideally it should not be in the API at all, but it's traditionally been there and we'll keep it for now. @hide the affected methods and move the "implements Appendable" definition to StringBuffer/StringBuilder (as methods implementing an interface can't be @hidden). Bug: 27582395 (cherry picked from commit 616453db2d8d018cf177e207cf8773ffcb808069) Change-Id: Ic5f5b4abf57dbde2a5ced09503f736258ff0fa72
|
616453db2d8d018cf177e207cf8773ffcb808069 |
|
10-May-2016 |
Joachim Sauer <jsauer@google.com> |
Fix AbstractStringBuilder gaining extra APIs. AbstractStringBuilder showed up in the API as gaining methods originally belonging to StringBuffer/StringBuilder (mostly append(*) and insert(*)). Ideally it should not be in the API at all, but it's traditionally been there and we'll keep it for now. @hide the affected methods and move the "implements Appendable" definition to StringBuffer/StringBuilder (as methods implementing an interface can't be @hidden). Bug: 27582395 Change-Id: I05e44335f65204c6956a8caadf828ea07776d6d5
|
cda0d81b64c3cfd70557dd3ab87826e68ee9399b |
|
26-Apr-2016 |
Yi Kong <yikong@google.com> |
Avoid performing boundary checks in StringBuilder We can improve performance by avoid performing boundary checks when the indices are guaranteed to be within bound. Before: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}} Results: runtime(ns): min=180.52, 1st qu.=182.58, median=184.18, mean=187.62, 3rd qu.=194.04, max=199.31 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}} Results: runtime(ns): min=1035.10, 1st qu.=1035.82, median=1041.44, mean=1073.24, 3rd qu.=1106.49, max=1200.55 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}} Results: runtime(ns): min=7020.29, 1st qu.=7053.57, median=7092.80, mean=7193.27, 3rd qu.=7358.86, max=7496.96 After: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}} Results: runtime(ns): min=169.88, 1st qu.=171.93, median=173.00, mean=177.27, 3rd qu.=185.40, max=191.09 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}} Results: runtime(ns): min=954.54, 1st qu.=964.95, median=975.47, mean=974.05, 3rd qu.=977.26, max=1001.69 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}} Results: runtime(ns): min=5419.06, 1st qu.=5494.05, median=5563.10, mean=5672.46, 3rd qu.=5746.85, max=6347.50 Bug: 28327317 Change-Id: Ibba98a10932f07144dcd8778594eb1bc3bae2373 (cherry picked from commit 308a03fdd632d696dc92044d287b5a66e9030013)
|
308a03fdd632d696dc92044d287b5a66e9030013 |
|
26-Apr-2016 |
Yi Kong <yikong@google.com> |
Avoid performing boundary checks in StringBuilder We can improve performance by avoid performing boundary checks when the indices are guaranteed to be within bound. Before: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}} Results: runtime(ns): min=180.52, 1st qu.=182.58, median=184.18, mean=187.62, 3rd qu.=194.04, max=199.31 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}} Results: runtime(ns): min=1035.10, 1st qu.=1035.82, median=1041.44, mean=1073.24, 3rd qu.=1106.49, max=1200.55 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}} Results: runtime(ns): min=7020.29, 1st qu.=7053.57, median=7092.80, mean=7193.27, 3rd qu.=7358.86, max=7496.96 After: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=1}} Results: runtime(ns): min=169.88, 1st qu.=171.93, median=173.00, mean=177.27, 3rd qu.=185.40, max=191.09 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=10}} Results: runtime(ns): min=954.54, 1st qu.=964.95, median=975.47, mean=974.05, 3rd qu.=977.26, max=1001.69 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendString, vm=default, parameters={length=100}} Results: runtime(ns): min=5419.06, 1st qu.=5494.05, median=5563.10, mean=5672.46, 3rd qu.=5746.85, max=6347.50 Bug: 28327317 Change-Id: Ibba98a10932f07144dcd8778594eb1bc3bae2373
|
4a225c9faf7984db9af0e302416a999eaba57d3b |
|
25-Apr-2016 |
Yi Kong <yikong@google.com> |
Optimize StringBuilder.append for String with range by using String.charsAt to avoid performing 1-by-1 copying. Also adds a benchmark testing append for substring. Before: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}} Results: runtime(ns): min=231.16, 1st qu.=233.24, median=244.20, mean=241.41, 3rd qu.=247.49, max=252.71 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}} Results: runtime(ns): min=1639.48, 1st qu.=1646.44, median=1658.96, mean=1669.49, 3rd qu.=1694.87, max=1726.36 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}} Results: runtime(ns): min=14867.68, 1st qu.=14914.04, median=14965.08, mean=15050.44, 3rd qu.=15189.02, max=15423.22 After: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}} Results: runtime(ns): min=139.58, 1st qu.=141.36, median=143.44, mean=146.17, 3rd qu.=148.57, max=164.15 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}} Results: runtime(ns): min=503.95, 1st qu.=507.65, median=520.78, mean=541.48, 3rd qu.=580.13, max=596.60 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}} Results: runtime(ns): min=4797.27, 1st qu.=4832.23, median=4861.71, mean=4936.96, 3rd qu.=5049.35, max=5140.17 Bug: 28327317 Change-Id: I81a4b83cf4b3d854dbb635cd49669ba0bec96009 (cherry picked from commit a8d952d4388d5173dedc3a80381328fd9d7c5f07)
|
a8d952d4388d5173dedc3a80381328fd9d7c5f07 |
|
25-Apr-2016 |
Yi Kong <yikong@google.com> |
Optimize StringBuilder.append for String with range by using String.charsAt to avoid performing 1-by-1 copying. Also adds a benchmark testing append for substring. Before: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}} Results: runtime(ns): min=231.16, 1st qu.=233.24, median=244.20, mean=241.41, 3rd qu.=247.49, max=252.71 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}} Results: runtime(ns): min=1639.48, 1st qu.=1646.44, median=1658.96, mean=1669.49, 3rd qu.=1694.87, max=1726.36 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}} Results: runtime(ns): min=14867.68, 1st qu.=14914.04, median=14965.08, mean=15050.44, 3rd qu.=15189.02, max=15423.22 After: Trial Report (1 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=1}} Results: runtime(ns): min=139.58, 1st qu.=141.36, median=143.44, mean=146.17, 3rd qu.=148.57, max=164.15 Trial Report (2 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=10}} Results: runtime(ns): min=503.95, 1st qu.=507.65, median=520.78, mean=541.48, 3rd qu.=580.13, max=596.60 Trial Report (3 of 3): Experiment {instrument=runtime, benchmarkMethod=timeAppendSubCharSequence, vm=default, parameters={length=100}} Results: runtime(ns): min=4797.27, 1st qu.=4832.23, median=4861.71, mean=4936.96, 3rd qu.=5049.35, max=5140.17 Bug: 28327317 Change-Id: I81a4b83cf4b3d854dbb635cd49669ba0bec96009
|
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c |
|
21-Dec-2015 |
Narayan Kamath <narayan@google.com> |
Update file headers. Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
|
9524178a7300a939242b78017f3dfa8014d4ca6d |
|
27-Oct-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Optimize StringBuffer/Builder#appendFloat/Double/Boolean Moved FloatingDecimal from sun.misc to java.lang package, so it can access AbstractStringBuilder class (and do not duplicate same code for the StringBuffer and the StringBuilder). FloatingDecimal is no longer instantiated, but accessed from thread local storage and reused. Change-Id: Id1c45cfe6f6a8b30b8550fc04ed1976772f28905
|
b90c36f25b990336a456daad69ea9db9256b86ce |
|
28-Sep-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Track changes to the runtime representation of j.l.String. Change-Id: I3aecd952128097258743a88f4f664024c9183ea0
|
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
|