mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #2422 from ksss/aspec-macro
OP_ENTER use MBR_ASPEC_* macros
This commit is contained in:
@@ -37,7 +37,7 @@ struct RProc {
|
||||
/* aspec access */
|
||||
#define MRB_ASPEC_REQ(a) (((a) >> 18) & 0x1f)
|
||||
#define MRB_ASPEC_OPT(a) (((a) >> 13) & 0x1f)
|
||||
#define MRB_ASPEC_REST(a) ((a) & (1<<12))
|
||||
#define MRB_ASPEC_REST(a) (((a) >> 12) & 0x1)
|
||||
#define MRB_ASPEC_POST(a) (((a) >> 7) & 0x1f)
|
||||
#define MRB_ASPEC_KEY(a) (((a) >> 2) & 0x1f)
|
||||
#define MRB_ASPEC_KDICT(a) ((a) & (1<<1))
|
||||
|
||||
@@ -1364,14 +1364,14 @@ RETRY_TRY_BLOCK:
|
||||
/* Ax arg setup according to flags (23=5:5:1:5:5:1:1) */
|
||||
/* number of optional arguments times OP_JMP should follow */
|
||||
mrb_aspec ax = GETARG_Ax(i);
|
||||
int m1 = (ax>>18)&0x1f;
|
||||
int o = (ax>>13)&0x1f;
|
||||
int r = (ax>>12)&0x1;
|
||||
int m2 = (ax>>7)&0x1f;
|
||||
int m1 = MRB_ASPEC_REQ(ax);
|
||||
int o = MRB_ASPEC_OPT(ax);
|
||||
int r = MRB_ASPEC_REST(ax);
|
||||
int m2 = MRB_ASPEC_POST(ax);
|
||||
/* unused
|
||||
int k = (ax>>2)&0x1f;
|
||||
int kd = (ax>>1)&0x1;
|
||||
int b = (ax>>0)& 0x1;
|
||||
int k = MRB_ASPEC_KEY(ax);
|
||||
int kd = MRB_ASPEC_KDICT(ax);
|
||||
int b = MRB_ASPEC_BLOCK(ax);
|
||||
*/
|
||||
int argc = mrb->c->ci->argc;
|
||||
mrb_value *argv = regs+1;
|
||||
|
||||
Reference in New Issue
Block a user