components/php-5_2/APC/patches/05-apc_reserved_offset.patch
author Nobutomo Nakano <nobutomo.nakano@oracle.com>
Mon, 08 Oct 2012 19:44:45 -0700
branchs11u1-sru
changeset 2370 c539542fe61d
parent 461 edabdd6aff23
permissions -rw-r--r--
7198440 update zoneinfo timezones to 2012f (Fiji)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
461
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     1
diff -u -r ./apc_compile.c.ORIG ./apc_compile.c
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     2
--- apc_compile.c.ORIG	Wed May 14 23:45:27 2008
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     3
+++ ./apc_compile.c	Fri Nov 13 09:39:41 2009
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     4
@@ -1236,10 +1236,10 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     5
     }
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     6
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     7
 #ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     8
-    if(APCG(reserved_offset) != -1) {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
     9
+    if(apc_reserved_offset != -1) {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    10
         /* Insanity alert: the void* pointer is cast into an apc_opflags_t 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    11
          * struct. apc_zend_init() checks to ensure that it fits in a void* */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    12
-        flags = (apc_opflags_t*) & (dst->reserved[APCG(reserved_offset)]);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    13
+        flags = (apc_opflags_t*) & (dst->reserved[apc_reserved_offset]);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    14
         memset(flags, 0, sizeof(apc_opflags_t));
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    15
         /* assert(sizeof(apc_opflags_t) < sizeof(dst->reserved)); */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    16
     }
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    17
@@ -2040,8 +2040,8 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    18
     zend_op *zo;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    19
     zend_op *dzo;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    20
 #ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    21
-    apc_opflags_t * flags = APCG(reserved_offset) != -1 ? 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    22
-                                (apc_opflags_t*) & (src->reserved[APCG(reserved_offset)]) : NULL;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    23
+    apc_opflags_t * flags = apc_reserved_offset != -1 ? 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    24
+                                (apc_opflags_t*) & (src->reserved[apc_reserved_offset]) : NULL;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    25
     int needcopy = flags ? flags->deep_copy : 1;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    26
     /* auto_globals_jit was not in php4 */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    27
     int do_prepare_fetch_global = PG(auto_globals_jit) && (flags == NULL || flags->unknown_global);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    28
diff -u -r ./apc_globals.h.ORIG ./apc_globals.h
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    29
--- ./apc_globals.h.ORIG	Wed May 14 23:45:27 2008
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    30
+++ ./apc_globals.h	Fri Nov 13 09:40:40 2009
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    31
@@ -79,9 +79,6 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    32
     double rfc1867_freq;         /* Update frequency as percentage or bytes */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    33
 #endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    34
     HashTable *copied_zvals;     /* my_copy recursion detection list */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    35
-#ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    36
-    int reserved_offset;         /* offset for apc info in op_array->reserved[] */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    37
-#endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    38
     zend_bool force_file_update; /* force files to be updated during apc_compile_file */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    39
     char canon_path[MAXPATHLEN]; /* canonical path for key data */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    40
 #if APC_FILEHITS
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    41
@@ -103,6 +100,9 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    42
 extern apc_cache_t* apc_cache;       /* the global compiler cache */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    43
 extern apc_cache_t* apc_user_cache;  /* the global user content cache */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    44
 extern void* apc_compiled_filters;   /* compiled filters */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    45
+#ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    46
+int apc_reserved_offset;         /* offset for apc info in op_array->reserved[] */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    47
+#endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    48
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    49
 #endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    50
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    51
diff -u -r ./apc_zend.c.ORIG ./apc_zend.c
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    52
--- ./apc_zend.c.ORIG	Wed May 14 23:45:27 2008
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    53
+++ ./apc_zend.c	Fri Nov 13 09:39:41 2009
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    54
@@ -195,9 +195,9 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    55
 		zval_dtor(&tmp_inc_filename);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    56
 	}
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    57
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    58
-	if(APCG(reserved_offset) != -1) {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    59
+	if(apc_reserved_offset != -1) {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    60
 		/* Insanity alert: look into apc_compile.c for why a void** is cast to a apc_opflags_t* */
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    61
-		flags = (apc_opflags_t*) & (execute_data->op_array->reserved[APCG(reserved_offset)]);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    62
+		flags = (apc_opflags_t*) & (execute_data->op_array->reserved[apc_reserved_offset]);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    63
 	}
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    64
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    65
 #ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    66
@@ -223,9 +223,9 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    67
 {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    68
     zend_extension dummy_ext;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    69
 #ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    70
-    APCG(reserved_offset) = zend_get_resource_handle(&dummy_ext); 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    71
-    assert(APCG(reserved_offset) == dummy_ext.resource_number);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    72
-    assert(APCG(reserved_offset) != -1);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    73
+    apc_reserved_offset = zend_get_resource_handle(&dummy_ext); 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    74
+    assert(apc_reserved_offset == dummy_ext.resource_number);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    75
+    assert(apc_reserved_offset != -1);
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    76
     assert(sizeof(apc_opflags_t) <= sizeof(void*));
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    77
 #endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    78
 	if (!APCG(include_once)) {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    79
diff -u -r ./php_apc.c.ORIG ./php_apc.c
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    80
--- ./php_apc.c.ORIG	Wed May 14 23:45:28 2008
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    81
+++ ./php_apc.c	Fri Nov 13 09:39:41 2009
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    82
@@ -72,6 +72,9 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    83
 apc_cache_t* apc_cache = NULL;       
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    84
 apc_cache_t* apc_user_cache = NULL;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    85
 void* apc_compiled_filters = NULL;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    86
+#ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    87
+int apc_reserved_offset = -1;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    88
+#endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    89
 
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    90
 static void php_apc_init_globals(zend_apc_globals* apc_globals TSRMLS_DC)
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    91
 {
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    92
@@ -90,9 +93,6 @@
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    93
     apc_globals->rfc1867 = 0;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    94
 #endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    95
     apc_globals->copied_zvals = NULL;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    96
-#ifdef ZEND_ENGINE_2
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    97
-    apc_globals->reserved_offset = -1;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    98
-#endif
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
    99
     apc_globals->force_file_update = 0;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   100
     apc_globals->coredump_unmap = 0;
edabdd6aff23 7072982 move php from sfw to userland consolidation
Craig Mohrman <craig.mohrman@oracle.com>
parents:
diff changeset
   101
 }