From 469e644c93a0410b2b3a3a7523aed017e4f62715 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 28 Jun 2023 22:45:34 +0900 Subject: [PATCH] Compile code for non-embedded CI always --- .github/workflows/compilers.yml | 2 +- vm_callinfo.h | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml index 0c6d2bf699..c32ee6a3a7 100644 --- a/.github/workflows/compilers.yml +++ b/.github/workflows/compilers.yml @@ -167,7 +167,7 @@ jobs: # - { name: TRANSIENT_HEAP_CHECK_MODE, env: { cppflags: '-DTRANSIENT_HEAP_CHECK_MODE' } } # - { name: VM_CHECK_MODE, env: { cppflags: '-DVM_CHECK_MODE' } } - - { name: USE_EMBED_CI=0, env: { cppflags: '-DUSE_EMBED_CI=0' } } +# - { name: USE_EMBED_CI=0, env: { cppflags: '-DUSE_EMBED_CI=0' } } - { name: USE_FLONUM=0, env: { cppflags: '-DUSE_FLONUM=0' } } # - { name: USE_GC_MALLOC_OBJ_INFO_DETAILS, env: { cppflags: '-DUSE_GC_MALLOC_OBJ_INFO_DETAILS' } } - { name: USE_LAZY_LOAD, env: { cppflags: '-DUSE_LAZY_LOAD' } } diff --git a/vm_callinfo.h b/vm_callinfo.h index ccdf720cfc..45e26f2bc8 100644 --- a/vm_callinfo.h +++ b/vm_callinfo.h @@ -65,8 +65,12 @@ struct rb_callinfo { VALUE argc; }; -#ifndef USE_EMBED_CI +#if !defined(USE_EMBED_CI) || (USE_EMBED_CI+0) +#undef USE_EMBED_CI #define USE_EMBED_CI 1 +#else +#undef USE_EMBED_CI +#define USE_EMBED_CI 0 #endif #if SIZEOF_VALUE == 8 @@ -96,7 +100,9 @@ struct rb_callinfo { static inline bool vm_ci_packed_p(const struct rb_callinfo *ci) { -#if USE_EMBED_CI + if (!USE_EMBED_CI) { + return 0; + } if (LIKELY(((VALUE)ci) & 0x01)) { return 1; } @@ -104,9 +110,6 @@ vm_ci_packed_p(const struct rb_callinfo *ci) VM_ASSERT(IMEMO_TYPE_P(ci, imemo_callinfo)); return 0; } -#else - return 0; -#endif } static inline bool @@ -196,12 +199,10 @@ vm_ci_dump(const struct rb_callinfo *ci) static inline const struct rb_callinfo * vm_ci_new_(ID mid, unsigned int flag, unsigned int argc, const struct rb_callinfo_kwarg *kwarg, const char *file, int line) { -#if USE_EMBED_CI - if (VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg)) { + if (USE_EMBED_CI && VM_CI_EMBEDDABLE_P(mid, flag, argc, kwarg)) { RB_DEBUG_COUNTER_INC(ci_packed); return vm_ci_new_id(mid, flag, argc, kwarg); } -#endif const bool debug = 0; if (debug) ruby_debug_printf("%s:%d ", file, line);