[svn:parrot] r42106 - in branches/context_unify: include/parrot src/call
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Oct 26 11:06:28 UTC 2009
Author: bacek
Date: Mon Oct 26 11:06:27 2009
New Revision: 42106
URL: https://trac.parrot.org/parrot/changeset/42106
Log:
Added accessors for new Parrot_Context fields.
Non-optimised version only.
Modified:
branches/context_unify/include/parrot/context.h
branches/context_unify/src/call/context_accessors.c
Modified: branches/context_unify/include/parrot/context.h
==============================================================================
--- branches/context_unify/include/parrot/context.h Mon Oct 26 11:06:01 2009 (r42105)
+++ branches/context_unify/include/parrot/context.h Mon Oct 26 11:06:27 2009 (r42106)
@@ -186,6 +186,12 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
+PMC* Parrot_pcc_get_arg_flags(PARROT_INTERP, ARGIN(PMC *ctx))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
PMC* Parrot_pcc_get_caller_ctx(PARROT_INTERP, ARGIN(PMC *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -290,12 +296,30 @@
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
+PMC* Parrot_pcc_get_results(PARROT_INTERP, ARGIN(PMC *ctx))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
PMC* Parrot_pcc_get_results_signature(PARROT_INTERP, ARGIN(PMC *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
PARROT_CAN_RETURN_NULL
+PMC* Parrot_pcc_get_return_flags(PARROT_INTERP, ARGIN(PMC *ctx))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+STRING* Parrot_pcc_get_short_sig(PARROT_INTERP, ARGIN(PMC *ctx))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
PMC* Parrot_pcc_get_signature(PARROT_INTERP, ARGIN(PMC *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -309,11 +333,24 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC* Parrot_pcc_get_type_tuple(PARROT_INTERP, ARGIN(PMC *ctx))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
UINTVAL Parrot_pcc_inc_recursion_depth(PARROT_INTERP, ARGIN(PMC *ctx))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
PARROT_EXPORT
+void Parrot_pcc_set_arg_flags(PARROT_INTERP,
+ ARGIN(PMC *ctx),
+ ARGIN_NULLOK(PMC *value))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
void Parrot_pcc_set_caller_ctx(PARROT_INTERP,
ARGIN(PMC *ctx),
ARGIN(PMC *caller_ctx))
@@ -401,6 +438,13 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+void Parrot_pcc_set_results(PARROT_INTERP,
+ ARGIN(PMC *ctx),
+ ARGIN_NULLOK(PMC *value))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
void Parrot_pcc_set_results_signature(PARROT_INTERP,
ARGIN(PMC *ctx),
ARGIN_NULLOK(PMC *sig))
@@ -408,6 +452,20 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+void Parrot_pcc_set_return_flags(PARROT_INTERP,
+ ARGIN(PMC *ctx),
+ ARGIN_NULLOK(PMC *value))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
+void Parrot_pcc_set_short_sig(PARROT_INTERP,
+ ARGIN(PMC *ctx),
+ ARGIN_NULLOK(STRING *sig))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
void Parrot_pcc_set_signature(PARROT_INTERP,
ARGIN(PMC *ctx),
ARGIN_NULLOK(PMC *sig_object))
@@ -415,6 +473,13 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+void Parrot_pcc_set_type_tuple(PARROT_INTERP,
+ ARGIN(PMC *ctx),
+ ARGIN_NULLOK(PMC *value))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+PARROT_EXPORT
void Parrot_pcc_trace_flags_off(PARROT_INTERP,
ARGIN(PMC *ctx),
UINTVAL flags)
@@ -467,6 +532,9 @@
#define ASSERT_ARGS_Parrot_pcc_errors_test __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_get_arg_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_get_caller_ctx __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
@@ -518,10 +586,19 @@
#define ASSERT_ARGS_Parrot_pcc_get_results __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_get_results __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_get_results_signature \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_get_return_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_get_short_sig __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_get_signature __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
@@ -529,10 +606,16 @@
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_get_type_tuple __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_inc_recursion_depth \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_set_arg_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_set_caller_ctx __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx) \
@@ -573,13 +656,25 @@
#define ASSERT_ARGS_Parrot_pcc_set_results __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_set_results __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_set_results_signature \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_set_return_flags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_set_short_sig __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_set_signature __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
+#define ASSERT_ARGS_Parrot_pcc_set_type_tuple __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ctx))
#define ASSERT_ARGS_Parrot_pcc_trace_flags_off __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ctx))
Modified: branches/context_unify/src/call/context_accessors.c
==============================================================================
--- branches/context_unify/src/call/context_accessors.c Mon Oct 26 11:06:01 2009 (r42105)
+++ branches/context_unify/src/call/context_accessors.c Mon Oct 26 11:06:27 2009 (r42106)
@@ -467,9 +467,9 @@
/*
-=item C<opcode_t* Parrot_pcc_get_results(PARROT_INTERP, PMC *ctx)>
+=item C<PMC* Parrot_pcc_get_results(PARROT_INTERP, PMC *ctx)>
-=item C<void Parrot_pcc_set_results(PARROT_INTERP, PMC *ctx, opcode_t *pc)>
+=item C<void Parrot_pcc_set_results(PARROT_INTERP, PMC *ctx, PMC *value)>
Get/set ptr into code with get_results opcode.
@@ -529,6 +529,164 @@
c->results_signature = sig;
}
+/*
+
+=item C<PMC* Parrot_pcc_get_results(PARROT_INTERP, PMC *ctx)>
+
+=item C<void Parrot_pcc_set_results(PARROT_INTERP, PMC *ctx, PMC
+*value)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_results(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+ ASSERT_ARGS(Parrot_pcc_get_results)
+ Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+ return c->results;
+}
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_results(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *value))
+{
+ ASSERT_ARGS(Parrot_pcc_set_results)
+ Parrot_Context *c = get_context_struct_fast(interp, ctx);
+ c->results = value;
+}
+
+
+/*
+
+=item C<PMC* Parrot_pcc_get_type_tuple(PARROT_INTERP, PMC *ctx)>
+
+=item C<void Parrot_pcc_set_type_tuple(PARROT_INTERP, PMC *ctx, PMC *value)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_type_tuple(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+ ASSERT_ARGS(Parrot_pcc_get_type_tuple)
+ Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+ return c->type_tuple;
+}
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_type_tuple(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *value))
+{
+ ASSERT_ARGS(Parrot_pcc_set_type_tuple)
+ Parrot_Context *c = get_context_struct_fast(interp, ctx);
+ c->type_tuple = value;
+}
+
+
+/*
+
+=item C<STRING* Parrot_pcc_get_short_sig(PARROT_INTERP, PMC *ctx)>
+
+=item C<void Parrot_pcc_set_short_sig(PARROT_INTERP, PMC *ctx, STRING *sig)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+STRING*
+Parrot_pcc_get_short_sig(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+ ASSERT_ARGS(Parrot_pcc_get_short_sig)
+ Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+ return c->short_sig;
+}
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_short_sig(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(STRING *sig))
+{
+ ASSERT_ARGS(Parrot_pcc_set_short_sig)
+ Parrot_Context *c = get_context_struct_fast(interp, ctx);
+ c->short_sig = sig;
+}
+
+/*
+
+=item C<PMC* Parrot_pcc_get_arg_flags(PARROT_INTERP, PMC *ctx)>
+
+=item C<void Parrot_pcc_set_arg_flags(PARROT_INTERP, PMC *ctx, PMC *value)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_arg_flags(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+ ASSERT_ARGS(Parrot_pcc_get_arg_flags)
+ Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+ return c->arg_flags;
+}
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_arg_flags(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *value))
+{
+ ASSERT_ARGS(Parrot_pcc_set_arg_flags)
+ Parrot_Context *c = get_context_struct_fast(interp, ctx);
+ c->arg_flags = value;
+}
+
+
+/*
+
+=item C<PMC* Parrot_pcc_get_return_flags(PARROT_INTERP, PMC *ctx)>
+
+=item C<void Parrot_pcc_set_return_flags(PARROT_INTERP, PMC *ctx, PMC *value)>
+
+TODO
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_pcc_get_return_flags(PARROT_INTERP, ARGIN(PMC *ctx))
+{
+ ASSERT_ARGS(Parrot_pcc_get_return_flags)
+ Parrot_Context const *c = get_context_struct_fast(interp, ctx);
+ return c->return_flags;
+}
+
+PARROT_EXPORT
+void
+Parrot_pcc_set_return_flags(PARROT_INTERP, ARGIN(PMC *ctx), ARGIN_NULLOK(PMC *value))
+{
+ ASSERT_ARGS(Parrot_pcc_set_return_flags)
+ Parrot_Context *c = get_context_struct_fast(interp, ctx);
+ c->return_flags = value;
+}
/*
More information about the parrot-commits
mailing list