[svn:parrot] r43413 - in trunk: include/parrot src/call
bacek at svn.parrot.org
bacek at svn.parrot.org
Sat Jan 9 22:23:27 UTC 2010
Author: bacek
Date: Sat Jan 9 22:23:25 2010
New Revision: 43413
URL: https://trac.parrot.org/parrot/changeset/43413
Log:
Expose Parrot_pcc_do_run_ops.
Modified:
trunk/include/parrot/call.h
trunk/src/call/pcc.c
Modified: trunk/include/parrot/call.h
==============================================================================
--- trunk/include/parrot/call.h Sat Jan 9 10:27:08 2010 (r43412)
+++ trunk/include/parrot/call.h Sat Jan 9 22:23:25 2010 (r43413)
@@ -53,6 +53,11 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
+INTVAL Parrot_pcc_do_run_ops(PARROT_INTERP, ARGIN(PMC *sub_obj))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
void Parrot_pcc_invoke_from_sig_object(PARROT_INTERP,
ARGIN(PMC *sub_obj),
ARGIN(PMC *call_object))
@@ -93,6 +98,9 @@
__attribute__nonnull__(4)
FUNC_MODIFIES(*method_name);
+#define ASSERT_ARGS_Parrot_pcc_do_run_ops __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(sub_obj))
#define ASSERT_ARGS_Parrot_pcc_invoke_from_sig_object \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: trunk/src/call/pcc.c
==============================================================================
--- trunk/src/call/pcc.c Sat Jan 9 10:27:08 2010 (r43412)
+++ trunk/src/call/pcc.c Sat Jan 9 22:23:25 2010 (r43413)
@@ -253,6 +253,24 @@
/*
+=item C<INTVAL Parrot_pcc_do_run_ops(PARROT_INTERP, PMC *sub_obj)>
+
+Check if current object require running ops. Used in tailcall for updating
+RetContinuation.
+
+=cut
+
+*/
+PARROT_EXPORT
+INTVAL
+Parrot_pcc_do_run_ops(PARROT_INTERP, ARGIN(PMC *sub_obj))
+{
+ ASSERT_ARGS(Parrot_pcc_do_run_ops)
+ return do_run_ops(interp, sub_obj);
+}
+
+/*
+
=item C<void Parrot_pcc_invoke_from_sig_object(PARROT_INTERP, PMC *sub_obj, PMC
*call_object)>
More information about the parrot-commits
mailing list