cvsuser 04/09/15 05:23:13
Modified: build_tools build_nativecall.pl
Log:
A few more breakouts to make debugging easier
Revision Changes Path
1.56 +8 -4 parrot/build_tools/build_nativecall.pl
Index: build_nativecall.pl
===================================================================
RCS file: /cvs/public/parrot/build_tools/build_nativecall.pl,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -w -r1.55 -r1.56
--- build_nativecall.pl 15 Sep 2004 12:15:32 -0000 1.55
+++ build_nativecall.pl 15 Sep 2004 12:23:12 -0000 1.56
@@ -1,6 +1,6 @@
#! perl -w
# Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
-# $Id: build_nativecall.pl,v 1.55 2004/09/15 12:15:32 jrieks Exp $
+# $Id: build_nativecall.pl,v 1.56 2004/09/15 12:23:12 dan Exp $
=head1 NAME
@@ -165,7 +165,7 @@
/* nci.c
* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved.
* CVS Info
- * $Id: build_nativecall.pl,v 1.55 2004/09/15 12:15:32 jrieks Exp $
+ * $Id: build_nativecall.pl,v 1.56 2004/09/15 12:23:12 dan Exp $
* Overview:
* Native Call Interface routines. The code needed to build a
* parrot to C call frame is in here
@@ -332,10 +332,14 @@
sub make_arg {
my ($argtype, $reg_ref) = @_;
/p/ && do {my $regnum = $reg_ref->{p}++;
- return "PMC_data(REG_PMC($regnum))";
+ my $tempnum = $tempcounter++;
+ push @extra_preamble, "void *tempvar$tempnum =
PMC_data(REG_PMC($regnum));\n";
+ return "tempvar$tempnum";
};
/i/ && do {my $regnum = $reg_ref->{i}++;
- return "(int)REG_INT($regnum)";
+ my $tempnum = $tempcounter++;
+ push @extra_preamble, "int *tempvar$tempnum = (int)REG_INT($regnum);\n";
+ return "tempvar$tempnum";
};
/3/ && do {my $regnum = $reg_ref->{p}++;
return "(int*)&PMC_int_val(REG_PMC($regnum))";