Build failure with new functions introduced in fix for 4957990

Y.S.Ramakrishna at Sun.COM Y.S.Ramakrishna at Sun.COM
Mon Sep 21 15:53:47 PDT 2009


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,



More information about the hotspot-dev mailing list