summaryrefslogtreecommitdiff
path: root/pp_ctl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-03-07 07:51:28 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-03-07 07:51:28 +0000
commit3bd495df69b982704c59fc1ecbed71e5112e7da0 (patch)
tree47303adb4596ab4c7c0b981f50c0a72d52092338 /pp_ctl.c
parentfe9f1ed50ae7ad31787549184f98f0a71eda0191 (diff)
parent1d16519d77cbada019f865cb923236cd48a23c72 (diff)
downloadperl-3bd495df69b982704c59fc1ecbed71e5112e7da0.tar.gz
[win32] integrate mainline changes
p4raw-id: //depot/asperl@799
Diffstat (limited to 'pp_ctl.c')
-rw-r--r--pp_ctl.c52
1 files changed, 30 insertions, 22 deletions
diff --git a/pp_ctl.c b/pp_ctl.c
index 12d24b710d..67dea432b8 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -538,7 +538,7 @@ PP(pp_grepstart)
djSP;
SV *src;
- if (stack_base + *markstack_ptr == sp) {
+ if (stack_base + *markstack_ptr == SP) {
(void)POPMARK;
if (GIMME_V == G_SCALAR)
XPUSHs(&sv_no);
@@ -577,7 +577,7 @@ PP(pp_mapstart)
PP(pp_mapwhile)
{
djSP;
- I32 diff = (sp - stack_base) - *markstack_ptr;
+ I32 diff = (SP - stack_base) - *markstack_ptr;
I32 count;
I32 shift;
SV** src;
@@ -587,11 +587,11 @@ PP(pp_mapwhile)
if (diff) {
if (diff > markstack_ptr[-1] - markstack_ptr[-2]) {
shift = diff - (markstack_ptr[-1] - markstack_ptr[-2]);
- count = (sp - stack_base) - markstack_ptr[-1] + 2;
+ count = (SP - stack_base) - markstack_ptr[-1] + 2;
- EXTEND(sp,shift);
- src = sp;
- dst = (sp += shift);
+ EXTEND(SP,shift);
+ src = SP;
+ dst = (SP += shift);
markstack_ptr[-1] += shift;
*markstack_ptr += shift;
while (--count)
@@ -792,7 +792,7 @@ PP(pp_flip)
}
else {
sv_setiv(targ, 0);
- sp--;
+ SP--;
RETURNOP(((CONDOP*)cUNOP->op_first)->op_false);
}
}
@@ -1286,7 +1286,7 @@ PP(pp_dbstate)
if (op->op_private || SvIV(DBsingle) || SvIV(DBsignal) || SvIV(DBtrace))
{
- SV **sp;
+ djSP;
register CV *cv;
register PERL_CONTEXT *cx;
I32 gimme = G_ARRAY;
@@ -1308,10 +1308,10 @@ PP(pp_dbstate)
SAVESTACK_POS();
debug = 0;
hasargs = 0;
- sp = stack_sp;
+ SPAGAIN;
push_return(op->op_next);
- PUSHBLOCK(cx, CXt_SUB, sp);
+ PUSHBLOCK(cx, CXt_SUB, SP);
PUSHSUB(cx);
CvDEPTH(cv)++;
(void)SvREFCNT_inc(cv);
@@ -1361,7 +1361,7 @@ PP(pp_enteriter)
cx->blk_loop.iterary = (AV*)SvREFCNT_inc(POPs);
else {
cx->blk_loop.iterary = curstack;
- AvFILLp(curstack) = sp - stack_base;
+ AvFILLp(curstack) = SP - stack_base;
cx->blk_loop.iterix = MARK - stack_base;
}
@@ -1751,15 +1751,15 @@ PP(pp_goto)
if (CvXSUB(cv)) {
if (CvOLDSTYLE(cv)) {
I32 (*fp3)_((int,int,int));
- while (sp > mark) {
- sp[1] = sp[0];
- sp--;
+ while (SP > mark) {
+ SP[1] = SP[0];
+ SP--;
}
fp3 = (I32(*)_((int,int,int)))CvXSUB(cv);
items = (*fp3)(CvXSUBANY(cv).any_i32,
mark - stack_base + 1,
items);
- sp = stack_base + items;
+ SP = stack_base + items;
}
else {
stack_sp--; /* There is no cv arg. */
@@ -1833,9 +1833,9 @@ PP(pp_goto)
items = AvFILLp(av) + 1;
if (items) {
/* Mark is at the end of the stack. */
- EXTEND(sp, items);
- Copy(AvARRAY(av), sp + 1, items, SV*);
- sp += items;
+ EXTEND(SP, items);
+ Copy(AvARRAY(av), SP + 1, items, SV*);
+ SP += items;
PUTBACK ;
}
}
@@ -2154,7 +2154,11 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
safestr = savepv(tmpbuf);
SAVEDELETE(defstash, safestr, strlen(safestr));
SAVEI32(hints);
+#ifdef OP_IN_REGISTER
+ opsave = op;
+#else
SAVEPPTR(op);
+#endif
hints = 0;
op = &dummy;
@@ -2171,6 +2175,9 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
lex_end();
*avp = (AV*)SvREFCNT_inc(comppad);
LEAVE;
+#ifdef OP_IN_REGISTER
+ op = opsave;
+#endif
return rop;
}
@@ -2329,7 +2336,7 @@ doeval(int gimme, OP** startop)
CV *cv = perl_get_cv("DB::postponed", FALSE);
if (cv) {
dSP;
- PUSHMARK(sp);
+ PUSHMARK(SP);
XPUSHs((SV*)compiling.cop_filegv);
PUTBACK;
perl_call_sv((SV*)cv, G_DISCARD);
@@ -2642,7 +2649,7 @@ PP(pp_leaveeval)
lex_end();
if (optype == OP_REQUIRE &&
- !(gimme == G_SCALAR ? SvTRUE(*sp) : sp > newsp))
+ !(gimme == G_SCALAR ? SvTRUE(*SP) : SP > newsp))
{
/* Unassume the success we assumed earlier. */
char *name = cx->blk_eval.old_name;
@@ -3567,9 +3574,10 @@ qsortsv(
if (j != i) {
/* Looks like we really need to move some things
*/
+ int k;
temp = array[i];
- for (--i; i >= j; --i)
- array[i + 1] = array[i];
+ for (k = i - 1; k >= j; --k)
+ array[k + 1] = array[k];
array[j] = temp;
}
}