Change 21032 by [EMAIL PROTECTED] on 2003/09/04 17:30:28
Subject: [PATCH] Re: [PATCH] Re: ByteLoader and MSWin32
From: Enache Adrian <[EMAIL PROTECTED]>
Date: Thu, 4 Sep 2003 20:09:06 +0300
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
... //depot/perl/bytecode.pl#56 edit
... //depot/perl/ext/B/B/Bytecode.pm#35 edit
... //depot/perl/ext/ByteLoader/bytecode.h#39 edit
... //depot/perl/ext/ByteLoader/byterun.c#31 edit
Differences ...
==== //depot/perl/bytecode.pl#56 (text) ====
Index: perl/bytecode.pl
--- perl/bytecode.pl#55~20816~ Thu Aug 21 22:15:30 2003
+++ perl/bytecode.pl Thu Sep 4 10:30:28 2003
@@ -452,7 +452,7 @@
op_pmreplstart cPMOP->op_pmreplstart opindex
op_pmnext *(OP**)&cPMOP->op_pmnext opindex
#ifdef USE_ITHREADS
-op_pmstashpv cPMOP->op_pmstashpv pvindex
+op_pmstashpv cPMOP pvindex x
op_pmreplrootpo cPMOP->op_pmreplroot OP*/PADOFFSET
#else
op_pmstash *(SV**)&cPMOP->op_pmstash svindex
==== //depot/perl/ext/B/B/Bytecode.pm#35 (text) ====
Index: perl/ext/B/B/Bytecode.pm
--- perl/ext/B/B/Bytecode.pm#34~20789~ Wed Aug 20 03:49:51 2003
+++ perl/ext/B/B/Bytecode.pm Thu Sep 4 10:30:28 2003
@@ -735,15 +735,17 @@
}
if ($scan) {
my $f;
- open $f, $scan
- or bwarn("cannot rescan '$_'"), next;
- while (<$f>) {
- /^#\s*line\s+\d+\s+("?)(.*)\1/ and $files{$2} = 1;
- /^#/ and next;
- if (/\bgoto\b/ && !$keep_syn) {
- bwarn "keeping the syntax tree: \"goto\" op found";
- keep_syn;
+ if (open $f, $scan) {
+ while (<$f>) {
+ /^#\s*line\s+\d+\s+("?)(.*)\1/ and $files{$2} = 1;
+ /^#/ and next;
+ if (/\bgoto\b\s*[^&]/ && !$keep_syn) {
+ bwarn "keeping the syntax tree: \"goto\" op found";
+ keep_syn;
+ }
}
+ } else {
+ bwarn "cannot rescan '$scan'";
}
close $f;
}
==== //depot/perl/ext/ByteLoader/bytecode.h#39 (text) ====
Index: perl/ext/ByteLoader/bytecode.h
--- perl/ext/ByteLoader/bytecode.h#38~21018~ Wed Sep 3 05:08:23 2003
+++ perl/ext/ByteLoader/bytecode.h Thu Sep 4 10:30:28 2003
@@ -215,6 +215,8 @@
return 0; \
} STMT_END
+#define BSET_op_pmstashpv(op, arg) PmopSTASHPV_set(op, arg)
+
/*
* stolen from toke.c: better if that was a function.
* in toke.c there are also #ifdefs for dosish systems and i/o layers
==== //depot/perl/ext/ByteLoader/byterun.c#31 (text+w) ====
Index: perl/ext/ByteLoader/byterun.c
--- perl/ext/ByteLoader/byterun.c#30~20852~ Sat Aug 23 00:15:58 2003
+++ perl/ext/ByteLoader/byterun.c Thu Sep 4 10:30:28 2003
@@ -817,7 +817,7 @@
{
pvindex arg;
BGET_pvindex(arg);
- cPMOP->op_pmstashpv = arg;
+ BSET_op_pmstashpv(cPMOP, arg);
break;
}
case INSN_OP_PMREPLROOTPO: /* 109 */
End of Patch.