Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Let simcall.py produce valid code after recent renamings
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Tue, 13 Aug 2019 23:50:00 +0000 (01:50 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 15 Aug 2019 13:37:41 +0000 (15:37 +0200)
src/simix/popping_generated.cpp
src/simix/simcalls.py

index 706e64e..c014307 100644 (file)
@@ -62,96 +62,49 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {
     return;
   switch (simcall.call_) {
     case SIMCALL_EXECUTION_WAIT:
     return;
   switch (simcall.call_) {
     case SIMCALL_EXECUTION_WAIT:
-      simcall_HANDLER_execution_wait(&simcall,
-                                     simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl*>(simcall.args_[0]));
+      simcall_HANDLER_execution_wait(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl*>(simcall.args_[0]));
       break;
 
     case SIMCALL_EXECUTION_WAITANY_FOR:
       break;
 
     case SIMCALL_EXECUTION_WAITANY_FOR:
-      simcall_HANDLER_execution_waitany_for(
-          &simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl**>(simcall.args_[0]),
-          simgrid::simix::unmarshal<size_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]));
+      simcall_HANDLER_execution_waitany_for(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl**>(simcall.args_[0]), simgrid::simix::unmarshal<size_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]));
       break;
 
     case SIMCALL_EXECUTION_TEST:
       break;
 
     case SIMCALL_EXECUTION_TEST:
-      simcall_HANDLER_execution_test(&simcall,
-                                     simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl*>(simcall.args_[0]));
+      simcall_HANDLER_execution_test(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::ExecImpl*>(simcall.args_[0]));
       break;
 
     case SIMCALL_COMM_SEND:
       break;
 
     case SIMCALL_COMM_SEND:
-      simcall_HANDLER_comm_send(
-          &simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]),
-          simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]),
-          simgrid::simix::unmarshal<double>(simcall.args_[2]), simgrid::simix::unmarshal<double>(simcall.args_[3]),
-          simgrid::simix::unmarshal<unsigned char*>(simcall.args_[4]),
-          simgrid::simix::unmarshal<size_t>(simcall.args_[5]),
-          simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[6]),
-          simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[7]),
-          simgrid::simix::unmarshal<void*>(simcall.args_[8]), simgrid::simix::unmarshal<double>(simcall.args_[9]));
+      simcall_HANDLER_comm_send(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]), simgrid::simix::unmarshal<double>(simcall.args_[3]), simgrid::simix::unmarshal<unsigned char*>(simcall.args_[4]), simgrid::simix::unmarshal<size_t>(simcall.args_[5]), simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[6]), simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[7]), simgrid::simix::unmarshal<void*>(simcall.args_[8]), simgrid::simix::unmarshal<double>(simcall.args_[9]));
       break;
 
     case SIMCALL_COMM_ISEND:
       break;
 
     case SIMCALL_COMM_ISEND:
-      simgrid::simix::marshal<boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>>(
-          simcall.result_,
-          simcall_HANDLER_comm_isend(
-              &simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]),
-              simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]),
-              simgrid::simix::unmarshal<double>(simcall.args_[2]), simgrid::simix::unmarshal<double>(simcall.args_[3]),
-              simgrid::simix::unmarshal<unsigned char*>(simcall.args_[4]),
-              simgrid::simix::unmarshal<size_t>(simcall.args_[5]),
-              simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[6]),
-              simgrid::simix::unmarshal<simix_clean_func_t>(simcall.args_[7]),
-              simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[8]),
-              simgrid::simix::unmarshal<void*>(simcall.args_[9]), simgrid::simix::unmarshal<bool>(simcall.args_[10])));
+      simgrid::simix::marshal<boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>>(simcall.result_, simcall_HANDLER_comm_isend(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]), simgrid::simix::unmarshal<double>(simcall.args_[3]), simgrid::simix::unmarshal<unsigned char*>(simcall.args_[4]), simgrid::simix::unmarshal<size_t>(simcall.args_[5]), simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[6]), simgrid::simix::unmarshal<simix_clean_func_t>(simcall.args_[7]), simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[8]), simgrid::simix::unmarshal<void*>(simcall.args_[9]), simgrid::simix::unmarshal<bool>(simcall.args_[10])));
       simcall_answer();
       break;
 
     case SIMCALL_COMM_RECV:
       simcall_answer();
       break;
 
     case SIMCALL_COMM_RECV:
-      simcall_HANDLER_comm_recv(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]),
-                                simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]),
-                                simgrid::simix::unmarshal<unsigned char*>(simcall.args_[2]),
-                                simgrid::simix::unmarshal<size_t*>(simcall.args_[3]),
-                                simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[4]),
-                                simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[5]),
-                                simgrid::simix::unmarshal<void*>(simcall.args_[6]),
-                                simgrid::simix::unmarshal<double>(simcall.args_[7]),
-                                simgrid::simix::unmarshal<double>(simcall.args_[8]));
+      simcall_HANDLER_comm_recv(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]), simgrid::simix::unmarshal<unsigned char*>(simcall.args_[2]), simgrid::simix::unmarshal<size_t*>(simcall.args_[3]), simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[4]), simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[5]), simgrid::simix::unmarshal<void*>(simcall.args_[6]), simgrid::simix::unmarshal<double>(simcall.args_[7]), simgrid::simix::unmarshal<double>(simcall.args_[8]));
       break;
 
     case SIMCALL_COMM_IRECV:
       break;
 
     case SIMCALL_COMM_IRECV:
-      simgrid::simix::marshal<boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>>(
-          simcall.result_,
-          simcall_HANDLER_comm_irecv(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]),
-                                     simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]),
-                                     simgrid::simix::unmarshal<unsigned char*>(simcall.args_[2]),
-                                     simgrid::simix::unmarshal<size_t*>(simcall.args_[3]),
-                                     simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[4]),
-                                     simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[5]),
-                                     simgrid::simix::unmarshal<void*>(simcall.args_[6]),
-                                     simgrid::simix::unmarshal<double>(simcall.args_[7])));
+      simgrid::simix::marshal<boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl>>(simcall.result_, simcall_HANDLER_comm_irecv(&simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mailbox_t>(simcall.args_[1]), simgrid::simix::unmarshal<unsigned char*>(simcall.args_[2]), simgrid::simix::unmarshal<size_t*>(simcall.args_[3]), simgrid::simix::unmarshal<simix_match_func_t>(simcall.args_[4]), simgrid::simix::unmarshal<simix_copy_data_func_t>(simcall.args_[5]), simgrid::simix::unmarshal<void*>(simcall.args_[6]), simgrid::simix::unmarshal<double>(simcall.args_[7])));
       simcall_answer();
       break;
 
     case SIMCALL_COMM_WAITANY:
       simcall_answer();
       break;
 
     case SIMCALL_COMM_WAITANY:
-      simcall_HANDLER_comm_waitany(
-          &simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl**>(simcall.args_[0]),
-          simgrid::simix::unmarshal<size_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]));
+      simcall_HANDLER_comm_waitany(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl**>(simcall.args_[0]), simgrid::simix::unmarshal<size_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]));
       break;
 
     case SIMCALL_COMM_WAIT:
       break;
 
     case SIMCALL_COMM_WAIT:
-      simcall_HANDLER_comm_wait(&simcall,
-                                simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl*>(simcall.args_[0]),
-                                simgrid::simix::unmarshal<double>(simcall.args_[1]));
+      simcall_HANDLER_comm_wait(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl*>(simcall.args_[0]), simgrid::simix::unmarshal<double>(simcall.args_[1]));
       break;
 
     case SIMCALL_COMM_TEST:
       break;
 
     case SIMCALL_COMM_TEST:
-      simcall_HANDLER_comm_test(&simcall,
-                                simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl*>(simcall.args_[0]));
+      simcall_HANDLER_comm_test(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl*>(simcall.args_[0]));
       break;
 
     case SIMCALL_COMM_TESTANY:
       break;
 
     case SIMCALL_COMM_TESTANY:
-      simcall_HANDLER_comm_testany(&simcall,
-                                   simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl**>(simcall.args_[0]),
-                                   simgrid::simix::unmarshal<size_t>(simcall.args_[1]));
+      simcall_HANDLER_comm_testany(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::CommImpl**>(simcall.args_[0]), simgrid::simix::unmarshal<size_t>(simcall.args_[1]));
       break;
 
     case SIMCALL_MUTEX_LOCK:
       break;
 
     case SIMCALL_MUTEX_LOCK:
@@ -159,9 +112,7 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {
       break;
 
     case SIMCALL_MUTEX_TRYLOCK:
       break;
 
     case SIMCALL_MUTEX_TRYLOCK:
-      simgrid::simix::marshal<int>(
-          simcall.result_,
-          simcall_HANDLER_mutex_trylock(&simcall, simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[0])));
+      simgrid::simix::marshal<int>(simcall.result_, simcall_HANDLER_mutex_trylock(&simcall, simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[0])));
       simcall_answer();
       break;
 
       simcall_answer();
       break;
 
@@ -171,14 +122,11 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {
       break;
 
     case SIMCALL_COND_WAIT:
       break;
 
     case SIMCALL_COND_WAIT:
-      simcall_HANDLER_cond_wait(&simcall, simgrid::simix::unmarshal<smx_cond_t>(simcall.args_[0]),
-                                simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[1]));
+      simcall_HANDLER_cond_wait(&simcall, simgrid::simix::unmarshal<smx_cond_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[1]));
       break;
 
     case SIMCALL_COND_WAIT_TIMEOUT:
       break;
 
     case SIMCALL_COND_WAIT_TIMEOUT:
-      simcall_HANDLER_cond_wait_timeout(&simcall, simgrid::simix::unmarshal<smx_cond_t>(simcall.args_[0]),
-                                        simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[1]),
-                                        simgrid::simix::unmarshal<double>(simcall.args_[2]));
+      simcall_HANDLER_cond_wait_timeout(&simcall, simgrid::simix::unmarshal<smx_cond_t>(simcall.args_[0]), simgrid::simix::unmarshal<smx_mutex_t>(simcall.args_[1]), simgrid::simix::unmarshal<double>(simcall.args_[2]));
       break;
 
     case SIMCALL_SEM_ACQUIRE:
       break;
 
     case SIMCALL_SEM_ACQUIRE:
@@ -186,19 +134,15 @@ void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {
       break;
 
     case SIMCALL_SEM_ACQUIRE_TIMEOUT:
       break;
 
     case SIMCALL_SEM_ACQUIRE_TIMEOUT:
-      simcall_HANDLER_sem_acquire_timeout(&simcall, simgrid::simix::unmarshal<smx_sem_t>(simcall.args_[0]),
-                                          simgrid::simix::unmarshal<double>(simcall.args_[1]));
+      simcall_HANDLER_sem_acquire_timeout(&simcall, simgrid::simix::unmarshal<smx_sem_t>(simcall.args_[0]), simgrid::simix::unmarshal<double>(simcall.args_[1]));
       break;
 
     case SIMCALL_IO_WAIT:
       break;
 
     case SIMCALL_IO_WAIT:
-      simcall_HANDLER_io_wait(&simcall,
-                              simgrid::simix::unmarshal<simgrid::kernel::activity::IoImpl*>(simcall.args_[0]));
+      simcall_HANDLER_io_wait(&simcall, simgrid::simix::unmarshal<simgrid::kernel::activity::IoImpl*>(simcall.args_[0]));
       break;
 
     case SIMCALL_MC_RANDOM:
       break;
 
     case SIMCALL_MC_RANDOM:
-      simgrid::simix::marshal<int>(simcall.result_,
-                                   simcall_HANDLER_mc_random(&simcall, simgrid::simix::unmarshal<int>(simcall.args_[0]),
-                                                             simgrid::simix::unmarshal<int>(simcall.args_[1])));
+      simgrid::simix::marshal<int>(simcall.result_, simcall_HANDLER_mc_random(&simcall, simgrid::simix::unmarshal<int>(simcall.args_[0]), simgrid::simix::unmarshal<int>(simcall.args_[1])));
       simcall_answer();
       break;
 
       simcall_answer();
       break;
 
index 9fecf1e..01cca20 100755 (executable)
@@ -95,17 +95,17 @@ class Simcall(object):
             res.append('static inline %s simcall_%s__get__%s(smx_simcall_t simcall)' % (
                 arg.rettype(), self.name, arg.name))
             res.append('{')
             res.append('static inline %s simcall_%s__get__%s(smx_simcall_t simcall)' % (
                 arg.rettype(), self.name, arg.name))
             res.append('{')
-            res.append('  return simgrid::simix::unmarshal<%s>(simcall->args[%i]);' % (arg.rettype(), i))
+            res.append('  return simgrid::simix::unmarshal<%s>(simcall->args_[%i]);' % (arg.rettype(), i))
             res.append('}')
             res.append('static inline %s simcall_%s__getraw__%s(smx_simcall_t simcall)' % (
                 rawtype, self.name, arg.name))
             res.append('{')
             res.append('}')
             res.append('static inline %s simcall_%s__getraw__%s(smx_simcall_t simcall)' % (
                 rawtype, self.name, arg.name))
             res.append('{')
-            res.append('  return simgrid::simix::unmarshal_raw<%s>(simcall->args[%i]);' % (rawtype, i))
+            res.append('  return simgrid::simix::unmarshal_raw<%s>(simcall->args_[%i]);' % (rawtype, i))
             res.append('}')
             res.append('static inline void simcall_%s__set__%s(smx_simcall_t simcall, %s arg)' % (
                 self.name, arg.name, arg.rettype()))
             res.append('{')
             res.append('}')
             res.append('static inline void simcall_%s__set__%s(smx_simcall_t simcall, %s arg)' % (
                 self.name, arg.name, arg.rettype()))
             res.append('{')
-            res.append('  simgrid::simix::marshal<%s>(simcall->args[%i], arg);' % (arg.rettype(), i))
+            res.append('  simgrid::simix::marshal<%s>(simcall->args_[%i], arg);' % (arg.rettype(), i))
             res.append('}')
 
         # Return value getter/setters
             res.append('}')
 
         # Return value getter/setters
@@ -114,23 +114,23 @@ class Simcall(object):
             res.append(
                 'static inline %s simcall_%s__get__result(smx_simcall_t simcall)' % (self.res.rettype(), self.name))
             res.append('{')
             res.append(
                 'static inline %s simcall_%s__get__result(smx_simcall_t simcall)' % (self.res.rettype(), self.name))
             res.append('{')
-            res.append('  return simgrid::simix::unmarshal<%s>(simcall->result);' % self.res.rettype())
+            res.append('  return simgrid::simix::unmarshal<%s>(simcall->result_);' % self.res.rettype())
             res.append('}')
             res.append('static inline %s simcall_%s__getraw__result(smx_simcall_t simcall)' % (rawtype, self.name))
             res.append('{')
             res.append('}')
             res.append('static inline %s simcall_%s__getraw__result(smx_simcall_t simcall)' % (rawtype, self.name))
             res.append('{')
-            res.append('  return simgrid::simix::unmarshal_raw<%s>(simcall->result);' % rawtype)
+            res.append('  return simgrid::simix::unmarshal_raw<%s>(simcall->result_);' % rawtype)
             res.append('}')
             res.append(
                 'static inline void simcall_%s__set__result(smx_simcall_t simcall, %s result)' % (self.name, self.res.rettype()))
             res.append('{')
             res.append('}')
             res.append(
                 'static inline void simcall_%s__set__result(smx_simcall_t simcall, %s result)' % (self.name, self.res.rettype()))
             res.append('{')
-            res.append('  simgrid::simix::marshal<%s>(simcall->result, result);' % (self.res.rettype()))
+            res.append('  simgrid::simix::marshal<%s>(simcall->result_, result);' % (self.res.rettype()))
             res.append('}')
         return '\n'.join(res)
 
     def case(self):
         res = []
         indent = '    '
             res.append('}')
         return '\n'.join(res)
 
     def case(self):
         res = []
         indent = '    '
-        args = ["simgrid::simix::unmarshal<%s>(simcall.args[%d])" % (arg.rettype(), i)
+        args = ["simgrid::simix::unmarshal<%s>(simcall.args_[%d])" % (arg.rettype(), i)
                 for i, arg in enumerate(self.args)]
         res.append(indent + 'case SIMCALL_%s:' % (self.name.upper()))
         if self.need_handler:
                 for i, arg in enumerate(self.args)]
         res.append(indent + 'case SIMCALL_%s:' % (self.name.upper()))
         if self.need_handler:
@@ -140,7 +140,7 @@ class Simcall(object):
         else:
             call = "SIMIX_%s(%s)" % (self.name, ', '.join(args))
         if self.call_kind == 'Func':
         else:
             call = "SIMIX_%s(%s)" % (self.name, ', '.join(args))
         if self.call_kind == 'Func':
-            res.append(indent + "  simgrid::simix::marshal<%s>(simcall.result, %s);" % (self.res.rettype(), call))
+            res.append(indent + "  simgrid::simix::marshal<%s>(simcall.result_, %s);" % (self.res.rettype(), call))
         else:
             res.append(indent + "  " + call + ";")
         if self.call_kind != 'Blck':
         else:
             res.append(indent + "  " + call + ";")
         if self.call_kind != 'Blck':
@@ -342,12 +342,12 @@ if __name__ == '__main__':
     fd.write(
         'void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {\n')
     fd.write(
     fd.write(
         'void simgrid::kernel::actor::ActorImpl::simcall_handle(int value) {\n')
     fd.write(
-        '  XBT_DEBUG("Handling simcall %p: %s", &simcall, SIMIX_simcall_name(simcall.call));\n')
+        '  XBT_DEBUG("Handling simcall %p: %s", &simcall, SIMIX_simcall_name(simcall.call_));\n')
     fd.write('  SIMCALL_SET_MC_VALUE(simcall, value);\n')
     fd.write(
         '  if (context_->iwannadie)\n')
     fd.write('    return;\n')
     fd.write('  SIMCALL_SET_MC_VALUE(simcall, value);\n')
     fd.write(
         '  if (context_->iwannadie)\n')
     fd.write('    return;\n')
-    fd.write('  switch (simcall.call) {\n')
+    fd.write('  switch (simcall.call_) {\n')
 
     handle(fd, Simcall.case, simcalls, simcalls_dict)
 
 
     handle(fd, Simcall.case, simcalls, simcalls_dict)
 
@@ -385,13 +385,13 @@ inline static R simcall(e_smx_simcall_t call, T const&... t)
   smx_actor_t self = SIMIX_process_self();
   simgrid::simix::marshal(&self->simcall, call, t...);
   if (self != simix_global->maestro_process) {
   smx_actor_t self = SIMIX_process_self();
   simgrid::simix::marshal(&self->simcall, call, t...);
   if (self != simix_global->maestro_process) {
-    XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call),
-              (int)self->simcall.call);
+    XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->get_cname(), SIMIX_simcall_name(self->simcall.call_),
+              (int)self->simcall.call_);
     self->yield();
   } else {
     self->simcall_handle(0);
   }
     self->yield();
   } else {
     self->simcall_handle(0);
   }
-  return simgrid::simix::unmarshal<R>(self->simcall.result);
+  return simgrid::simix::unmarshal<R>(self->simcall.result_);
 }
 ''')
     handle(fd, Simcall.body, simcalls, simcalls_dict)
 }
 ''')
     handle(fd, Simcall.body, simcalls, simcalls_dict)