oal_mutex_unlock.isra.0 (const oal_mutex_t ISRA.3)
{
  errno_t retval;
  short unsigned int _2;
  int _3;
  unsigned char _4;
  void (*<T4e5>) (void) _5;

  <bb 6> [local count: 1073741824]:
  # DEBUG mutex s=> mutex

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retval => 22
  # DEBUG BEGIN_STMT
  _2 = ISRA.3_10(D);
  if (_2 <= 255)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _3 = (int) _2;
  _4 = mutex_alloc[_3];
  if (_4 != 0)
    goto <bb 4>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  _5 = SchM_Exit_Eth_43_PFE_ETH_EXCLUSIVE_AREA_ID[_3];
  _5 ();
  # DEBUG BEGIN_STMT
  # DEBUG retval => 0

  <bb 5> [local count: 1073741824]:
  # retval_6 = PHI <22(2), 22(3), 0(4)>
  # DEBUG retval => retval_6
  # DEBUG BEGIN_STMT
  return retval_6;

}


oal_mutex_lock.isra.0 (const oal_mutex_t ISRA.1)
{
  errno_t retval;
  short unsigned int _2;
  int _3;
  unsigned char _4;
  void (*<T4e5>) (void) _5;

  <bb 6> [local count: 1073741824]:
  # DEBUG mutex s=> mutex

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retval => 22
  # DEBUG BEGIN_STMT
  _2 = ISRA.1_10(D);
  if (_2 <= 255)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _3 = (int) _2;
  _4 = mutex_alloc[_3];
  if (_4 != 0)
    goto <bb 4>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  _5 = SchM_Enter_Eth_43_PFE_ETH_EXCLUSIVE_AREA_ID[_3];
  _5 ();
  # DEBUG BEGIN_STMT
  # DEBUG retval => 0

  <bb 5> [local count: 1073741824]:
  # retval_6 = PHI <22(2), 22(3), 0(4)>
  # DEBUG retval => retval_6
  # DEBUG BEGIN_STMT
  return retval_6;

}


oal_job_destroy (struct oal_job_t * job)
{
  errno_t ret_val;
  oal_spinlock_t * _1;
  int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 22
  # DEBUG BEGIN_STMT
  _1 = &job_3(D)->lock;
  # DEBUG mutex => _1
  # DEBUG INLINE_ENTRY oal_mutex_destroy
  # DEBUG BEGIN_STMT
  _5 = oal_mutex_destroy_internal (_1);
  # DEBUG mutex => NULL
  if (_5 != 0)
    goto <bb 4>; [35.00%]
  else
    goto <bb 3>; [65.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 0

  <bb 4> [local count: 1073741824]:
  # ret_val_2 = PHI <22(2), 0(3)>
  # DEBUG ret_val => ret_val_2
  # DEBUG BEGIN_STMT
  return ret_val_2;

}


oal_job_create (void (*oal_job_func) (void *) func, void * arg, const char_t * name, oal_prio_t prio, struct oal_job_t * new_job)
{
  int _1;
  oal_spinlock_t * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG job => new_job_4(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = strcmp ("HIF RX JOB", name_6(D));
  if (_1 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  new_job_4(D)->lock = 184;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  new_job_4(D)->lock = 185;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _2 = &new_job_4(D)->lock;
  oal_mutex_init (_2);
  # DEBUG BEGIN_STMT
  new_job_4(D)->func = func_10(D);
  # DEBUG BEGIN_STMT
  new_job_4(D)->arg = arg_12(D);
  # DEBUG BEGIN_STMT
  new_job_4(D)->name = name_6(D);
  # DEBUG BEGIN_STMT
  return new_job_4(D);

}


oal_job_drain (const struct oal_job_t * job)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return 0;

}


oal_job_run (struct oal_job_t * job)
{
  errno_t ret_val;
  void (*<Te3>) (void *) _1;
  void * _2;
  short unsigned int _10;
  short unsigned int _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => &job_5(D)->lock
  _10 = MEM[(const oal_mutex_t *)job_5(D) + 12B];
  # DEBUG D#1 => D#3
  oal_mutex_lock.isra.0 (_10);
  # DEBUG BEGIN_STMT
  _1 = job_5(D)->func;
  if (_1 == 0B)
    goto <bb 4>; [18.75%]
  else
    goto <bb 3>; [81.25%]

  <bb 3> [local count: 872415233]:
  # DEBUG BEGIN_STMT
  _2 = job_5(D)->arg;
  _1 (_2);
  # DEBUG BEGIN_STMT
  # DEBUG ret_val => 0

  <bb 4> [local count: 1073741824]:
  # ret_val_3 = PHI <22(2), 0(3)>
  # DEBUG ret_val => ret_val_3
  # DEBUG BEGIN_STMT
  # DEBUG D#4 => &job_5(D)->lock
  _11 = MEM[(const oal_mutex_t *)job_5(D) + 12B];
  # DEBUG D#2 => D#4
  oal_mutex_unlock.isra.0 (_11);
  # DEBUG BEGIN_STMT
  return ret_val_3;

}


oal_mutex_init (oal_mutex_t * mutex)
{
  errno_t _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _4 = oal_mutex_init_internal (mutex_2(D));
  return _4;

}


