/* DEFS: readonly CProxy_Main mainProxy; */ extern CProxy_Main mainProxy; #ifndef CK_TEMPLATES_ONLY extern "C" void __xlater_roPup_mainProxy(void *_impl_pup_er) { PUP::er &_impl_p=*(PUP::er *)_impl_pup_er; _impl_p|mainProxy; } #endif /* DEFS: mainchare Main: Chare{ Main(CkArgMsg* impl_msg); void done(void); }; */ #ifndef CK_TEMPLATES_ONLY int CkIndex_Main::__idx=0; #endif #ifndef CK_TEMPLATES_ONLY /* DEFS: Main(CkArgMsg* impl_msg); */ CkChareID CProxy_Main::ckNew(CkArgMsg* impl_msg, int impl_onPE) { CkChareID impl_ret; CkCreateChare(CkIndex_Main::__idx, CkIndex_Main::__idx_Main_CkArgMsg, impl_msg, &impl_ret, impl_onPE); return impl_ret; } void CProxy_Main::ckNew(CkArgMsg* impl_msg, CkChareID* pcid, int impl_onPE) { CkCreateChare(CkIndex_Main::__idx, CkIndex_Main::__idx_Main_CkArgMsg, impl_msg, pcid, impl_onPE); } CProxy_Main::CProxy_Main(CkArgMsg* impl_msg, int impl_onPE) { CkChareID impl_ret; CkCreateChare(CkIndex_Main::__idx, CkIndex_Main::__idx_Main_CkArgMsg, impl_msg, &impl_ret, impl_onPE); ckSetChareID(impl_ret); } int CkIndex_Main::__idx_Main_CkArgMsg=0; void CkIndex_Main::_call_Main_CkArgMsg(void* impl_msg,Main * impl_obj) { new (impl_obj) Main((CkArgMsg*)impl_msg); } /* DEFS: void done(void); */ void CProxy_Main::done(void) { ckCheck(); void *impl_msg = CkAllocSysMsg(); if (ckIsDelegated()) { int destPE=CkChareMsgPrep(CkIndex_Main::__idx_done_void, impl_msg, &ckGetChareID()); if (destPE!=-1) ckDelegatedTo()->ChareSend(ckDelegatedPtr(),CkIndex_Main::__idx_done_void, impl_msg, &ckGetChareID(),destPE); } else CkSendMsg(CkIndex_Main::__idx_done_void, impl_msg, &ckGetChareID(),0); } int CkIndex_Main::__idx_done_void=0; void CkIndex_Main::_call_done_void(void* impl_msg,Main * impl_obj) { CkFreeSysMsg(impl_msg); impl_obj->done(); } #endif /*CK_TEMPLATES_ONLY*/ #ifndef CK_TEMPLATES_ONLY void CkIndex_Main::__register(const char *s, size_t size) { __idx = CkRegisterChare(s, size, TypeMainChare); CkRegisterBase(__idx, CkIndex_Chare::__idx); // REG: Main(CkArgMsg* impl_msg); __idx_Main_CkArgMsg = CkRegisterEp("Main(CkArgMsg* impl_msg)", (CkCallFnPtr)_call_Main_CkArgMsg, CMessage_CkArgMsg::__idx, __idx, 0); CkRegisterMainChare(__idx, __idx_Main_CkArgMsg); // REG: void done(void); __idx_done_void = CkRegisterEp("done(void)", (CkCallFnPtr)_call_done_void, 0, __idx, 0); } #endif /* DEFS: array Hello: ArrayElement{ Hello(CkMigrateMessage* impl_msg); Hello(void); void work(void); }; */ #ifndef CK_TEMPLATES_ONLY int CkIndex_Hello::__idx=0; #endif #ifndef CK_TEMPLATES_ONLY /* DEFS: Hello(CkMigrateMessage* impl_msg); */ /* DEFS: Hello(void); */ void CProxyElement_Hello::insert(int onPE) { void *impl_msg = CkAllocSysMsg(); ckInsert((CkArrayMessage *)impl_msg,CkIndex_Hello::__idx_Hello_void,onPE); } /* DEFS: void work(void); */ void CProxyElement_Hello::work(void) { ckCheck(); void *impl_msg = CkAllocSysMsg(); CkArrayMessage *impl_amsg=(CkArrayMessage *)impl_msg; impl_amsg->array_setIfNotThere(CkArray_IfNotThere_buffer); ckSend(impl_amsg, CkIndex_Hello::__idx_work_void,0); } /* DEFS: Hello(CkMigrateMessage* impl_msg); */ int CkIndex_Hello::__idx_Hello_CkMigrateMessage=0; void CkIndex_Hello::_call_Hello_CkMigrateMessage(void* impl_msg,Hello * impl_obj) { new (impl_obj) Hello((CkMigrateMessage*)impl_msg); } /* DEFS: Hello(void); */ CkArrayID CProxy_Hello::ckNew(const CkArrayOptions &opts) { void *impl_msg = CkAllocSysMsg(); return ckCreateArray((CkArrayMessage *)impl_msg,CkIndex_Hello::__idx_Hello_void,opts); } CkArrayID CProxy_Hello::ckNew(const int s1) { void *impl_msg = CkAllocSysMsg(); return ckCreateArray((CkArrayMessage *)impl_msg,CkIndex_Hello::__idx_Hello_void,CkArrayOptions(s1)); } int CkIndex_Hello::__idx_Hello_void=0; void CkIndex_Hello::_call_Hello_void(void* impl_msg,Hello * impl_obj) { CkFreeSysMsg(impl_msg); new (impl_obj) Hello(); } /* DEFS: void work(void); */ void CProxy_Hello::work(void) { ckCheck(); void *impl_msg = CkAllocSysMsg(); CkArrayMessage *impl_amsg=(CkArrayMessage *)impl_msg; impl_amsg->array_setIfNotThere(CkArray_IfNotThere_buffer); ckBroadcast(impl_amsg, CkIndex_Hello::__idx_work_void,0); } int CkIndex_Hello::__idx_work_void=0; void CkIndex_Hello::_call_work_void(void* impl_msg,Hello * impl_obj) { CkFreeSysMsg(impl_msg); impl_obj->work(); } /* DEFS: Hello(CkMigrateMessage* impl_msg); */ /* DEFS: Hello(void); */ /* DEFS: void work(void); */ void CProxySection_Hello::work(void) { ckCheck(); void *impl_msg = CkAllocSysMsg(); CkArrayMessage *impl_amsg=(CkArrayMessage *)impl_msg; impl_amsg->array_setIfNotThere(CkArray_IfNotThere_buffer); ckSend(impl_amsg, CkIndex_Hello::__idx_work_void,0); } #endif /*CK_TEMPLATES_ONLY*/ #ifndef CK_TEMPLATES_ONLY void CkIndex_Hello::__register(const char *s, size_t size) { __idx = CkRegisterChare(s, size, TypeArray); CkRegisterBase(__idx, CkIndex_ArrayElement::__idx); // REG: Hello(CkMigrateMessage* impl_msg); __idx_Hello_CkMigrateMessage = CkRegisterEp("Hello(CkMigrateMessage* impl_msg)", (CkCallFnPtr)_call_Hello_CkMigrateMessage, 0, __idx, 0); CkRegisterMigCtor(__idx, __idx_Hello_CkMigrateMessage); // REG: Hello(void); __idx_Hello_void = CkRegisterEp("Hello(void)", (CkCallFnPtr)_call_Hello_void, 0, __idx, 0); CkRegisterDefaultCtor(__idx, __idx_Hello_void); // REG: void work(void); __idx_work_void = CkRegisterEp("work(void)", (CkCallFnPtr)_call_work_void, 0, __idx, 0); } #endif #ifndef CK_TEMPLATES_ONLY void _registerhello(void) { static int _done = 0; if(_done) return; _done = 1; CkRegisterReadonly("mainProxy","CProxy_Main",sizeof(mainProxy),(void *) &mainProxy,__xlater_roPup_mainProxy); /* REG: mainchare Main: Chare{ Main(CkArgMsg* impl_msg); void done(void); }; */ CkIndex_Main::__register("Main", sizeof(Main)); /* REG: array Hello: ArrayElement{ Hello(CkMigrateMessage* impl_msg); Hello(void); void work(void); }; */ CkIndex_Hello::__register("Hello", sizeof(Hello)); } extern "C" void CkRegisterMainModule(void) { _registerhello(); } #endif