[svn:parrot] r44645 - in branches/pcc_hackathon_6Mar10: include/parrot src/call
allison at svn.parrot.org
allison at svn.parrot.org
Fri Mar 5 14:09:52 UTC 2010
Author: allison
Date: Fri Mar 5 14:09:50 2010
New Revision: 44645
URL: https://trac.parrot.org/parrot/changeset/44645
Log:
[pcc] Remove unused function to build a special return signature from
an op, now that return signatures are the same as call signatures.
Modified:
branches/pcc_hackathon_6Mar10/include/parrot/call.h
branches/pcc_hackathon_6Mar10/src/call/args.c
Modified: branches/pcc_hackathon_6Mar10/include/parrot/call.h
==============================================================================
--- branches/pcc_hackathon_6Mar10/include/parrot/call.h Fri Mar 5 14:00:54 2010 (r44644)
+++ branches/pcc_hackathon_6Mar10/include/parrot/call.h Fri Mar 5 14:09:50 2010 (r44645)
@@ -188,17 +188,6 @@
__attribute__nonnull__(3);
PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-PMC* Parrot_pcc_build_sig_object_returns_from_op(PARROT_INTERP,
- ARGIN_NULLOK(PMC *signature),
- ARGIN(PMC *raw_sig),
- ARGIN(opcode_t *raw_args))
- __attribute__nonnull__(1)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4);
-
-PARROT_EXPORT
void Parrot_pcc_fill_params_from_c_args(PARROT_INTERP,
ARGMOD(PMC *call_object),
ARGIN(const char *signature),
Modified: branches/pcc_hackathon_6Mar10/src/call/args.c
==============================================================================
--- branches/pcc_hackathon_6Mar10/src/call/args.c Fri Mar 5 14:00:54 2010 (r44644)
+++ branches/pcc_hackathon_6Mar10/src/call/args.c Fri Mar 5 14:09:50 2010 (r44645)
@@ -732,95 +732,6 @@
}
}
-/*
-
-=item C<PMC* Parrot_pcc_build_sig_object_returns_from_op(PARROT_INTERP, PMC
-*signature, PMC *raw_sig, opcode_t *raw_args)>
-
-Take a raw signature and argument list from a set_results opcode and
-convert it to a CallContext PMC. Uses an existing CallContext PMC if
-one was already created for set_args. Otherwise, creates a new one.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-PMC*
-Parrot_pcc_build_sig_object_returns_from_op(PARROT_INTERP, ARGIN_NULLOK(PMC *signature),
- ARGIN(PMC *raw_sig), ARGIN(opcode_t *raw_args))
-{
- ASSERT_ARGS(Parrot_pcc_build_sig_object_returns_from_op)
- PMC *call_object;
- INTVAL *int_array;
- PMC * const ctx = CURRENT_CONTEXT(interp);
- INTVAL returns_pos = 0;
- INTVAL arg_index;
- INTVAL arg_count;
-
- if (PMC_IS_NULL(signature))
- call_object = Parrot_pmc_new(interp, enum_class_CallContext);
- /* A hack to support 'get_results' as the way of fetching the
- * exception object inside an exception handler. The first argument
- * in the call object is the exception, stick it directly into the
- * destination register. */
- else if (CALLSIGNATURE_is_exception_TEST(signature)) {
- const INTVAL raw_index = raw_args[2];
- CTX_REG_PMC(ctx, raw_index) =
- VTABLE_get_pmc_keyed_int(interp, signature, 0);
- return NULL;
- }
- else
- call_object = signature;
-
- /* a little encapsulation violation for great speed */
- SETATTR_CallContext_return_flags(interp, call_object, raw_sig);
-
- GETATTR_FixedIntegerArray_size(interp, raw_sig, arg_count);
- GETATTR_FixedIntegerArray_int_array(interp, raw_sig, int_array);
-
- for (arg_index = 0; arg_index < arg_count; arg_index++) {
- STRING * const signature = CONST_STRING(interp, "signature");
- const INTVAL arg_flags = int_array[arg_index];
- const INTVAL raw_index = raw_args[arg_index + 2];
-
- /* Returns store a pointer to the register, so they can pass
- * the result back to the caller. */
- switch (PARROT_ARG_TYPE_MASK_MASK(arg_flags)) {
- case PARROT_ARG_INTVAL:
- csr_push_pointer(interp, call_object, &(CTX_REG_INT(ctx, raw_index)),
- PARROT_ARG_INTVAL);
- break;
- case PARROT_ARG_FLOATVAL:
- csr_push_pointer(interp, call_object, &(CTX_REG_NUM(ctx, raw_index)),
- PARROT_ARG_FLOATVAL);
- break;
- case PARROT_ARG_STRING:
- if (arg_flags & PARROT_ARG_NAME) {
- STRING * string_val = arg_flags & PARROT_ARG_CONSTANT
- ? Parrot_pcc_get_string_constant(interp, ctx, raw_index)
- : CTX_REG_STR(ctx, raw_index);
- csr_push_pointer(interp, call_object, string_val, PARROT_ARG_STRING);
- }
- else {
- csr_push_pointer(interp, call_object,
- &(CTX_REG_STR(ctx, raw_index)), PARROT_ARG_STRING);
- }
- break;
- case PARROT_ARG_PMC:
- csr_push_pointer(interp, call_object, &(CTX_REG_PMC(ctx, raw_index)),
- PARROT_ARG_PMC);
- break;
- default:
- break;
- }
-
- }
-
- return call_object;
-}
/*
More information about the parrot-commits
mailing list