[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