summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-02-01 22:04:52 +0000
committerZeev Suraski <zeev@php.net>2000-02-01 22:04:52 +0000
commit485412ecb10429dbe987f2e9e01c126c18db54e0 (patch)
tree69f88577e4e8efcb420b453cce469f72f06eddae /Zend
parenta753430fb980a8fa156af9fad61a7daf1618b2ec (diff)
downloadphp-git-485412ecb10429dbe987f2e9e01c126c18db54e0.tar.gz
Improve dependencies
Diffstat (limited to 'Zend')
-rw-r--r--Zend/ZendTS.dsp4
-rw-r--r--Zend/zend_compile.h19
-rw-r--r--Zend/zend_execute.c1
-rw-r--r--Zend/zend_execute_API.c1
-rw-r--r--Zend/zend_execute_locks.h22
5 files changed, 28 insertions, 19 deletions
diff --git a/Zend/ZendTS.dsp b/Zend/ZendTS.dsp
index 9582f361e6..549f01e432 100644
--- a/Zend/ZendTS.dsp
+++ b/Zend/ZendTS.dsp
@@ -251,6 +251,10 @@ SOURCE=.\zend_execute.h
# End Source File
# Begin Source File
+SOURCE=.\zend_execute_locks.h
+# End Source File
+# Begin Source File
+
SOURCE=.\zend_extensions.h
# End Source File
# Begin Source File
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index 1fb22e3765..3f304892b0 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -580,25 +580,6 @@ int zendlex(znode *zendlval CLS_DC);
#define PZVAL_IS_REF(z) ((z)->is_ref)
-#define PZVAL_LOCK(z) ((z)->refcount++)
-#define PZVAL_UNLOCK(z) { ((z)->refcount--); \
- if (!(z)->refcount) { \
- (z)->refcount = 1; \
- (z)->is_ref = 0; \
- EG(garbage)[EG(garbage_ptr)++] = (z); \
- if (EG(garbage_ptr) == 4) { \
- zval_ptr_dtor(&EG(garbage)[0]); \
- zval_ptr_dtor(&EG(garbage)[1]); \
- EG(garbage)[0] = EG(garbage)[2]; \
- EG(garbage)[1] = EG(garbage)[3]; \
- EG(garbage_ptr) -= 2; \
- } \
- } \
- }
-
-#define SELECTIVE_PZVAL_LOCK(pzv, pzn) if (!((pzn)->u.EA.type & EXT_TYPE_UNUSED)) { PZVAL_LOCK(pzv); }
-
-
/* Lost In Stupid Parentheses */
#define ARG_SHOULD_BE_SENT_BY_REF(offset, conduct_check, arg_types) \
( \
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 24bbe10e8e..2407e4768f 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -31,6 +31,7 @@
#include "zend_constants.h"
#include "zend_extensions.h"
#include "zend_fast_cache.h"
+#include "zend_execute_locks.h"
#if defined(HAVE_ALLOCA) && defined(HAVE_ALLOCA_H)
# include <alloca.h>
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 52f0e17f18..ba97c18410 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -30,6 +30,7 @@
#include "zend_operators.h"
#include "zend_constants.h"
#include "zend_extensions.h"
+#include "zend_execute_locks.h"
ZEND_API void (*zend_execute)(zend_op_array *op_array ELS_DC);
diff --git a/Zend/zend_execute_locks.h b/Zend/zend_execute_locks.h
new file mode 100644
index 0000000000..b24ec642e9
--- /dev/null
+++ b/Zend/zend_execute_locks.h
@@ -0,0 +1,22 @@
+#ifndef _ZEND_EXECUTE_LOCKS_H
+#define _ZEND_EXECUTE_LOCKS_H
+
+#define PZVAL_LOCK(z) ((z)->refcount++)
+#define PZVAL_UNLOCK(z) { ((z)->refcount--); \
+ if (!(z)->refcount) { \
+ (z)->refcount = 1; \
+ (z)->is_ref = 0; \
+ EG(garbage)[EG(garbage_ptr)++] = (z); \
+ if (EG(garbage_ptr) == 4) { \
+ zval_ptr_dtor(&EG(garbage)[0]); \
+ zval_ptr_dtor(&EG(garbage)[1]); \
+ EG(garbage)[0] = EG(garbage)[2]; \
+ EG(garbage)[1] = EG(garbage)[3]; \
+ EG(garbage_ptr) -= 2; \
+ } \
+ } \
+ }
+
+#define SELECTIVE_PZVAL_LOCK(pzv, pzn) if (!((pzn)->u.EA.type & EXT_TYPE_UNUSED)) { PZVAL_LOCK(pzv); }
+
+#endif /* _ZEND_EXECUTE_LOCKS_H */