The might be either this:

diff --git a/src/core/args.c b/src/core/args.c
index c4f2696..4772034 100644
--- a/src/core/args.c
+++ b/src/core/args.c
@@ -677,7 +677,7 @@ MVMObject * MVM_args_slurpy_named(MVMThreadContext *tc, 
MVMArgProcContext *ctx)
 
 static void flatten_args(MVMThreadContext *tc, MVMArgProcContext *ctx) {
     MVMArgInfo arg_info;
-    MVMuint16 flag_pos = 0, arg_pos = 0, new_arg_pos = 0,
+    MVMuint32 flag_pos = 0, arg_pos = 0, new_arg_pos = 0,
         new_arg_flags_size = ctx->arg_count > 0x7FFF ? ctx->arg_count : 
ctx->arg_count * 2,
         new_args_size = new_arg_flags_size, i, new_flag_pos = 0, new_num_pos = 
0;
     MVMCallsiteEntry *new_arg_flags;


Or this:

diff --git a/src/core/args.c b/src/core/args.c
index c4f2696..43a966a 100644
--- a/src/core/args.c
+++ b/src/core/args.c
@@ -702,7 +702,7 @@ static void flatten_args(MVMThreadContext *tc, 
MVMArgProcContext *ctx) {
             MVMint64        count = REPR(list)->elems(tc, STABLE(list), list, 
OBJECT_BODY(list));
             MVMStorageSpec  lss   = 
REPR(list)->pos_funcs.get_elem_storage_spec(tc, STABLE(list));
 
-            if ((MVMint64)new_arg_pos + count > 0xFFFF) {
+            if ((MVMint64)new_arg_pos + count > 0xC000) {
                 MVM_exception_throw_adhoc(tc, "Too many arguments in 
flattening array.");
             }
 

Reply via email to