Mikhail,

On 3/14/07, Mikhail Fursov <[EMAIL PROTECTED]> wrote:

Elena,
I'm afraid that the test from
https://issues.apache.org/jira/browse/HARMONY-3379 has never passed with
OPT
before.


Yes, this test never passed with OPT because it never was not run in OPT:)

The 'ref' object in the test is a PhantomReference object. The spec for
PhantomReference reads:
"Unlike soft and weak references, phantom references are not automatically
cleared by the garbage collector as they are enqueued."

I think they should not be automatically cleared even because all its
methods are inlined since we must ensure that their get() method always
returns null after the referents of phantom references are reclaimed.

Thanks,
Elena

Here is the test:
---------------
      ReferenceQueue queue = new ReferenceQueue();
      Object referent = new PhantomReferenceTest();
      Reference ref = new PhantomReference(referent, queue);

      // drop strong reference
      referent = null;

      System.gc();

      // run finalization to be sure that the reference is enqueued
      System.runFinalization();

      Reference enqueued;
      enqueued = queue.poll();
      if (enqueued == null) {
          System.out.println("FAIL: reference was not enqueued");
          return;
      }
      if (ref.get() != null) {
          System.out.println("FAIL: reference was not cleared.");
          return;
      }
---------------

the ref.get() content:
----------------------
  public T get() {
      return null;
  }
----------------------

Reference constructor:
----------------------
  Reference(T referent, ReferenceQueue<? super T> q) {
      this.queue = q;
      this.referent = referent;
 }
--------------------

As you can see if all methods of the 'ref' object are inlined, the 'ref'
object is eliminated as dead code.
I think that test is not correct.



On 3/14/07, Elena Semukhina <[EMAIL PROTECTED]> wrote:

Hello,

as we recently moved to run smoke tests in OPT mode, 3 tests have been
discovered to fail and added to the exclude lists.

I filed two JIRAs to track that issues:
https://issues.apache.org/jira/browse/HARMONY-3349 and
https://issues.apache.org/jira/browse/HARMONY-3379.

Could anybody look at them and evaluate?

--
Thanks,
Elena




--
Mikhail Fursov




--
Thanks,
Elena

Reply via email to