[svn:parrot] r47853 - in trunk: include/parrot src/call

petdance at svn.parrot.org petdance at svn.parrot.org
Sat Jun 26 05:00:13 UTC 2010


Author: petdance
Date: Sat Jun 26 05:00:12 2010
New Revision: 47853
URL: https://trac.parrot.org/parrot/changeset/47853

Log:
much PARROT_ annotation and some consting

Modified:
   trunk/include/parrot/context.h
   trunk/src/call/context_accessors.c

Modified: trunk/include/parrot/context.h
==============================================================================
--- trunk/include/parrot/context.h	Sat Jun 26 04:05:31 2010	(r47852)
+++ trunk/include/parrot/context.h	Sat Jun 26 05:00:12 2010	(r47853)
@@ -78,402 +78,340 @@
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_dec_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+UINTVAL Parrot_pcc_dec_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_errors_off_func(PARROT_INTERP,
-    ARGIN(PMC *ctx),
-    UINTVAL flags)
-        __attribute__nonnull__(1)
+void Parrot_pcc_errors_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_errors_on_func(PARROT_INTERP,
-    ARGIN(PMC *ctx),
-    UINTVAL flags)
-        __attribute__nonnull__(1)
+void Parrot_pcc_errors_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_errors_test_func(PARROT_INTERP,
+PARROT_PURE_FUNCTION
+UINTVAL Parrot_pcc_errors_test_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
 PARROT_CANNOT_RETURN_NULL
-struct PackFile_Constant ** Parrot_pcc_get_constants_func(PARROT_INTERP,
+PARROT_PURE_FUNCTION
+struct PackFile_Constant ** Parrot_pcc_get_constants_func(SHIM_INTERP,
     ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
 PARROT_CAN_RETURN_NULL
-Parrot_Context* Parrot_pcc_get_context_struct_func(PARROT_INTERP,
-    ARGIN_NULLOK(PMC *ctx))
-        __attribute__nonnull__(1);
+PARROT_PURE_FUNCTION
+Parrot_Context* Parrot_pcc_get_context_struct_func(SHIM_INTERP,
+    ARGIN_NULLOK(PMC *ctx));
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-INTVAL Parrot_pcc_get_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PARROT_PURE_FUNCTION
+INTVAL Parrot_pcc_get_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-INTVAL Parrot_pcc_get_int_constant_func(PARROT_INTERP,
+INTVAL Parrot_pcc_get_int_constant_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     INTVAL idx)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CANNOT_RETURN_NULL
-PMC* Parrot_pcc_get_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-FLOATVAL Parrot_pcc_get_num_constant_func(PARROT_INTERP,
+FLOATVAL Parrot_pcc_get_num_constant_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     INTVAL idx)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_object_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_object_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-opcode_t* Parrot_pcc_get_pc_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+opcode_t* Parrot_pcc_get_pc_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_pmc_constant_func(PARROT_INTERP,
+PMC* Parrot_pcc_get_pmc_constant_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     INTVAL idx)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_get_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PARROT_PURE_FUNCTION
+UINTVAL Parrot_pcc_get_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_get_signature_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+PMC* Parrot_pcc_get_signature_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
-STRING* Parrot_pcc_get_string_constant_func(PARROT_INTERP,
+STRING* Parrot_pcc_get_string_constant_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     INTVAL idx)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_inc_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
-        __attribute__nonnull__(1)
+UINTVAL Parrot_pcc_inc_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_caller_ctx_func(PARROT_INTERP,
+void Parrot_pcc_set_caller_ctx_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN(PMC *caller_ctx))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 PARROT_EXPORT
 PARROT_CAN_RETURN_NULL
-void Parrot_pcc_set_constants_func(PARROT_INTERP,
+void Parrot_pcc_set_constants_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(struct PackFile_Constant **constants))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_continuation_func(PARROT_INTERP,
+void Parrot_pcc_set_continuation_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(PMC *_continuation))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_handlers_func(PARROT_INTERP,
+void Parrot_pcc_set_handlers_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN(PMC *handlers))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 PARROT_EXPORT
-void Parrot_pcc_set_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL hll)
-        __attribute__nonnull__(1)
+void Parrot_pcc_set_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL hll)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_lex_pad_func(PARROT_INTERP,
+void Parrot_pcc_set_lex_pad_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN(PMC *lex_pad))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 PARROT_EXPORT
-void Parrot_pcc_set_namespace_func(PARROT_INTERP,
+void Parrot_pcc_set_namespace_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(PMC *_namespace))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_object_func(PARROT_INTERP,
+void Parrot_pcc_set_object_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(PMC *object))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_outer_ctx_func(PARROT_INTERP,
+void Parrot_pcc_set_outer_ctx_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN(PMC *outer_ctx))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
 PARROT_EXPORT
-void Parrot_pcc_set_pc_func(PARROT_INTERP,
+void Parrot_pcc_set_pc_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(opcode_t *pc))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_set_signature_func(PARROT_INTERP,
+void Parrot_pcc_set_signature_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     ARGIN_NULLOK(PMC *sig_object))
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_trace_flags_off_func(PARROT_INTERP,
+void Parrot_pcc_trace_flags_off_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_trace_flags_on_func(PARROT_INTERP,
+void Parrot_pcc_trace_flags_on_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_trace_flags_test_func(PARROT_INTERP,
+PARROT_PURE_FUNCTION
+UINTVAL Parrot_pcc_trace_flags_test_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-void Parrot_pcc_warnings_off_func(PARROT_INTERP,
+void Parrot_pcc_warnings_off_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_warnings_on_func(PARROT_INTERP,
+UINTVAL Parrot_pcc_warnings_on_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
-UINTVAL Parrot_pcc_warnings_test_func(PARROT_INTERP,
+PARROT_PURE_FUNCTION
+UINTVAL Parrot_pcc_warnings_test_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
     UINTVAL flags)
-        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 #define ASSERT_ARGS_Parrot_pcc_dec_recursion_depth_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_errors_off_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_errors_on_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_errors_test_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_caller_ctx_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_constants_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_context_struct_func \
-     __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+     __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_Parrot_pcc_get_continuation_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_handlers_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_HLL_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_int_constant_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_lex_pad_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_namespace_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_num_constant_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_object_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_outer_ctx_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_pc_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_pmc_constant_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_recursion_depth_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_signature_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_get_string_constant_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_inc_recursion_depth_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_caller_ctx_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx) \
+       PARROT_ASSERT_ARG(ctx) \
     , PARROT_ASSERT_ARG(caller_ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_constants_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_continuation_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_handlers_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx) \
+       PARROT_ASSERT_ARG(ctx) \
     , PARROT_ASSERT_ARG(handlers))
 #define ASSERT_ARGS_Parrot_pcc_set_HLL_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_lex_pad_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx) \
+       PARROT_ASSERT_ARG(ctx) \
     , PARROT_ASSERT_ARG(lex_pad))
 #define ASSERT_ARGS_Parrot_pcc_set_namespace_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_object_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_outer_ctx_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx) \
+       PARROT_ASSERT_ARG(ctx) \
     , PARROT_ASSERT_ARG(outer_ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_pc_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_set_signature_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_trace_flags_off_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_trace_flags_on_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_trace_flags_test_func \
      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_warnings_off_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_warnings_on_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 #define ASSERT_ARGS_Parrot_pcc_warnings_test_func __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(ctx))
+       PARROT_ASSERT_ARG(ctx))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: src/call/context_accessors.c */
 

Modified: trunk/src/call/context_accessors.c
==============================================================================
--- trunk/src/call/context_accessors.c	Sat Jun 26 04:05:31 2010	(r47852)
+++ trunk/src/call/context_accessors.c	Sat Jun 26 05:00:12 2010	(r47853)
@@ -35,8 +35,9 @@
 
 PARROT_EXPORT
 PARROT_CAN_RETURN_NULL
+PARROT_PURE_FUNCTION
 Parrot_Context*
-Parrot_pcc_get_context_struct_func(PARROT_INTERP, ARGIN_NULLOK(PMC *ctx))
+Parrot_pcc_get_context_struct_func(SHIM_INTERP, ARGIN_NULLOK(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_context_struct_func)
 
@@ -62,8 +63,9 @@
 
 PARROT_EXPORT
 PARROT_CANNOT_RETURN_NULL
+PARROT_PURE_FUNCTION
 struct PackFile_Constant **
-Parrot_pcc_get_constants_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_constants_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_constants_func)
     return CONTEXT_STRUCT(ctx)->constants;
@@ -72,7 +74,7 @@
 PARROT_EXPORT
 PARROT_CAN_RETURN_NULL
 void
-Parrot_pcc_set_constants_func(PARROT_INTERP, ARGIN(PMC *ctx),
+Parrot_pcc_set_constants_func(SHIM_INTERP, ARGIN(PMC *ctx),
         ARGIN_NULLOK(struct PackFile_Constant **constants))
 {
     ASSERT_ARGS(Parrot_pcc_set_constants_func)
@@ -91,11 +93,12 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 UINTVAL
-Parrot_pcc_get_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_recursion_depth_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->recursion_depth;
 }
 
@@ -111,7 +114,7 @@
 
 PARROT_EXPORT
 UINTVAL
-Parrot_pcc_inc_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_inc_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_inc_recursion_depth_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -130,7 +133,7 @@
 
 PARROT_EXPORT
 UINTVAL
-Parrot_pcc_dec_recursion_depth_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_dec_recursion_depth_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_dec_recursion_depth_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -151,18 +154,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_caller_ctx_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->caller_ctx;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_caller_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *caller_ctx))
+Parrot_pcc_set_caller_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *caller_ctx))
 {
     ASSERT_ARGS(Parrot_pcc_set_caller_ctx_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -183,18 +187,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_outer_ctx_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->outer_ctx;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_outer_ctx_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *outer_ctx))
+Parrot_pcc_set_outer_ctx_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *outer_ctx))
 {
     ASSERT_ARGS(Parrot_pcc_set_outer_ctx_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -214,18 +219,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CANNOT_RETURN_NULL
 PMC*
-Parrot_pcc_get_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_lex_pad_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->lex_pad;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_lex_pad_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *lex_pad))
+Parrot_pcc_set_lex_pad_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *lex_pad))
 {
     ASSERT_ARGS(Parrot_pcc_set_lex_pad_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -246,18 +252,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_namespace_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_namespace;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_namespace_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_namespace))
+Parrot_pcc_set_namespace_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_namespace))
 {
     ASSERT_ARGS(Parrot_pcc_set_namespace_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -277,17 +284,18 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 INTVAL
-Parrot_pcc_get_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_HLL_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_HLL;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_HLL_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL hll)
+Parrot_pcc_set_HLL_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL hll)
 {
     ASSERT_ARGS(Parrot_pcc_set_HLL_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -308,19 +316,20 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_handlers_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->handlers;
 }
 
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_handlers_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *handlers))
+Parrot_pcc_set_handlers_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN(PMC *handlers))
 {
     ASSERT_ARGS(Parrot_pcc_set_handlers_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -341,18 +350,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_continuation_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_cont;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_continuation_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_continuation))
+Parrot_pcc_set_continuation_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *_continuation))
 {
     ASSERT_ARGS(Parrot_pcc_set_continuation_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -373,18 +383,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_signature_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_signature_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_signature_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_sig;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_signature_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig_object))
+Parrot_pcc_set_signature_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig_object))
 {
     ASSERT_ARGS(Parrot_pcc_set_signature_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -404,18 +415,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_object_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_object_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_object_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_object;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_object_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *object))
+Parrot_pcc_set_object_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *object))
 {
     ASSERT_ARGS(Parrot_pcc_set_object_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -435,18 +447,19 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 opcode_t*
-Parrot_pcc_get_pc_func(PARROT_INTERP, ARGIN(PMC *ctx))
+Parrot_pcc_get_pc_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_pc_func)
-    const Parrot_Context *c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->current_pc;
 }
 
 PARROT_EXPORT
 void
-Parrot_pcc_set_pc_func(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(opcode_t *pc))
+Parrot_pcc_set_pc_func(SHIM_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(opcode_t *pc))
 {
     ASSERT_ARGS(Parrot_pcc_set_pc_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -466,7 +479,7 @@
 
 PARROT_EXPORT
 UINTVAL
-Parrot_pcc_warnings_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_warnings_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_warnings_on_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -488,7 +501,7 @@
 
 PARROT_EXPORT
 void
-Parrot_pcc_warnings_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_warnings_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_warnings_off_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -508,11 +521,12 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 UINTVAL
-Parrot_pcc_warnings_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_warnings_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_warnings_test_func)
-    Parrot_Context * const c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->warns & flags;
 }
 
@@ -528,7 +542,7 @@
 
 PARROT_EXPORT
 void
-Parrot_pcc_errors_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_errors_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_errors_on_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -548,7 +562,7 @@
 
 PARROT_EXPORT
 void
-Parrot_pcc_errors_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_errors_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_errors_off_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -567,11 +581,12 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 UINTVAL
-Parrot_pcc_errors_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_errors_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_errors_test_func)
-    Parrot_Context * const c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->errors & flags;
 }
 
@@ -588,7 +603,7 @@
 
 PARROT_EXPORT
 void
-Parrot_pcc_trace_flags_on_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_trace_flags_on_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_trace_flags_on_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -609,7 +624,7 @@
 
 PARROT_EXPORT
 void
-Parrot_pcc_trace_flags_off_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_trace_flags_off_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_trace_flags_off_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -628,11 +643,12 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 UINTVAL
-Parrot_pcc_trace_flags_test_func(PARROT_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
+Parrot_pcc_trace_flags_test_func(SHIM_INTERP, ARGIN(PMC *ctx), UINTVAL flags)
 {
     ASSERT_ARGS(Parrot_pcc_trace_flags_test_func)
-    Parrot_Context * const c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     return c->trace_flags & flags;
 }
 
@@ -658,45 +674,49 @@
 */
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 INTVAL
-Parrot_pcc_get_int_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx)
+Parrot_pcc_get_int_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx)
 {
     ASSERT_ARGS(Parrot_pcc_get_int_constant_func)
-    const Parrot_Context * c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     PARROT_ASSERT(c->constants[idx]->type == 'i');
     return c->constants[idx]->u.integer;
 }
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 FLOATVAL
-Parrot_pcc_get_num_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx)
+Parrot_pcc_get_num_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx)
 {
     ASSERT_ARGS(Parrot_pcc_get_num_constant_func)
-    const Parrot_Context * c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     PARROT_ASSERT(c->constants[idx]->type == 'n');
     return c->constants[idx]->u.number;
 }
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 STRING*
-Parrot_pcc_get_string_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx)
+Parrot_pcc_get_string_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx)
 {
     ASSERT_ARGS(Parrot_pcc_get_string_constant_func)
-    const Parrot_Context * c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     PARROT_ASSERT(c->constants[idx]->type == 's');
     return c->constants[idx]->u.string;
 }
 
 PARROT_EXPORT
+PARROT_PURE_FUNCTION
 PARROT_CAN_RETURN_NULL
 PMC*
-Parrot_pcc_get_pmc_constant_func(PARROT_INTERP, ARGIN(PMC *ctx), INTVAL idx)
+Parrot_pcc_get_pmc_constant_func(SHIM_INTERP, ARGIN(PMC *ctx), INTVAL idx)
 {
     ASSERT_ARGS(Parrot_pcc_get_pmc_constant_func)
-    const Parrot_Context * c = CONTEXT_STRUCT(ctx);
+    const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
     PARROT_ASSERT((c->constants[idx]->type == 'k')
             || (c->constants[idx]->type == 'p'));
     return c->constants[idx]->u.key;


More information about the parrot-commits mailing list