Changeset 351 for eaccelerator/trunk/optimize.c
- Timestamp:
- 06/20/08 11:20:22 (7 months ago)
- Files:
-
- eaccelerator/trunk/optimize.c (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
eaccelerator/trunk/optimize.c
r344 r351 179 179 { 180 180 BB* p = bb; 181 #ifdef ZEND_ENGINE_2_3 182 ALLOCA_FLAG(use_heap) 183 #endif 184 181 185 memset(global, 0, op_array->T * sizeof(char)); 182 186 if (p != NULL && p->next != NULL) { 183 187 int bb_count = 0; 184 char *def = do_alloca(op_array->T * sizeof(char)); 188 #ifdef ZEND_ENGINE_2_3 189 char *def = do_alloca(op_array->T * sizeof(char), use_heap); 190 #else 191 char *def = do_alloca(op_array->T * sizeof(char)); 192 #endif 185 193 #if 0 186 194 zend_printf("<hr>%s::%s<br>", op_array->filename, op_array->function_name); … … 225 233 bb_count++; 226 234 } 235 #ifdef ZEND_ENGINE_2_3 236 free_alloca(def, use_heap); 237 #else 227 238 free_alloca(def); 239 #endif 228 240 } 229 241 { 242 #ifdef ZEND_ENGINE_2_3 243 char *used = do_alloca(op_array->T * sizeof(char), use_heap); 244 #else 230 245 char *used = do_alloca(op_array->T * sizeof(char)); 246 #endif 231 247 p = bb; 232 248 while (p != NULL) { … … 333 349 p = p->next; 334 350 } 351 #ifdef ZEND_ENGINE_2_3 352 free_alloca(used, use_heap); 353 #else 335 354 free_alloca(used); 355 #endif 336 356 } 337 357 /* … … 1461 1481 } c; 1462 1482 int retval; 1483 #ifdef ZEND_ENGINE_2_3 1484 ALLOCA_FLAG(use_heap) 1485 char *lookup_name = do_alloca(name_len+1, use_heap); 1486 #else 1463 1487 char *lookup_name = do_alloca(name_len+1); 1488 #endif 1464 1489 memcpy(lookup_name, name, name_len); 1465 1490 lookup_name[name_len] = '\0'; … … 1482 1507 } 1483 1508 } 1509 #ifdef ZEND_ENGINE_2_3 1510 free_alloca(lookup_name, use_heap); 1511 #else 1484 1512 free_alloca(lookup_name); 1513 #endif 1485 1514 return retval; 1486 1515 } … … 1600 1629 HashTable fetch_dim; 1601 1630 1631 #ifdef ZEND_ENGINE_2_3 1632 ALLOCA_FLAG(use_heap) 1633 zend_op** Ts = do_alloca(sizeof(zend_op*)*op_array->T, use_heap); 1634 #else 1602 1635 zend_op** Ts = do_alloca(sizeof(zend_op*)*op_array->T); 1636 #endif 1603 1637 memset(Ts, 0, sizeof(zend_op*)*op_array->T); 1604 1638 … … 2607 2641 zend_hash_destroy(&fetch_dim); 2608 2642 zend_hash_destroy(&assigns); 2643 #ifdef ZEND_ENGINE_2_3 2644 free_alloca(Ts, use_heap); 2645 #else 2609 2646 free_alloca(Ts); 2647 #endif 2610 2648 } 2611 2649 … … 3060 3098 zend_uint i; 3061 3099 zend_uint n = 0; 3062 int* assigned = do_alloca(op_array->T * sizeof(int)); 3100 3101 #ifdef ZEND_ENGINE_2_3 3102 ALLOCA_FLAG(use_heap) 3103 int* assigned = do_alloca(op_array->T * sizeof(int), use_heap); 3104 char* reg_pool = do_alloca(op_array->T * sizeof(char), use_heap); 3105 char* used = do_alloca(op_array->T * sizeof(char), use_heap); 3106 #else 3107 int* assigned = do_alloca(op_array->T * sizeof(int)); 3063 3108 char* reg_pool = do_alloca(op_array->T * sizeof(char)); 3064 3109 char* used = do_alloca(op_array->T * sizeof(char)); 3110 #endif 3065 3111 3066 3112 for (i = 0; i < op_array->T; i++) { … … 3144 3190 } 3145 3191 op_array->T = n; 3192 #ifdef ZEND_ENGINE_2_3 3193 free_alloca(used, use_heap); 3194 free_alloca(reg_pool, use_heap); 3195 free_alloca(assigned, use_heap); 3196 #else 3146 3197 free_alloca(used); 3147 3198 free_alloca(reg_pool); 3148 3199 free_alloca(assigned); 3200 #endif 3149 3201 } 3150 3202 … … 3172 3224 BB* bb; 3173 3225 3226 #ifdef ZEND_ENGINE_2_3 3227 ALLOCA_FLAG(use_heap) 3228 #endif 3229 3174 3230 TSRMLS_FETCH(); 3175 3231 if (!EAG(compiler) || op_array->type != ZEND_USER_FUNCTION) { … … 3178 3234 3179 3235 /* Allocate memory for CFG */ 3180 if ((bb = do_alloca(sizeof(BB)*(op_array->last+1))) == NULL) return; 3236 #ifdef ZEND_ENGINE_2_3 3237 bb = do_alloca(sizeof(BB)*(op_array->last+1), use_heap); 3238 #else 3239 bb = do_alloca(sizeof(BB)*(op_array->last+1)); 3240 #endif 3241 if (bb == NULL) { 3242 return; 3243 } 3181 3244 memset(bb, 0, sizeof(BB)*(op_array->last+1)); 3182 3245 3183 3246 /* Find All Basic Blocks and build CFG */ 3184 3247 if (build_cfg(op_array, bb)) { 3248 #ifdef ZEND_ENGINE_2_3 3249 char *global = do_alloca(op_array->T * sizeof(char), use_heap); 3250 #else 3185 3251 char *global = do_alloca(op_array->T * sizeof(char)); 3252 #endif 3186 3253 if (global == NULL) return; 3187 3254 … … 3227 3294 /* dump_bb(bb, op_array); */ 3228 3295 3296 #ifdef ZEND_ENGINE_2_3 3297 free_alloca(global, use_heap); 3298 #else 3229 3299 free_alloca(global); 3300 #endif 3230 3301 } 3231 3302 else { … … 3240 3311 restore_operand_types(op_array); 3241 3312 } 3242 free_alloca(bb); 3313 #ifdef ZEND_ENGINE_2_3 3314 free_alloca(bb, use_heap); 3315 #else 3316 free_alloca(bb); 3317 #endif 3243 3318 } 3244 3319 #endif