Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6884552

remove some unnecessary #ifdef's introduced in the fix for 4957990

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • hs17
    • hs17
    • hotspot
    • None
    • gc
    • b01
    • b02
    • generic
    • generic

        On 09/22/09 08:17, Andrew John Hughes wrote:
        > 2009/9/21 <###@###.###>:
        >> Hi Andrew --
        >>
        >> I _think_ you should be able to just remove the
        >> #ifdef's entirely, and it should work. (I don't know
        >> what i was trying to achieve w/the #ifdef, but the
        >> rationale was probably obsoleted during the long (several years!)
        >> gestation period of that changeset before it was, ummm,
        >> pushed.)
        >>
        >> Let me know if there are any issues.
        >> -- ramki
        >>
        >> On 09/21/09 15:39, Andrew John Hughes wrote:
        >>> This changeset:
        >>>
        >>> http://hg.openjdk.java.net/jdk7/jdk7/hotspot/rev/8b46c4d82093
        >>>
        >>> was promoted as part of b72 and fixes
        >>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957990. It's nice
        >>> to see a long-running bug being resolved, but unfortunately I've run
        >>> into an issue with the fix.
        >>>
        >>> In markSweep.hpp and psParallelCompact.hpp, two new functions are
        >>> introduced:
        >>>
        >>> + static void follow_mdo_weak_refs();
        >>> + static void revisit_mdo(ParCompactionManager* cm, DataLayout* p);
        >>>
        >>> However, in markSweep.cpp and psParallelCompact.cpp, these are only
        >>> implemented conditionally:
        >>>
        >>> +#if ( defined(COMPILER1) || defined(COMPILER2) )
        >>> +void MarkSweep::revisit_mdo(DataLayout* p) {
        >>> + _revisit_mdo_stack->push(p);
        >>> +}
        >>> +
        >>> etc...
        >>>
        >>> If neither COMPILER1 nor COMPILER2 are defined (as is the case with
        >>> building Gary Benson's zero port:
        >>> http://mail.openjdk.java.net/pipermail/hotspot-dev/2009-August/001957.html
        >>> for example), then the build now fails:
        >>>
        >>> Linking launcher...
        >>> /mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
        >>> undefined reference to
        >>> `PSParallelCompact::revisit_mdo(ParCompactionManager*, DataLayout*)'
        >>> /mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
        >>> undefined reference to `MarkSweep::revisit_mdo(DataLayout*)'
        >>> /mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
        >>> undefined reference to `MarkSweep::follow_mdo_weak_refs()'
        >>> /mnt/builder/icedtea/hotspot/outputdir/linux_zero_core/product/libjvm.so:
        >>> undefined reference to `PSParallelCompact::follow_mdo_weak_refs()'
        >>> collect2: ld returned 1 exit status
        >>>
        >>> The obvious fix that springs to mind is to add an #else block that
        >>> implements these with ShouldNotCallThis() as in this webrev:
        >>>
        >>> http://cr.openjdk.java.net/~andrew/hotspot/webrev.01/
        >>>
        >>> but I'm not sure if that's the correct fix.
        >>>
        >>> Any ideas?
        >>>
        >>> Thanks,
        >>
        >
        > Ah, that's good, I was worried about just having no implementation of
        > part of the GC.
        >
        > With:
        >
        > http://cr.openjdk.java.net/~andrew/hotspot/webrev.02/hotspot.patch
        >
        > and turning off compressed oops, I've been able to build a working
        > Zero-based HotSpot build with b72.
        >
        > Can you assign this a bug ID and put the webrev through jprt to get it applied?
        >
        > Thanks,

              ysr Y. Ramakrishna
              ysr Y. Ramakrishna
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: