• Home
  • History
  • Annotate
  • only in /libcore/ojluni/src/main/java/java/lang/ref/
History log of /libcore/ojluni/src/main/java/java/lang/ref/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9d966d2c69b952d51c71191f19157932245979c5 08-Jun-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix openJdk package-level javadocs

Libcore was missing few package-info.java/package.html files
for few packages, I've added the relevant files from openJdk 7u40.

In 3 packages (java.nio, java.nio.charser, java.lang.ref) the
package.html file was not being included in the generated documentation
for unknown reasons. Still investigating the cause, but in the meantime
I did found that converting package.html into package-info.java solves the
problem.

nyc-dev specific: Removed not existing classes from java.nio.channels

Bug: 29114138
Change-Id: Id16a645879ec7b34155a8d9d8ae6cd3b0b92b43b
(cherry picked from commit 77bf4f8e8a72137d927c10778181408d075f4dd1)
ackage-info.java
ackage.html
1314bc5d6edc82b6438c4ff6c19bda1cc0f93880 11-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Restore android SoftReference javadoc

OpenJdk java.lang.ref.SoftReference javadoc
contradicts the Android version of its javadoc.
OpenJdk one encourages its use for caches, while
the old one says its a bad idea.

Old one makes most sense, this change adds it back.

Bug: 27441320
Change-Id: Ibef61741b92fe2d2f16ccd9bba358d07634f4dfb
(cherry picked from commit 388f1552bba14ddb38b270645950063fce1784a1)
oftReference.java
15328602ac817be9cf1fc476988394416e797876 06-Jan-2016 Richard Uhler <ruhler@google.com> Improve performance of Reference processing.

By using synchronization on the ReferenceQueue instead of volatile
modifiers, and adding internal support for ReferenceQueue batch
enqueue and remove.

ReferenceBenchmark improvements on hammerhead:
Alloc 250 => 150
AllocAndEnqueue 1060 => 612
AllocEnqueueAndPoll 1300 => 725
AllocEnqueueAndRemove 1350 => 812
AllocImplicitEnqueueAndRemove 7000 => 1758
Finalization 10000 => 6095

Bug: 24404957
Change-Id: I6c3e83f7c34f5c22b001e513b50c932a0d54fd43
eference.java
eferenceQueue.java
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c 21-Dec-2015 Narayan Kamath <narayan@google.com> Update file headers.

Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
eference.java
eferenceQueue.java
cc42201b8d47d4c03a69dcf6df4e58c1a11d32e5 21-Dec-2015 Paul Duffin <paulduffin@google.com> Deleting unused or broken files

The tests removed from luni/src/test are testing files that no
longer exist. It's possible that they provided some coverage of
the code which is not provided for the OpenJDK code.

The classes removed from ojluni/src/main are the ones not
explicitly mentioned in the openjdk_java_files.mk.

Change-Id: Id52d65d9b1f06e1a6e7afbd93336c7d12e0c3083
inalReference.java
inalizer.java
4d9ced850d6fbc052ccf062a3cf6f708fb4e4402 09-Dec-2015 Narayan Kamath <narayan@google.com> Let cleaners get cleaned again.

When cleaners are "enqueued" by the GC, their clean() method must
be called. They must not be enqueued on the dummy reference queue
they're associated with - nobody's waiting for them there.

Their clean method is run on the "ReferenceQueueDaemon" thread, and
can also be invoked by explicitly calling "enqueue" method inherited
from PhantomReference.

bug: 26014645

Change-Id: I2ec733f99a3606f3f69af0a22240b1ccd8c4fe7c
eference.java
1319114572c6eec041035c34f445e9b0e3d14e4c 09-Dec-2015 Narayan Kamath <narayan@google.com> Fix javadoc / API def for java.lang.ref.Reference.

enqueueInternal isn't public API and its javadoc really belongs
to enqueue, which is public API.

Change-Id: Idd073c51a874e415b9f89059c6a9e6f75ab3d695
eference.java
dd6a3f16548933d5a0c23d72e3bccd54cbe17ff7 09-Dec-2015 Hans Boehm <hboehm@google.com> ReferenceQueue.remove() should not time out prematurely

Manually cherrypicked from jdk9, without the associated test.

This tolerates early wakeups from the wait() call, such as when
another thread successfully calls remove.

For the sake if upstream compatibility, we continue to use a separate lock
object for synchronization, though that is probably not really necessary
anymore.

Hg Changeset 9347:0731952efb10

6853696: (ref) ReferenceQueue.remove(timeout) may return null even
if timeout has not expired
Reviewed-by: mchung, mduigou, rriggs
author igerasim
date Thu, 27 Feb 2014 02:44:04 +0400 (21 months ago)
parents 4273927396c9
children afc51ec63594

Bug: 25893944
Change-Id: Ie72920a46a2d3d8dc423763851a7f9c3da5efcd6
eferenceQueue.java
3cdc04f491663b408d7e3f43f95aac10e18b4559 03-Dec-2015 Narayan Kamath <narayan@google.com> Clean up ReferenceQueue, fix ReferenceQueueTest.

- Remove change markers & clarify comments.
- ReferenceQueue.remove(timeout) doesn't provide any hard guarantees;
it only promises to be broadly equivalent to Object.wait() so there's
no need to wait in a loop. We also guard against "spurious" notifies
by sychronizing on a private object, not on ReferenceQueue.this
(fixes ReferenceQueueTest#testRemoveWithSpuriousNotify).

bug: 25893944
Change-Id: I7833691d67fed3eae6a5d4370771c2c4216cbd7b
eferenceQueue.java
ad6193fff8c8ce502b4800350aafc8abf1ac44ae 28-Sep-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add an enqueueInternal method.

Equivalent to enqueue for now.

Change-Id: Ic9a6a0343b2ce60f9a4185ea5625ad649b229926
eference.java
8cf95d98bb1bcb92a2c6f422ab0461e991b52945 19-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Further ReferenceQueue fixes.

- Vanilia OpenJdk ReferenceQueue behaves like a stack, this change makes
it behave like a queue.
- Removed internal lock and switched to 'this' for synchronization - tests in
harmony-tests/src/test/java/org/apache/harmony/tests/java/lang/ref/ReferenceQueueTest.java
depend on this behaviour.

Change-Id: I6c0599b002809f3c696b47f3715a84db46339bed
eferenceQueue.java
523317d62c9b4472fd7adbe8c4c7e5e07c0eb8b1 05-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ReferenceQueue code (and some test)

ReferenceQueue from OpenJdk needs some more alterations
to work with OpenJdk-but-heavily-modified-to-work-with-our-GC
Reference class.

Updated ReferenceTest#test_subclass test to expect
seems to expect #clear followed by #enqueue, but android
code doesn't call any of them. I need to find someone
knowledgeable to figure out what's the expected behavior).

Change-Id: I86f9a9682d781136fb3d97023ee9de39d2a2ac1a
eferenceQueue.java
ad1629101546eb3b00c5674ec1d84a8e0df12ace 06-May-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation of java.lang.ref.*.

- Daemons: Use enqueue instead of enqueueInternal.
- Reference / ReferenceQueue : Modified to work with ART.

Change-Id: Ie23cf4828d298d5df880766945efb47333469fdb
eference.java
eferenceQueue.java
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
inalReference.java
inalizer.java
hantomReference.java
eference.java
eferenceQueue.java
oftReference.java
eakReference.java
ackage.html