d021f1d8475cfdee7ba434d34412c32f40e81693 |
|
19-Jan-2018 |
Vladimir Marko <vmarko@google.com> |
Change Math method from @FastNative to @CriticalNative. MathBenchmarks.java#timePow results on taimen's little cores fixed at frequency 1401600 with forced JIT compilation: - before: - X32: 356.33 - X64: 357.31 - after: - X32: 315.39 - X64: 315.37 Similar improvements are seen for timeIEEEremainder and timeLog1p. Test: Rely on TreeHugger. Bug: 70727450 Change-Id: I692070cb7413bdc1aeb620ee1c505397ee0999e8
|
5a6bb5540b3f30d8f0b2c2ea062fc465317db88e |
|
29-Nov-2017 |
Neil Fuller <nfuller@google.com> |
OpenJDK 8u121 verify: java.lang.Math Add change markers. Bug: 35910877 Test: Build Change-Id: I7988c3daaae9a647c673d336eda99b84918d07e0
|
fa5b565a3f6c6d7cbd6106ee8d360304c3a939a3 |
|
17-Feb-2017 |
Igor Murashkin <iam@google.com> |
jni: Switch to @FastNative for all JNI functions. Switches all (248) methods that previously used !bang JNI in art/libcore to all use @FastNative. As a nice benefit, this should be about 1.5x faster than before for those method calls. This measures out to a 3% startup time improvement for system_server. Test: make test-art-host Bug: 34955272 Change-Id: I0881f401c7660c79f275235362777bfa58241deb
|
76542847059b26fe060865c8e3b368db0265f394 |
|
05-Jan-2017 |
Aart Bik <ajcbik@google.com> |
Refined comment in FP abs() implementation. Rationale: As a "quality of implementation", rather than pure "spec compliance", we require that Math.abs() clears the sign bit (but changes nothing else) for all numbers, including NaN (signaling NaN may become quiet though). Test: test-art-host Bug: 30758343 Change-Id: I8d9ca9aa58a0ffbde6120370f7aecd02dc7395e0
|
932af329921acfcc7c83984793233e68387d67f6 |
|
19-Dec-2016 |
Aart Bik <ajcbik@google.com> |
Changed semantics of FP Math.abs() to impact bit sign (but nothing else). Rationale: As a "quality of implementation" rather than pure "spec compliance" we require that Math.abs() clears the sign bit (but changes nothing else) for all numbers, including NaN. **NOTE** This CL has a corresponding Art test. Test: test-art-host Bug: 30758343 Change-Id: I990c5ac72d2a3263b7b1d57dd6da4fabe7f8e274
|
c329f2536bfbc352252681bf34d6708fa627c1a4 |
|
08-Sep-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Update java.io.File to 8u60 - File fields path/prefixLength are final (and #readObject is implemented using Unsafe). - Temp file name generation uses longs. Restored TempDirectory (removed in 3a4b7ebcde0ba6b7dce5c6118fa6a3da77b3d21d) inner class, to minimize the diff from upstream. - Javadoc and formating updates Test: vogar run on all io tests I could find. Bug: 31237296 Change-Id: Ia0ce0ba3db9cbdb4a5a411325ee1ce0d9c4a5d0a
|
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
|
f1aab72f51a6e520fd1374d2e0277363726b3481 |
|
05-Apr-2016 |
Yi Kong <yikong@google.com> |
Port OpenJDK8 java.lang functional util methods Bug: 28036657 Change-Id: I148dda52b4cb86b76ed96b2bd2f8dc01114fe2a2 (cherry picked from commit e9d9ae3d5e57a60e20c2c01e3dceb3e51de8b9f4)
|
e9d9ae3d5e57a60e20c2c01e3dceb3e51de8b9f4 |
|
05-Apr-2016 |
Yi Kong <yikong@google.com> |
Port OpenJDK8 java.lang functional util methods Bug: 28036657 Change-Id: I148dda52b4cb86b76ed96b2bd2f8dc01114fe2a2
|
17f6f6169e701afdf392a3749c6956042a5b3b72 |
|
17-Feb-2016 |
Hans Boehm <hboehm@google.com> |
Fix Math.round bug for large integral arguments Cherrypick JDK 8 changeset 8052:917fffe971c8. This uses integer manipulations to compute the result for all arguments for which we can't just cast the argument. Added required imports to make the JDK 8 patch compile. HG changeset patch User bpb Date 1378944455 25200 Node ID 917fffe971c87826a8cbec16337d35fd6f73f0d6 Parent be6f5f027bc2ecc137b3d4074c94881e01d2d9ce 8010430: Math.round has surprising behavior for odd values of ulp 1 Summary: If the effective floating point exponent is zero return the significand including the implicit 1-bit. Reviewed-by: bpb, darcy, gls Contributed-by: Dmitry Nadezhin <dmitry.nadezhin@oracle.com> Bug: 27166445 (cherry picked from commit f043756ef5140e633d6b7afc9ae1f0058c9fa70f) Change-Id: Ic5e93121113149163cea3993f187b52335d613fa
|
f043756ef5140e633d6b7afc9ae1f0058c9fa70f |
|
17-Feb-2016 |
Hans Boehm <hboehm@google.com> |
Fix Math.round bug for large integral arguments Cherrypick JDK 8 changeset 8052:917fffe971c8. This uses integer manipulations to compute the result for all arguments for which we can't just cast the argument. Added required imports to make the JDK 8 patch compile. HG changeset patch User bpb Date 1378944455 25200 Node ID 917fffe971c87826a8cbec16337d35fd6f73f0d6 Parent be6f5f027bc2ecc137b3d4074c94881e01d2d9ce 8010430: Math.round has surprising behavior for odd values of ulp 1 Summary: If the effective floating point exponent is zero return the significand including the implicit 1-bit. Reviewed-by: bpb, darcy, gls Contributed-by: Dmitry Nadezhin <dmitry.nadezhin@oracle.com> Bug: 27166445 Change-Id: Ia60a94a20970096dfc4b23143353cfc0828d9860
|
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c |
|
21-Dec-2015 |
Narayan Kamath <narayan@google.com> |
Update file headers. Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
|
c6b8e2367fde6406ba2954797c8217f257ddeb23 |
|
28-Oct-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Native implementation of java.lang.Math Using standard c math functions instead of StrictMath implementations gives us great performance boost in MathBenchmark (up to ~5x faster in many tests). Change-Id: I19642a1ea04bf50150ef2d3be8477bf243442ae9
|
0a94bbda34f5ea7d6c73634ddcd5b15f698f7598 |
|
28-Sep-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Use NoPreLoadHolder for random instance. Change-Id: If9193b14b3a3451d7b0c5a230988e637bd5f9ef6
|
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
|