Changeset 709 for trunk/disassembler.c
- Timestamp:
- 04/08/2011 06:08:37 AM (2 years ago)
- Files:
-
- 1 modified
-
trunk/disassembler.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/disassembler.c
r504 r709 6 6 #define return_value dst 7 7 8 /* sandbox {{{ */ 9 #undef TG 10 #undef OG 11 #define TG(x) (sandbox->tmp_##x) 12 #define OG(x) (sandbox->orig_##x) 13 /* }}} */ 14 8 15 #ifndef HAVE_XCACHE_OPCODE_SPEC_DEF 9 16 #error disassembler cannot be built without xcache/opcode_spec_def.h 10 17 #endif 11 static void xc_dasm( zval *dst, zend_op_array *op_array TSRMLS_DC) /* {{{ */18 static void xc_dasm(xc_sandbox_t *sandbox, zval *dst, zend_op_array *op_array TSRMLS_DC) /* {{{ */ 12 19 { 13 20 Bucket *b; … … 33 40 ALLOC_INIT_ZVAL(list); 34 41 array_init(list); 35 xc_dasm_HashTable_zend_function(list, CG(function_table) TSRMLS_CC); 42 b = TG(internal_function_tail) ? TG(internal_function_tail)->pListNext : TG(function_table).pListHead; 43 for (; b; b = b->pListNext) { 44 ALLOC_INIT_ZVAL(zv); 45 array_init(zv); 46 xc_dasm_zend_function(zv, b->pData TSRMLS_CC); 47 48 add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), b->arKey, b->nKeyLength, zv); 49 } 36 50 add_assoc_zval_ex(dst, ZEND_STRS("function_table"), list); 37 51 … … 39 53 ALLOC_INIT_ZVAL(list); 40 54 array_init(list); 41 for (b = CG(class_table)->pListHead; b; b = b->pListNext) { 55 b = TG(internal_class_tail) ? TG(internal_class_tail)->pListNext : TG(class_table).pListHead; 56 for (; b; b = b->pListNext) { 42 57 ALLOC_INIT_ZVAL(zv); 43 58 array_init(zv); … … 97 112 } 98 113 99 xc_dasm( dst, op_array TSRMLS_CC);114 xc_dasm(&sandbox, dst, op_array TSRMLS_CC); 100 115 101 116 /* free */ … … 142 157 } 143 158 144 xc_dasm( dst, op_array TSRMLS_CC);159 xc_dasm(&sandbox, dst, op_array TSRMLS_CC); 145 160 146 161 /* free */

