cvs: ZendEngine2 / zend_execute.h zend_ptr_stack.h zend_types.h zend_vm_def.h zend_vm_execute.h
[email protected] ("Arnaud Le Blanc") Fri, 05 Jun 2009 11:21:16 -0000
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <cvslbarnaud1244200876@cvsserver> |
lbarnaud Fri Jun 5 11:21:16 2009 UTC
Modified files:
/ZendEngine2 zend_execute.h zend_ptr_stack.h zend_types.h
zend_vm_def.h zend_vm_execute.h
Log:
better fix for #48409 , #48428 , #48228
# (again, sorry)
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_execute.h?r1=1.120&r2=1.121&diff_format=u
Index: ZendEngine2/zend_execute.h
diff -u ZendEngine2/zend_execute.h:1.120 ZendEngine2/zend_execute.h:1.121
--- ZendEngine2/zend_execute.h:1.120 Thu Mar 19 18:32:45 2009
+++ ZendEngine2/zend_execute.h Fri Jun 5 11:21:16 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_execute.h,v 1.120 2009/03/19 18:32:45 mattwil Exp $ */
+/* $Id: zend_execute.h,v 1.121 2009/06/05 11:21:16 lbarnaud Exp $ */
#ifndef ZEND_EXECUTE_H
#define ZEND_EXECUTE_H
@@ -306,6 +306,27 @@
return (zval**)p - arg_count + requested_arg - 1;
}
+static inline void zend_arg_types_stack_2_pop(zend_ptr_stack *stack, zval **object, zend_function **fbc)
+{
+ void *a, *b;
+
+ zend_ptr_stack_2_pop(stack, &a, &b);
+
+ *object = a;
+ *fbc = b;
+}
+
+static inline void zend_arg_types_stack_3_pop(zend_ptr_stack *stack, zend_class_entry **called_scope, zval **object, zend_function **fbc)
+{
+ void *a, *b, *c;
+
+ zend_ptr_stack_3_pop(stack, &a, &b, &c);
+
+ *called_scope = a;
+ *object = b;
+ *fbc = c;
+}
+
void execute_new_code(TSRMLS_D);
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_ptr_stack.h?r1=1.30&r2=1.31&diff_format=u
Index: ZendEngine2/zend_ptr_stack.h
diff -u ZendEngine2/zend_ptr_stack.h:1.30 ZendEngine2/zend_ptr_stack.h:1.31
--- ZendEngine2/zend_ptr_stack.h:1.30 Mon Jun 1 15:07:27 2009
+++ ZendEngine2/zend_ptr_stack.h Fri Jun 5 11:21:16 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_ptr_stack.h,v 1.30 2009/06/01 15:07:27 lbarnaud Exp $ */
+/* $Id: zend_ptr_stack.h,v 1.31 2009/06/05 11:21:16 lbarnaud Exp $ */
#ifndef ZEND_PTR_STACK_H
#define ZEND_PTR_STACK_H
@@ -81,7 +81,7 @@
#undef ZEND_PTR_STACK_NUM_ARGS
}
-static inline void zend_ptr_stack_3_pop(zend_ptr_stack *stack, zend_alias *restrict a, zend_alias *restrict b, zend_alias *restrict c)
+static inline void zend_ptr_stack_3_pop(zend_ptr_stack *stack, void **a, void **b, void **c)
{
*a = *(--stack->top_element);
*b = *(--stack->top_element);
@@ -89,7 +89,7 @@
stack->top -= 3;
}
-static inline void zend_ptr_stack_2_pop(zend_ptr_stack *stack, zend_alias *restrict a, zend_alias *restrict b)
+static inline void zend_ptr_stack_2_pop(zend_ptr_stack *stack, void **a, void **b)
{
*a = *(--stack->top_element);
*b = *(--stack->top_element);
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_types.h?r1=1.15&r2=1.16&diff_format=u
Index: ZendEngine2/zend_types.h
diff -u ZendEngine2/zend_types.h:1.15 ZendEngine2/zend_types.h:1.16
--- ZendEngine2/zend_types.h:1.15 Mon Jun 1 15:07:27 2009
+++ ZendEngine2/zend_types.h Fri Jun 5 11:21:16 2009
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_types.h,v 1.15 2009/06/01 15:07:27 lbarnaud Exp $ */
+/* $Id: zend_types.h,v 1.16 2009/06/05 11:21:16 lbarnaud Exp $ */
#ifndef ZEND_TYPES_H
#define ZEND_TYPES_H
@@ -50,12 +50,6 @@
typedef unsigned long zend_uintptr_t;
#endif
-#if defined(__GNUC__) && ZEND_GCC_VERSION >= 3400
-typedef void* __attribute__((__may_alias__)) zend_alias;
-#else
-typedef void* zend_alias;
-#endif
-
typedef unsigned int zend_object_handle;
typedef struct _zend_object_handlers zend_object_handlers;
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_def.h?r1=1.267&r2=1.268&diff_format=u
Index: ZendEngine2/zend_vm_def.h
diff -u ZendEngine2/zend_vm_def.h:1.267 ZendEngine2/zend_vm_def.h:1.268
--- ZendEngine2/zend_vm_def.h:1.267 Thu Jun 4 18:18:46 2009
+++ ZendEngine2/zend_vm_def.h Fri Jun 5 11:21:16 2009
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_vm_def.h,v 1.267 2009/06/04 18:18:46 mattwil Exp $ */
+/* $Id: zend_vm_def.h,v 1.268 2009/06/05 11:21:16 lbarnaud Exp $ */
/* If you change this file, please regenerate the zend_vm_execute.h and
* zend_vm_opcodes.h files by running:
@@ -2362,7 +2362,7 @@
EG(called_scope) = EX(called_scope);
}
- zend_ptr_stack_3_pop(&EG(arg_types_stack), (zend_alias*)&EX(called_scope), (zend_alias*)&EX(current_object), (zend_alias*)&EX(fbc));
+ zend_arg_types_stack_3_pop(&EG(arg_types_stack), &EX(called_scope), &EX(current_object), &EX(fbc));
EX(function_state).arguments = zend_vm_stack_push_args(opline->extended_value TSRMLS_CC);
if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION) {
@@ -4480,7 +4480,7 @@
zval_ptr_dtor(&EX(object));
}
EX(called_scope) = DECODE_CTOR(EX(called_scope));
- zend_ptr_stack_2_pop(&EG(arg_types_stack), (zend_alias*)&EX(object), (zend_alias*)&EX(fbc));
+ zend_arg_types_stack_2_pop(&EG(arg_types_stack), &EX(object), &EX(fbc));
}
for (i=0; i<EX(op_array)->last_brk_cont; i++) {
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_vm_execute.h?r1=1.271&r2=1.272&diff_format=u
Index: ZendEngine2/zend_vm_execute.h
diff -u ZendEngine2/zend_vm_execute.h:1.271 ZendEngine2/zend_vm_execute.h:1.272
--- ZendEngine2/zend_vm_execute.h:1.271 Thu Jun 4 18:18:46 2009
+++ ZendEngine2/zend_vm_execute.h Fri Jun 5 11:21:16 2009
@@ -298,7 +298,7 @@
EG(called_scope) = EX(called_scope);
}
- zend_ptr_stack_3_pop(&EG(arg_types_stack), (zend_alias*)&EX(called_scope), (zend_alias*)&EX(current_object), (zend_alias*)&EX(fbc));
+ zend_arg_types_stack_3_pop(&EG(arg_types_stack), &EX(called_scope), &EX(current_object), &EX(fbc));
EX(function_state).arguments = zend_vm_stack_push_args(opline->extended_value TSRMLS_CC);
if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION) {
@@ -644,7 +644,7 @@
zval_ptr_dtor(&EX(object));
}
EX(called_scope) = DECODE_CTOR(EX(called_scope));
- zend_ptr_stack_2_pop(&EG(arg_types_stack), (zend_alias*)&EX(object), (zend_alias*)&EX(fbc));
+ zend_arg_types_stack_2_pop(&EG(arg_types_stack), &EX(object), &EX(fbc));
}
for (i=0; i<EX(op_array)->last_brk_cont; i++) {