-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dyn,xbt,"Dynamic arrays");
-
-#define _dynar_lock(dynar) \
- if (dynar->mutex) \
- xbt_mutex_acquire(dynar->mutex)
-#define _dynar_unlock(dynar) \
- if (dynar->mutex) \
- xbt_mutex_release(dynar->mutex)
-#define _sanity_check_dynar(dynar) \
- xbt_assert0(dynar, \
- "dynar is NULL")
-#define _sanity_check_idx(idx) \
- xbt_assert1(idx >= 0, \
- "dynar idx(=%d) < 0", \
- (int) (idx))
-#define _check_inbound_idx(dynar, idx) \
- if (idx>=dynar->used) \
- THROW2(bound_error,idx, \
- "dynar is not that long. You asked %d, but it's only %lu long", \
- (int) (idx), (unsigned long) dynar->used)
-#define _check_sloppy_inbound_idx(dynar, idx) \
- if (idx>dynar->used) \
- THROW2(bound_error,idx, \
- "dynar is not that long. You asked %d, but it's only %lu long (could have been equal to it)", \
- (int) (idx), (unsigned long) dynar->used)
-#define _check_populated_dynar(dynar) \
- if (dynar->used == 0) \
- THROW1(bound_error,0, \
- "dynar %p is empty", dynar)
-
-static void _dynar_map(const xbt_dynar_t dynar,
- void_f_pvoid_t const op);
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_dyn, xbt, "Dynamic arrays");
+
+static XBT_INLINE void _dynar_lock(xbt_dynar_t dynar)
+{
+ if (dynar->mutex)
+ xbt_mutex_acquire(dynar->mutex);
+}
+
+static XBT_INLINE void _dynar_unlock(xbt_dynar_t dynar)
+{
+ if (dynar->mutex)
+ xbt_mutex_release(dynar->mutex);
+}
+
+static XBT_INLINE void _sanity_check_dynar(xbt_dynar_t dynar)
+{
+ xbt_assert0(dynar, "dynar is NULL");
+}
+
+static XBT_INLINE void _sanity_check_idx(int idx)
+{
+ xbt_assert1(idx >= 0, "dynar idx(=%d) < 0", (int) (idx));
+}
+
+static XBT_INLINE void _check_inbound_idx(xbt_dynar_t dynar, int idx)
+{
+ if (idx < 0 || idx >= dynar->used) {
+ _dynar_unlock(dynar);
+ THROW2(bound_error, idx,
+ "dynar is not that long. You asked %d, but it's only %lu long",
+ (int) (idx), (unsigned long) dynar->used);
+ }
+}
+
+static XBT_INLINE void _check_sloppy_inbound_idx(xbt_dynar_t dynar, int idx)
+{
+ if (idx > dynar->used) {
+ _dynar_unlock(dynar);
+ THROW2(bound_error, idx,
+ "dynar is not that long. You asked %d, but it's only %lu long (could have been equal to it)",
+ (int) (idx), (unsigned long) dynar->used);
+ }
+}
+
+static XBT_INLINE void _check_populated_dynar(xbt_dynar_t dynar)
+{
+ if (dynar->used == 0) {
+ _dynar_unlock(dynar);
+ THROW1(bound_error, 0, "dynar %p is empty", dynar);
+ }
+}
+
+static void _dynar_map(const xbt_dynar_t dynar, void_f_pvoid_t const op);