[svn:parrot] r42910 - branches/cs_csr_cleanup/src/call
bacek at svn.parrot.org
bacek at svn.parrot.org
Sun Dec 6 09:41:58 UTC 2009
Author: bacek
Date: Sun Dec 6 09:41:58 2009
New Revision: 42910
URL: https://trac.parrot.org/parrot/changeset/42910
Log:
Made csr_reallocate_return_values to return reallocated values.
Modified:
branches/cs_csr_cleanup/src/call/args.c
Modified: branches/cs_csr_cleanup/src/call/args.c
==============================================================================
--- branches/cs_csr_cleanup/src/call/args.c Sun Dec 6 09:21:46 2009 (r42909)
+++ branches/cs_csr_cleanup/src/call/args.c Sun Dec 6 09:41:58 2009 (r42910)
@@ -139,7 +139,8 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-static void csr_reallocate_return_values(PARROT_INTERP,
+PARROT_CANNOT_RETURN_NULL
+static void** csr_reallocate_return_values(PARROT_INTERP,
ARGIN(PMC *self),
INTVAL size)
__attribute__nonnull__(1)
@@ -2440,10 +2441,9 @@
GETATTR_CallSignature_returns_values(interp, parent, returns_values);
/* Resize tailcall.returns_values to new size */
- csr_reallocate_return_values(interp, tailcall, returns_size);
+ tailcall_returns_values = csr_reallocate_return_values(interp, tailcall, returns_size);
/* And copy values over it */
- GETATTR_CallSignature_returns_values(interp, tailcall, tailcall_returns_values);
mem_copy_n_typed(tailcall_returns_values, returns_values, returns_size, void**);
/* Store raw signature */
@@ -2869,7 +2869,7 @@
/*
-=item C<static void csr_reallocate_return_values(PARROT_INTERP, PMC *self,
+=item C<static void** csr_reallocate_return_values(PARROT_INTERP, PMC *self,
INTVAL size)>
Resizes the array to C<size> elements.
@@ -2878,7 +2878,8 @@
*/
-static void
+PARROT_CANNOT_RETURN_NULL
+static void**
csr_reallocate_return_values(PARROT_INTERP, ARGIN(PMC *self), INTVAL size)
{
ASSERT_ARGS(csr_reallocate_return_values)
@@ -2896,7 +2897,6 @@
}
else if (size <= resize_threshold) {
SETATTR_CallSignature_returns_size(interp, self, size);
- return;
}
else {
void *old_values;
@@ -2925,6 +2925,8 @@
SETATTR_CallSignature_returns_size(interp, self, size);
SETATTR_CallSignature_returns_resize_threshold(interp, self, cur);
}
+
+ return values;
}
/*
More information about the parrot-commits
mailing list