Skip to Content.
Sympa Menu

charm - Re: [charm] Pb with inheritance

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] Pb with inheritance


Chronological Thread 
  • From: Aaron Becker <abecker3 AT illinois.edu>
  • To: Christian Perez <christian.perez AT inria.fr>
  • Cc: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>, Gengbin Zheng <zhenggb AT gmail.com>
  • Subject: Re: [charm] Pb with inheritance
  • Date: Tue, 1 Jun 2010 06:45:57 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/charm>
  • List-id: CHARM parallel programming system <charm.cs.uiuc.edu>

Notice that in your example code you are invoking foo1 and foo2 on an
object of type CProxy_A, not type A. You can't invoke non-entry
methods of an object through its proxy, except by calling ckLocal if
it's a local chare. Otherwise you could call non-entry methods on
remote objects, which will never work. The name resolution for
CProxy_A finds the entry methods in the base classes because CProxy_A
has no foo1 and foo2 methods of its own.

Aaron

On Tue, Jun 1, 2010 at 3:54 AM, Christian Perez
<christian.perez AT inria.fr>
wrote:
> Hello,
>
> please consider the attached example, where a chare A inherits from 2 others
> chare I1 & I2:
>
>  chare I1
>  {
>     entry void foo1();
>  };
>
>  chare I2
>  {
>     entry void foo2();
>  };
>
>
>  chare A : I1, I2
>  {
>     entry A();
>  };
>
> When invoking foo2 on A, either foo2 of the class I2 is called (not A::foo2
> !) if methods foo1 & foo2 are not virtual
> or foo1 on A (vtable issue?) is invoked if they are virtual. Though class
> inheritance is not virtual, can it be the same issue?
>
> Any help is welcome.
>
> Christian
>
> _______________________________________________
> charm mailing list
> charm AT cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/charm
>
>





Archive powered by MHonArc 2.6.16.

Top of Page