cvsuser 02/11/25 17:16:31
Modified: . build_nativecall.pl call_list.txt
Log:
stores to PMC and fetches from strings work
Revision Changes Path
1.2 +5 -3 parrot/build_nativecall.pl
Index: build_nativecall.pl
===================================================================
RCS file: /cvs/public/parrot/build_nativecall.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- build_nativecall.pl 26 Nov 2002 00:45:08 -0000 1.1
+++ build_nativecall.pl 26 Nov 2002 01:16:31 -0000 1.2
@@ -26,6 +26,8 @@
v => "void",
);
+my (%other_decl) = (p => "PMC *final_destination = pmc_new(interpreter,
enum_class_UnManagedStruct);");
+
my (%ret_type_decl) = (p => "void *",
i => "int",
l => "long",
@@ -37,7 +39,7 @@
v => "void *",
);
-my (%ret_assign) = (p => "",
+my (%ret_assign) = (p => "final_destination->data = return_data;\nPMC_REG(5) =
final_destination;",
i => "INT_REG(5) = return_data;",
l => "INT_REG(5) = return_data;",
c => "INT_REG(5) = return_data;",
@@ -63,7 +65,7 @@
/* nci.c
* Copyright: 2001, 2002 Yet Another Society
* CVS Info
- * $Id: build_nativecall.pl,v 1.1 2002/11/26 00:45:08 dan Exp $
+ * $Id: build_nativecall.pl,v 1.2 2002/11/26 01:16:31 dan Exp $
* Overview:
* Native Call Interface routines. The code needed to build a
* parrot to C call frame is in here
@@ -117,7 +119,7 @@
}
# Header
- generate_func_header($ret, $args, (join ",", @arg), $ret_type{$ret},
$ret_type_decl{$ret}, $func_call_assign{$ret}, "", $ret_assign{$ret});
+ generate_func_header($ret, $args, (join ",", @arg), $ret_type{$ret},
$ret_type_decl{$ret}, $func_call_assign{$ret}, $other_decl{$ret}, $ret_assign{$ret});
# Body
1.2 +1 -0 parrot/call_list.txt
Index: call_list.txt
===================================================================
RCS file: /cvs/public/parrot/call_list.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- call_list.txt 26 Nov 2002 00:45:08 -0000 1.1
+++ call_list.txt 26 Nov 2002 01:16:31 -0000 1.2
@@ -5,3 +5,4 @@
d d
i p
v v
+p p