Skip to content
This repository
  • 10 commits
  • 65 files changed
  • 0 comments
  • 1 contributor

Showing 65 changed files with 340 additions and 450 deletions. Show diff stats Hide diff stats

  1. +2 2 compilers/imcc/debug.h
  2. +1 3 compilers/imcc/pbc.c
  3. +4 4 compilers/imcc/pbc.h
  4. +8 8 include/parrot/call.h
  5. +36 31 include/parrot/context.h
  6. +1 1  include/parrot/datatypes.h
  7. +2 2 include/parrot/debugger.h
  8. +13 9 include/parrot/encoding.h
  9. +1 1  include/parrot/exceptions.h
  10. +5 3 include/parrot/extend.h
  11. +5 3 include/parrot/hash.h
  12. +1 3 include/parrot/interpreter.h
  13. +22 17 include/parrot/io.h
  14. +1 1  include/parrot/key.h
  15. +7 7 include/parrot/list.h
  16. +3 3 include/parrot/misc.h
  17. +5 3 include/parrot/namespace.h
  18. +1 1  include/parrot/oo.h
  19. +4 4 include/parrot/packfile.h
  20. +3 3 include/parrot/pmc.h
  21. +1 1  include/parrot/runcore_api.h
  22. +5 3 include/parrot/scheduler.h
  23. +6 6 include/parrot/string_funcs.h
  24. +4 4 include/parrot/thread.h
  25. +1 1  include/parrot/vtables.h
  26. +3 4 lib/Parrot/Headerizer.pm
  27. +11 33 lib/Parrot/Headerizer/Functions.pm
  28. +21 21 src/call/args.c
  29. +1 1  src/call/context.c
  30. +2 2 src/debug.c
  31. +6 4 src/embed.c
  32. +1 1  src/exceptions.c
  33. +1 1  src/extend.c
  34. +4 4 src/gc/alloc_resources.c
  35. +1 1  src/gc/fixed_allocator.c
  36. +8 8 src/gc/fixed_allocator.h
  37. +10 11 src/gc/gc_gms.c
  38. +25 26 src/gc/gc_inf.c
  39. +12 12 src/gc/gc_ms.c
  40. +10 10 src/gc/gc_ms2.c
  41. +9 11 src/gc/gc_private.h
  42. +2 2 src/gc/mark_sweep.c
  43. +1 1  src/gc/string_gc.c
  44. +5 5 src/hash.c
  45. +3 4 src/misc.c
  46. +1 1  src/namespace.c
  47. +3 3 src/packfile/api.c
  48. +1 1  src/pmc/stringbuilder.pmc
  49. +1 4 src/pmc/structview.pmc
  50. +4 4 src/runcore/cores.c
  51. +1 1  src/runcore/main.c
  52. +2 2 src/runcore/profiling.c
  53. +1 1  src/scheduler.c
  54. +5 7 src/spf_vtable.c
  55. +1 1  src/string/api.c
  56. +1 1  src/string/encoding.c
  57. +3 3 src/string/encoding/binary.c
  58. +2 2 src/string/encoding/latin1.c
  59. +5 5 src/string/encoding/null.c
  60. +11 11 src/string/encoding/shared.h
  61. +5 5 src/string/encoding/ucs2.c
  62. +5 5 src/string/encoding/ucs4.c
  63. +2 2 src/string/encoding/utf16.c
  64. +2 2 src/string/encoding/utf8.c
  65. +6 103 t/tools/dev/headerizer/01_functions.t
4 compilers/imcc/debug.h
@@ -63,7 +63,7 @@ void IMCC_debug(
63 63 PARROT_DOES_NOT_RETURN
64 64 void IMCC_fatal(
65 65 ARGMOD(imc_info_t * imcc),
66   - NULLOK(int code),
  66 + int code,
67 67 ARGIN(const char *fmt),
68 68 ...)
69 69 __attribute__nonnull__(1)
@@ -83,7 +83,7 @@ void IMCC_fatal_standalone(
83 83 PARROT_DOES_NOT_RETURN
84 84 void IMCC_fataly(
85 85 ARGMOD(imc_info_t * imcc),
86   - NULLOK(int code),
  86 + int code,
87 87 ARGIN(const char *fmt),
88 88 ...)
89 89 __attribute__nonnull__(1)
4 compilers/imcc/pbc.c
@@ -200,9 +200,7 @@ static int get_old_size(
200 200 FUNC_MODIFIES(* imcc)
201 201 FUNC_MODIFIES(*ins_line);
202 202
203   -static void imcc_globals_destroy(SHIM_INTERP,
204   - SHIM(int ex),
205   - ARGMOD(void *param))
  203 +static void imcc_globals_destroy(PARROT_INTERP, int ex, ARGMOD(void *param))
206 204 __attribute__nonnull__(3)
207 205 FUNC_MODIFIES(*param);
208 206
8 compilers/imcc/pbc.h
@@ -8,13 +8,13 @@
8 8 /* HEADERIZER BEGIN: compilers/imcc/pbc.c */
9 9 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
10 10
11   -void e_pbc_close(ARGMOD(imc_info_t * imcc), SHIM(void *param))
  11 +void e_pbc_close(ARGMOD(imc_info_t * imcc), void *param)
12 12 __attribute__nonnull__(1)
13 13 FUNC_MODIFIES(* imcc);
14 14
15 15 int e_pbc_emit(
16 16 ARGMOD(imc_info_t * imcc),
17   - SHIM(void *param),
  17 + void *param,
18 18 ARGIN(const IMC_Unit *unit),
19 19 ARGIN(const Instruction *ins))
20 20 __attribute__nonnull__(1)
@@ -24,7 +24,7 @@ int e_pbc_emit(
24 24
25 25 void e_pbc_end_sub(
26 26 ARGMOD(imc_info_t * imcc),
27   - SHIM(void *param),
  27 + void *param,
28 28 ARGIN(IMC_Unit *unit))
29 29 __attribute__nonnull__(1)
30 30 __attribute__nonnull__(3)
@@ -32,7 +32,7 @@ void e_pbc_end_sub(
32 32
33 33 void e_pbc_new_sub(
34 34 ARGMOD(imc_info_t * imcc),
35   - SHIM(void *param),
  35 + void *param,
36 36 ARGIN(IMC_Unit *unit))
37 37 __attribute__nonnull__(1)
38 38 __attribute__nonnull__(3)
16 include/parrot/call.h
@@ -348,18 +348,18 @@ PMC ** Parrot_pcc_get_PMC_reg(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL idx)
348 348 PARROT_EXPORT
349 349 PARROT_PURE_FUNCTION
350 350 PARROT_CANNOT_RETURN_NULL
351   -Regs_ni* Parrot_pcc_get_regs_ni(SHIM_INTERP, ARGIN(const PMC *ctx))
  351 +Regs_ni* Parrot_pcc_get_regs_ni(PARROT_INTERP, ARGIN(const PMC *ctx))
352 352 __attribute__nonnull__(2);
353 353
354 354 PARROT_EXPORT
355 355 PARROT_PURE_FUNCTION
356 356 PARROT_CANNOT_RETURN_NULL
357   -Regs_ps* Parrot_pcc_get_regs_ps(SHIM_INTERP, ARGIN(PMC *ctx))
  357 +Regs_ps* Parrot_pcc_get_regs_ps(PARROT_INTERP, ARGIN(PMC *ctx))
358 358 __attribute__nonnull__(2);
359 359
360 360 PARROT_EXPORT
361 361 PARROT_PURE_FUNCTION
362   -UINTVAL Parrot_pcc_get_regs_used(SHIM_INTERP,
  362 +UINTVAL Parrot_pcc_get_regs_used(PARROT_INTERP,
363 363 ARGIN(const PMC *ctx),
364 364 int type)
365 365 __attribute__nonnull__(2);
@@ -376,7 +376,7 @@ STRING ** Parrot_pcc_get_STRING_reg(PARROT_INTERP,
376 376 PARROT_EXPORT
377 377 PARROT_PURE_FUNCTION
378 378 PARROT_CAN_RETURN_NULL
379   -PMC* Parrot_pcc_get_sub(SHIM_INTERP, ARGIN(const PMC *ctx))
  379 +PMC* Parrot_pcc_get_sub(PARROT_INTERP, ARGIN(const PMC *ctx))
380 380 __attribute__nonnull__(2);
381 381
382 382 PARROT_EXPORT
@@ -386,7 +386,7 @@ void Parrot_pcc_set_context_func(PARROT_INTERP, ARGIN(PMC *ctx))
386 386
387 387 PARROT_EXPORT
388 388 PARROT_CANNOT_RETURN_NULL
389   -void Parrot_pcc_set_regs_ni(SHIM_INTERP,
  389 +void Parrot_pcc_set_regs_ni(PARROT_INTERP,
390 390 ARGIN(PMC *ctx),
391 391 ARGIN(Regs_ni *bp))
392 392 __attribute__nonnull__(2)
@@ -394,14 +394,14 @@ void Parrot_pcc_set_regs_ni(SHIM_INTERP,
394 394
395 395 PARROT_EXPORT
396 396 PARROT_CANNOT_RETURN_NULL
397   -void Parrot_pcc_set_regs_ps(SHIM_INTERP,
  397 +void Parrot_pcc_set_regs_ps(PARROT_INTERP,
398 398 ARGIN(PMC *ctx),
399 399 ARGIN(Regs_ps *bp_ps))
400 400 __attribute__nonnull__(2)
401 401 __attribute__nonnull__(3);
402 402
403 403 PARROT_EXPORT
404   -void Parrot_pcc_set_regs_used(SHIM_INTERP,
  404 +void Parrot_pcc_set_regs_used(PARROT_INTERP,
405 405 ARGIN(PMC *ctx),
406 406 int type,
407 407 INTVAL num)
@@ -454,7 +454,7 @@ void Parrot_pcc_free_registers(PARROT_INTERP, ARGIN(PMC *pmcctx))
454 454 __attribute__nonnull__(2);
455 455
456 456 PARROT_CANNOT_RETURN_NULL
457   -PMC * Parrot_pcc_init_context(SHIM_INTERP,
  457 +PMC * Parrot_pcc_init_context(PARROT_INTERP,
458 458 ARGIN(PMC *ctx),
459 459 ARGIN_NULLOK(PMC *old))
460 460 __attribute__nonnull__(2);
67 include/parrot/context.h
@@ -67,20 +67,24 @@ typedef struct Parrot_CallContext_attributes Parrot_Context;
67 67 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
68 68
69 69 PARROT_EXPORT
70   -UINTVAL Parrot_pcc_dec_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
  70 +UINTVAL Parrot_pcc_dec_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
71 71 __attribute__nonnull__(2);
72 72
73 73 PARROT_EXPORT
74   -void Parrot_pcc_errors_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
  74 +void Parrot_pcc_errors_off_func(PARROT_INTERP,
  75 + ARGIN(PMC *ctx),
  76 + UINTVAL flags)
75 77 __attribute__nonnull__(2);
76 78
77 79 PARROT_EXPORT
78   -void Parrot_pcc_errors_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
  80 +void Parrot_pcc_errors_on_func(PARROT_INTERP,
  81 + ARGIN(PMC *ctx),
  82 + UINTVAL flags)
79 83 __attribute__nonnull__(2);
80 84
81 85 PARROT_EXPORT
82 86 PARROT_PURE_FUNCTION
83   -UINTVAL Parrot_pcc_errors_test_func(SHIM_INTERP,
  87 +UINTVAL Parrot_pcc_errors_test_func(PARROT_INTERP,
84 88 ARGIN(PMC *ctx),
85 89 UINTVAL flags)
86 90 __attribute__nonnull__(2);
@@ -88,48 +92,48 @@ UINTVAL Parrot_pcc_errors_test_func(SHIM_INTERP,
88 92 PARROT_EXPORT
89 93 PARROT_PURE_FUNCTION
90 94 PARROT_CAN_RETURN_NULL
91   -PMC* Parrot_pcc_get_caller_ctx_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  95 +PMC* Parrot_pcc_get_caller_ctx_func(PARROT_INTERP, ARGIN(const PMC *ctx))
92 96 __attribute__nonnull__(2);
93 97
94 98 PARROT_EXPORT
95 99 PARROT_CAN_RETURN_NULL
96 100 PARROT_PURE_FUNCTION
97   -Parrot_Context* Parrot_pcc_get_context_struct_func(SHIM_INTERP,
  101 +Parrot_Context* Parrot_pcc_get_context_struct_func(PARROT_INTERP,
98 102 ARGIN_NULLOK(PMC *ctx));
99 103
100 104 PARROT_EXPORT
101 105 PARROT_PURE_FUNCTION
102 106 PARROT_CAN_RETURN_NULL
103   -PMC* Parrot_pcc_get_continuation_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  107 +PMC* Parrot_pcc_get_continuation_func(PARROT_INTERP, ARGIN(const PMC *ctx))
104 108 __attribute__nonnull__(2);
105 109
106 110 PARROT_EXPORT
107 111 PARROT_PURE_FUNCTION
108 112 PARROT_CAN_RETURN_NULL
109   -PMC* Parrot_pcc_get_handlers_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  113 +PMC* Parrot_pcc_get_handlers_func(PARROT_INTERP, ARGIN(const PMC *ctx))
110 114 __attribute__nonnull__(2);
111 115
112 116 PARROT_EXPORT
113 117 PARROT_PURE_FUNCTION
114   -INTVAL Parrot_pcc_get_HLL_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  118 +INTVAL Parrot_pcc_get_HLL_func(PARROT_INTERP, ARGIN(const PMC *ctx))
115 119 __attribute__nonnull__(2);
116 120
117 121 PARROT_EXPORT
118 122 PARROT_PURE_FUNCTION
119 123 PARROT_CANNOT_RETURN_NULL
120   -PMC* Parrot_pcc_get_lex_pad_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  124 +PMC* Parrot_pcc_get_lex_pad_func(PARROT_INTERP, ARGIN(const PMC *ctx))
121 125 __attribute__nonnull__(2);
122 126
123 127 PARROT_EXPORT
124 128 PARROT_PURE_FUNCTION
125 129 PARROT_CAN_RETURN_NULL
126   -PMC* Parrot_pcc_get_namespace_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  130 +PMC* Parrot_pcc_get_namespace_func(PARROT_INTERP, ARGIN(const PMC *ctx))
127 131 __attribute__nonnull__(2);
128 132
129 133 PARROT_EXPORT
130 134 PARROT_PURE_FUNCTION
131 135 PARROT_CAN_RETURN_NULL
132   -FLOATVAL Parrot_pcc_get_num_constant_func(SHIM_INTERP,
  136 +FLOATVAL Parrot_pcc_get_num_constant_func(PARROT_INTERP,
133 137 ARGIN(const PMC *ctx),
134 138 INTVAL idx)
135 139 __attribute__nonnull__(2);
@@ -137,32 +141,32 @@ FLOATVAL Parrot_pcc_get_num_constant_func(SHIM_INTERP,
137 141 PARROT_EXPORT
138 142 PARROT_CANNOT_RETURN_NULL
139 143 PARROT_PURE_FUNCTION
140   -FLOATVAL * Parrot_pcc_get_num_constants_func(SHIM_INTERP,
  144 +FLOATVAL * Parrot_pcc_get_num_constants_func(PARROT_INTERP,
141 145 ARGIN(const PMC *ctx))
142 146 __attribute__nonnull__(2);
143 147
144 148 PARROT_EXPORT
145 149 PARROT_PURE_FUNCTION
146 150 PARROT_CAN_RETURN_NULL
147   -PMC* Parrot_pcc_get_object_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  151 +PMC* Parrot_pcc_get_object_func(PARROT_INTERP, ARGIN(const PMC *ctx))
148 152 __attribute__nonnull__(2);
149 153
150 154 PARROT_EXPORT
151 155 PARROT_PURE_FUNCTION
152 156 PARROT_CAN_RETURN_NULL
153   -PMC* Parrot_pcc_get_outer_ctx_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  157 +PMC* Parrot_pcc_get_outer_ctx_func(PARROT_INTERP, ARGIN(const PMC *ctx))
154 158 __attribute__nonnull__(2);
155 159
156 160 PARROT_EXPORT
157 161 PARROT_PURE_FUNCTION
158 162 PARROT_CAN_RETURN_NULL
159   -opcode_t* Parrot_pcc_get_pc_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  163 +opcode_t* Parrot_pcc_get_pc_func(PARROT_INTERP, ARGIN(const PMC *ctx))
160 164 __attribute__nonnull__(2);
161 165
162 166 PARROT_EXPORT
163 167 PARROT_PURE_FUNCTION
164 168 PARROT_CAN_RETURN_NULL
165   -PMC* Parrot_pcc_get_pmc_constant_func(SHIM_INTERP,
  169 +PMC* Parrot_pcc_get_pmc_constant_func(PARROT_INTERP,
166 170 ARGIN(const PMC *ctx),
167 171 INTVAL idx)
168 172 __attribute__nonnull__(2);
@@ -170,38 +174,39 @@ PMC* Parrot_pcc_get_pmc_constant_func(SHIM_INTERP,
170 174 PARROT_EXPORT
171 175 PARROT_CANNOT_RETURN_NULL
172 176 PARROT_PURE_FUNCTION
173   -PMC ** Parrot_pcc_get_pmc_constants_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  177 +PMC ** Parrot_pcc_get_pmc_constants_func(PARROT_INTERP,
  178 + ARGIN(const PMC *ctx))
174 179 __attribute__nonnull__(2);
175 180
176 181 PARROT_EXPORT
177 182 PARROT_PURE_FUNCTION
178   -UINTVAL Parrot_pcc_get_recursion_depth_func(SHIM_INTERP,
  183 +UINTVAL Parrot_pcc_get_recursion_depth_func(PARROT_INTERP,
179 184 ARGIN(const PMC *ctx))
180 185 __attribute__nonnull__(2);
181 186
182 187 PARROT_EXPORT
183 188 PARROT_PURE_FUNCTION
184 189 PARROT_CAN_RETURN_NULL
185   -PMC* Parrot_pcc_get_signature_func(SHIM_INTERP, ARGIN(const PMC *ctx))
  190 +PMC* Parrot_pcc_get_signature_func(PARROT_INTERP, ARGIN(const PMC *ctx))
186 191 __attribute__nonnull__(2);
187 192
188 193 PARROT_EXPORT
189 194 PARROT_CANNOT_RETURN_NULL
190 195 PARROT_PURE_FUNCTION
191   -STRING ** Parrot_pcc_get_str_constants_func(SHIM_INTERP,
  196 +STRING ** Parrot_pcc_get_str_constants_func(PARROT_INTERP,
192 197 ARGIN(const PMC *ctx))
193 198 __attribute__nonnull__(2);
194 199
195 200 PARROT_EXPORT
196 201 PARROT_PURE_FUNCTION
197 202 PARROT_CAN_RETURN_NULL
198   -STRING* Parrot_pcc_get_string_constant_func(SHIM_INTERP,
  203 +STRING* Parrot_pcc_get_string_constant_func(PARROT_INTERP,
199 204 ARGIN(const PMC *ctx),
200 205 INTVAL idx)
201 206 __attribute__nonnull__(2);
202 207
203 208 PARROT_EXPORT
204   -UINTVAL Parrot_pcc_inc_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
  209 +UINTVAL Parrot_pcc_inc_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
205 210 __attribute__nonnull__(2);
206 211
207 212 PARROT_EXPORT
@@ -214,7 +219,7 @@ void Parrot_pcc_set_caller_ctx_func(PARROT_INTERP,
214 219
215 220 PARROT_EXPORT
216 221 PARROT_CAN_RETURN_NULL
217   -void Parrot_pcc_set_constants_func(SHIM_INTERP,
  222 +void Parrot_pcc_set_constants_func(PARROT_INTERP,
218 223 ARGIN(PMC *ctx),
219 224 ARGIN(const struct PackFile_ConstTable *ct))
220 225 __attribute__nonnull__(2)
@@ -236,7 +241,7 @@ void Parrot_pcc_set_handlers_func(PARROT_INTERP,
236 241 __attribute__nonnull__(3);
237 242
238 243 PARROT_EXPORT
239   -void Parrot_pcc_set_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL hll)
  244 +void Parrot_pcc_set_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL hll)
240 245 __attribute__nonnull__(2);
241 246
242 247 PARROT_EXPORT
@@ -284,39 +289,39 @@ void Parrot_pcc_set_signature_func(PARROT_INTERP,
284 289 __attribute__nonnull__(2);
285 290
286 291 PARROT_EXPORT
287   -void Parrot_pcc_trace_flags_off_func(SHIM_INTERP,
  292 +void Parrot_pcc_trace_flags_off_func(PARROT_INTERP,
288 293 ARGIN(PMC *ctx),
289 294 UINTVAL flags)
290 295 __attribute__nonnull__(2);
291 296
292 297 PARROT_EXPORT
293   -void Parrot_pcc_trace_flags_on_func(SHIM_INTERP,
  298 +void Parrot_pcc_trace_flags_on_func(PARROT_INTERP,
294 299 ARGIN(PMC *ctx),
295 300 UINTVAL flags)
296 301 __attribute__nonnull__(2);
297 302
298 303 PARROT_EXPORT
299 304 PARROT_PURE_FUNCTION
300   -UINTVAL Parrot_pcc_trace_flags_test_func(SHIM_INTERP,
  305 +UINTVAL Parrot_pcc_trace_flags_test_func(PARROT_INTERP,
301 306 ARGIN(PMC *ctx),
302 307 UINTVAL flags)
303 308 __attribute__nonnull__(2);
304 309
305 310 PARROT_EXPORT
306   -void Parrot_pcc_warnings_off_func(SHIM_INTERP,
  311 +void Parrot_pcc_warnings_off_func(PARROT_INTERP,
307 312 ARGIN(PMC *ctx),
308 313 UINTVAL flags)
309 314 __attribute__nonnull__(2);
310 315
311 316 PARROT_EXPORT
312   -UINTVAL Parrot_pcc_warnings_on_func(SHIM_INTERP,
  317 +UINTVAL Parrot_pcc_warnings_on_func(PARROT_INTERP,
313 318 ARGIN(PMC *ctx),
314 319 UINTVAL flags)
315 320 __attribute__nonnull__(2);
316 321
317 322 PARROT_EXPORT
318 323 PARROT_PURE_FUNCTION
319   -UINTVAL Parrot_pcc_warnings_test_func(SHIM_INTERP,
  324 +UINTVAL Parrot_pcc_warnings_test_func(PARROT_INTERP,
320 325 ARGIN(const PMC *ctx),
321 326 UINTVAL flags)
322 327 __attribute__nonnull__(2);
2  include/parrot/datatypes.h
@@ -178,7 +178,7 @@ const struct _data_types data_types[] = {
178 178 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
179 179
180 180 PARROT_EXPORT
181   -FLOATVAL Parrot_dt_divide_floatval_by_zero(SHIM_INTERP, FLOATVAL num);
  181 +FLOATVAL Parrot_dt_divide_floatval_by_zero(PARROT_INTERP, FLOATVAL num);
182 182
183 183 PARROT_EXPORT
184 184 PARROT_WARN_UNUSED_RESULT
4 include/parrot/debugger.h
@@ -277,7 +277,7 @@ void PDB_disable_breakpoint(PARROT_INTERP, ARGIN(const char *command))
277 277 __attribute__nonnull__(1)
278 278 __attribute__nonnull__(2);
279 279
280   -void PDB_disassemble(PARROT_INTERP, SHIM(const char *command))
  280 +void PDB_disassemble(PARROT_INTERP, ARGIN_NULLOK(const char *command))
281 281 __attribute__nonnull__(1);
282 282
283 283 size_t PDB_disassemble_op(PARROT_INTERP,
@@ -335,7 +335,7 @@ void PDB_help(PARROT_INTERP, ARGIN(const char *command))
335 335 void PDB_info(PARROT_INTERP)
336 336 __attribute__nonnull__(1);
337 337
338   -void PDB_init(PARROT_INTERP, SHIM(const char *command))
  338 +void PDB_init(PARROT_INTERP, ARGIN_NULLOK(const char *command))
339 339 __attribute__nonnull__(1);
340 340
341 341 void PDB_list(PARROT_INTERP, ARGIN(const char *command))
22 include/parrot/encoding.h
@@ -35,19 +35,20 @@ PARROT_EXPORT
35 35 PARROT_PURE_FUNCTION
36 36 PARROT_WARN_UNUSED_RESULT
37 37 PARROT_CANNOT_RETURN_NULL
38   -const STR_VTABLE * Parrot_default_encoding(SHIM_INTERP);
  38 +const STR_VTABLE * Parrot_default_encoding(PARROT_INTERP);
39 39
40 40 PARROT_EXPORT
41 41 PARROT_PURE_FUNCTION
42 42 PARROT_WARN_UNUSED_RESULT
43 43 PARROT_CAN_RETURN_NULL
44   -const char * Parrot_encoding_c_name(SHIM_INTERP, INTVAL number_of_encoding);
  44 +const char * Parrot_encoding_c_name(PARROT_INTERP,
  45 + INTVAL number_of_encoding);
45 46
46 47 PARROT_EXPORT
47 48 PARROT_PURE_FUNCTION
48 49 PARROT_WARN_UNUSED_RESULT
49 50 PARROT_CAN_RETURN_NULL
50   -STRING* Parrot_encoding_name(SHIM_INTERP, INTVAL number_of_encoding);
  51 +STRING* Parrot_encoding_name(PARROT_INTERP, INTVAL number_of_encoding);
51 52
52 53 PARROT_EXPORT
53 54 PARROT_PURE_FUNCTION
@@ -60,7 +61,8 @@ INTVAL Parrot_encoding_number(PARROT_INTERP,
60 61 PARROT_EXPORT
61 62 PARROT_PURE_FUNCTION
62 63 PARROT_WARN_UNUSED_RESULT
63   -INTVAL Parrot_encoding_number_of_str(SHIM_INTERP, ARGIN(const STRING *src))
  64 +INTVAL Parrot_encoding_number_of_str(PARROT_INTERP,
  65 + ARGIN(const STRING *src))
64 66 __attribute__nonnull__(2);
65 67
66 68 PARROT_EXPORT
@@ -71,7 +73,7 @@ PARROT_EXPORT
71 73 PARROT_PURE_FUNCTION
72 74 PARROT_WARN_UNUSED_RESULT
73 75 PARROT_CAN_RETURN_NULL
74   -const STR_VTABLE * Parrot_find_encoding(SHIM_INTERP,
  76 +const STR_VTABLE * Parrot_find_encoding(PARROT_INTERP,
75 77 ARGIN(const char *encodingname))
76 78 __attribute__nonnull__(2);
77 79
@@ -88,7 +90,7 @@ PARROT_EXPORT
88 90 PARROT_PURE_FUNCTION
89 91 PARROT_WARN_UNUSED_RESULT
90 92 PARROT_CAN_RETURN_NULL
91   -const STR_VTABLE* Parrot_get_encoding(SHIM_INTERP,
  93 +const STR_VTABLE* Parrot_get_encoding(PARROT_INTERP,
92 94 INTVAL number_of_encoding);
93 95
94 96 PARROT_EXPORT
@@ -100,9 +102,10 @@ const STR_VTABLE * Parrot_load_encoding(PARROT_INTERP,
100 102 __attribute__nonnull__(2);
101 103
102 104 PARROT_EXPORT
103   -INTVAL Parrot_make_default_encoding(SHIM_INTERP,
104   - SHIM(const char *encodingname),
  105 +INTVAL Parrot_make_default_encoding(PARROT_INTERP,
  106 + ARGIN(const char *encodingname),
105 107 ARGIN(STR_VTABLE *encoding))
  108 + __attribute__nonnull__(2)
106 109 __attribute__nonnull__(3);
107 110
108 111 PARROT_EXPORT
@@ -143,7 +146,8 @@ void Parrot_str_internal_register_encoding_names(PARROT_INTERP)
143 146 PARROT_ASSERT_ARG(interp) \
144 147 , PARROT_ASSERT_ARG(encodingname))
145 148 #define ASSERT_ARGS_Parrot_make_default_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
146   - PARROT_ASSERT_ARG(encoding))
  149 + PARROT_ASSERT_ARG(encodingname)) \
  150 + , PARROT_ASSERT_ARG(encoding))
147 151 #define ASSERT_ARGS_Parrot_new_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
148 152 PARROT_ASSERT_ARG(interp))
149 153 #define ASSERT_ARGS_Parrot_register_encoding __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
2  include/parrot/exceptions.h
@@ -192,7 +192,7 @@ PARROT_EXPORT
192 192 PARROT_DOES_NOT_RETURN
193 193 PARROT_COLD
194 194 void Parrot_ex_throw_from_c_args(PARROT_INTERP,
195   - SHIM(void *ret_addr),
  195 + ARGIN_NULLOK(void *ret_addr),
196 196 int exitcode,
197 197 ARGIN(const char *format),
198 198 ...)
8 include/parrot/extend.h
@@ -83,8 +83,9 @@ void Parrot_ext_try(PARROT_INTERP,
83 83 PARROT_EXPORT
84 84 PARROT_PURE_FUNCTION
85 85 PARROT_WARN_UNUSED_RESULT
86   -Parrot_Language Parrot_find_language(SHIM_INTERP,
87   - SHIM(const char *language));
  86 +Parrot_Language Parrot_find_language(PARROT_INTERP,
  87 + ARGIN(const char *language))
  88 + __attribute__nonnull__(2);
88 89
89 90 PARROT_EXPORT
90 91 int Parrot_fprintf(PARROT_INTERP,
@@ -214,7 +215,8 @@ int Parrot_vfprintf(PARROT_INTERP,
214 215 , PARROT_ASSERT_ARG(signature))
215 216 #define ASSERT_ARGS_Parrot_ext_try __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
216 217 PARROT_ASSERT_ARG(interp))
217   -#define ASSERT_ARGS_Parrot_find_language __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
  218 +#define ASSERT_ARGS_Parrot_find_language __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
  219 + PARROT_ASSERT_ARG(language)))
218 220 #define ASSERT_ARGS_Parrot_fprintf __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
219 221 PARROT_ASSERT_ARG(interp) \
220 222 , PARROT_ASSERT_ARG(pio) \
8 include/parrot/hash.h
@@ -182,7 +182,8 @@ void Parrot_hash_destroy(PARROT_INTERP, ARGFREE_NOTNULL(Hash *hash))
182 182 __attribute__nonnull__(2);
183 183
184 184 PARROT_EXPORT
185   -void Parrot_hash_dump(SHIM_INTERP, SHIM(const Hash *hash));
  185 +void Parrot_hash_dump(PARROT_INTERP, ARGIN(const Hash *hash))
  186 + __attribute__nonnull__(2);
186 187
187 188 PARROT_EXPORT
188 189 PARROT_WARN_UNUSED_RESULT
@@ -253,7 +254,7 @@ HashBucket* Parrot_hash_put(PARROT_INTERP,
253 254 PARROT_EXPORT
254 255 PARROT_WARN_UNUSED_RESULT
255 256 PARROT_PURE_FUNCTION
256   -INTVAL Parrot_hash_size(SHIM_INTERP, ARGIN(const Hash *hash))
  257 +INTVAL Parrot_hash_size(PARROT_INTERP, ARGIN(const Hash *hash))
257 258 __attribute__nonnull__(2);
258 259
259 260 PARROT_HOT
@@ -424,7 +425,8 @@ STRING* Parrot_hash_value_to_string(PARROT_INTERP,
424 425 #define ASSERT_ARGS_Parrot_hash_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
425 426 PARROT_ASSERT_ARG(interp) \
426 427 , PARROT_ASSERT_ARG(hash))
427   -#define ASSERT_ARGS_Parrot_hash_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
  428 +#define ASSERT_ARGS_Parrot_hash_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
  429 + PARROT_ASSERT_ARG(hash)))
428 430 #define ASSERT_ARGS_Parrot_hash_exists __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
429 431 PARROT_ASSERT_ARG(interp) \
430 432 , PARROT_ASSERT_ARG(hash) \
4 include/parrot/interpreter.h
@@ -348,9 +348,7 @@ void Parrot_destroy(PARROT_INTERP)
348 348 PARROT_CAN_RETURN_NULL
349 349 Interp* Parrot_get_emergency_interp(void);
350 350
351   -void Parrot_really_destroy(PARROT_INTERP,
352   - NULLOK(int exit_code),
353   - SHIM(void *arg))
  351 +void Parrot_really_destroy(PARROT_INTERP, int exit_code, void *arg)
354 352 __attribute__nonnull__(1);
355 353
356 354 #define ASSERT_ARGS_allocate_interpreter __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
39 include/parrot/io.h
@@ -546,36 +546,37 @@ void Parrot_io_flush_filehandle(PARROT_INTERP, ARGMOD(PMC *pmc))
546 546 PARROT_EXPORT
547 547 PARROT_WARN_UNUSED_RESULT
548 548 PARROT_CAN_RETURN_NULL
549   -unsigned char * Parrot_io_get_buffer_end(SHIM_INTERP,
  549 +unsigned char * Parrot_io_get_buffer_end(PARROT_INTERP,
550 550 ARGIN(const PMC *filehandle))
551 551 __attribute__nonnull__(2);
552 552
553 553 PARROT_EXPORT
554 554 PARROT_CAN_RETURN_NULL
555   -unsigned char * Parrot_io_get_buffer_next(SHIM_INTERP,
  555 +unsigned char * Parrot_io_get_buffer_next(PARROT_INTERP,
556 556 ARGIN(const PMC *filehandle))
557 557 __attribute__nonnull__(2);
558 558
559 559 PARROT_EXPORT
560 560 PARROT_WARN_UNUSED_RESULT
561 561 PARROT_CAN_RETURN_NULL
562   -unsigned char * Parrot_io_get_buffer_start(SHIM_INTERP,
  562 +unsigned char * Parrot_io_get_buffer_start(PARROT_INTERP,
563 563 ARGIN(PMC *filehandle))
564 564 __attribute__nonnull__(2);
565 565
566 566 PARROT_EXPORT
567 567 PARROT_WARN_UNUSED_RESULT
568   -PIOOFF_T Parrot_io_get_file_position(SHIM_INTERP,
  568 +PIOOFF_T Parrot_io_get_file_position(PARROT_INTERP,
569 569 ARGIN(const PMC *filehandle))
570 570 __attribute__nonnull__(2);
571 571
572 572 PARROT_EXPORT
573   -INTVAL Parrot_io_get_flags(SHIM_INTERP, ARGIN(const PMC *filehandle))
  573 +INTVAL Parrot_io_get_flags(PARROT_INTERP, ARGIN(const PMC *filehandle))
574 574 __attribute__nonnull__(2);
575 575
576 576 PARROT_EXPORT
577 577 PARROT_WARN_UNUSED_RESULT
578   -PIOHANDLE Parrot_io_get_os_handle(SHIM_INTERP, ARGIN(const PMC *filehandle))
  578 +PIOHANDLE Parrot_io_get_os_handle(PARROT_INTERP,
  579 + ARGIN(const PMC *filehandle))
579 580 __attribute__nonnull__(2);
580 581
581 582 PARROT_EXPORT
@@ -585,18 +586,20 @@ INTVAL Parrot_io_is_closed_filehandle(PARROT_INTERP, ARGIN(const PMC *pmc))
585 586 __attribute__nonnull__(2);
586 587
587 588 PARROT_EXPORT
588   -void Parrot_io_set_file_position(SHIM_INTERP,
  589 +void Parrot_io_set_file_position(PARROT_INTERP,
589 590 ARGMOD(PMC *filehandle),
590 591 PIOOFF_T file_pos)
591 592 __attribute__nonnull__(2)
592 593 FUNC_MODIFIES(*filehandle);
593 594
594 595 PARROT_EXPORT
595   -void Parrot_io_set_flags(SHIM_INTERP, ARGIN(PMC *filehandle), INTVAL flags)
  596 +void Parrot_io_set_flags(PARROT_INTERP,
  597 + ARGIN(PMC *filehandle),
  598 + INTVAL flags)
596 599 __attribute__nonnull__(2);
597 600
598 601 PARROT_EXPORT
599   -void Parrot_io_set_os_handle(SHIM_INTERP,
  602 +void Parrot_io_set_os_handle(PARROT_INTERP,
600 603 ARGMOD(PMC *filehandle),
601 604 PIOHANDLE file_descriptor)
602 605 __attribute__nonnull__(2)
@@ -609,12 +612,14 @@ void Parrot_io_clear_buffer(PARROT_INTERP, ARGMOD(PMC *filehandle))
609 612 FUNC_MODIFIES(*filehandle);
610 613
611 614 PARROT_CAN_RETURN_NULL
612   -INTVAL Parrot_io_get_buffer_flags(SHIM_INTERP, ARGIN(const PMC *filehandle))
  615 +INTVAL Parrot_io_get_buffer_flags(PARROT_INTERP,
  616 + ARGIN(const PMC *filehandle))
613 617 __attribute__nonnull__(2);
614 618
615 619 PARROT_CAN_RETURN_NULL
616 620 PARROT_WARN_UNUSED_RESULT
617   -size_t Parrot_io_get_buffer_size(SHIM_INTERP, ARGIN(const PMC *filehandle))
  621 +size_t Parrot_io_get_buffer_size(PARROT_INTERP,
  622 + ARGIN(const PMC *filehandle))
618 623 __attribute__nonnull__(2);
619 624
620 625 PARROT_WARN_UNUSED_RESULT
@@ -626,31 +631,31 @@ STRING * Parrot_io_make_string(PARROT_INTERP,
626 631 __attribute__nonnull__(2)
627 632 FUNC_MODIFIES(*buf);
628 633
629   -void Parrot_io_set_buffer_end(SHIM_INTERP,
  634 +void Parrot_io_set_buffer_end(PARROT_INTERP,
630 635 ARGMOD(PMC *filehandle),
631 636 ARGIN_NULLOK(unsigned char *new_end))
632 637 __attribute__nonnull__(2)
633 638 FUNC_MODIFIES(*filehandle);
634 639
635   -void Parrot_io_set_buffer_flags(SHIM_INTERP,
  640 +void Parrot_io_set_buffer_flags(PARROT_INTERP,
636 641 ARGMOD(PMC *filehandle),
637 642 INTVAL new_flags)
638 643 __attribute__nonnull__(2)
639 644 FUNC_MODIFIES(*filehandle);
640 645
641   -void Parrot_io_set_buffer_next(SHIM_INTERP,
  646 +void Parrot_io_set_buffer_next(PARROT_INTERP,
642 647 ARGMOD(PMC *filehandle),
643 648 ARGIN_NULLOK(unsigned char *new_next))
644 649 __attribute__nonnull__(2)
645 650 FUNC_MODIFIES(*filehandle);
646 651
647   -void Parrot_io_set_buffer_size(SHIM_INTERP,
  652 +void Parrot_io_set_buffer_size(PARROT_INTERP,
648 653 ARGMOD(PMC *filehandle),
649 654 size_t new_size)
650 655 __attribute__nonnull__(2)
651 656 FUNC_MODIFIES(*filehandle);
652 657
653   -void Parrot_io_set_buffer_start(SHIM_INTERP,
  658 +void Parrot_io_set_buffer_start(PARROT_INTERP,
654 659 ARGMOD(PMC *filehandle),
655 660 ARGIN_NULLOK(unsigned char *new_start))
656 661 __attribute__nonnull__(2)
@@ -792,7 +797,7 @@ INTVAL Parrot_io_socket_handle(PARROT_INTERP,
792 797 FUNC_MODIFIES(*socket);
793 798
794 799 PARROT_EXPORT
795   -void Parrot_io_socket_initialize_handle(SHIM_INTERP, ARGMOD(PMC *socket))
  800 +void Parrot_io_socket_initialize_handle(PARROT_INTERP, ARGMOD(PMC *socket))
796 801 __attribute__nonnull__(2)
797 802 FUNC_MODIFIES(*socket);
798 803
2  include/parrot/key.h
@@ -136,7 +136,7 @@ STRING * Parrot_key_string(PARROT_INTERP, ARGIN(PMC *key))
136 136 PARROT_EXPORT
137 137 PARROT_PURE_FUNCTION
138 138 PARROT_WARN_UNUSED_RESULT
139   -INTVAL Parrot_key_type(SHIM_INTERP, ARGIN(const PMC *key))
  139 +INTVAL Parrot_key_type(PARROT_INTERP, ARGIN(const PMC *key))
140 140 __attribute__nonnull__(2);
141 141
142 142 #define ASSERT_ARGS_Parrot_key_append __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
14 include/parrot/list.h
@@ -96,7 +96,7 @@ do { \
96 96 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
97 97
98 98 PARROT_EXPORT
99   -void Parrot_list_append(SHIM_INTERP,
  99 +void Parrot_list_append(PARROT_INTERP,
100 100 ARGMOD(Linked_List *list),
101 101 ARGMOD(List_Item_Header *item))
102 102 __attribute__nonnull__(2)
@@ -106,34 +106,34 @@ void Parrot_list_append(SHIM_INTERP,
106 106
107 107 PARROT_EXPORT
108 108 PARROT_CONST_FUNCTION
109   -INTVAL Parrot_list_check(SHIM_INTERP, ARGIN(const Linked_List *list))
  109 +INTVAL Parrot_list_check(PARROT_INTERP, ARGIN(const Linked_List *list))
110 110 __attribute__nonnull__(2);
111 111
112 112 PARROT_EXPORT
113 113 PARROT_PURE_FUNCTION
114   -INTVAL Parrot_list_contains(SHIM_INTERP,
  114 +INTVAL Parrot_list_contains(PARROT_INTERP,
115 115 ARGIN(const Linked_List *list),
116 116 ARGIN(const List_Item_Header *item))
117 117 __attribute__nonnull__(2)
118 118 __attribute__nonnull__(3);
119 119
120 120 PARROT_EXPORT
121   -void Parrot_list_destroy(SHIM_INTERP, ARGMOD(Linked_List* list))
  121 +void Parrot_list_destroy(PARROT_INTERP, ARGMOD(Linked_List* list))
122 122 __attribute__nonnull__(2)
123 123 FUNC_MODIFIES(* list);
124 124
125 125 PARROT_EXPORT
126 126 PARROT_CANNOT_RETURN_NULL
127   -struct Linked_List* Parrot_list_new(SHIM_INTERP);
  127 +struct Linked_List* Parrot_list_new(PARROT_INTERP);
128 128
129 129 PARROT_EXPORT
130 130 PARROT_CAN_RETURN_NULL
131   -List_Item_Header* Parrot_list_pop(SHIM_INTERP, ARGIN(Linked_List *list))
  131 +List_Item_Header* Parrot_list_pop(PARROT_INTERP, ARGIN(Linked_List *list))
132 132 __attribute__nonnull__(2);
133 133
134 134 PARROT_EXPORT
135 135 PARROT_CAN_RETURN_NULL
136   -List_Item_Header* Parrot_list_remove(SHIM_INTERP,
  136 +List_Item_Header* Parrot_list_remove(PARROT_INTERP,
137 137 ARGMOD(Linked_List *list),
138 138 ARGMOD(List_Item_Header *item))
139 139 __attribute__nonnull__(2)
6 include/parrot/misc.h
@@ -39,7 +39,7 @@ typedef int (*reg_move_func)(PARROT_INTERP, unsigned char d, unsigned char s, vo
39 39 PARROT_EXPORT
40 40 PARROT_WARN_UNUSED_RESULT
41 41 PARROT_PURE_FUNCTION
42   -INTVAL Parrot_util_byte_index(SHIM_INTERP,
  42 +INTVAL Parrot_util_byte_index(PARROT_INTERP,
43 43 ARGIN(const STRING *base),
44 44 ARGIN(const STRING *search),
45 45 UINTVAL start_offset)
@@ -49,7 +49,7 @@ INTVAL Parrot_util_byte_index(SHIM_INTERP,
49 49 PARROT_EXPORT
50 50 PARROT_WARN_UNUSED_RESULT
51 51 PARROT_PURE_FUNCTION
52   -INTVAL Parrot_util_byte_rindex(SHIM_INTERP,
  52 +INTVAL Parrot_util_byte_rindex(PARROT_INTERP,
53 53 ARGIN(const STRING *base),
54 54 ARGIN(const STRING *search),
55 55 UINTVAL start_offset)
@@ -145,7 +145,7 @@ PARROT_IGNORABLE_RESULT
145 145 int /*@alt void@*/
146 146 Parrot_secret_snprintf(
147 147 ARGOUT(char *buffer),
148   - NULLOK(const size_t len),
  148 + size_t len,
149 149 ARGIN(const char *format),
150 150 ...)
151 151 __attribute__nonnull__(1)
8 include/parrot/namespace.h
@@ -36,9 +36,10 @@ PARROT_WARN_UNUSED_RESULT
36 36 PARROT_CANNOT_RETURN_NULL
37 37 PMC * Parrot_ns_find_named_item(PARROT_INTERP,
38 38 ARGIN(STRING *name),
39   - SHIM(void *next))
  39 + ARGIN(void *next))
40 40 __attribute__nonnull__(1)
41   - __attribute__nonnull__(2);
  41 + __attribute__nonnull__(2)
  42 + __attribute__nonnull__(3);
42 43
43 44 PARROT_EXPORT
44 45 PARROT_WARN_UNUSED_RESULT
@@ -137,7 +138,8 @@ void Parrot_ns_store_sub(PARROT_INTERP, ARGIN(PMC *sub_pmc))
137 138 , PARROT_ASSERT_ARG(ns))
138 139 #define ASSERT_ARGS_Parrot_ns_find_named_item __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
139 140 PARROT_ASSERT_ARG(interp) \
140   - , PARROT_ASSERT_ARG(name))
  141 + , PARROT_ASSERT_ARG(name) \
  142 + , PARROT_ASSERT_ARG(next)))
141 143 #define ASSERT_ARGS_Parrot_ns_find_namespace_global \
142 144 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
143 145 PARROT_ASSERT_ARG(interp))
2  include/parrot/oo.h
@@ -94,7 +94,7 @@ INTVAL Parrot_get_vtable_index(PARROT_INTERP, ARGIN(const STRING *name))
94 94 PARROT_EXPORT
95 95 PARROT_PURE_FUNCTION
96 96 PARROT_CAN_RETURN_NULL
97   -const char * Parrot_get_vtable_name(SHIM_INTERP, INTVAL idx);
  97 +const char * Parrot_get_vtable_name(PARROT_INTERP, INTVAL idx);
98 98
99 99 PARROT_EXPORT
100 100 void Parrot_invalidate_method_cache(PARROT_INTERP,
8 include/parrot/packfile.h
@@ -574,7 +574,7 @@ void PackFile_fixup_subs(PARROT_INTERP,
574 574 __attribute__nonnull__(1);
575 575
576 576 PARROT_EXPORT
577   -void PackFile_funcs_register(SHIM_INTERP,
  577 +void PackFile_funcs_register(PARROT_INTERP,
578 578 ARGMOD(PackFile *pf),
579 579 UINTVAL type,
580 580 const PackFile_funcs funcs)
@@ -818,7 +818,7 @@ PMC * PackFile_Annotations_lookup(PARROT_INTERP,
818 818
819 819 PARROT_WARN_UNUSED_RESULT
820 820 PARROT_CANNOT_RETURN_NULL
821   -opcode_t * PackFile_Annotations_pack(SHIM_INTERP,
  821 +opcode_t * PackFile_Annotations_pack(PARROT_INTERP,
822 822 ARGIN(PackFile_Segment *seg),
823 823 ARGOUT(opcode_t *cursor))
824 824 __attribute__nonnull__(2)
@@ -827,7 +827,7 @@ opcode_t * PackFile_Annotations_pack(SHIM_INTERP,
827 827
828 828 PARROT_WARN_UNUSED_RESULT
829 829 PARROT_PURE_FUNCTION
830   -size_t PackFile_Annotations_packed_size(SHIM_INTERP,
  830 +size_t PackFile_Annotations_packed_size(PARROT_INTERP,
831 831 ARGMOD(PackFile_Segment *seg))
832 832 __attribute__nonnull__(2)
833 833 FUNC_MODIFIES(*seg);
@@ -1035,7 +1035,7 @@ size_t PackFile_ConstTable_pack_size(PARROT_INTERP,
1035 1035 FUNC_MODIFIES(*seg);
1036 1036
1037 1037 PARROT_EXPORT
1038   -int PackFile_ConstTable_rlookup_num(SHIM_INTERP,
  1038 +int PackFile_ConstTable_rlookup_num(PARROT_INTERP,
1039 1039 ARGIN(const PackFile_ConstTable *ct),
1040 1040 FLOATVAL n)
1041 1041 __attribute__nonnull__(2);
6 include/parrot/pmc.h
@@ -80,7 +80,7 @@ PARROT_EXPORT
80 80 PARROT_PURE_FUNCTION
81 81 PARROT_WARN_UNUSED_RESULT
82 82 PARROT_HOT
83   -INTVAL Parrot_pmc_is_null(SHIM_INTERP, ARGIN_NULLOK(const PMC *pmc));
  83 +INTVAL Parrot_pmc_is_null(PARROT_INTERP, ARGIN_NULLOK(const PMC *pmc));
84 84
85 85 PARROT_EXPORT
86 86 PARROT_CANNOT_RETURN_NULL
@@ -143,7 +143,7 @@ PARROT_IGNORABLE_RESULT
143 143 PMC * Parrot_pmc_reuse(PARROT_INTERP,
144 144 ARGMOD(PMC *pmc),
145 145 INTVAL new_type,
146   - NULLOK(UINTVAL flags))
  146 + UINTVAL flags)
147 147 __attribute__nonnull__(1)
148 148 __attribute__nonnull__(2)
149 149 FUNC_MODIFIES(*pmc);
@@ -167,7 +167,7 @@ PMC * Parrot_pmc_reuse_init(PARROT_INTERP,
167 167 ARGMOD(PMC *pmc),
168 168 INTVAL new_type,
169 169 ARGIN(PMC *init),
170   - NULLOK(UINTVAL flags))
  170 + UINTVAL flags)
171 171 __attribute__nonnull__(1)
172 172 __attribute__nonnull__(2)
173 173 __attribute__nonnull__(4)
2  include/parrot/runcore_api.h
@@ -124,7 +124,7 @@ void runops_int(PARROT_INTERP, size_t offset)
124 124
125 125 PARROT_WARN_UNUSED_RESULT
126 126 PARROT_CANNOT_RETURN_NULL
127   -oplib_init_f get_core_op_lib_init(SHIM_INTERP,
  127 +oplib_init_f get_core_op_lib_init(PARROT_INTERP,
128 128 ARGIN(Parrot_runcore_t *runcore))
129 129 __attribute__nonnull__(2);
130 130
8 include/parrot/scheduler.h
@@ -135,9 +135,10 @@ void Parrot_cx_schedule_timer(PARROT_INTERP,
135 135 PARROT_EXPORT
136 136 void Parrot_cx_send_message(PARROT_INTERP,
137 137 ARGIN(STRING *messagetype),
138   - SHIM(PMC *payload))
  138 + ARGIN(PMC *payload))
139 139 __attribute__nonnull__(1)
140   - __attribute__nonnull__(2);
  140 + __attribute__nonnull__(2)
  141 + __attribute__nonnull__(3);
141 142
142 143 void Parrot_cx_check_tasks(PARROT_INTERP, ARGMOD(PMC *scheduler))
143 144 __attribute__nonnull__(1)
@@ -228,7 +229,8 @@ void Parrot_cx_timer_invoke(PARROT_INTERP, ARGIN(PMC *timer))
228 229 PARROT_ASSERT_ARG(interp))
229 230 #define ASSERT_ARGS_Parrot_cx_send_message __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
230 231 PARROT_ASSERT_ARG(interp) \
231   - , PARROT_ASSERT_ARG(messagetype))
  232 + , PARROT_ASSERT_ARG(messagetype) \
  233 + , PARROT_ASSERT_ARG(payload)))
232 234 #define ASSERT_ARGS_Parrot_cx_check_tasks __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
233 235 PARROT_ASSERT_ARG(interp) \
234 236 , PARROT_ASSERT_ARG(scheduler))
12 include/parrot/string_funcs.h
@@ -58,7 +58,7 @@ INTVAL Parrot_str_boolean(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
58 58
59 59 PARROT_EXPORT
60 60 PARROT_PURE_FUNCTION
61   -UINTVAL Parrot_str_byte_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s));
  61 +UINTVAL Parrot_str_byte_length(PARROT_INTERP, ARGIN_NULLOK(const STRING *s));
62 62
63 63 PARROT_EXPORT
64 64 PARROT_WARN_UNUSED_RESULT
@@ -110,7 +110,7 @@ STRING * Parrot_str_copy(PARROT_INTERP, ARGIN_NULLOK(const STRING *s))
110 110 PARROT_EXPORT
111 111 PARROT_PURE_FUNCTION
112 112 PARROT_CANNOT_RETURN_NULL
113   -const char * Parrot_str_cstring(SHIM_INTERP, ARGIN(const STRING *str))
  113 +const char * Parrot_str_cstring(PARROT_INTERP, ARGIN(const STRING *str))
114 114 __attribute__nonnull__(2);
115 115
116 116 PARROT_EXPORT
@@ -231,7 +231,7 @@ INTVAL Parrot_str_is_cclass(PARROT_INTERP,
231 231 PARROT_EXPORT
232 232 PARROT_HOT
233 233 PARROT_PURE_FUNCTION
234   -INTVAL Parrot_str_is_null(SHIM_INTERP, ARGIN_NULLOK(const STRING *s));
  234 +INTVAL Parrot_str_is_null(PARROT_INTERP, ARGIN_NULLOK(const STRING *s));
235 235
236 236 PARROT_EXPORT
237 237 PARROT_WARN_UNUSED_RESULT
@@ -245,7 +245,7 @@ STRING* Parrot_str_join(PARROT_INTERP,
245 245 PARROT_EXPORT
246 246 PARROT_PURE_FUNCTION
247 247 PARROT_WARN_UNUSED_RESULT
248   -INTVAL Parrot_str_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s));
  248 +INTVAL Parrot_str_length(PARROT_INTERP, ARGIN_NULLOK(const STRING *s));
249 249
250 250 PARROT_EXPORT
251 251 PARROT_WARN_UNUSED_RESULT
@@ -298,7 +298,7 @@ INTVAL Parrot_str_not_equal(PARROT_INTERP,
298 298 __attribute__nonnull__(1);
299 299
300 300 PARROT_EXPORT
301   -void Parrot_str_pin(SHIM_INTERP, ARGMOD(STRING *s))
  301 +void Parrot_str_pin(PARROT_INTERP, ARGMOD(STRING *s))
302 302 __attribute__nonnull__(2)
303 303 FUNC_MODIFIES(*s);
304 304
@@ -306,7 +306,7 @@ PARROT_EXPORT
306 306 PARROT_IGNORABLE_RESULT
307 307 PARROT_CAN_RETURN_NULL
308 308 PARROT_PURE_FUNCTION
309   -const STR_VTABLE * Parrot_str_rep_compatible(SHIM_INTERP,
  309 +const STR_VTABLE * Parrot_str_rep_compatible(PARROT_INTERP,
310 310 ARGIN(const STRING *a),
311 311 ARGIN(const STRING *b))
312 312 __attribute__nonnull__(2)
8 include/parrot/thread.h
@@ -120,10 +120,10 @@ VAR_SCOPE Shared_gc_info *shared_gc_info;
120 120 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
121 121
122 122 PARROT_EXPORT
123   -void Parrot_shared_gc_block(SHIM_INTERP);
  123 +void Parrot_shared_gc_block(PARROT_INTERP);
124 124
125 125 PARROT_EXPORT
126   -void Parrot_shared_gc_unblock(SHIM_INTERP);
  126 +void Parrot_shared_gc_unblock(PARROT_INTERP);
127 127
128 128 PARROT_EXPORT
129 129 PARROT_CANNOT_RETURN_NULL
@@ -140,7 +140,7 @@ void pt_clone_globals(Parrot_Interp d, Parrot_Interp s);
140 140 void pt_free_pool(PARROT_INTERP)
141 141 __attribute__nonnull__(1);
142 142
143   -void pt_gc_mark_root_finished(SHIM_INTERP);
  143 +void pt_gc_mark_root_finished(PARROT_INTERP);
144 144 void pt_gc_start_mark(PARROT_INTERP)
145 145 __attribute__nonnull__(1);
146 146
@@ -173,7 +173,7 @@ PMC* pt_thread_join(ARGIN(Parrot_Interp parent), UINTVAL tid)
173 173 __attribute__nonnull__(1);
174 174
175 175 void pt_thread_kill(UINTVAL tid);
176   -void pt_thread_prepare_for_run(Parrot_Interp d, NULLOK(Parrot_Interp s));
  176 +void pt_thread_prepare_for_run(Parrot_Interp d, Parrot_Interp s);
177 177 int pt_thread_run(PARROT_INTERP,
178 178 ARGMOD(PMC *thread_interp_pmc),
179 179 ARGIN(PMC *sub),
2  include/parrot/vtables.h
@@ -32,7 +32,7 @@ void Parrot_vtbl_initialize_core_vtables(PARROT_INTERP)
32 32 PARROT_EXPORT
33 33 PARROT_MALLOC
34 34 PARROT_CANNOT_RETURN_NULL
35   -VTABLE * Parrot_vtbl_new_vtable(SHIM_INTERP);
  35 +VTABLE * Parrot_vtbl_new_vtable(PARROT_INTERP);
36 36
37 37 void Parrot_vtbl_alloc_vtables(PARROT_INTERP)
38 38 __attribute__nonnull__(1);
7 lib/Parrot/Headerizer.pm
@@ -48,7 +48,7 @@ use Parrot::Headerizer::Functions qw(
48 48 validate_prototype_args
49 49 no_both_static_and_PARROT_EXPORT
50 50 handle_split_declaration
51   - shim_test
  51 + clean_args_for_declarations
52 52 handle_modified_args
53 53 add_newline_if_multiline
54 54 add_asserts_to_declarations
@@ -859,11 +859,10 @@ sub make_function_decls {
859 859 my @args = @{ $func->{args} };
860 860 my @attrs = $self->attrs_from_args( $func, @args );
861 861
862   - my @modified_args = shim_test($func, \@args);
  862 + my @modified_args = clean_args_for_declarations($func, \@args);
863 863
864 864 my $multiline;
865   - ($decl, $multiline) = handle_modified_args(
866   - $decl, \@modified_args);
  865 + ($decl, $multiline) = handle_modified_args($decl, \@modified_args);
867 866
868 867 my $attrs = join( "", map { "\n\t\t$_" } @attrs );
869 868 if ($attrs) {
44 lib/Parrot/Headerizer/Functions.pm
@@ -16,7 +16,7 @@ our @EXPORT_OK = qw(
16 16 no_both_static_and_PARROT_EXPORT
17 17 handle_split_declaration
18 18 asserts_from_args
19   - shim_test
  19 + clean_args_for_declarations
20 20 handle_modified_args
21 21 add_asserts_to_declarations
22 22 add_newline_if_multiline
@@ -41,7 +41,7 @@ Parrot::Headerizer::Functions - Functions used in headerizer programs
41 41 no_both_static_and_PARROT_EXPORT
42 42 handle_split_declaration
43 43 asserts_from_args
44   - shim_test
  44 + clean_args_for_declarations
45 45 handle_modified_args
46 46 add_asserts_to_declarations
47 47 add_newline_if_multiline
@@ -476,42 +476,18 @@ sub asserts_from_args {
476 476 return (@asserts);
477 477 }
478 478
479   -=head2 C<shim_test()>
  479 +=head2 C<clean_args_for_declarations()>
480 480
481   -=over 4
482   -
483   -=item * Purpose
484   -
485   -Determine whether an argument needs to include C<SHIM> or <NULLOK>.
486   -
487   -=item * Arguments
488   -
489   - @modified_args = shim_test($func, \@args);
490   -
491   -List of two elements: hash reference holding function characteristics;
492   -reference to array holding list of arguments.
493   -
494   -=item * Return Value
495   -
496   -List of modified arguments.
497   -
498   -=back
  481 +Removes SHIM()s from args for putting into declarations.
499 482
500 483 =cut
501 484
502   -sub shim_test {
  485 +sub clean_args_for_declarations {
503 486 my ($func, $argsref) = @_;
504 487 my @args = @{$argsref};
505 488 for my $arg (@args) {
506   - if ( $arg =~ m{SHIM\((.+)\)} ) {
507   - $arg = $1;
508   - if ( $func->{is_static} || ( $arg =~ /\*/ ) ) {
509   - $arg = "SHIM($arg)";
510   - }
511   - else {
512   - $arg = "NULLOK($arg)";
513   - }
514   - }
  489 + $arg =~ s{SHIM\((.+?)\)}{$1};
  490 + $arg =~ s{SHIM_INTERP}{PARROT_INTERP};
515 491 }
516 492 return @args;
517 493 }
@@ -550,8 +526,10 @@ sub handle_modified_args {
550 526 }
551 527 else {
552 528 if ( $modified_args[0] =~ /^(?:(?:SHIM|PARROT)_INTERP|Interp)\b/ ) {
553   - $decl .= ( shift @modified_args );
554   - $decl .= "," if @modified_args;
  529 + my $arg = shift @modified_args;
  530 + $arg =~ s/\bSHIM_INTERP/PARROT_INTERP/;
  531 + $decl .= $arg;
  532 + $decl .= ',' if @modified_args;
555 533 }
556 534 $argline = join( ",", map { "\n\t$_" } @modified_args );
557 535 $decl = "$decl$argline)";
42 src/call/args.c
@@ -103,21 +103,21 @@ static void fill_params(PARROT_INTERP,
103 103 FUNC_MODIFIES(*call_object);
104 104
105 105 PARROT_WARN_UNUSED_RESULT
106   -static INTVAL intval_constant_from_op(SHIM_INTERP,
  106 +static INTVAL intval_constant_from_op(PARROT_INTERP,
107 107 ARGIN(const opcode_t *raw_params),
108 108 INTVAL param_index)
109 109 __attribute__nonnull__(2);
110 110
111 111 PARROT_WARN_UNUSED_RESULT
112   -static INTVAL intval_constant_from_varargs(SHIM_INTERP,
113   - SHIM(void *data),
114   - SHIM(INTVAL index));
  112 +static INTVAL intval_constant_from_varargs(PARROT_INTERP,
  113 + void *data,
  114 + INTVAL index);
115 115
116 116 PARROT_WARN_UNUSED_RESULT
117 117 PARROT_CANNOT_RETURN_NULL
118   -static INTVAL* intval_param_from_c_args(SHIM_INTERP,
  118 +static INTVAL* intval_param_from_c_args(PARROT_INTERP,
119 119 ARGIN(va_list *args),
120   - SHIM(INTVAL param_index))
  120 + INTVAL param_index)
121 121 __attribute__nonnull__(2);
122 122
123 123 PARROT_WARN_UNUSED_RESULT
@@ -145,15 +145,15 @@ static FLOATVAL numval_constant_from_op(PARROT_INTERP,
145 145 __attribute__nonnull__(2);
146 146
147 147 PARROT_WARN_UNUSED_RESULT
148   -static FLOATVAL numval_constant_from_varargs(SHIM_INTERP,
149   - SHIM(void *data),
150   - SHIM(INTVAL index));
  148 +static FLOATVAL numval_constant_from_varargs(PARROT_INTERP,
  149 + void *data,
  150 + INTVAL index);
151 151
152 152 PARROT_WARN_UNUSED_RESULT
153 153 PARROT_CANNOT_RETURN_NULL
154   -static FLOATVAL* numval_param_from_c_args(SHIM_INTERP,
  154 +static FLOATVAL* numval_param_from_c_args(PARROT_INTERP,
155 155 ARGIN(va_list *args),
156   - SHIM(INTVAL param_index))
  156 + INTVAL param_index)
157 157 __attribute__nonnull__(2);
158 158
159 159 PARROT_WARN_UNUSED_RESULT
@@ -182,15 +182,15 @@ static PMC* pmc_constant_from_op(PARROT_INTERP,
182 182
183 183 PARROT_CAN_RETURN_NULL
184 184 PARROT_WARN_UNUSED_RESULT
185   -static PMC* pmc_constant_from_varargs(SHIM_INTERP,
186   - SHIM(void *data),
187   - SHIM(INTVAL index));
  185 +static PMC* pmc_constant_from_varargs(PARROT_INTERP,
  186 + void *data,
  187 + INTVAL index);
188 188
189 189 PARROT_WARN_UNUSED_RESULT
190 190 PARROT_CANNOT_RETURN_NULL
191   -static PMC** pmc_param_from_c_args(SHIM_INTERP,
  191 +static PMC** pmc_param_from_c_args(PARROT_INTERP,
192 192 ARGIN(va_list *args),
193   - SHIM(INTVAL param_index))
  193 + INTVAL param_index)
194 194 __attribute__nonnull__(2);
195