[svn:mod_parrot] r638 - mod_parrot/trunk/src

[email protected] Sat, 9 May 2009 08:37:49 -0700 (PDT)
Newsgroups perl.cvs.mod_parrot
Message-ID <[email protected]>
Author: jhorwitz
Date: Sat May  9 08:37:43 2009
New Revision: 638

Modified:
   mod_parrot/trunk/src/mod_parrot.c
   mod_parrot/trunk/src/parrot_util.c

Log:
replace internal Parrot_Class_instantiate w/ VTABLE_instantiate


Modified: mod_parrot/trunk/src/mod_parrot.c
==============================================================================
--- mod_parrot/trunk/src/mod_parrot.c	(original)
+++ mod_parrot/trunk/src/mod_parrot.c	Sat May  9 08:37:43 2009
@@ -48,12 +48,6 @@
 /* declare our module */
 extern module AP_MODULE_DECLARE_DATA parrot_module;
 
-/* XXX mod_parrot can crash on x86_64 w/o this.
- * there's no prototype in the standard parrot includes, so compiler assumes
- * return type of 'int', and sizeof(int) != sizeof(pointer) on x86_64.
- */
-Parrot_PMC Parrot_Class_instantiate(PARROT_INTERP, PMC *, PMC *init);
-
 void modparrot_init_globals(apr_pool_t *p)
 {
     int i;
@@ -366,7 +360,7 @@
     ctx_class = Parrot_oo_get_class(interp, namespace);
     Parrot_unregister_pmc(interp, namespace);
 
-    ctx_pmc = Parrot_Class_instantiate(interp, ctx_class, PMCNULL);
+    ctx_pmc = VTABLE_instantiate(interp, ctx_class, PMCNULL);
     Parrot_register_pmc(interp, ctx_pmc);
 
     if (!hll) hll = MODPARROT_DEFAULT_HLL;

Modified: mod_parrot/trunk/src/parrot_util.c
==============================================================================
--- mod_parrot/trunk/src/parrot_util.c	(original)
+++ mod_parrot/trunk/src/parrot_util.c	Sat May  9 08:37:43 2009
@@ -23,13 +23,6 @@
 #include "mod_parrot.h"
 #include "../src/pmc/pmc_continuation.h"
 
-
-/* XXX mod_parrot can crash on x86_64 w/o this.
- * there's no prototype in the standard parrot includes, so compiler assumes
- * return type of 'int', and sizeof(int) != sizeof(pointer) on x86_64.
- */
-Parrot_PMC Parrot_Class_instantiate(PARROT_INTERP, PMC *, PMC *init);
-
 static Parrot_PMC get_sub_pmc_s(Parrot_Interp interp, char *namespace, char *name)
 {
     Parrot_PMC sub;
@@ -278,10 +271,10 @@
         Parrot_PMC_set_pmc_keyed_str(interp, init,
             Parrot_str_new(interp, init_key, strlen(init_key)),
                 pointer_pmc);
-        obj = Parrot_Class_instantiate(interp, _class, init);
+        obj = VTABLE_instantiate(interp, _class, init);
     }
     else {
-        obj = Parrot_Class_instantiate(interp, _class, PMCNULL);
+        obj = VTABLE_instantiate(interp, _class, PMCNULL);
     }
     Parrot_unregister_pmc(interp, init);
     Parrot_unregister_pmc(interp, _class);