diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h index 40bc958d1..1a321ab1e 100644 --- a/native/jni/src/defines.h +++ b/native/jni/src/defines.h @@ -19,6 +19,12 @@ #include +#ifdef __GNUC__ +#define AK_FORCE_INLINE __attribute__((always_inline)) __inline__ +#else // __GNUC__ +#define AK_FORCE_INLINE inline +#endif // __GNUC__ + #if defined(FLAG_DO_PROFILE) || defined(FLAG_DBG) #include #ifndef LOG_TAG @@ -60,7 +66,7 @@ static inline void dumpResult(const int *outWords, const int *frequencies, const AKLOGI("-------------------------"); } -static inline void dumpWord(const int *word, const int length) { +static AK_FORCE_INLINE void dumpWord(const int *word, const int length) { static char charBuf[50]; int i = 0; for (; i < length; ++i) { @@ -383,12 +389,6 @@ template inline T max(T a, T b) { return a > b ? a : b; } #define NELEMS(x) (sizeof(x) / sizeof((x)[0])) -#ifdef __GNUC__ -#define AK_FORCE_INLINE __attribute__((always_inline)) __inline__ -#else // __GNUC__ -#define AK_FORCE_INLINE inline -#endif // __GNUC__ - // The ratio of neutral area radius to sweet spot radius. #define NEUTRAL_AREA_RADIUS_RATIO 1.3f diff --git a/native/jni/src/words_priority_queue.h b/native/jni/src/words_priority_queue.h index 7d0c4d17d..e613d2f8a 100644 --- a/native/jni/src/words_priority_queue.h +++ b/native/jni/src/words_priority_queue.h @@ -112,15 +112,15 @@ class WordsPriorityQueue { } } - void dumpTopWord() { + AK_FORCE_INLINE void dumpTopWord() { if (size() <= 0) { return; } DUMP_WORD(mHighestSuggestedWord->mWord, mHighestSuggestedWord->mWordLength); } - float getHighestNormalizedScore(const int *before, const int beforeLength, int **outWord, - int *outScore, int *outLength) { + AK_FORCE_INLINE float getHighestNormalizedScore(const int *before, const int beforeLength, + int **outWord, int *outScore, int *outLength) { if (!mHighestSuggestedWord) { return 0.0; }