View | Details | Raw Unified | Return to bug 40278
Collapse All | Expand All

(-)a/Python/ceval.c (+50 lines)
Lines 1046-1054 _PyEval_EvalFrameDefault(PyThreadState *tstate, PyFrameObject *f, int throwflag) Link Here
1046
1046
1047
#else
1047
#else
1048
#define TARGET(op) op
1048
#define TARGET(op) op
1049
#ifdef __e2k__
1050
#ifdef LLTRACE
1051
#define NO_LLTRACE !lltrace &&
1052
#else
1053
#define NO_LLTRACE 1
1054
#endif
1055
1056
#define FAST_DISPATCH() \
1057
    { \
1058
        if (NO_LLTRACE && !_Py_TracingPossible(ceval2) && !PyDTrace_LINE_ENABLED()) { \
1059
            f->f_lasti = INSTR_OFFSET(); \
1060
            NEXTOPARG(); \
1061
            goto switch_loop; \
1062
        } \
1063
        goto fast_next_opcode; \
1064
    }
1065
1066
#define DISPATCH() \
1067
    { \
1068
        if (!_Py_atomic_load_relaxed(eval_breaker)) { \
1069
            FAST_DISPATCH(); \
1070
        } \
1071
        continue; \
1072
    }
1073
1074
#else
1049
#define FAST_DISPATCH() goto fast_next_opcode
1075
#define FAST_DISPATCH() goto fast_next_opcode
1050
#define DISPATCH() continue
1076
#define DISPATCH() continue
1051
#endif
1077
#endif
1078
#endif
1052
1079
1053
1080
1054
/* Tuple access macros */
1081
/* Tuple access macros */
Lines 1461-1466 main_loop: Link Here
1461
        }
1488
        }
1462
#endif
1489
#endif
1463
1490
1491
#ifdef __e2k__
1492
switch_loop:
1493
#endif
1464
        switch (opcode) {
1494
        switch (opcode) {
1465
1495
1466
        /* BEWARE!
1496
        /* BEWARE!
Lines 3712-3717 main_loop: Link Here
3712
        _unknown_opcode:
3742
        _unknown_opcode:
3713
#endif
3743
#endif
3714
        default:
3744
        default:
3745
#ifdef __e2k__
3746
            Py_UNREACHABLE();
3747
        /* $ awk '/unknown_opcode/{print "X(" NR-2 ")"}' opcode_targets.h */
3748
#define X(i) case i:
3749
        X(0) X(7) X(8) X(13) X(14) X(18) X(21) X(30) X(31) X(32) X(33) X(34)
3750
        X(35) X(36) X(37) X(38) X(39) X(40) X(41) X(42) X(43) X(44) X(45) X(46)
3751
        X(47) X(53) X(58) X(80) X(81) X(88) X(99) X(119) X(120) X(123) X(127)
3752
        X(128) X(129) X(134) X(139) X(140) X(149) X(150) X(151) X(152) X(153)
3753
        X(158) X(159) X(166) X(167) X(168) X(169) X(170) X(171) X(172) X(173)
3754
        X(174) X(175) X(176) X(177) X(178) X(179) X(180) X(181) X(182) X(183)
3755
        X(184) X(185) X(186) X(187) X(188) X(189) X(190) X(191) X(192) X(193)
3756
        X(194) X(195) X(196) X(197) X(198) X(199) X(200) X(201) X(202) X(203)
3757
        X(204) X(205) X(206) X(207) X(208) X(209) X(210) X(211) X(212) X(213)
3758
        X(214) X(215) X(216) X(217) X(218) X(219) X(220) X(221) X(222) X(223)
3759
        X(224) X(225) X(226) X(227) X(228) X(229) X(230) X(231) X(232) X(233)
3760
        X(234) X(235) X(236) X(237) X(238) X(239) X(240) X(241) X(242) X(243)
3761
        X(244) X(245) X(246) X(247) X(248) X(249) X(250) X(251) X(252) X(253)
3762
        X(254) X(255)
3763
#undef X
3764
#endif
3715
            fprintf(stderr,
3765
            fprintf(stderr,
3716
                "XXX lineno: %d, opcode: %d\n",
3766
                "XXX lineno: %d, opcode: %d\n",
3717
                PyFrame_GetLineNumber(f),
3767
                PyFrame_GetLineNumber(f),

Return to bug 40278