DEBUG_l({ \
int i = 0; JMPENV *p = PL_top_env; \
while (p) { i++; p = p->je_prev; } \
- Perl_deb(aTHX_ "push JUMPLEVEL %d (now %p, was %p) at %s:%d\n",\
- i, (void*)&cur_env, (void*)PL_top_env, \
- __FILE__, __LINE__);}) \
+ Perl_deb(aTHX_ "JUMPENV_PUSH level=%d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
cur_env.je_prev = PL_top_env; \
OP_REG_TO_MEM; \
cur_env.je_ret = PerlProc_setjmp(cur_env.je_buf, SCOPE_SAVES_SIGNAL_MASK); \
DEBUG_l({ \
int i = -1; JMPENV *p = PL_top_env; \
while (p) { i++; p = p->je_prev; } \
- Perl_deb(aTHX_ "pop JUMPLEVEL %d (now %p, was %p) at %s:%d\n",\
- i, (void*)cur_env.je_prev, (void*)PL_top_env, \
- __FILE__, __LINE__);}) \
+ Perl_deb(aTHX_ "JUMPENV_POP level=%d at %s:%d\n", \
+ i, __FILE__, __LINE__);}) \
assert(PL_top_env == &cur_env); \
PL_top_env = cur_env.je_prev; \
} STMT_END
DEBUG_l({ \
int i = -1; JMPENV *p = PL_top_env; \
while (p) { i++; p = p->je_prev; } \
- Perl_deb(aTHX_ "JUMP JUMPLEVEL %d (%p) at %s:%d\n", \
- i, (void*)PL_top_env, \
- __FILE__, __LINE__);}) \
+ Perl_deb(aTHX_ "JUMPENV_JUMP(%d) level=%d at %s:%d\n", \
+ (int)v, i, __FILE__, __LINE__);}) \
OP_REG_TO_MEM; \
if (PL_top_env->je_prev) \
PerlProc_longjmp(PL_top_env->je_buf, (v)); \
#define blk_givwhen cx_u.cx_blk.blk_u.blku_givwhen
#define DEBUG_CX(action) \
- DEBUG_l(WITH_THX( \
+ DEBUG_l( \
Perl_deb(aTHX_ "CX %ld %s %s (scope %ld,%ld) at %s:%d\n", \
(long)cxstack_ix, \
action, \
PL_block_type[CxTYPE(&cxstack[cxstack_ix])], \
(long)PL_scopestack_ix, \
(long)(cxstack[cxstack_ix].blk_oldscopesp), \
- __FILE__, __LINE__)));
+ __FILE__, __LINE__));
/* Enter a block. */
#define PUSHBLOCK(cx,t,sp) CXINC, cx = &cxstack[cxstack_ix], \
hash actions codes defined in hv.h */
#define G_EVAL 8 /* Assume eval {} around subroutine call. */
#define G_NOARGS 16 /* Don't construct a @_ array. */
-#define G_KEEPERR 32 /* Append errors to $@, don't overwrite it */
+#define G_KEEPERR 32 /* Warn for errors, don't overwrite $@ */
#define G_NODEBUG 64 /* Disable debugging at toplevel. */
#define G_METHOD 128 /* Calling method. */
#define G_FAKINGEVAL 256 /* Faking an eval context for call_sv or
fold_constants. */
+#define G_UNDEF_FILL 512 /* Fill the stack with &PL_sv_undef
+ A special case for UNSHIFT in
+ Perl_magic_methcall(). */
/* flag bits for PL_in_eval */
#define EVAL_NULL 0 /* not in an eval */