convert macros into inline functions
For better readability.
This commit is contained in:
parent
d616926af9
commit
ea717d1ce1
@ -120,17 +120,20 @@ enum vm_regan_acttype {
|
|||||||
* because inline method cache does not care about receiver.
|
* because inline method cache does not care about receiver.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define CC_SET_FASTPATH(cc, func, enabled) do { \
|
static inline void
|
||||||
if (LIKELY(enabled)) ((cc)->call = (func)); \
|
CC_SET_FASTPATH(CALL_CACHE cc, vm_call_handler func, bool enabled)
|
||||||
} while (0)
|
{
|
||||||
|
if (LIKELY(enabled)) {
|
||||||
|
cc->call = func;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define CC_SET_ME(cc, newme) do { \
|
static inline void
|
||||||
CALL_CACHE ccx = (cc); \
|
CC_SET_ME(CALL_CACHE cc, const rb_callable_method_entry_t *me)
|
||||||
const rb_callable_method_entry_t *mex = (newme); \
|
{
|
||||||
const rb_method_definition_t *defx = mex ? mex->def : NULL; \
|
cc->me = me;
|
||||||
ccx->me = mex; \
|
cc->def = me ? me->def : NULL;
|
||||||
ccx->def = defx; \
|
}
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define GET_BLOCK_HANDLER() (GET_LEP()[VM_ENV_DATA_INDEX_SPECVAL])
|
#define GET_BLOCK_HANDLER() (GET_LEP()[VM_ENV_DATA_INDEX_SPECVAL])
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user