Andi Gutmans
6116145f9f
- Change E_ERROR -> E_COMPILE_ERROR where needed.
2002-06-29 08:42:17 +00:00
Andi Gutmans
dd8df52223
- Fix for bug #17882 . We complain if the same method is declared twice.
2002-06-29 08:38:24 +00:00
Andi Gutmans
6339bd5912
- Fix bug 15037
...
- Bump version to alpha2-dev
2002-06-29 07:35:41 +00:00
7e5b2f2165
ChangeLog update
2002-06-29 00:30:30 +00:00
Andi Gutmans
1f6cadcd28
- WS fix
2002-06-28 15:30:03 +00:00
5bb94cb3a2
ChangeLog update
2002-06-27 00:22:58 +00:00
Andi Gutmans
737de1bd0c
- Autoloading support based on patch from Ivan Ristic.
...
- Again I hope this feature ends up working well because if it doesn't we
- might need to nuke it. This only works for global scoped classes and it
- will never work for sub-classes so don't even ask!!!!!
- Just define an __autoload() function in the global scope and it will be
- called with the class name as the parameter if it doesn't manage to find
- the class.
2002-06-26 15:13:14 +00:00
Andi Gutmans
28247f572a
- Centralize global class fetch
2002-06-26 14:24:23 +00:00
Andi Gutmans
b55a20abf4
- Fix problem with scope's not changing correctly during method calls.
...
- Reapply a tiny optimization to the allocator so that in non-debug mode
- we clean memory without detecting leaks.
2002-06-26 11:07:35 +00:00
26d98b5b0a
ChangeLog update
2002-06-25 00:27:38 +00:00
Andi Gutmans
136b92e33a
- MFZE1 (Turn off fast cache until we make sure it performs well.)
2002-06-24 19:41:06 +00:00
Andi Gutmans
c6b39eb50d
- More fixes (warnings, bug fixes etc.)
2002-06-24 18:49:13 +00:00
Andi Gutmans
68663bf96b
- Revert patch which checks at run-time if you're allowed to assign
...
- certain values by reference.
- We still need to find a solution for cases when this shouldn't be allowed
- as it might cause leaks.
2002-06-24 17:58:22 +00:00
Andi Gutmans
8fd5e70e2d
- Fix crash bug and clean up a bit.
2002-06-24 17:47:46 +00:00
Sebastian Bergmann
1ae6ee5458
IMHO, ZTS should no longer be labeled experimental.
2002-06-24 16:10:33 +00:00
Andi Gutmans
95e0bb6a4b
- MFZE1
2002-06-24 13:45:21 +00:00
Andi Gutmans
2172abcb0a
- Don't use cache if we're using ZEND_MM
2002-06-24 13:41:26 +00:00
Andi Gutmans
3b8cd875ab
- Hardcode alignment to 8. We might need a configure check for this.
2002-06-24 13:21:49 +00:00
Andi Gutmans
15d7936601
- Improve memory manager to allocate small blocks quickly.
2002-06-24 12:39:08 +00:00
Andi Gutmans
1c20bf27da
- Don't keep allocated blocks in a linked list if we're in non-debug mode
...
- as now the memory manager takes care to nuke all leaking blocks.
2002-06-24 07:22:25 +00:00
Andi Gutmans
ba72dbf37a
- MFZE1
2002-06-24 07:11:12 +00:00
6a64ee774b
ChangeLog update
2002-06-24 00:24:35 +00:00
Andi Gutmans
9c148f0d84
- Fix problem with constructor not being inherited and called correctly.
2002-06-23 15:46:58 +00:00
Andi Gutmans
fd904b8e69
- Fix small bug
2002-06-23 10:49:21 +00:00
Andi Gutmans
41d85e4ec7
- Almost completely implement realloc(). It now resizes in place when
...
- possible.
2002-06-23 10:46:27 +00:00
1154cdccc7
ChangeLog update
2002-06-23 00:24:17 +00:00
Andi Gutmans
7f226a6b19
- Fix crash when zend_mm_shutdown is called more than once.
2002-06-22 16:09:15 +00:00
Andi Gutmans
e2f57d0fcc
- MFZE1
2002-06-22 14:37:49 +00:00
Andi Gutmans
b53569c9e8
- Nuke persist_alloc().
2002-06-22 13:52:07 +00:00
c7af8c422a
ChangeLog update
2002-06-20 00:27:26 +00:00
Andi Gutmans
9e3517161e
- This was also supposed to be part of the previous ZEND_MM commit :)
2002-06-19 16:53:49 +00:00
Andi Gutmans
ad9bed0edd
- Oops, this was supposed to be part of the previous #ifdef ZEND_MM change
2002-06-19 16:53:06 +00:00
Andi Gutmans
7e6fdcaa20
- Use #ifdef for ZEND_MM
2002-06-19 16:29:07 +00:00
Andi Gutmans
1432e49894
- Make sure MAX is defined
2002-06-19 16:13:39 +00:00
Andi Gutmans
70de1bd5bb
- Fix problem where you couldn't define constants with different cases but
...
- the same name.
2002-06-19 04:13:12 +00:00
c7f2fca5f5
ChangeLog update
2002-06-19 00:27:39 +00:00
Derick Rethans
d4acdd349f
- MFZE1
2002-06-18 17:36:33 +00:00
86edd3731a
ChangeLog update
2002-06-18 00:23:53 +00:00
Andi Gutmans
dbc195cdef
- Improve speed of alignment calculation
2002-06-17 19:31:14 +00:00
Andi Gutmans
1e4a2dc6a9
- Fix a bug and add code which frees actual allocated segments at the end
...
- of execution (this still doesn't work because some blocks remain
- referenced after the memory manager is killed.
2002-06-17 19:00:37 +00:00
Andi Gutmans
54ef650fe7
- Save space per-allocated block.
2002-06-17 18:24:08 +00:00
bea4f28474
ChangeLog update
2002-06-17 00:29:46 +00:00
Andi Gutmans
690c85b406
- Fix bug in class constants
...
- Start centralizing main class lookups. This will help implement
- __autload()
2002-06-16 18:25:05 +00:00
Andi Gutmans
24e59ba35b
- Remove debug code which doesn't work anymore and add headers.
2002-06-16 17:20:15 +00:00
Andi Gutmans
380c082e32
- Commit an initial version of a home made memory manager.
...
- It's just for seeing if this would be an advantage to PHP in MT
- environments. If this is to become production material there is still
- a long way to go.
2002-06-16 17:17:47 +00:00
b9637a0bc5
ChangeLog update
2002-06-16 00:28:21 +00:00
Andi Gutmans
e8fe69884f
- Fix copy&paste problem where we allocated according to an old structure
...
- decleration and not the new one.
2002-06-15 08:47:11 +00:00
b2c91950f6
ChangeLog update
2002-06-12 00:41:49 +00:00
Andi Gutmans
b4a76acfa4
- Don't show debug_backtrace() in the trace itself.
...
- This patch is a bit ugly because the whole code itself is pretty complex
- and hard to re-order.
2002-06-11 18:37:41 +00:00
Andi Gutmans
b2015c5610
- Fix problem with assigning functions by reference.
2002-06-11 17:33:53 +00:00
Sebastian Bergmann
1d6686c936
Add __delegate().
2002-06-11 08:06:02 +00:00
e51bd48d22
ChangeLog update
2002-06-11 00:36:16 +00:00
Harald Radi
ba364121f1
added TS_HASH macro
2002-06-10 21:14:48 +00:00
Stanislav Malyshev
3a419fa8dd
Fix leak
2002-06-10 09:15:02 +00:00
0258d9e2ee
ChangeLog update
2002-06-10 00:37:32 +00:00
Harald Radi
3738a6edd0
only check for an available class entry instead of
...
the std_object_handlers on some places
#some linuxtag work
2002-06-09 14:20:37 +00:00
f6c9059da5
ChangeLog update
2002-06-09 00:22:00 +00:00
Andi Gutmans
90f43c78b0
- This should improve performance on Windows
2002-06-08 13:01:05 +00:00
Andi Gutmans
1186d51c3a
- Add a loop unrolled version of the hash function and a bit of an
...
- explanation about our hash function (Ralf S. Engelschall)
2002-06-08 12:44:39 +00:00
ea16e37e9b
ChangeLog update
2002-06-07 00:31:30 +00:00
Sebastian Bergmann
b0d61f9bd3
Add RFC on delegation.
2002-06-06 21:13:39 +00:00
82bc088c57
ChangeLog update
2002-06-06 00:22:05 +00:00
Sebastian Bergmann
e449646b68
Remove unused local variable.
2002-06-05 18:17:19 +00:00
Andi Gutmans
2d6404d5b0
- Allow overloaded objects to receive the method name in its original
...
- case.
2002-06-05 17:34:56 +00:00
Derick Rethans
1db85d6651
- Fix memleak (patch by Stefan Sesser)
2002-06-05 09:56:28 +00:00
9bfc10a0fa
ChangeLog update
2002-06-05 00:24:06 +00:00
Derick Rethans
733ebde160
- Fix for bug #17462 (Patch by Edin Kadribasic)
2002-06-04 21:58:05 +00:00
99b8d68583
ChangeLog update
2002-06-01 00:33:31 +00:00
Andi Gutmans
00e25fd42a
- Add zend_objects_API.* to dsp
2002-05-31 15:34:36 +00:00
Andi Gutmans
006c46e920
- Fix build (one more coming up)
2002-05-31 15:34:12 +00:00
Andi Gutmans
478ed1cf82
- Fix build
2002-05-31 14:32:19 +00:00
Sebastian Bergmann
1020ecd5bb
Add zend_objects_API.c to project.
2002-05-31 14:24:57 +00:00
Stanislav Malyshev
f75f3cff82
Generalize object storage and reference bookkeeping
2002-05-31 12:09:19 +00:00
6d1a3716dd
ChangeLog update
2002-05-31 00:23:07 +00:00
Venkat Raghavan S
bc95839f19
NetWare changes
2002-05-30 08:52:21 +00:00
84439fe2dd
ChangeLog update
2002-05-27 00:23:53 +00:00
Andi Gutmans
459c6d0fd6
- Add empty zend_multibyte.c to allow build with 4.3.0-dev.
2002-05-26 19:17:49 +00:00
6e3b6d0cf8
ChangeLog update
2002-05-25 00:21:35 +00:00
Sebastian Bergmann
a014080299
Fugbix typo.
2002-05-24 08:46:32 +00:00
Andi Gutmans
f657df14be
- Add a bit of information.
2002-05-24 08:32:18 +00:00
00211c2e0c
ChangeLog update
2002-05-21 00:23:07 +00:00
Zeev Suraski
0450ab9462
MFZE1 (Expose more C++ APIs)
2002-05-20 07:17:30 +00:00
96ee1ce75d
ChangeLog update
2002-05-15 00:30:34 +00:00
Andi Gutmans
1fe8df14c6
- constructor_called is supposed to be destructor_called
2002-05-14 16:15:50 +00:00
3e1a68277d
ChangeLog update
2002-05-14 00:27:31 +00:00
Sterling Hughes
f796a26c80
MFZE1
2002-05-13 14:38:42 +00:00
Derick Rethans
4f77354ce0
- MFZE1
2002-05-13 08:41:55 +00:00
bd6a7fc58e
ChangeLog update
2002-05-13 00:20:08 +00:00
Zeev Suraski
2931bb640d
MFZE1
2002-05-12 15:59:29 +00:00
Sebastian Bergmann
9f47b2f193
Rephrase.
2002-05-12 08:35:37 +00:00
Sebastian Bergmann
3fa1fd866f
Beautify.
2002-05-12 08:33:18 +00:00
Sebastian Bergmann
92c71b5bb9
Start documenting the debug backtracing.
2002-05-12 08:16:14 +00:00
Sebastian Bergmann
571d93e16a
Whitespace fixes.
2002-05-12 08:15:45 +00:00
ca47c3d3b3
ChangeLog update
2002-05-12 00:23:15 +00:00
Zeev Suraski
4ec448e229
MFZE1
2002-05-11 12:36:32 +00:00
548d89d449
ChangeLog update
2002-05-11 00:21:06 +00:00
Andi Gutmans
dc0bc97969
- Nuke C++ comment
2002-05-10 09:43:00 +00:00
Andi Gutmans
b6219a0dbc
- Make debug_backtrace() return an array. Still not finished because I
...
might want to differentiate between method calls and static methods.
Example:
$bt = debug_backtrace();
foreach ($bt as $frame) {
if (isset($frame['class'])) {
print $frame['class'];
print "::";
}
print $frame['function'];
print " [";
print $frame['file'];
print ":";
print $frame['line'];
print "]\n";
}
2002-05-10 09:41:50 +00:00
9dece79266
ChangeLog update
2002-05-09 00:23:53 +00:00
Andi Gutmans
14a81f91e3
- Hopefully fix problems with debug_backtrace()
2002-05-08 18:43:19 +00:00
Derick Rethans
b43ba8dfe2
- MFZE1
2002-05-08 14:10:30 +00:00
5a33b8ea01
ChangeLog update
2002-05-08 00:31:28 +00:00
Andi Gutmans
b66c89c47a
- More debug backtrace work. It still doesn't work very well...
2002-05-07 18:42:13 +00:00
71eb0ed198
ChangeLog update
2002-05-03 00:24:03 +00:00
Andi Gutmans
7e5ec2d761
Initial support for built-in backtracing.
...
There are still a few problems such as includes and calling other functions
from internal functions which aren't seen (will have to think if and how to
fix this).
Also the main scripts filename isn't available. Need to think about that.
2002-05-02 17:20:48 +00:00
d6f87556b5
ChangeLog update
2002-05-01 00:49:54 +00:00
Stanislav Malyshev
7a067547cd
Make OBJCE return zend_class_entry*, also some cleanups
2002-04-30 09:56:48 +00:00
6ec7757764
ChangeLog update
2002-04-29 00:42:35 +00:00
Sebastian Bergmann
8463225b49
Revert.
2002-04-28 06:24:15 +00:00
a7e28a7a07
ChangeLog update
2002-04-28 00:34:30 +00:00
Sebastian Bergmann
90bad130a9
MFZE1: If the size-operands of memset are constants, the compiler can turn them into fast inline code. So, instead of using ecalloc, we use emalloc + memset in macro form now. emalloc will not return NULL, so the chosen macro form is safe. This is not true for malloc(3). An inline function accomodates our needs here. Suggested by: http://www.mail-archive.com/dev%40httpd.apache.org/msg02492.html (Sascha)
2002-04-27 15:23:46 +00:00
77b99c3ce2
ChangeLog update
2002-04-26 00:43:34 +00:00
Harald Radi
f62e63dae7
unbreak the win32 build
2002-04-25 08:59:36 +00:00
da643f3fea
ChangeLog update
2002-04-25 00:49:15 +00:00
Harald Radi
8bf59c8fd0
MFZE1 saschas 'Avoid exceeding buffer limits' patch
2002-04-24 15:46:40 +00:00
0cb2b488f7
ChangeLog update
2002-04-24 00:23:03 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
d16ea58e8b
ChangeLog update
2002-04-23 00:28:29 +00:00
Harald Radi
6ac6cb1040
added get_class_entry callback handler to the
...
object handlers structure
2002-04-22 14:22:27 +00:00
Sebastian Bergmann
79d71a17a5
MFZE1: Change default value of inline-opt to yes (Sascha).
2002-04-22 11:06:22 +00:00
Harald Radi
2afbbd2e4f
fixed linkage warning under win32
2002-04-22 09:33:25 +00:00
804aa39035
ChangeLog update
2002-04-21 00:18:00 +00:00
Zeev Suraski
579b9bff3d
MFZE1
2002-04-20 20:14:14 +00:00
62efcae45e
ChangeLog update
2002-04-20 00:19:10 +00:00
Sebastian Bergmann
bf5bb84277
MFZE1: make sure the resource-list is always consistent during shutdown (Thies).
2002-04-19 16:53:36 +00:00
Sebastian Bergmann
2697ce689d
MFZE1: Fix imbalance bug (Zeev).
2002-04-19 16:43:27 +00:00
fde8ae2074
ChangeLog update
2002-04-11 00:23:36 +00:00
foobar
3eafd2207c
MFZE1
2002-04-10 21:33:34 +00:00
foobar
60ccb411ba
MFZE1
2002-04-10 21:23:01 +00:00
091a06946d
ChangeLog update
2002-04-08 00:23:10 +00:00
Stanislav Malyshev
a68b448169
make compatible with current PHP
2002-04-07 17:12:38 +00:00
Stanislav Malyshev
3b6b13b08a
sync
2002-04-07 15:38:45 +00:00
ae336171bd
ChangeLog update
2002-03-30 01:19:21 +00:00
Derick Rethans
17116438da
- revert patch
2002-03-29 12:34:25 +00:00
e74c66bb14
ChangeLog update
2002-03-26 01:19:23 +00:00
Derick Rethans
7394b8fc6f
- MFZE1
2002-03-25 20:37:02 +00:00
a927404520
ChangeLog update
2002-03-24 01:18:49 +00:00
Andi Gutmans
3e3ae4f61c
- Fix build without ZTS. If someone has a nicer fix let me know.
2002-03-23 12:18:50 +00:00
2b87db1674
ChangeLog update
2002-03-22 01:20:21 +00:00
Andi Gutmans
e7100e22dc
- No idea how this slipped in. Fix delete $obj statement.
2002-03-21 04:20:03 +00:00
ba81ebf46c
ChangeLog update
2002-03-21 01:19:29 +00:00
Harald Radi
d5e64b2287
added thread safe hashtable which allows concurrent
...
reads but only exclusive writes
2002-03-20 21:26:46 +00:00
92adc9456a
ChangeLog update
2002-03-20 01:21:12 +00:00
Andi Gutmans
a990c4da3e
- Finish covering all parsed methods to check for validity in parser.
...
- Change zval's refcount to zend_uint (If it doesn't slow down the Engine
- too much it should probably stay this way). If anyone has time to test
- the difference in speed between zend_ushort & zend_uint in zend.h of
- the struct _zval_struct (one line change) I'd be glad to get some
- figures.
2002-03-19 19:09:53 +00:00
c7b7b5a9b1
ChangeLog update
2002-03-19 01:22:04 +00:00
Andi Gutmans
c5ad6ae1b8
- More fixes to check for member/function call legality.
2002-03-18 20:27:03 +00:00
67d75b177d
ChangeLog update
2002-03-18 01:21:55 +00:00
Andi Gutmans
46afe61d25
- Start putting error handling where method calls are being used in a
...
- context where only writable variables should be used.
2002-03-17 19:13:46 +00:00
801b8f4340
ChangeLog update
2002-03-16 01:19:01 +00:00
Andi Gutmans
c84a4ead95
- Pass TSRMLS to callbacks.
2002-03-15 16:26:17 +00:00
Andi Gutmans
db84afb206
- Scope fix. When calling an imported function the scope will change
...
- correctly to the scope of the functions class.
<?php
function Hello()
{
print "Wrong one\n";
}
class MyClass {
static $hello = "Hello, World\n";
function Hello()
{
print self::$hello;
}
function Trampoline()
{
Hello();
}
}
import function Trampoline from MyClass;
Trampoline();
?>
2002-03-15 15:28:06 +00:00
Andi Gutmans
0ce019f715
- Fix issues with $this when using it by itself without indirection such as
...
- $this->foo.
2002-03-15 15:09:46 +00:00
57505b6a13
ChangeLog update
2002-03-15 01:19:57 +00:00
Stanislav Malyshev
508c82ad2a
more cleanup
2002-03-14 17:13:02 +00:00
Stanislav Malyshev
929bdc6998
Update howto
2002-03-14 17:08:06 +00:00
Stanislav Malyshev
40becd37e5
fix for delete $this and unset $this
2002-03-14 16:00:48 +00:00
Stanislav Malyshev
3af5b15f30
Fix call_user_function
2002-03-14 12:18:01 +00:00
5aa7d604a4
ChangeLog update
2002-03-13 01:20:11 +00:00
Andi Gutmans
0ee65254ee
- Forgot to close comment.
2002-03-12 19:41:02 +00:00
Andi Gutmans
9760fdcb37
- Macro for duality between Engine 1 and 2
2002-03-12 19:36:24 +00:00
Andi Gutmans
fb6976e46d
- Another couple of indirection fixes.
...
- Make class_entry->refcount be part of the structure and not allocated.
2002-03-12 19:22:29 +00:00
Andi Gutmans
c8c629b3fc
- Fix bug introduced with latest class hash table change.
2002-03-12 18:53:27 +00:00
Stanislav Malyshev
b75ffba9bb
Fix standard object creation
2002-03-12 11:28:30 +00:00
Stanislav Malyshev
92dd5e611b
- make class tables contain class_entry *, not class_entry
...
- fix isset($this)
2002-03-12 10:08:47 +00:00
aef0ea1beb
ChangeLog update
2002-03-11 01:20:33 +00:00
Andi Gutmans
d77ff9607e
- Fix build in ZTS mode.
2002-03-10 21:02:00 +00:00
Stanislav Malyshev
04ed2b520f
New stuff for objects API:
...
- Better assignment handling
- More flexible operations with zval-containing objects
2002-03-10 13:42:37 +00:00
61eb6fb4b6
ChangeLog update
2002-03-10 01:19:17 +00:00
Andi Gutmans
1229705743
- Add the original example script to the CVS so that it's always available.
2002-03-09 16:25:51 +00:00
aae9a035c5
ChangeLog update
2002-03-09 01:19:56 +00:00
Sebastian Bergmann
2f010abe51
Add 'import const' example.
2002-03-08 11:36:56 +00:00
Andi Gutmans
90f6005f58
- Support importing constants. e.g.:
...
<?php
class MyOuterClass {
const Hello = "Hello, World\n";
}
import const Hello from MyOuterClass;
print Hello;
2002-03-08 10:58:24 +00:00
2139ba0922
ChangeLog update
2002-03-08 01:20:50 +00:00
Sebastian Bergmann
0e17eea049
Add another 'import' example and merge 'import' section into 'Namespaces' section.
2002-03-07 10:31:51 +00:00
01d0e7ec15
ChangeLog update
2002-03-07 01:21:51 +00:00
Andi Gutmans
83f102fd9f
- Add function * and class * functionality. Only constants are left.
...
<?php
class MyOuterClass {
class MyInnerClass {
function func1()
{
print "func1()\n";
}
function func2()
{
print "func2()\n";
}
}
}
import class * from MyOuterClass;
import function func2 from MyOuterClass::MyInnerClass;
MyInnerClass::func1();
func2();
2002-03-06 17:08:26 +00:00
a97fc9703c
ChangeLog update
2002-03-03 01:20:44 +00:00
Sebastian Bergmann
3930d70fba
Consistency.
2002-03-02 22:26:17 +00:00
Sebastian Bergmann
3b7435fc51
Add 'import statement' section.
2002-03-02 22:24:46 +00:00
Andi Gutmans
b90d80b588
- Initial patch to support importing from class scopes (for Stig).
...
- It isn't complete yet but I want to work on it from another machine. It
- shouldn't break anything else so just don't try and use it.
- The following is a teaser of something that already works:
<?php
class MyClass
{
function hello()
{
print "Hello, World\n";
}
class MyClass2
{
function hello()
{
print "Hello, World in MyClass2\n";
}
}
}
import function hello, class MyClass2 from MyClass;
MyClass2::hello();
hello();
?>
2002-03-02 20:38:52 +00:00
Derick Rethans
1f9464e345
- MFZE1
2002-03-02 13:48:13 +00:00
Derick Rethans
0c6be86747
- MFZE1
2002-03-02 13:26:37 +00:00
8ff2ad53f2
ChangeLog update
2002-03-02 01:20:39 +00:00
Andrei Zmievski
a8609b1ba7
MFZE1
2002-03-01 17:34:52 +00:00
Andrei Zmievski
2310414868
MFZE1
2002-03-01 17:26:31 +00:00
Andi Gutmans
90bd4539c7
- Remove use of C++ reserved words namespace/this
2002-03-01 14:27:26 +00:00
Andi Gutmans
d1eea3de9c
- Fix bug in nested try/catch's
...
- Infrastructure for implementing imports of methods.
2002-03-01 14:04:51 +00:00
Andi Gutmans
2505f6b400
- Fix crash reported by Sebastian when destructor function causes a fatal
...
- error. I hope this does it and we don't find any other problems.
2002-03-01 10:26:10 +00:00
71139b307d
ChangeLog update
2002-02-27 01:33:13 +00:00
Andi Gutmans
7df1601239
- MFZE1
2002-02-26 19:17:26 +00:00
8ca013f2ae
ChangeLog update
2002-02-22 01:29:52 +00:00
Sebastian Bergmann
6a59c7fcd3
Maintain ZEND_CHANGES to account for the addition of private member variables.
2002-02-21 13:10:31 +00:00
Andi Gutmans
00e90f2ff3
- Experimental support for private members.
...
<?
class MyClass {
private $Hello = "Hello, World!\n";
function printHello()
{
print $this->Hello;
}
}
class MyClass2 extends MyClass {
function printHello()
{
MyClass::printHello(); /* Should print */
print $this->Hello; /* Shouldn't print out anything */
}
}
$obj = new MyClass();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello(); /* Should print */
$obj = new MyClass2();
print $obj->Hello; /* Shouldn't print out anything */
$obj->printHello();
?>
2002-02-21 11:50:44 +00:00
37a929e5dd
ChangeLog update
2002-02-15 01:22:47 +00:00
Stanislav Malyshev
cefbdccb98
Pass TSRM to create_object
2002-02-14 09:20:51 +00:00
Andrei Zmievski
68a82f14a2
Fix the bug where the declared properties without init values were not
...
entered into the table.
2002-02-14 04:01:53 +00:00
6578efea09
ChangeLog update
2002-02-14 01:20:35 +00:00
Andi Gutmans
21b04ff2a6
@ Allow a series of consecutive catch() statements (Andi, Zend Engine)
...
<?php
class MyException1 {
}
class MyException2 {
}
try {
throw new MyException2();
} catch (MyException1 $m) {
print "Caught MyException1";
} catch (MyException2 $m) {
print "Caught MyException2";
}
2002-02-13 19:26:07 +00:00
3b01fd8973
Adding automagically updated ChangeLog.
2002-02-12 17:28:41 +00:00
Sebastian Bergmann
1fd542fd38
Export lex_scan(). Both the PHPDoc and tokenizer extension need this. I hope this is okay with Z&A.
2002-02-10 12:54:02 +00:00
Andi Gutmans
b04238698f
- Remove object debug messages.
2002-02-08 00:22:37 +00:00
Stanislav Malyshev
6608f07322
Mega-commit: Enter the new object model
...
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.
2002-02-07 14:08:43 +00:00
Andi Gutmans
8535164f21
- This small patch should also take care of allowing unseting of $this->foo
...
- and static members. The unset() opcode was luckily already suitable for
- object overloading.
2002-02-04 20:44:24 +00:00
Andi Gutmans
e366f5dbd8
- Fix problem with the objects_destructor called during shutdown. It was
...
- freeing objects from id 0 instead of id 1. id 0 is not used.
- Change isset/empty opcodes to support static members and the new way of
- doing $this->foobar. Also the opcodes operate now on the hash table
- combined with the variable names so that they can be overloaded by the
- soon to be added overloading patch.
2002-02-04 19:29:56 +00:00
Adam Dickmeiss
4935636521
Zend config sets ZEND_EXTRA_LIBS. Bugs 14452, 14602, 14616, 14824
2002-02-03 20:42:10 +00:00
Sebastian Bergmann
cb2124be7c
Revert per Andi's request. Sorry :-(
2002-02-02 19:55:21 +00:00
Sebastian Bergmann
fd884e2bea
Fix warning. Again :-)
2002-02-02 19:47:24 +00:00
Andi Gutmans
2c95fc2d55
- Please don't use strcmp() and friends in Zend but only the mem*
...
- functions. I didn't check this patch so please check that it works.
2002-02-02 19:35:18 +00:00
Sebastian Bergmann
86469a0dfb
Fix a warning.
2002-02-02 19:18:25 +00:00
Andi Gutmans
180f91bac8
- Nice catch by Derick. GINIT is dead.
2002-02-02 16:56:17 +00:00
Sebastian Bergmann
031784c687
MFZE1: is_a()
2002-02-01 22:55:02 +00:00
Sebastian Bergmann
55cdbf3a6d
MFZE1: define a couple of macros under win32. (Patch By: Jon Parise <jon@php.net>)
2002-01-27 20:20:19 +00:00
Andi Gutmans
7309a6ed21
- First destructor hell fix. There was a situation where an object's
...
- destructor could be run after its class was already dead. Right now
- object destructors is the first thing whic happens during shutdown in
- order to prevent this problem. It's very likely that destructors will
- cause more grief and we'll have to outline exactly when you should use
- them and what kind of logic you're allowed to do inside of them.
- This bug was reported by sebastian.
2002-01-25 12:55:03 +00:00
Andi Gutmans
c2b73faade
- Fix a bug reported by Sebastian with indirect class names not working.
2002-01-22 18:02:52 +00:00
Andi Gutmans
2131b019c7
- Improve performance of functions that use $GLOBALS[]
...
- Please check this and make sure it doesn't break anything.
2002-01-20 20:42:15 +00:00
Thies C. Arntzen
a0ab80ab80
MFZE1
2002-01-19 10:35:51 +00:00
Andi Gutmans
65f01545a8
- Fix crash bug in call_user_function_ex(). Thanks to Sebastian for the
...
- very nice and short reproducing script.
<?php
$array = array('foo', 'bar');
uasort($array, 'cmp');
function cmp($a, $b)
{
return (strcmp($a[1], $b[1]));
}
?>
2002-01-14 16:55:23 +00:00
Sebastian Bergmann
7e1957044d
Update Exceptions example.
2002-01-14 12:14:18 +00:00
Andi Gutmans
f1e8815c26
- Change exception handling to use the Java-like catch(MyException $exception)
...
- semantics. Example:
<?php
class MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
class MyExceptionFoo extends MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
try {
throw new MyExceptionFoo("Hello");
} catch (MyException $exception) {
$exception->Display();
}
?>
2002-01-13 20:21:55 +00:00
Andi Gutmans
1f2f2571e4
- MFZE1
2002-01-13 17:51:18 +00:00
Andi Gutmans
b9355b9a11
- Output error when there's an uncaught exception (by Timm Friebe)
2002-01-06 20:30:41 +00:00
Andi Gutmans
0f398e4d4a
- Make sure $this is passed on to methods
2002-01-06 19:52:22 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Andi Gutmans
e1876cba4d
- Small fix
2002-01-05 20:55:56 +00:00
Andi Gutmans
e56fb1639b
- Allow passing of $this as function arguments.
...
- Fix a bug which I introduced a couple of months ago
2002-01-05 19:59:09 +00:00
Andi Gutmans
a4248dd584
- Significantly improve the performance of method calls and $this->member
...
- lookups.
2002-01-05 15:18:30 +00:00
Andi Gutmans
eb08cb956b
- Improve performance of indirect-referenced function calls
2002-01-04 09:21:16 +00:00
Andi Gutmans
878f78a6d6
- Nuke C++ comments
2002-01-04 08:07:39 +00:00
Andi Gutmans
6203a250f7
- Separate other kinds of function calls too.
...
- Significantly improve performance of function calls by moving lowercasing
- the function name to compile-time when possible.
2002-01-04 08:05:21 +00:00
Andi Gutmans
0ab9d11225
- Start splitting up different kinds of function calls into different
...
- opcodes.
2002-01-04 06:44:19 +00:00
Derick Rethans
9b391a83c2
- MFZE1 for exit fix, exposing current function name in error messages and
...
exposing zend_zval_type_name().
2002-01-03 14:19:13 +00:00
Sebastian Bergmann
7c2fef7020
Consistency.
2001-12-31 07:50:42 +00:00
Andi Gutmans
c54f216ecd
- Add example of default argument for argument passed by-ref
2001-12-31 05:28:18 +00:00
Sebastian Bergmann
4af1b42bc0
Typo.
2001-12-30 10:43:27 +00:00
Andi Gutmans
8a0c756c58
- #define to help #ifdef stuff in PHP sources to make them work w/ ZE1 and
...
- 2
2001-12-29 18:07:08 +00:00
Andi Gutmans
c6f1e68e75
- A few clarifications
2001-12-29 09:48:07 +00:00
Sebastian Bergmann
1d4793e5e8
Integrate Andi's examples and some notes by Stig.
2001-12-29 09:21:54 +00:00
Sebastian Bergmann
76cfd48f72
Update Exceptions example.
2001-12-29 08:17:57 +00:00
Andi Gutmans
ae1a702501
- Fix some case insensitivity stuff in respect to classes
2001-12-28 16:36:04 +00:00
Andi Gutmans
b14f6cf79f
- Support default arguments for reference parameters
...
- Fix two compile warnings
2001-12-28 13:28:33 +00:00
Andi Gutmans
9a83837391
- Wasn't adding the lower case version of the class name to the hash
2001-12-28 13:18:19 +00:00
Andi Gutmans
e322abdd63
- Use two underscores for __construct(), __clone and friends...
2001-12-27 16:35:07 +00:00
Andi Gutmans
3d89072c7e
- Only check refcount of object if the destructor was called.
2001-12-27 14:44:39 +00:00
Andi Gutmans
73b159e056
- Experimental support for destructors. We need to see if destructors
...
- will actually work well in the context of PHP so we should consider this
- as experimental. Possible problems might be that when the constructor is
- run PHP might not be in a stable state.
2001-12-27 14:35:09 +00:00
Andi Gutmans
b3fd2faac0
- Support parent:: again
2001-12-27 13:12:45 +00:00
Andi Gutmans
a5f7a383bf
- Support unified constructor name _construct()
2001-12-27 12:23:03 +00:00
Andi Gutmans
5cb454a8ad
- Fix scoping issue. The following works now:
...
<?
class MyClass {
static $id = 0;
function MyClass()
{
$this->id = self::$id++;
}
function _clone()
{
$this->name = $clone->name;
$this->address = "New York";
$this->id = self::$id++;
}
}
$obj = new MyClass();
$obj->name = "Hello";
$obj->address = "Tel-Aviv";
print $obj->id;
print "\n";
$obj = $obj->_clone();
print $obj->id;
print "\n";
print $obj->name;
print "\n";
print $obj->address;
print "\n";
2001-12-26 20:17:34 +00:00
Andi Gutmans
b04acdadf4
- Print out object id for easier debugging
2001-12-26 20:06:06 +00:00
Andi Gutmans
29ea3da2f8
- Pretty much finish _clone() support
2001-12-26 19:54:20 +00:00
Andi Gutmans
2ce4b47657
- Initial support for _clone()
2001-12-26 17:49:22 +00:00
Andi Gutmans
f85c818fe8
- Start fixing the parsing rules so that function and method calls
...
- can't be used in a write context.
2001-12-26 14:46:18 +00:00
Andi Gutmans
76b9acc165
- Fix crash correctly.
2001-12-26 11:18:00 +00:00
Andi Gutmans
e1e02af55b
- Revert delete syntax patch
2001-12-25 17:10:58 +00:00
Andi Gutmans
ee44180fc6
- Fix a crash (not a thorough fix).
...
- Commented old code
2001-12-25 16:51:37 +00:00
Andi Gutmans
df38ce3727
- Fixed bug where global functions weren't called if they didn't exist
...
- in the class scope
2001-12-24 17:39:16 +00:00
Andi Gutmans
3458373ed6
- Fix a bug where function's didn't work anymore in multi-threaded
...
- servers after the latest startup changes.
2001-12-23 18:39:52 +00:00
Andi Gutmans
9e7c0d67d0
- Add initial capability of defining nested classes as class foo::bar
2001-12-22 15:31:44 +00:00
Zeev Suraski
43617d0d50
MFZE1
2001-12-18 19:56:23 +00:00
Sebastian Bergmann
cc01431199
I'm too trigger-happy.
2001-12-16 20:28:18 +00:00
Sebastian Bergmann
7920d4fc7e
delete is now function
2001-12-16 19:57:53 +00:00
Andi Gutmans
1e56cac358
- Seems like most people prefer delete($obj) over delete $obj.
2001-12-16 19:53:06 +00:00
Andi Gutmans
ac7ed464b5
- Start adding parsed variable checks.
2001-12-16 19:45:49 +00:00
Andi Gutmans
880e7d8ce7
- Framework for knowing what kind of variable we just parsed.
...
- This will be used in compile-time error checking which couldn't be done
- at the level of the grammar.
2001-12-16 19:18:19 +00:00
Andi Gutmans
7c749c1897
- Rearrange grammar to allow dereferencing of objects returned from
...
- functions. It still crashes though.
2001-12-13 22:21:50 +00:00
Andi Gutmans
f4b832d277
- Fix crash bug in startup code.
...
- Start work on being able to reference global and local scope
2001-12-13 16:55:04 +00:00
Andi Gutmans
ce98c73f82
- Infrastructure changes for allowing to access the global scope from
...
- within a class scope.
- Fix the Zend.dsp project a bit. It seems someone pretty much killed it
- when commiting their own personal configuration. Please be careful in
- future.
2001-12-12 20:45:38 +00:00
Andi Gutmans
74efc41fc3
- Make classes have scope and function/constant lookups default to the class
2001-12-12 17:38:37 +00:00
Andi Gutmans
4214a056a1
- Merge from ZE1
2001-12-11 18:51:02 +00:00
Andi Gutmans
4cb97fa3b9
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
2001-12-11 18:46:43 +00:00
Andi Gutmans
1dcef1e4ea
- Start making scope change correctly when calling namespace functions.
...
- When inside a namespace fallback to global namespace when function
- or constant is not found.
2001-12-11 17:56:57 +00:00
Sebastian Bergmann
5b0b5b6ed5
Forgot to update the LICENSE.
2001-12-11 17:38:49 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Sebastian Bergmann
4345f8a0b5
MFZE1 (AIX fixes)
2001-12-11 09:17:38 +00:00
Sebastian Bergmann
ff4cc2c6e2
MFZE1 (added zend_strip mode in the highliter)
2001-12-11 06:30:30 +00:00
Andi Gutmans
3bfee898db
- More namespaces work.
...
- Nuke memory leak.
2001-12-10 18:57:17 +00:00
Andi Gutmans
8460372395
- Fix crash with unhandled exceptions
2001-12-08 20:58:20 +00:00
Andi Gutmans
055709538c
- Support constants. The following works now:
...
<?
class foo {
const GC = "foo constant\n";
}
define("GC", "Global constant\n");
namespace;
print GC;
namespace foo;
print GC;
namespace;
print foo::GC;
?>
2001-12-06 18:05:18 +00:00
Andi Gutmans
42486196ad
- Initial work on changing namespace scope. Only methods & variables
...
- right now.
<?
$hey = "Global hey\n";
class foo {
static $hey = "Namespace hey\n";
function bar()
{
print "in foo::bar()\n";
}
}
function bar()
{
print "in bar()\n";
}
bar();
namespace foo;
bar();
namespace;
bar();
namespace foo;
$bar_indirect = "bar";
$bar_indirect();
namespace;
print $hey;
namespace foo;
print $hey;
$hey = "Namespace hey #2\n";
namespace;
print $hey;
$hey = "Global hey #2\n";
namespace foo;
print $hey;
?>
2001-12-06 17:47:04 +00:00
Andi Gutmans
fe94f59427
- Nuke the namespace work I did. It'll be redone differently.
2001-12-06 17:23:08 +00:00
Sebastian Bergmann
8b34428167
Document recent changes.
2001-12-05 07:04:16 +00:00
Andi Gutmans
5476706142
- Damn Zeev :)
2001-12-04 17:58:32 +00:00
Andi Gutmans
94cfe03da5
- Revert one of the changes because it might be before the memory
...
- manager has started.
2001-12-01 08:46:02 +00:00
Andi Gutmans
bb9a36cad1
- Use alloca() when possible.
2001-12-01 08:33:48 +00:00
Andi Gutmans
e858d27888
- Initial support for class constants. There are still a few semantic
...
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}
print foo::hey;
?>
2001-11-30 16:29:47 +00:00
Andi Gutmans
7f66d5e99a
- Fix typo
2001-11-30 11:42:30 +00:00
Andi Gutmans
f289014922
- Support syntax for class constants (doesn't do anything yet but
...
- required some reworking of the grammar).
2001-11-27 17:46:31 +00:00
Andi Gutmans
7cd6ccc0ec
- Support static $var = 0; style initialization of static class
...
- members. For example:
- class foo {
- static $my_static = 5;
-
- }
-
- print foo::$my_static;
2001-11-26 18:05:01 +00:00
Andi Gutmans
0d559f17cd
- Fix crash and leak
2001-11-25 12:29:08 +00:00
Andi Gutmans
4f3eaaa854
- Whitespace
2001-11-25 08:58:59 +00:00
Andi Gutmans
d2da63f629
- Support static members. The following script works:
...
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}
function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}
foo::bar::init_values();
foo::bar::print_values();
for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>
2001-11-25 08:49:09 +00:00
Andi Gutmans
559d611a86
- MFZE1
2001-11-24 18:27:20 +00:00
Zeev Suraski
08615c6f68
MFZE1
2001-11-15 23:26:52 +00:00
Stig S. Bakken
78f108d31a
add newline at end of file to avoid warnings
2001-11-05 00:17:28 +00:00
Stig S. Bakken
9382ddec52
non-zts compile fix
2001-11-05 00:16:33 +00:00
Andi Gutmans
a332f826a7
- Support instantiation of nested class. The following script now should
...
- work:
-<?php
- class foo
- {
- function bar()
- {
- print "bar() in class bar\n";
- }
-
- class barbara
- {
- function bar()
- {
- print "bar() in class foo::barbara\n";
- }
- }
- }
-
- $obj = new foo();
- $obj->bar();
-
- $obj = new foo::barbara();
- $obj->bar();
-
2001-11-04 19:30:49 +00:00
Andi Gutmans
48e54e0c7a
- RISC OS patch by Alex Waugh
2001-11-03 13:35:14 +00:00
Andi Gutmans
2eccd95ca4
- Add some initializations
2001-11-03 12:19:52 +00:00
Andi Gutmans
b87194e0c6
- Add constructor to the zend_class_entry instead of looking it up each
...
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();
2001-11-03 11:59:14 +00:00
Andi Gutmans
0a682c6d70
- Fix internal classes
2001-10-29 18:10:36 +00:00
Andi Gutmans
26578c386d
- Initial support for nested class definitions
2001-10-29 17:19:02 +00:00
Zeev Suraski
8b53a129f7
MFTGZE1
2001-10-27 09:43:38 +00:00
Andi Gutmans
89a0e85251
- Fix Zeev's MFZE1
2001-10-26 14:13:42 +00:00
Zeev Suraski
aecd5b89ee
MFZE1
2001-10-23 01:23:36 +00:00
Andrei Zmievski
3ead31449f
MFHZ1
2001-10-20 13:55:47 +00:00
Sebastian Bergmann
01850714ee
MFZE1: Introduced extension version numbers (Stig)
2001-10-12 18:40:30 +00:00
Sebastian Bergmann
43c7615c51
MFZE1
2001-10-04 14:18:52 +00:00
Andi Gutmans
2eabb14dc7
- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
...
- the whole CVS tree is work in progress
2001-09-30 17:29:55 +00:00
Andi Gutmans
279b468bf7
- Bump it up in the right place
2001-09-27 08:08:33 +00:00
Sebastian Bergmann
76ccb015e8
Keep ZEND_CHANGES up-to-date.
2001-09-22 17:03:05 +00:00
Zeev Suraski
e42ab2c95f
MFZE1
2001-09-22 14:03:27 +00:00
Zeev Suraski
17352812a3
MFZE1
2001-09-22 00:09:24 +00:00
Andi Gutmans
d58240d0f5
- Nuke unused enum
2001-09-20 15:50:11 +00:00
Zeev Suraski
483fc4c73a
MFZE1
2001-09-19 22:34:11 +00:00
Andi Gutmans
88d408ee11
- MFZE1
2001-09-19 10:41:35 +00:00
Sebastian Bergmann
3bdddb4910
MFZE1
2001-09-19 10:25:04 +00:00
Sebastian Bergmann
da5a79d185
MFZE1
2001-09-19 10:06:09 +00:00
Brian Moon
b285fae0bc
adding RFC for loose type requirements for functions
2001-09-17 16:01:20 +00:00
Zeev Suraski
f88c25b60e
MFZE1
2001-09-16 16:48:38 +00:00
Zeev Suraski
9f61e47c24
MFZE1 (nuke cplusplus code)
2001-09-10 00:08:24 +00:00
Zeev Suraski
b06440bceb
MFZE1 (support return value in execute_scripts)
2001-09-10 00:07:32 +00:00
Stig S. Bakken
d07cfabce4
remove bogus comment :)
2001-09-08 11:17:25 +00:00
Stig S. Bakken
b07b4c6029
RFC document for namespaces
2001-09-08 11:02:06 +00:00
Stig S. Bakken
4585ae9fb1
wrapped to 80 columns :)
2001-09-08 08:55:42 +00:00
Andi Gutmans
d7536a8a5f
- Shift around the variable parsing code to make it simpler.
2001-09-07 14:46:12 +00:00
Andi Gutmans
fc1abec531
- Fix warning (was fixed in ZE1 and not merged at some point). Please make
...
sure you merge patches!
2001-09-07 06:40:03 +00:00
Stanislav Malyshev
d082fb373d
MFZE1
2001-09-05 09:29:28 +00:00
Andi Gutmans
7c4a0cc6cf
- CLS_CC -> TSRMLS_CC
2001-09-03 16:57:49 +00:00
Sterling Hughes
c57ed1b93b
spaces->tabs
2001-08-31 21:55:43 +00:00
Sterling Hughes
498f7fd90f
MFZE1
2001-08-31 21:52:44 +00:00
Sterling Hughes
69c7346f0e
MFZE1
2001-08-31 21:47:26 +00:00
Zeev Suraski
819ea51d00
MFZE1
2001-08-31 13:11:52 +00:00
Andi Gutmans
619702157b
- Make it compile in thread-safe mode.
2001-08-30 17:27:43 +00:00
Andi Gutmans
560606d210
- Get rid of warning and C++ comments
2001-08-30 15:31:35 +00:00
Andi Gutmans
29f5dbe10b
- Initial support for exceptions.
2001-08-30 15:26:30 +00:00
Zeev Suraski
4684d5f405
MFZE1
2001-08-30 12:08:23 +00:00
Zeev Suraski
b392fe4497
MFZE1
2001-08-28 09:23:22 +00:00
Andi Gutmans
0378e545a0
- Add sample RFC
2001-08-27 18:43:20 +00:00
Stanislav Malyshev
2a0a07b883
Add dlsym underscore detection, by Jani Taskinen
2001-08-26 15:25:55 +00:00
Andi Gutmans
b0970f1421
- MFZE1
2001-08-26 15:16:06 +00:00
Andi Gutmans
e2efa0196f
- Merge Andrei's fix from Engine 1. Please commit patches to both trees!
2001-08-26 15:14:45 +00:00
Zeev Suraski
4757104e45
MFZE1
2001-08-21 12:29:12 +00:00
Zeev Suraski
9b3df86e8d
MFZE1
2001-08-20 14:58:52 +00:00
Andi Gutmans
718f323edc
- Fix compile problem
2001-08-19 15:23:25 +00:00
Zeev Suraski
4340c57ece
MFZE1
2001-08-19 13:39:06 +00:00
Andi Gutmans
d87fa22532
- Merge Sterling's patches from ZE1
2001-08-18 18:16:49 +00:00
Andrei Zmievski
ea315a2e70
MFZE1
2001-08-17 17:42:43 +00:00
Zeev Suraski
b02df6f4ac
MFZE1
2001-08-17 14:53:55 +00:00
Zeev Suraski
77c52275a1
MFZE1
2001-08-16 20:38:56 +00:00
Andi Gutmans
f909ff9ed0
- Try and nuke get_object_zval_ptr()
2001-08-16 15:01:25 +00:00
Andi Gutmans
6435c3e962
- Remove bogus notice
2001-08-16 14:42:28 +00:00
Andi Gutmans
290fc10af7
- Sync with ZE1
2001-08-16 14:12:03 +00:00
Andi Gutmans
ea48c0c46a
- Fix a bug in method calls.
...
- Try to get the old copying behavior of objects to work (doesn't work yet).
2001-08-16 14:04:04 +00:00
Zeev Suraski
7fe3b91c67
MFZE1
2001-08-15 18:06:06 +00:00
Zeev Suraski
f72d907105
MFZE1
2001-08-14 15:24:20 +00:00
Zeev Suraski
ac0bee7ec9
MFZE1
2001-08-14 15:22:34 +00:00
Andi Gutmans
33539126d0
- MFZE1
2001-08-13 18:33:41 +00:00
Andi Gutmans
30bad123f0
- MFZE1
2001-08-13 15:38:07 +00:00
Andi Gutmans
b6eb324cd2
- Merge from Engine 1
2001-08-13 15:23:37 +00:00
Zeev Suraski
8722b31d8a
MFZE1
2001-08-13 00:28:18 +00:00
Stanislav Malyshev
f5c5986344
_FUNCTION is used in definition, so use _D
2001-08-12 14:58:57 +00:00
Andi Gutmans
76a7a5bc18
- More work on making objects work
2001-08-11 18:26:47 +00:00
Andi Gutmans
532677e7ac
- Fix some places which create objects. The fixes are ugly and will be
...
revised when things start working well
2001-08-11 18:04:07 +00:00
Zeev Suraski
4f6c95d17a
Whitespace
2001-08-11 15:56:40 +00:00
Zeev Suraski
adf89828d2
Whitespace
2001-08-11 15:44:24 +00:00
Andi Gutmans
1751c4eba5
- Fix UNIX build.
2001-08-11 13:23:35 +00:00
Andi Gutmans
73d4931dac
- Need to do some rewriting in the parser instead of this.
2001-08-11 10:47:41 +00:00
Andi Gutmans
f5ea49a647
- For Sebastian. Will allow to see you're using the Engine 2 CVS via
...
phpinfo()
2001-08-11 00:20:37 +00:00
Andi Gutmans
8b6f848cbb
- Merge from Engine 1
2001-08-10 16:19:49 +00:00
Andi Gutmans
8ff094046d
- A couple of fixes
2001-08-10 14:18:38 +00:00
Andi Gutmans
61edd1bf41
- Merge from Engine 1 CVS
2001-08-10 13:39:35 +00:00
Andi Gutmans
80b870e5d3
- Merge from Engine 1 tree
2001-08-09 03:58:58 +00:00
Andi Gutmans
9d11db1200
- Merge new $_GET, $_POST etc. patch from Engine 1 tree
2001-08-08 17:18:16 +00:00
Andi Gutmans
cb1a40f399
- Preliminary patch for method() dereferencing
2001-08-08 15:07:11 +00:00
Andi Gutmans
2f6cd308f9
- Merge zend_try fix from Engine 1
2001-08-08 15:06:08 +00:00
Zeev Suraski
b92a9c872f
Migrate .dsp patches
2001-08-07 20:15:17 +00:00
Andi Gutmans
3d3eff12cb
- Forgot to commit the updated dsp
2001-08-07 19:33:06 +00:00
Andi Gutmans
9802b1632c
- More sync with latest CVS
2001-08-07 03:35:31 +00:00
Andi Gutmans
5af7770a81
- Sync Engine2 CVS with latest Engine CVS
2001-08-07 03:17:33 +00:00
Zeev Suraski
2c8ec7f994
Commit uncommitted build fix
2001-08-06 23:56:32 +00:00
Zeev Suraski
7ade3b30cb
Fix an off by one lineno issue, in case of an implicit ;
2001-08-06 14:36:46 +00:00
Zeev Suraski
85875e83ae
Better shared code
2001-08-06 14:26:05 +00:00
Zeev Suraski
609d58a4d6
Merge from branch - move to standard C scanners in thread safe mode
2001-08-06 13:48:51 +00:00
Andi Gutmans
e6697297b6
- Move to using Z_ macros
2001-08-06 02:52:03 +00:00
Andi Gutmans
54e871a9cc
- Use Z_ macros
2001-08-06 02:48:55 +00:00
Zeev Suraski
c4ca84d3a1
More nulled-out macros
2001-08-05 17:07:59 +00:00
Zeev Suraski
fcc035108f
TSRMLS_FETCH work
2001-08-05 01:37:10 +00:00
Zeev Suraski
c06dbe23bb
Fix buglet
2001-08-03 16:08:01 +00:00
Zeev Suraski
e206bd3374
Fix macro
2001-08-03 08:15:16 +00:00
Zeev Suraski
66d9314b60
Implement fast memory allocation and reduced fragmentation under Windows.
2001-08-03 07:06:05 +00:00
Zeev Suraski
ded764461b
Some compat macros
2001-08-03 07:02:46 +00:00
Zeev Suraski
7ecb33868c
require_once()/include_once will return true in case a file was not included
...
because it was already included earlier.
Changed the default return value type of the include() family from long to
boolean
2001-08-02 17:27:19 +00:00
Zeev Suraski
c14baeece3
Avoid going over huge lists of functions, classes and constants.
...
Special thanks to the guys from the MS lab for the profiling tools :)
2001-08-02 07:00:43 +00:00
Zeev Suraski
7deb44e36d
Some cleanup
2001-08-02 06:16:20 +00:00
Zeev Suraski
3aa5674a84
TSRMLS fixes
2001-08-02 05:25:29 +00:00
Zeev Suraski
f93bfc47df
Implement fast scanning in the multithreaded environment
2001-08-01 02:36:05 +00:00
Zeev Suraski
982cd24aa4
the make Sebastian happy part of the day :)
2001-07-31 07:12:15 +00:00
Zeev Suraski
0b7fdbb690
More TSRMLS_FETCH work
2001-07-31 06:07:25 +00:00
Zeev Suraski
57507b4ea6
More TSRMLS_FETCH annihilation
2001-07-31 05:32:25 +00:00
Zeev Suraski
d76cf1da18
More TSRMLS_FETCH work
2001-07-31 04:53:54 +00:00
Zeev Suraski
d49077f871
Compile fix
2001-07-30 09:05:42 +00:00
Zeev Suraski
4187439cff
More TSRMLS_FETCH work
2001-07-30 07:43:02 +00:00
Zeev Suraski
e8ac55d03c
More TSRMLS_FETCH work
2001-07-30 06:12:15 +00:00
Zeev Suraski
b52554951f
More TSRMLS_FETCH work, and get rid of redundant ParametersPassedByRef
2001-07-30 05:34:21 +00:00
Andrei Zmievski
3839af35dc
Let's be consisten and keep TSRMLS_DC declaration after num_args.
2001-07-30 05:05:26 +00:00
Zeev Suraski
8ce8324e59
More TSRMLS_FETCH annihilation
2001-07-30 04:54:16 +00:00
Zeev Suraski
11e5d2f229
Get rid of more TSRMLS_FETCH's
2001-07-30 02:07:52 +00:00
Zeev Suraski
b57703825b
Avoid TSRMLS_FETCH()'s (still lots of work left)
2001-07-30 01:48:22 +00:00
Andi Gutmans
51b92451d0
- More object junk
2001-07-29 08:24:38 +00:00
Andi Gutmans
c259cb7c1a
- Object macros...
2001-07-29 08:22:57 +00:00
Andi Gutmans
cf510cb7fd
- Fix build
2001-07-28 20:28:29 +00:00
Andi Gutmans
ff61394786
- More object macros.
2001-07-28 20:27:32 +00:00
Andi Gutmans
896eec1ec5
- Use the Z_OBJ* macros for accessing objects
2001-07-28 18:35:22 +00:00
Andi Gutmans
b40db64d0d
- Small patch to allow fixing the PHP tree to be compatible w/ the initial
...
- Zend 2 objects patch. Hopefully I can commit that this week.
2001-07-28 18:33:06 +00:00
Zeev Suraski
b4f3b9d3ce
Redesigned thread safety mechanism - nua nua
2001-07-28 10:51:54 +00:00
Sascha Schumann
6be787a929
Fix build
2001-07-28 00:46:42 +00:00
Zeev Suraski
2c254ba762
Get rid of ELS_*(), and use TSRMLS_*() instead.
...
This patch is *bound* to break some files, as I must have had typos somewhere.
If you use any uncommon extension, please try to build it...
2001-07-27 10:10:39 +00:00
Sascha Schumann
b677af2265
tsrm_error is only available, if TSRM_DEBUG is defined.
2001-07-23 04:21:11 +00:00
Sascha Schumann
28ecbb213c
tsrm_error is only available, if TSRM_DEBUG is defined.
2001-07-23 04:19:32 +00:00
Zeev Suraski
ef4fe54f0a
Always track bailout file/lineno
2001-07-21 16:21:22 +00:00
Zeev Suraski
5f2da6f219
Fix Release builds
2001-07-21 16:13:46 +00:00
Zeev Suraski
931ebe08d7
Improve bailout mechanism, supports nesting of bailouts a-la try..catch
2001-07-21 14:25:27 +00:00
Zeev Suraski
660a09c6da
Fix compile warning
2001-07-21 14:18:53 +00:00
Andrei Zmievski
fc260e6c98
Fix certain cases where inheritance of base class's overloaded handlers wasn't
...
being done.
2001-07-21 02:35:13 +00:00
Zeev Suraski
8084d27885
Implement a more granular shutdown mechanism for the executor -
...
prevent corruption of constants and missing destructions of resources
2001-07-20 14:20:34 +00:00
Zeev Suraski
d68f53e94e
Unfix, it has too strong effects
2001-07-19 18:33:22 +00:00
Zeev Suraski
ce29cb297e
Catch all cases
2001-07-19 15:53:38 +00:00
Zeev Suraski
01814bb2b8
Fix bug #11970 , strike 2
2001-07-19 14:15:50 +00:00
Zeev Suraski
06fc55cc67
Revert bogus patch
2001-07-19 14:11:40 +00:00
Stanislav Malyshev
db97aea8d9
fix double->long conversion
2001-07-18 16:46:51 +00:00
Andi Gutmans
6bd084cb0a
- Remove unused code
2001-07-17 16:10:15 +00:00
Zeev Suraski
43ebb86806
Fix bug #10287 - avoid crashing under a bogus usage of list()
2001-07-16 15:48:31 +00:00
Zeev Suraski
fb532ba52b
Fix bug #10467
2001-07-16 11:41:06 +00:00
Zeev Suraski
1c2893a1b9
Minor cleaning
2001-07-15 22:48:04 +00:00
Zeev Suraski
ec6c9f67c4
Optimize the parser a bit
2001-07-15 19:24:32 +00:00
Zeev Suraski
0078ceec19
Fix an inline
2001-07-15 19:08:32 +00:00
Zeev Suraski
c4f2e0197b
Time to bid this old timer goodbye - get rid of var_uninit()
2001-07-15 19:02:20 +00:00
Zeev Suraski
563aacdb66
Fix bug #6239
2001-07-15 18:57:43 +00:00
Zeev Suraski
73f488b323
Allow indirect reference to method names in class::method() construct
2001-07-15 18:39:14 +00:00
Zeev Suraski
9bd9862451
Fix bug #10257
2001-07-15 17:48:50 +00:00
Zeev Suraski
553505cb61
Fix bug #11970
2001-07-15 16:51:30 +00:00
Zeev Suraski
0c49166197
Fix bug #9884
2001-07-15 16:22:41 +00:00
Zeev Suraski
85b4df53c0
Improved interactive mode - it is now available in all builds, without any significant slowdown
2001-07-15 14:08:58 +00:00
Zeev Suraski
ab30c8cca3
Early initialization
2001-07-15 12:24:10 +00:00
Zeev Suraski
f63367bf16
layout
2001-07-13 12:08:32 +00:00
Thies C. Arntzen
7b7e72d1d2
the resource-lists are now destroyed backwards. this will make sure that
...
resources get destroyed in the opposite order they were created and thereby
db-cursors will always be released before their corresponding connection etc.
this sould not break anything!
2001-07-13 12:05:47 +00:00
Zeev Suraski
87e3924379
Remove the last couple of bogus inlines
2001-07-11 17:18:22 +00:00
Andi Gutmans
b98acd61f1
- Move inline_zend_hash_func() to header file
2001-07-11 16:16:08 +00:00
Thies C. Arntzen
07ea068454
fixed ZVAL_FALSE and ZVAL_TRUE
2001-07-11 12:40:29 +00:00
Stanislav Malyshev
6cf5e7f9f7
No hashpjw anymore, but we have zend_hash_func
2001-07-11 12:20:07 +00:00
Zeev Suraski
4cc86259dd
Get rid of ZVAL_RESET...
2001-07-11 11:35:11 +00:00
Zeev Suraski
ed542331b7
Get rid of some inlines
2001-07-11 09:33:41 +00:00
Andi Gutmans
2f8fa8cf21
- Merge faster hash implementation.
...
- The hash function parameter in hash_init(...) is not used anymore.
- It should be removed but it is "to be decided" if we want to do that now
- or in a major version as it means changing MANY places and third party
- modules might stop working.
2001-07-10 20:31:42 +00:00
Thies C. Arntzen
bcddfd474a
cleaned up the RETVAL_ RETURN_ and ZVAL_ macros
...
added check for \0 at end-of-string at some places. all strings in PHP
have to be terminated with \0 because 3th party libraries might not be
binary-safe.
2001-07-10 08:20:20 +00:00
Andi Gutmans
6297cd26e2
- Commit Thies' patch. str.len was too long.
2001-07-10 05:02:50 +00:00
Andrei Zmievski
58f88057b1
Adding new parameter parsing API.
2001-07-09 18:51:29 +00:00
Rasmus Lerdorf
fb8e614690
Trivial fix - but the period looks odd in error messages
2001-07-03 04:18:38 +00:00
Andi Gutmans
55687ca216
- Fix the memory limit fix.
2001-06-30 07:58:34 +00:00
Andi Gutmans
af089a2938
- Remove bogus comment.
2001-06-29 20:42:02 +00:00
Zeev Suraski
3eb6d65ece
Fix memory_limit, kill warning
2001-06-29 00:36:34 +00:00
Zeev Suraski
446567cb26
Fix warnings
2001-06-28 23:40:44 +00:00
Zeev Suraski
2536259557
Fix leak in the patch, and revert a couple of lines I didn't mean to commit
2001-06-27 15:47:31 +00:00
Zeev Suraski
ee115c8ecc
- Warn about illegal offsets
...
- Allow assignments to uninitialized string offsets (automatically pads the
string with spaces)
2001-06-27 15:40:49 +00:00
Zeev Suraski
5e99993058
Fixed autoconversion of negative values to double (Fix bug #11685 )
2001-06-26 21:11:35 +00:00
Andi Gutmans
b70eeddc70
- Fix crash bug (fix by Jani).
2001-06-26 15:19:47 +00:00
Andi Gutmans
12db900a6f
- Bump Zend version
2001-06-24 03:54:11 +00:00
Andi Gutmans
5bf89ce61c
- Hopefully fix bug #11476 and improve garbage to be freed very quickly.
...
Tree tagged as PRE_GRANULAR_GARBAGE_FIX before commiting.
2001-06-21 22:30:23 +00:00
Andi Gutmans
7690887cf6
- Use inline instead of macro for PZVAL_LOCK()/PZVAL_UNLOCK() so that it
...
can be debugged.
2001-06-21 21:31:33 +00:00
Andi Gutmans
8cd70926c5
- Nuke dependency of all of PHP on zend_execute_locks.h.
2001-06-21 21:17:10 +00:00
Zeev Suraski
851b1e3b35
Eliminate the leak that the original bogus code tried to solve
2001-06-21 15:33:55 +00:00
Zeev Suraski
cb0d2775fb
parent::methodname() now works better with runtime classes (fix bug #11589 )
2001-06-21 14:53:05 +00:00
Zeev Suraski
3276cfd950
Fix bug #11590 (I want Andi to also review this patch before it goes into 4.0.6)
2001-06-21 08:17:09 +00:00
Andi Gutmans
1aa5b19cc9
- Fix string offsets crash.
2001-06-20 17:14:58 +00:00
Andi Gutmans
34e0c392e8
- Fix memory fragmention problem which could lead to web server processes
...
growing much more than they should. (bug #11344?)
2001-06-19 17:59:07 +00:00
Zeev Suraski
0c164128f8
Add missing exports
2001-06-19 08:52:19 +00:00
Zeev Suraski
38085881a6
Fix warning
2001-06-19 08:42:22 +00:00
Zeev Suraski
b23d83cf6a
Avoid crashing if the error reporting function is called after a bailout during shutdown
2001-06-13 17:18:11 +00:00
Zeev Suraski
e8796a1503
Improve XHTML compliance (suggested by Anil Madhavapeddy)
2001-06-12 10:51:59 +00:00
Zeev Suraski
6cf6835a4d
Add missing check
2001-05-30 08:23:15 +00:00
Andi Gutmans
e264a407eb
- Change if() to while() to make sure we skip enough opcodes
2001-05-25 09:46:48 +00:00
Andi Gutmans
90c36273b4
- Fix memory leak
2001-05-25 07:26:48 +00:00
Andrei Zmievski
9f0a619553
Fix segfault -- need to copy-construct constant value.
2001-05-23 13:54:22 +00:00
Andrei Zmievski
4d78270b4e
Moving some functions into Zend.
2001-05-21 15:47:52 +00:00
Andi Gutmans
e4f7a85acb
- The previous name could be confused with resource #
2001-05-20 20:48:40 +00:00
Andi Gutmans
e2f12eb0e5
- Whitespace and change the name of the macro to something more verbose
...
ZEND_GET_RESOURCE_ID(...)
2001-05-20 20:25:20 +00:00
James Moore
c1164ad5bf
@ - Add new ZEND_GET_LE macro for retrieving destructor
...
@ id's from remote extensions. (Jmoore, Zend Engine)
2001-05-20 17:06:39 +00:00
Andi Gutmans
65d9584ac0
- Don't allow resource types of 0
2001-05-20 16:04:22 +00:00
Sascha Schumann
ba8af2515e
Fix segfault when using zend_hash_add_empty_element
2001-05-19 14:53:55 +00:00
Thies C. Arntzen
473d3eae45
reset allocated_memory_peak after each request.
2001-05-18 14:32:11 +00:00
Zeev Suraski
5b12d6077e
That's slightly clearer that way :)
2001-05-17 16:33:45 +00:00
Zeev Suraski
c7464b7d6a
Fix build
2001-05-17 12:51:24 +00:00
Zeev Suraski
41fbc95fe1
Fix build
2001-05-17 11:22:49 +00:00
Zeev Suraski
51303fc051
Fix corruption issue
2001-05-17 09:58:34 +00:00
Zeev Suraski
755207a1e6
Implement zend_hash_add_empty_element() using the existing infrastructure
2001-05-16 17:22:01 +00:00
Zeev Suraski
4c0d85ba4f
Commit missing fix
2001-05-16 17:21:16 +00:00
Zeev Suraski
260b4d0dbf
Merge memory usage into memory limit
2001-05-16 15:02:30 +00:00
Sascha Schumann
bb472e7069
Initialize empty pDataPtr to a pseudo value to prevent a pefree on
...
pData.
2001-05-14 10:49:17 +00:00
Andi Gutmans
eadaf3eb7a
- Remove check for ht == NULL in copy_ctor.
...
If ht is NULL at this point then we are better off crashing and fixing
the bug that caused it.
2001-05-12 13:55:49 +00:00
Sascha Schumann
996e9a7212
add missing closing paranthesis
2001-05-11 19:41:11 +00:00
Sascha Schumann
3efa08aaa8
Some extensions don't associate any data with hash entries,
...
except the key. Prior to this change, a separate chunk of memory
was allocated in that case to store exactly zero bytes (plus
memory manager overhead). We treat that case similar to the
pointer case, but don't copy any data at all (because the pointer
is usually the NULL pointer).
2001-05-11 19:32:01 +00:00
Sascha Schumann
2c4e1e84ce
Fix a memory leak which occured upon registering an already existing
...
constant.
2001-05-11 19:18:24 +00:00