From f37a050d3d0c6928b09d9b19e1283a695c52ccc7 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 5 Feb 2018 11:01:35 +0100 Subject: Optimize Vector_size on non-debug builds --- Vector.c | 8 ++++++++ Vector.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/Vector.c b/Vector.c index 0cdf9af2..6eb91ae6 100644 --- a/Vector.c +++ b/Vector.c @@ -284,11 +284,19 @@ inline Object* Vector_get(Vector* this, int idx) { #endif +#ifdef DEBUG + inline int Vector_size(Vector* this) { assert(Vector_isConsistent(this)); return this->items; } +#else + +#define Vector_size(v_) ((v_)->items) + +#endif + /* static void Vector_merge(Vector* this, Vector* v2) { diff --git a/Vector.h b/Vector.h index 9b284778..85939bf1 100644 --- a/Vector.h +++ b/Vector.h @@ -70,8 +70,16 @@ extern Object* Vector_get(Vector* this, int idx); #endif +#ifdef DEBUG + extern int Vector_size(Vector* this); +#else + +#define Vector_size(v_) ((v_)->items) + +#endif + /* */ -- cgit v1.2.3