aboutsummaryrefslogtreecommitdiffstats
path: root/vm_callinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'vm_callinfo.h')
-rw-r--r--vm_callinfo.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/vm_callinfo.h b/vm_callinfo.h
index 30c4f703ba..f99f808a83 100644
--- a/vm_callinfo.h
+++ b/vm_callinfo.h
@@ -13,6 +13,7 @@ enum vm_call_flag_bits {
VM_CALL_SUPER_bit, /* super */
VM_CALL_ZSUPER_bit, /* zsuper */
VM_CALL_OPT_SEND_bit, /* internal flag */
+ VM_CALL_KW_SPLAT_MUT_bit, /* kw splat hash can be modified (to avoid allocating a new one) */
VM_CALL__END
};
@@ -28,6 +29,7 @@ enum vm_call_flag_bits {
#define VM_CALL_SUPER (0x01 << VM_CALL_SUPER_bit)
#define VM_CALL_ZSUPER (0x01 << VM_CALL_ZSUPER_bit)
#define VM_CALL_OPT_SEND (0x01 << VM_CALL_OPT_SEND_bit)
+#define VM_CALL_KW_SPLAT_MUT (0x01 << VM_CALL_KW_SPLAT_MUT_bit)
struct rb_callinfo_kwarg {
int keyword_len;
@@ -64,8 +66,8 @@ struct rb_callinfo {
#define CI_EMBED_ID_bits 32
#elif SIZEOF_VALUE == 4
#define CI_EMBED_TAG_bits 1
-#define CI_EMBED_ARGC_bits 4
-#define CI_EMBED_FLAG_bits 12
+#define CI_EMBED_ARGC_bits 3
+#define CI_EMBED_FLAG_bits 13
#define CI_EMBED_ID_bits 15
#endif