Lines Matching defs:opcode

30 #include "opcode.h"
134 int opcode = _Py_OPCODE(*next_instr);
135 const char *opname = _PyOpcode_OpName[opcode];
138 if (HAS_ARG(opcode)) {
1257 indirect jump instruction at the end of each opcode. Since the jump
1258 instruction is at a different address for each opcode, the CPU will make a
1260 predicting the second opcode of each opcode pair. These predictions have
1316 #define DISPATCH_GOTO() goto *opcode_targets[opcode]
1337 opcode |= cframe.use_tracing OR_DTRACE_LINE; \
1343 opcode = _Py_OPCODE(*next_instr); \
1345 opcode |= cframe.use_tracing OR_DTRACE_LINE; \
1370 opcode = _Py_OPCODE(word); \
1380 /* Get opcode and oparg from original instructions, not quickened form. */
1383 opcode = _PyOpcode_Deopt[opcode]; \
1395 next opcode. A successful prediction saves a trip through the eval-loop
1398 effect of making the two opcodes run as if they were a single new opcode
1401 If collecting opcode statistics, your choices are to either keep the
1403 had been combined or turn-off predictions so that the opcode frequency
1408 opcode.
1420 opcode = _Py_OPCODE(word) | cframe.use_tracing OR_DTRACE_LINE; \
1421 if (opcode == op) { \
1496 /* Shared opcode macros */
1648 // opcode is an 8-bit value to improve the code generated by MSVC
1650 uint8_t opcode; /* Current opcode */
1651 int oparg; /* Current opcode argument, if any */
1765 switch (opcode) {
3754 assert(opcode == POP_JUMP_FORWARD_IF_FALSE ||
3755 opcode == POP_JUMP_BACKWARD_IF_FALSE ||
3756 opcode == POP_JUMP_FORWARD_IF_TRUE ||
3757 opcode == POP_JUMP_BACKWARD_IF_TRUE);
3763 assert(opcode == POP_JUMP_BACKWARD_IF_TRUE ||
3764 opcode == POP_JUMP_BACKWARD_IF_FALSE);
3769 assert(opcode == POP_JUMP_FORWARD_IF_TRUE ||
3770 opcode == POP_JUMP_FORWARD_IF_FALSE);
3797 assert(opcode == POP_JUMP_FORWARD_IF_FALSE ||
3798 opcode == POP_JUMP_BACKWARD_IF_FALSE ||
3799 opcode == POP_JUMP_FORWARD_IF_TRUE ||
3800 opcode == POP_JUMP_BACKWARD_IF_TRUE);
3806 assert(opcode == POP_JUMP_BACKWARD_IF_TRUE ||
3807 opcode == POP_JUMP_BACKWARD_IF_FALSE);
3812 assert(opcode == POP_JUMP_FORWARD_IF_TRUE ||
3813 opcode == POP_JUMP_FORWARD_IF_FALSE);
3836 assert(opcode == POP_JUMP_FORWARD_IF_FALSE ||
3837 opcode == POP_JUMP_BACKWARD_IF_FALSE ||
3838 opcode == POP_JUMP_FORWARD_IF_TRUE ||
3839 opcode == POP_JUMP_BACKWARD_IF_TRUE);
3850 assert(opcode == POP_JUMP_BACKWARD_IF_TRUE ||
3851 opcode == POP_JUMP_BACKWARD_IF_FALSE);
3856 assert(opcode == POP_JUMP_FORWARD_IF_TRUE ||
3857 opcode == POP_JUMP_FORWARD_IF_FALSE);
5594 // quickened instructions, always deoptimize the next opcode:
5595 opcode = _PyOpcode_Deopt[_Py_OPCODE(*next_instr)];
5602 assert(opcode != RESUME);
5631 if (opcode == RESUME) {
5685 EXTRA_CASES // From opcode.h, a 'case' for each unused opcode
5687 /* Tell C compilers not to hold the opcode variable in the loop.
5689 opcode = _Py_OPCODE(*next_instr);
5690 fprintf(stderr, "XXX lineno: %d, opcode: %d\n",
5691 _PyInterpreterFrame_GetLine(frame), opcode);
5692 _PyErr_SetString(tstate, PyExc_SystemError, "unknown opcode");
5697 /* This should never be reached. Every opcode should end with DISPATCH()
5705 STAT_INC(opcode, miss);
5706 opcode = _PyOpcode_Deopt[opcode];
5707 STAT_INC(opcode, miss);
5712 int adaptive_opcode = _PyOpcode_Adaptive[opcode];
5715 STAT_INC(opcode, deopt);
6940 /* Always emit an opcode event if we're tracing all opcodes. */