[svn:parrot] r40701 - branches/pcc_arg_unify/src/call

tene at svn.parrot.org tene at svn.parrot.org
Sat Aug 22 04:21:05 UTC 2009


Author: tene
Date: Sat Aug 22 04:21:04 2009
New Revision: 40701
URL: https://trac.parrot.org/parrot/changeset/40701

Log:
[pcc] Use HLL mappings in return argument autoboxing

Modified:
   branches/pcc_arg_unify/src/call/pcc.c

Modified: branches/pcc_arg_unify/src/call/pcc.c
==============================================================================
--- branches/pcc_arg_unify/src/call/pcc.c	Sat Aug 22 04:17:18 2009	(r40700)
+++ branches/pcc_arg_unify/src/call/pcc.c	Sat Aug 22 04:21:04 2009	(r40701)
@@ -1361,7 +1361,7 @@
         switch (PARROT_ARG_TYPE_MASK_MASK(return_flags)) {
             case PARROT_ARG_INTVAL:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_Integer));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer)));
                 }
                 if (constant)
                     VTABLE_set_integer_native(interp, result_item, raw_index);
@@ -1371,7 +1371,7 @@
                 break;
             case PARROT_ARG_FLOATVAL:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_Float));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float)));
                 }
                 if (constant)
                     VTABLE_set_number_native(interp, result_item,
@@ -1382,7 +1382,7 @@
                 break;
             case PARROT_ARG_STRING:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_String));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String)));
                 }
                 if (constant)
                     VTABLE_set_string_native(interp, result_item, Parrot_str_new_COW(interp,
@@ -1486,21 +1486,21 @@
         switch (PARROT_ARG_TYPE_MASK_MASK(return_flags)) {
             case PARROT_ARG_INTVAL:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_Integer));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer)));
                 }
                 VTABLE_set_integer_native(interp, result_item, va_arg(args, INTVAL));
                 return_list_index++;
                 break;
             case PARROT_ARG_FLOATVAL:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_Float));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float)));
                 }
                 VTABLE_set_number_native(interp, result_item, va_arg(args, FLOATVAL));
                 return_list_index++;
                 break;
             case PARROT_ARG_STRING:
                 if (Parrot_str_equal(interp, item_sig, CONST_STRING(interp, "P"))) {
-                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, enum_class_String));
+                    VTABLE_set_pmc(interp, result_item, pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String)));
                 }
                 VTABLE_set_string_native(interp, result_item,
                         Parrot_str_new_COW(interp, va_arg(args, STRING *)));


More information about the parrot-commits mailing list