History log of /libcore/ojluni/src/main/java/java/lang/Integer.java
Revision Date Author Comments
a636fa97391c782e1249891c7c5a513bc2a384e1 15-Feb-2018 Vladimir Marko <vmarko@google.com> Add Class.getPrimitiveClass().

And revert workarounds for initialization of
java.lang.<boxed-primitive-type>.TYPE
to use the Class.getPrimitiveClass() just like upstream;
source files for Boolean, Double, Float, Short and Void
are now identical to OpenJDK8u121-b13.

Companion art/ change:
https://android-review.googlesource.com/619306

Test: m test-art-host-gtest
Test: tstrunner.py --host --optimizing
Test: Pixel 2 XL boots.
Bug: 73346078
Change-Id: I4490b80ecfec80b1369da15bf393ff95b8d30a3a
aac8234b40ade7f8e4c27e571e4ee2ba32051fbe 11-Oct-2017 Pete Gillin <peteg@google.com> Add some Android-changed markers to boxed primitive types.

This change adds or clarifies some markers of changes relative to
OpenJDK 8u121-b13.

N.B. There are still unmarked changes in Character.java.

Test: make checkbuild
Change-Id: I9cd8f2e8e9ee042cd6ac2dff2b4531651f5ced64
6a5351e12a69e865fe31b8aac989bd2573aebbca 28-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port java.lang from openJdk8, part 3

Tests: Run all CTS Math/StrictMath/Process related tests
Bug: 28666126
Change-Id: If7555e9bcbccb60b988da96a2a1875e3672e82ee
e2f147b9b14c7645f29e92758f811a18258feef4 04-May-2016 Yi Kong <yikong@google.com> Port OpenJDK8 unsigned methods

Adds following methods with tests:

java.lang.Byte#toUnsignedInt
java.lang.Byte#toUnsignedLong
java.lang.Integer#compareUnsigned
java.lang.Integer#divideUnsigned
java.lang.Integer#parseUnsignedInt
java.lang.Integer#remainderUnsigned
java.lang.Integer#toUnsignedLong
java.lang.Integer#toUnsignedString
java.lang.Long#compareUnsigned
java.lang.Long#divideUnsigned
java.lang.Long#parseUnsignedLong
java.lang.Long#remainderUnsigned
java.lang.Long#toUnsignedString
java.lang.Short#toUnsignedInt
java.lang.Short#toUnsignedLong

Bug: 28582540
Change-Id: I715f146ba45f15f588a2aed38e2b85cebe98f747
9678c4c20f775334f6ac37f5c52aabf8e247c773 08-Apr-2016 Narayan Kamath <narayan@google.com> Integer : Improve exception message for parseInt

bug: 28075709
Change-Id: Id3742decf0f5c48e0cd6d8d7a82f151234416a2d
8070af12e129cf6c9c82cf8dd3116aa20a2ebd6d 01-Apr-2016 Yi Kong <yikong@google.com> Port max,min,sum,hashCode,BYTES for basic data types

We implemented these methods/fields for some basic data types, we
should do the same for all the rest for consistency.

Bug: 27960078
Change-Id: I94711ee8d437e932c423579cd7146d63cbb3c615
(cherry picked from commit cf86f3319e738c76c5e97ad95bb8a4e30654a787)
cf86f3319e738c76c5e97ad95bb8a4e30654a787 01-Apr-2016 Yi Kong <yikong@google.com> Port max,min,sum,hashCode,BYTES for basic data types

We implemented these methods/fields for some basic data types, we
should do the same for all the rest for consistency.

Bug: 27960078
Change-Id: I94711ee8d437e932c423579cd7146d63cbb3c615
60d6a93a65a7ba45a58867a4afd3242682b17c21 02-Mar-2016 Narayan Kamath <narayan@google.com> Double,Integer,Long: Add static hashCode / sum / max / min methods.

Also add basic tests. These methods delegate to Math.max / Math.min
respectively, so further tests have been added to the Math tests in
case these implementations ever diverge.

bug: 27423298

(cherry picked from commit 2729b8c4d261706b2ed7b17930d91c2b25e9a315)

Change-Id: I75b46e7582ae22ee759bf1f4a68a5f1b2f410864
2729b8c4d261706b2ed7b17930d91c2b25e9a315 02-Mar-2016 Narayan Kamath <narayan@google.com> Double,Integer,Long: Add static hashCode / sum / max / min methods.

Also add basic tests. These methods delegate to Math.max / Math.min
respectively, so further tests have been added to the Math tests in
case these implementations ever diverge.

bug: 27423298
Change-Id: I9c6faadea9a9d6a52d934583f86d67e1745e5dce
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c 21-Dec-2015 Narayan Kamath <narayan@google.com> Update file headers.

Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
9ad355852dacfe563b49b543f37d843ae6e94f06 26-Nov-2015 Yi Kong <yikong@google.com> Cache Integer.toString results for small numbers

This avoids repetitively creating String object for numbers less than
100, significantly improves performance while has small impact on
memory usage.

=== Angler a57@1.4GHz ===
benchmark Orig Mod
_IntegerToString10_small 1636 29.8
_IntegerToString_small 1607 18.8

Bug: 25887112
Change-Id: Ibdd6556c8f2a99f0dce9b0194934eeb23931553d
7d637499caf53a68aeb9df7df8ca33e922ed6ac1 26-Nov-2015 Yi Kong <yikong@google.com> Replace modulus operation in Integer.toString

with divide and multiply, since modulus operations need to be lowered
into instruction serieses and is slower in this case.


=== Angler a57@1.4GHz ===
benchmark Orig Mod
_Formatter_large 69379 68676
_Formatter_medium 69329 68495
_Formatter_small 66922 68974
_IntegerToBinaryString_large 1799 1857
_IntegerToBinaryString_medium 1749 1782
_IntegerToBinaryString_small 1659 1724
_IntegerToHexString_large 1670 1670
_IntegerToHexString_medium 1648 1662
_IntegerToHexString_small 1642 1647
_IntegerToString10_large 9302 1722
_IntegerToString10_medium 9321 1690
_IntegerToString10_small 9211 1636
_IntegerToString16_large 22547 1667
_IntegerToString16_medium 19950 1661
_IntegerToString16_small 14855 1653
_IntegerToString2_large 49454 1900
_IntegerToString2_medium 34349 1759
_IntegerToString2_small 19513 1665
_IntegerToString_large 1686 1703
_IntegerToString_medium 1661 1686
_IntegerToString_small 1618 1607
_StringBuilder_large 758 730
_StringBuilder_medium 661 675
_StringBuilder_small 647 641


Bug: 25887112
Change-Id: I7b441d75ba5948d258b16c93674920dd6510d573
b90c36f25b990336a456daad69ea9db9256b86ce 28-Sep-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Track changes to the runtime representation of j.l.String.

Change-Id: I3aecd952128097258743a88f4f664024c9183ea0
46e3649f898305d185fc40bae2542e933a16b619 06-May-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation of java.lang.* [part 1]

- Changes to String hashing.
- Change StringCoding.isTrusted.
- For boxed primitive types, change how TYPE is derived (use the
array equivalents component type).
- System: the security manager is now always null. Also, port over
changes to make system properties read only.
- StrictMath : Use our existing fdlibm and remove references to
jdflibm.h.

Change-Id: I221692836b9320cade9074b122fbc25c8e72cf99
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