In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/39987fc8b0e8ebad4623529024d583219a7b856c?hp=2dba5d6056865b047ab6a58cf258c870472b3fe2>

- Log -----------------------------------------------------------------
commit 39987fc8b0e8ebad4623529024d583219a7b856c
Author: Reini Urban <rur...@x-ray.at>
Date:   Sun Jan 3 12:09:02 2010 +0000

    CC compiler updates for >=5.10
    
        PP_EVAL: nullify the string loop, analog to the old retstack.
                 pp_leaveeval sets: retop = cx->blk_eval.retop
        PP_ENTERTRY: See PERL_FLEXIBLE_EXCEPTIONS in cop.h
-----------------------------------------------------------------------

Summary of changes:
 cc_runtime.h |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/cc_runtime.h b/cc_runtime.h
index b384fd2..90826df 100644
--- a/cc_runtime.h
+++ b/cc_runtime.h
@@ -54,6 +54,7 @@
        switch (ret) {                          \
        case 0:                                 \
            PL_op = ppaddr(aTHX);               \
+            cxstack[cxstack_ix].blk_eval.retop = Nullop; \
            if (PL_op != nxt) CALLRUNOPS(aTHX); \
            JMPENV_POP;                         \
            break;                              \
@@ -68,16 +69,17 @@
        SPAGAIN;                                \
     } while (0)
 
-
-#define PP_ENTERTRY(jmpbuf,label)  \
+#define PP_ENTERTRY(label)             \
        STMT_START {                    \
-               int ret;                \
-               JMPENV_PUSH_ENV(jmpbuf,ret);                    \
-               switch (ret) {                          \
-                       case 1: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(1);\
-                       case 2: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(2);\
-                       case 3: JMPENV_POP_ENV(jmpbuf); SPAGAIN; goto label;\
-               }                                       \
+           dJMPENV;                    \
+           int ret;                    \
+           JMPENV_PUSH(ret);           \
+           switch (ret) {              \
+               case 1: JMPENV_POP; JMPENV_JUMP(1);\
+               case 2: JMPENV_POP; JMPENV_JUMP(2);\
+               case 3: JMPENV_POP; SPAGAIN; goto label;\
+           }                                      \
        } STMT_END
+
 #define PP_LEAVETRY \
        STMT_START{ PL_top_env=PL_top_env->je_prev; }STMT_END

--
Perl5 Master Repository

Reply via email to