Changeset 779
- Timestamp:
- 2011-04-22T09:51:38+02:00 (2 years ago)
- Location:
- trunk/processor
- Files:
-
- 2 edited
-
head.m4 (modified) (1 diff)
-
processor.m4 (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/head.m4
r770 r779 73 73 zend_uint cache_class_index; 74 74 75 #ifndef NDEBUG 76 const zend_op_array *active_op_array_src; 77 zend_op_array *active_op_array_dst; 78 #endif 75 79 const zend_op *active_opcodes_src; 76 80 zend_op *active_opcodes_dst; -
trunk/processor/processor.m4
r771 r779 612 612 #endif 613 613 case ZEND_JMP: 614 assert(Z_OP(src->op1).jmp_addr > processor->active_opcodes_src && Z_OP(src->op1).jmp_addr - processor->active_opcodes_src < processor->active_op_array_src->last); 614 615 Z_OP(dst->op1).jmp_addr = processor->active_opcodes_dst + (Z_OP(src->op1).jmp_addr - processor->active_opcodes_src); 616 assert(Z_OP(dst->op1).jmp_addr > processor->active_opcodes_dst && Z_OP(dst->op1).jmp_addr - processor->active_opcodes_dst < processor->active_op_array_dst->last); 615 617 break; 616 618 … … 622 624 case ZEND_JMP_SET: 623 625 #endif 626 assert(Z_OP(src->op2).jmp_addr > processor->active_opcodes_src && Z_OP(src->op2).jmp_addr - processor->active_opcodes_src < processor->active_op_array_src->last); 624 627 Z_OP(dst->op2).jmp_addr = processor->active_opcodes_dst + (Z_OP(src->op2).jmp_addr - processor->active_opcodes_src); 628 assert(Z_OP(dst->op2).jmp_addr > processor->active_opcodes_dst && Z_OP(dst->op2).jmp_addr - processor->active_opcodes_dst < processor->active_op_array_dst->last); 625 629 break; 626 630 … … 668 672 #ifndef ZEND_ENGINE_2_4 669 673 if (op_array_info->oplineinfo_cnt) { 674 zend_op *opline, *end; 670 675 gc_opcodes = 1; 671 676 COPY_N_EX(last, zend_op, opcodes) 677 678 for (opline = dst->opcodes, end = opline + src->last; opline < end; ++opline) { 679 switch (opline->opcode) { 680 #ifdef ZEND_GOTO 681 case ZEND_GOTO: 682 #endif 683 case ZEND_JMP: 684 Z_OP(opline->op1).jmp_addr = dst->opcodes + (Z_OP(opline->op1).jmp_addr - src->opcodes); 685 break; 686 687 case ZEND_JMPZ: 688 case ZEND_JMPNZ: 689 case ZEND_JMPZ_EX: 690 case ZEND_JMPNZ_EX: 691 #ifdef ZEND_JMP_SET 692 case ZEND_JMP_SET: 693 #endif 694 Z_OP(opline->op2).jmp_addr = dst->opcodes + (Z_OP(opline->op2).jmp_addr - src->opcodes); 695 break; 696 697 default: 698 break; 699 } 700 } 672 701 } 673 702 #endif … … 743 772 744 773 pushdef(`AFTER_ALLOC', `IFCOPY(` 774 #ifndef NDEBUG 775 processor->active_op_array_dst = dst; 776 processor->active_op_array_src = src; 777 #endif 745 778 processor->active_opcodes_dst = dst->opcodes; 746 779 processor->active_opcodes_src = src->opcodes;
Note: See TracChangeset
for help on using the changeset viewer.

