Changeset 873
- Timestamp:
- 2012-03-31T19:15:06+02:00 (14 months ago)
- Location:
- trunk/processor
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/head.m4
r865 r873 90 90 zend_uint cache_class_index; 91 91 92 #ifndef NDEBUG93 92 const zend_op_array *active_op_array_src; 94 93 zend_op_array *active_op_array_dst; 95 #endif96 const zend_op *active_opcodes_src;97 zend_op *active_opcodes_dst;98 94 const zend_class_entry *active_class_entry_src; 99 95 zend_class_entry *active_class_entry_dst; -
trunk/processor/processor.m4
r866 r873 637 637 #endif 638 638 IFCOPY(` 639 assert(processor->active_op_array_src); 640 assert(processor->active_op_array_dst); 639 641 #ifdef ZEND_ENGINE_2_4 640 642 pushdef(`UNION_znode_op_literal', ` … … 653 655 #endif 654 656 case ZEND_JMP: 655 assert(Z_OP(src->op1).jmp_addr >= processor->active_op codes_src && Z_OP(src->op1).jmp_addr - processor->active_opcodes_src< processor->active_op_array_src->last);656 Z_OP(dst->op1).jmp_addr = processor->active_op codes_dst + (Z_OP(src->op1).jmp_addr - processor->active_opcodes_src);657 assert(Z_OP(dst->op1).jmp_addr >= processor->active_op codes_dst && Z_OP(dst->op1).jmp_addr - processor->active_opcodes_dst< processor->active_op_array_dst->last);657 assert(Z_OP(src->op1).jmp_addr >= processor->active_op_array_src->opcodes && Z_OP(src->op1).jmp_addr - processor->active_op_array_src->opcodes < processor->active_op_array_src->last); 658 Z_OP(dst->op1).jmp_addr = processor->active_op_array_dst->opcodes + (Z_OP(src->op1).jmp_addr - processor->active_op_array_src->opcodes); 659 assert(Z_OP(dst->op1).jmp_addr >= processor->active_op_array_dst->opcodes && Z_OP(dst->op1).jmp_addr - processor->active_op_array_dst->opcodes < processor->active_op_array_dst->last); 658 660 break; 659 661 … … 665 667 case ZEND_JMP_SET: 666 668 #endif 667 assert(Z_OP(src->op2).jmp_addr >= processor->active_op codes_src && Z_OP(src->op2).jmp_addr - processor->active_opcodes_src< processor->active_op_array_src->last);668 Z_OP(dst->op2).jmp_addr = processor->active_op codes_dst + (Z_OP(src->op2).jmp_addr - processor->active_opcodes_src);669 assert(Z_OP(dst->op2).jmp_addr >= processor->active_op codes_dst && Z_OP(dst->op2).jmp_addr - processor->active_opcodes_dst< processor->active_op_array_dst->last);669 assert(Z_OP(src->op2).jmp_addr >= processor->active_op_array_src->opcodes && Z_OP(src->op2).jmp_addr - processor->active_op_array_src->opcodes < processor->active_op_array_src->last); 670 Z_OP(dst->op2).jmp_addr = processor->active_op_array_dst->opcodes + (Z_OP(src->op2).jmp_addr - processor->active_op_array_src->opcodes); 671 assert(Z_OP(dst->op2).jmp_addr >= processor->active_op_array_dst->opcodes && Z_OP(dst->op2).jmp_addr - processor->active_op_array_dst->opcodes < processor->active_op_array_dst->last); 670 672 break; 671 673 … … 687 689 #endif 688 690 DEF_STRUCT_P_FUNC(`zend_op_array', , `dnl {{{ 691 IFCOPY(` 692 processor->active_op_array_dst = dst; 693 processor->active_op_array_src = src; 694 ') 695 { 689 696 IFRESTORE(` 690 697 const xc_op_array_info_t *op_array_info = &processor->active_op_array_infos_src[processor->active_op_array_index++]; … … 820 827 821 828 #ifdef ZEND_ENGINE_2_4 822 dnl beforecopying opcodes829 dnl used when copying opcodes 823 830 STRUCT_ARRAY(last_literal, zend_literal, literals) 824 831 PROCESS(int, last_literal) 825 832 #endif 826 833 827 pushdef(`AFTER_ALLOC', `IFCOPY(` 828 #ifndef NDEBUG 829 processor->active_op_array_dst = dst; 830 processor->active_op_array_src = src; 831 #endif 832 processor->active_opcodes_dst = dst->opcodes; 833 processor->active_opcodes_src = src->opcodes; 834 ')') 834 dnl uses literals 835 835 STRUCT_ARRAY(last, zend_op, opcodes) 836 popdef(`AFTER_ALLOC')837 836 PROCESS(zend_uint, last) 838 837 #ifndef ZEND_ENGINE_2_4 … … 962 961 } 963 962 ') 963 } 964 IFCOPY(` 965 processor->active_op_array_dst = NULL; 966 processor->active_op_array_src = NULL; 967 ') 964 968 ') 965 969 dnl }}} -
trunk/processor/struct.m4
r843 r873 214 214 popdef(`ARRAY_ELEMENT_COUNT') 215 215 216 ifdef(`AFTER_ALLOC', AFTER_ALLOC)217 218 216 for (LOOPCOUNTER = 0; 219 217 ifelse(`$1', `', `SRC(`$3[LOOPCOUNTER]')', … … 233 231 else { 234 232 COPYNULL(`$3') 235 ifdef(`AFTER_ALLOC', AFTER_ALLOC) 236 } 237 ') 238 dnl }}} 233 } 234 ') 235 dnl }}}
Note: See TracChangeset
for help on using the changeset viewer.

