diff options
author | Jeremy Evans <code@jeremyevans.net> | 2019-09-03 11:32:02 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-03 11:32:02 -0700 |
commit | 39c3252cd175074581855e5f9681cc723c15ff72 (patch) | |
tree | d10d0915b8611efeb9dd231542c20b6bc60609a4 /vm_core.h | |
parent | f702cd6ace7e134714d42ffb1606c25b5ded24c7 (diff) | |
download | bundler-39c3252cd175074581855e5f9681cc723c15ff72.tar.gz |
Merge pull request #2422 from jeremyevans/rb_keyword_given_p
Add rb_keyword_given_p to the C-API
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -1166,11 +1166,11 @@ typedef rb_control_frame_t * enum { /* Frame/Environment flag bits: - * MMMM MMMM MMMM MMMM ____ __FF FFFF EEEX (LSB) + * MMMM MMMM MMMM MMMM ____ _FFF FFFF EEEX (LSB) * * X : tag for GC marking (It seems as Fixnum) * EEE : 3 bits Env flags - * FF..: 6 bits Frame flags + * FF..: 7 bits Frame flags * MM..: 15 bits frame magic (to check frame corruption) */ @@ -1194,6 +1194,7 @@ enum { VM_FRAME_FLAG_CFRAME = 0x0080, VM_FRAME_FLAG_LAMBDA = 0x0100, VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM = 0x0200, + VM_FRAME_FLAG_CFRAME_KW = 0x0400, /* env flag */ VM_ENV_FLAG_LOCAL = 0x0002, @@ -1249,6 +1250,12 @@ VM_FRAME_LAMBDA_P(const rb_control_frame_t *cfp) } static inline int +VM_FRAME_CFRAME_KW_P(const rb_control_frame_t *cfp) +{ + return VM_ENV_FLAGS(cfp->ep, VM_FRAME_FLAG_CFRAME_KW) != 0; +} + +static inline int VM_FRAME_FINISHED_P(const rb_control_frame_t *cfp) { return VM_ENV_FLAGS(cfp->ep, VM_FRAME_FLAG_FINISH) != 0; |