[svn:parrot] r46272 - in trunk: include/parrot src src/pmc
petdance at svn.parrot.org
petdance at svn.parrot.org
Tue May 4 04:50:17 UTC 2010
Author: petdance
Date: Tue May 4 04:50:16 2010
New Revision: 46272
URL: https://trac.parrot.org/parrot/changeset/46272
Log:
adding headerizer macros
Modified:
trunk/include/parrot/pmc_freeze.h
trunk/include/parrot/thread.h
trunk/src/pmc/threadinterpreter.pmc
trunk/src/pmc_freeze.c
trunk/src/thread.c
Modified: trunk/include/parrot/pmc_freeze.h
==============================================================================
--- trunk/include/parrot/pmc_freeze.h Tue May 4 04:32:30 2010 (r46271)
+++ trunk/include/parrot/pmc_freeze.h Tue May 4 04:50:16 2010 (r46272)
@@ -122,6 +122,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
STRING * Parrot_freeze_pbc(PARROT_INTERP,
ARGIN(PMC *pmc),
ARGIN(const PackFile_ConstTable *pf))
@@ -147,8 +148,9 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
-PMC * Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)
- __attribute__nonnull__(1);
+PMC * Parrot_freeze_strings(PARROT_INTERP, ARGIN(PMC *pmc))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -200,7 +202,8 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_Parrot_freeze_strings __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_Parrot_thaw __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(image))
Modified: trunk/include/parrot/thread.h
==============================================================================
--- trunk/include/parrot/thread.h Tue May 4 04:32:30 2010 (r46271)
+++ trunk/include/parrot/thread.h Tue May 4 04:50:16 2010 (r46272)
@@ -164,6 +164,12 @@
void Parrot_shared_gc_unblock(PARROT_INTERP)
__attribute__nonnull__(1);
+PARROT_EXPORT
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
+PMC * pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)
+ __attribute__nonnull__(1);
+
void pt_add_to_interpreters(PARROT_INTERP,
ARGIN_NULLOK(Parrot_Interp new_interp))
__attribute__nonnull__(1);
@@ -194,9 +200,6 @@
void pt_suspend_self_for_gc(PARROT_INTERP)
__attribute__nonnull__(1);
-PMC * pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)
- __attribute__nonnull__(1);
-
int pt_thread_create_run(PARROT_INTERP,
INTVAL type,
INTVAL clone_flags,
@@ -213,11 +216,13 @@
void pt_thread_kill(UINTVAL tid);
void pt_thread_prepare_for_run(Parrot_Interp d, NULLOK(Parrot_Interp s));
int pt_thread_run(PARROT_INTERP,
- PMC *thread_interp_pmc,
+ ARGMOD(PMC *thread_interp_pmc),
ARGIN(PMC *sub),
ARGIN_NULLOK(PMC *arg))
__attribute__nonnull__(1)
- __attribute__nonnull__(3);
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3)
+ FUNC_MODIFIES(*thread_interp_pmc);
void pt_thread_wait_with(PARROT_INTERP, ARGMOD(Parrot_mutex *mutex))
__attribute__nonnull__(1)
@@ -239,6 +244,8 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_shared_gc_unblock __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_pt_thread_create __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_pt_add_to_interpreters __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_pt_clone_code __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
@@ -258,8 +265,6 @@
, PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_pt_suspend_self_for_gc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_pt_thread_create __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_pt_thread_create_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(sub))
@@ -270,6 +275,7 @@
#define ASSERT_ARGS_pt_thread_prepare_for_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_pt_thread_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(thread_interp_pmc) \
, PARROT_ASSERT_ARG(sub))
#define ASSERT_ARGS_pt_thread_wait_with __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
Modified: trunk/src/pmc/threadinterpreter.pmc
==============================================================================
--- trunk/src/pmc/threadinterpreter.pmc Tue May 4 04:32:30 2010 (r46271)
+++ trunk/src/pmc/threadinterpreter.pmc Tue May 4 04:50:16 2010 (r46272)
@@ -26,8 +26,15 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-static void stop_GC(Interp *parent, Interp *thread);
-#define ASSERT_ARGS_stop_GC __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+static void stop_GC(ARGMOD(Interp *parent), ARGMOD(Interp *thread))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ FUNC_MODIFIES(*parent)
+ FUNC_MODIFIES(*thread);
+
+#define ASSERT_ARGS_stop_GC __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(parent) \
+ , PARROT_ASSERT_ARG(thread))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: static */
@@ -38,7 +45,7 @@
* XXX a quick hack to pass the few tests
*/
static void
-stop_GC(Interp *parent, Interp *thread)
+stop_GC(ARGMOD(Interp *parent), ARGMOD(Interp *thread))
{
ASSERT_ARGS(stop_GC)
Parrot_block_GC_mark(parent);
Modified: trunk/src/pmc_freeze.c
==============================================================================
--- trunk/src/pmc_freeze.c Tue May 4 04:32:30 2010 (r46271)
+++ trunk/src/pmc_freeze.c Tue May 4 04:50:16 2010 (r46272)
@@ -72,12 +72,14 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
STRING *
-Parrot_freeze_pbc(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTable *pf)) {
+Parrot_freeze_pbc(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTable *pf))
+{
ASSERT_ARGS(Parrot_freeze_pbc)
- PMC *pf_pmc, *visitor;
+ PMC *visitor;
- pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ PMC * const pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
VTABLE_set_pointer(interp, pf_pmc, (void *)pf);
visitor = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc);
@@ -156,10 +158,10 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
PMC *
-Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)
+Parrot_freeze_strings(PARROT_INTERP, ARGIN(PMC *pmc))
{
ASSERT_ARGS(Parrot_freeze_strings)
- PMC *visitor = Parrot_pmc_new(interp, enum_class_ImageIOStrings);
+ PMC * const visitor = Parrot_pmc_new(interp, enum_class_ImageIOStrings);
VTABLE_set_pmc(interp, visitor, pmc);
return VTABLE_get_pmc(interp, visitor);
}
Modified: trunk/src/thread.c
==============================================================================
--- trunk/src/thread.c Tue May 4 04:32:30 2010 (r46271)
+++ trunk/src/thread.c Tue May 4 04:50:16 2010 (r46272)
@@ -713,12 +713,15 @@
*/
+PARROT_EXPORT
+PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
PMC *
pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)
{
ASSERT_ARGS(pt_thread_create)
- PMC *new_interp_pmc = pmc_new(interp, type);
- Interp *new_interp = (Interp *)VTABLE_get_pointer(interp, new_interp_pmc);
+ PMC * const new_interp_pmc = pmc_new(interp, type);
+ Interp * const new_interp = (Interp *)VTABLE_get_pointer(interp, new_interp_pmc);
clone_interpreter(new_interp, interp, clone_flags);
pt_thread_prepare_for_run(new_interp, interp);
@@ -738,10 +741,11 @@
*/
int
-pt_thread_run(PARROT_INTERP, PMC *thread_interp_pmc, ARGIN(PMC *sub), ARGIN_NULLOK(PMC *arg))
+pt_thread_run(PARROT_INTERP, ARGMOD(PMC *thread_interp_pmc), ARGIN(PMC *sub),
+ ARGIN_NULLOK(PMC *arg))
{
ASSERT_ARGS(pt_thread_run)
- Interp *thread_interp = (Interp *)VTABLE_get_pointer(interp, thread_interp_pmc);
+ Interp * const thread_interp = (Interp *)VTABLE_get_pointer(interp, thread_interp_pmc);
SETATTR_ParrotInterpreter_sub(interp,
thread_interp_pmc, pt_transfer_sub(thread_interp, interp, sub));
More information about the parrot-commits
mailing list