Changeset 726 for branches/1.3/disassembler.c
- Timestamp:
- 2011-04-09T14:59:31+02:00 (2 years ago)
- Location:
- branches/1.3
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
disassembler.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.3
- Property svn:mergeinfo changed
/trunk merged: 709-720,722-723,725
- Property svn:mergeinfo changed
-
branches/1.3/disassembler.c
r622 r726 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; … … 16 23 int bufsize = 2; 17 24 char *buf; 18 int keysize;19 25 20 26 xc_compile_result_init_cur(&cr, op_array TSRMLS_CC); … … 33 39 ALLOC_INIT_ZVAL(list); 34 40 array_init(list); 35 xc_dasm_HashTable_zend_function(list, CG(function_table) TSRMLS_CC); 41 b = TG(internal_function_tail) ? TG(internal_function_tail)->pListNext : TG(function_table).pListHead; 42 for (; b; b = b->pListNext) { 43 ALLOC_INIT_ZVAL(zv); 44 array_init(zv); 45 xc_dasm_zend_function(zv, b->pData TSRMLS_CC); 46 47 add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), ZSTR(BUCKET_KEY_S(b)), b->nKeyLength, zv); 48 } 36 49 add_assoc_zval_ex(dst, ZEND_STRS("function_table"), list); 37 50 … … 39 52 ALLOC_INIT_ZVAL(list); 40 53 array_init(list); 41 for (b = CG(class_table)->pListHead; b; b = b->pListNext) { 54 b = TG(internal_class_tail) ? TG(internal_class_tail)->pListNext : TG(class_table).pListHead; 55 for (; b; b = b->pListNext) { 56 int keysize, keyLength; 57 42 58 ALLOC_INIT_ZVAL(zv); 43 59 array_init(zv); … … 53 69 memcpy(buf, BUCKET_KEY_S(b), keysize); 54 70 buf[keysize - 2] = buf[keysize - 1] = ""[0]; 55 key size= b->nKeyLength;71 keyLength = b->nKeyLength; 56 72 #ifdef IS_UNICODE 57 73 if (BUCKET_KEY_TYPE(b) == IS_UNICODE) { 58 74 if (buf[0] == ""[0] && buf[1] == ""[0]) { 59 key size++;75 keyLength ++; 60 76 } 61 77 } else … … 63 79 { 64 80 if (buf[0] == ""[0]) { 65 key size++;81 keyLength ++; 66 82 } 67 83 } 68 add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), ZSTR(buf), b->nKeyLength, zv);84 add_u_assoc_zval_ex(list, BUCKET_KEY_TYPE(b), ZSTR(buf), keyLength, zv); 69 85 } 70 86 efree(buf); … … 97 113 } 98 114 99 xc_dasm( dst, op_array TSRMLS_CC);115 xc_dasm(&sandbox, dst, op_array TSRMLS_CC); 100 116 101 117 /* free */ … … 142 158 } 143 159 144 xc_dasm( dst, op_array TSRMLS_CC);160 xc_dasm(&sandbox, dst, op_array TSRMLS_CC); 145 161 146 162 /* free */
Note: See TracChangeset
for help on using the changeset viewer.

