[svn:parrot] r41454 - in branches/pcc_arg_unify_2_0: include/parrot src/call

bacek at svn.parrot.org bacek at svn.parrot.org
Thu Sep 24 23:04:56 UTC 2009


Author: bacek
Date: Thu Sep 24 23:04:50 2009
New Revision: 41454
URL: https://trac.parrot.org/parrot/changeset/41454

Log:
Add more Context API functions for new Context fields

Modified:
   branches/pcc_arg_unify_2_0/include/parrot/context.h
   branches/pcc_arg_unify_2_0/src/call/context.c

Modified: branches/pcc_arg_unify_2_0/include/parrot/context.h
==============================================================================
--- branches/pcc_arg_unify_2_0/include/parrot/context.h	Thu Sep 24 22:40:06 2009	(r41453)
+++ branches/pcc_arg_unify_2_0/include/parrot/context.h	Thu Sep 24 23:04:50 2009	(r41454)
@@ -111,6 +111,8 @@
 
     INTVAL                 current_HLL;     /* see also src/hll.c */
 
+    PMC *caller_sig;            /* CallSignature PMC that invoked this context*/
+    PMC *current_sig;           /* temporary CallSignature PMC for active call */
     UINTVAL                warns;           /* Keeps track of what warnings
                                              * have been activated */
     UINTVAL                errors;          /* fatals that can be turned off */

Modified: branches/pcc_arg_unify_2_0/src/call/context.c
==============================================================================
--- branches/pcc_arg_unify_2_0/src/call/context.c	Thu Sep 24 22:40:06 2009	(r41453)
+++ branches/pcc_arg_unify_2_0/src/call/context.c	Thu Sep 24 23:04:50 2009	(r41454)
@@ -783,6 +783,87 @@
 
 /*
 
+=item C<void Parrot_pcc_set_caller_sig(PARROT_INTERP, PMC *ctx, PMC
+*sig)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_caller_sig(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig))
+{
+    ASSERT_ARGS(Parrot_pcc_set_caller_sig)
+    Parrot_Context *c = get_context_struct_fast(interp, ctx);
+    c->caller_sig = sig;
+}
+
+/*
+
+=item C<PMC* Parrot_pcc_get_caller_sig(PARROT_INTERP, PMC *ctx)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_caller_sig(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+    ASSERT_ARGS(Parrot_pcc_get_caller_sig)
+    Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+    return c->caller_sig;
+}
+
+/*
+
+=item C<void Parrot_pcc_set_current_sig(PARROT_INTERP, PMC *ctx, PMC
+*sig)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_current_sig(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *sig))
+{
+    ASSERT_ARGS(Parrot_pcc_set_current_sig)
+    Parrot_Context *c = get_context_struct_fast(interp, ctx);
+    c->current_sig = sig;
+}
+
+/*
+
+=item C<PMC* Parrot_pcc_get_current_sig(PARROT_INTERP, PMC *ctx)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_current_sig(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+    ASSERT_ARGS(Parrot_pcc_get_current_sig)
+    Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+    return c->current_sig;
+}
+
+
+/*
+
 =item C<void Parrot_pcc_set_results_signature(PARROT_INTERP, PMC *ctx, PMC
 *sig)>
 


More information about the parrot-commits mailing list