Commit Graph

2501 Commits

Author SHA1 Message Date
Andi Gutmans
27de54b0df - MFZE1 2002-12-01 19:47:02 +00:00
Andi Gutmans
f222884e2d - Revert as the patch doesn't compile 2002-12-01 19:22:30 +00:00
Andi Gutmans
b6ecd6704c - MFZE1 2002-12-01 19:07:07 +00:00
Andi Gutmans
671fff2fde h WHitespace 2002-11-30 11:20:25 +00:00
Andi Gutmans
2de45bec65 - Initialize constants_updated (by Marcus) 2002-11-29 16:35:46 +00:00
Andi Gutmans
c6502fa225 - Nuke use of deprecated macro 2002-11-27 20:09:36 +00:00
Andi Gutmans
6aa90a75bd - FN_IS_STATIC -> FN_STATIC 2002-11-24 20:32:49 +00:00
Andi Gutmans
5cb8fabb7d - Fix crash 2002-11-24 20:15:56 +00:00
Andi Gutmans
01e853c2ce - My personal cleanups 2002-11-23 20:46:39 +00:00
Andi Gutmans
e8214a3384 - Commit Marcus' cleanup of abstract and static inheritance and improve
- error messages
2002-11-23 20:44:12 +00:00
Derick Rethans
2a9f250ec7 - Initialize all functions to non-static (patch by Marcus Börger
<marcus.boerger@t-online.de>.
2002-11-22 10:49:46 +00:00
Sebastian Bergmann
ba1f645030 Show class name as well. Patch by Marcus Börger. 2002-11-22 06:19:04 +00:00
Sebastian Bergmann
da0e29e92f Show the name of the abstract method in the error. 2002-11-21 14:20:25 +00:00
Sebastian Bergmann
9726e74da5 Fix prototype. 2002-11-21 14:16:57 +00:00
Derick Rethans
33d0e4e1fb - MFZE1: Disable leak() and crash() when not using debug mode 2002-11-20 19:44:37 +00:00
Andi Gutmans
7ce4bc76bf - Add abstract methods 2002-11-20 19:15:36 +00:00
Andi Gutmans
227f7838d6 - Fix build (thanks Marcus)
- Implement abstract methods, syntax:
-    abstract function foo($vars);
- I don't see any reason why modifiers such as static/public need to be
- used with abstract. PHP is weakly typed and there would be no meaning to
- this anyway. People who want a strictly typed compiled language are
- looking in the wrong place.
2002-11-20 18:00:23 +00:00
Zeev Suraski
4be862b02c MFZE1 - error_reporting fix 2002-11-19 17:51:30 +00:00
Andi Gutmans
6d8a643edb - MFZE1 2002-11-18 05:27:46 +00:00
Stanislav Malyshev
29695934ed fix the leak 2002-11-17 17:57:57 +00:00
Andi Gutmans
ce06e7ba77 - MFZE1 2002-11-16 07:37:03 +00:00
Andi Gutmans
e1725b26fa - MFZE1 2002-11-16 07:32:53 +00:00
Andi Gutmans
5c12ee2474 - MFZE1 2002-11-15 14:30:40 +00:00
Andi Gutmans
55e127a6d5 - Commit fix for bug #19566 (I think it's by Marcus :) 2002-11-15 14:25:44 +00:00
Andrei Zmievski
cbec84d93d MFZE1 2002-11-14 21:36:07 +00:00
Stanislav Malyshev
3944ce41c3 semi-fix string offsets crash - now it doesn't crash, but still leaks 2002-11-13 15:13:24 +00:00
Stanislav Malyshev
8ee5080172 fix static 2002-11-12 15:06:51 +00:00
Andi Gutmans
1cee814da0 - Update with statics 2002-11-11 19:49:29 +00:00
Sebastian Bergmann
155c453138 Fugbix typo. 2002-11-11 18:27:32 +00:00
Ilia Alshanetsky
32e8ee9bee MFZE1 2002-11-11 16:32:57 +00:00
Andi Gutmans
e19165b356 - MFZE1 2002-11-10 22:02:28 +00:00
Stanislav Malyshev
830c2e0df6 fix statics - make it behave like $this (fetch type "static")
Side effect: indirect references to statics won't work.
2002-11-10 17:50:27 +00:00
Sebastian Bergmann
bab84eab34 Fix ZTS build. 2002-11-06 18:51:44 +00:00
Stanislav Malyshev
41bd9b3746 fix zend_assign_to_object_op 2002-11-06 15:11:45 +00:00
Ilia Alshanetsky
78bf1d9a56 MFZE1 2002-11-05 22:01:35 +00:00
Andi Gutmans
6f9bfe5cca - Shift around zend_op members 2002-11-05 21:35:05 +00:00
Andi Gutmans
867519c420 - A couple of updates 2002-11-05 19:55:00 +00:00
Andi Gutmans
c497868005 - Add support for static methods. Basically methods which are defined as
- static don't have $this. That's the whole difference.
2002-11-05 19:37:31 +00:00
Andi Gutmans
f40e3b8548 - $clone -> $that 2002-11-05 19:29:46 +00:00
Andi Gutmans
c92758c89e - Fix bug introduced with type change of free_op1/2 2002-11-05 19:06:40 +00:00
Andi Gutmans
983be5c73c - ATTENTION: Finally nuke old_function and cfunction. I think it is time
- to get rid of these BC notations. This is from the days of the move from
- PHP/FI 2 -> PHP 3
2002-11-05 18:25:09 +00:00
Ilia Alshanetsky
c6d60713cb Revert of previous patch. 2002-11-05 18:22:02 +00:00
Andi Gutmans
f7f9721bdb - Change the automatically created variable $clone in __clone() to
- $that as discussed at the PHP Conference. If there are any objections
- alternative names please let me know. The reason for changing it from
- $clone is because $clone sounds as if it's the newly cloned object and
- not the old one.
2002-11-05 18:16:11 +00:00
Stanislav Malyshev
3a9eeea213 avoid using 'class' in exported functions - it annoys c++ 2002-11-05 17:21:23 +00:00
Stig Bakken
b899f9bf63 Fixed some special cases that were crashing for the exception default
handler.
2002-11-05 06:10:05 +00:00
Ilia Alshanetsky
e849aa9d9b Silence compiler warnings. 2002-11-04 17:35:41 +00:00
Ilia Alshanetsky
0506fa5e6a If ordered is not set a random compiler assigned value of *p2 would be used,
this patch fixes the problem by initializing *p2 to NULL.
2002-11-04 17:26:44 +00:00
Ilia Alshanetsky
a8f8d9d586 Silence compile warning, ctype.h is needed for tolower() function. 2002-11-04 17:05:11 +00:00
Ilia Alshanetsky
7936a861ab MFZE1 2002-11-02 16:52:59 +00:00
Derick Rethans
fee4ba4f13 - Fix segfault when __CLASS__ was used outside a class definition 2002-11-02 09:06:23 +00:00
Derick Rethans
e6054d2857 - MFZE1 2002-11-02 09:05:18 +00:00
Ilia Alshanetsky
d704357e44 MFZE1 (20214). 2002-11-02 05:44:10 +00:00
7c57367532 ChangeLog update 2002-11-02 01:35:44 +00:00
Andi Gutmans
3c94041bed - Fix unset($this->foo) 2002-11-01 07:59:42 +00:00
18bc258354 ChangeLog update 2002-10-25 00:33:42 +00:00
Andi Gutmans
023836ae25 - Also tune jmpz_ex 2002-10-24 18:24:55 +00:00
Andi Gutmans
80109314b9 - Improve performance of part of the jmps. More to follow. 2002-10-24 18:04:12 +00:00
d18c53afd0 ChangeLog update 2002-10-24 00:34:01 +00:00
Andi Gutmans
1eb04a850e - This might improve performance. Commiting it so that I can check it on
- Linux
2002-10-23 20:40:07 +00:00
Andi Gutmans
4a9f1a9396 - Make Ts access a macro. I need this for my next patch which should
- improve performance but not sure yet if it will.
2002-10-23 20:26:28 +00:00
1c335c8c45 ChangeLog update 2002-10-23 00:34:16 +00:00
Andi Gutmans
8cbe1ea796 - Nuke unused get_incdec_op()
- Nuke old comment
2002-10-22 19:34:25 +00:00
Andi Gutmans
d12679a64d - Improve overall engine performance 2002-10-22 19:31:53 +00:00
Andi Gutmans
329354529b - Fix bug reported by Daniel T. Gorski 2002-10-22 17:00:59 +00:00
829b7708b8 ChangeLog update 2002-10-22 00:33:51 +00:00
Thies C. Arntzen
d7648f440c MFZE1 2002-10-21 08:48:55 +00:00
e03bd99ef0 ChangeLog update 2002-10-21 00:34:56 +00:00
Stanislav Malyshev
c33a695f85 looks like this message should go 2002-10-20 19:22:04 +00:00
Stanislav Malyshev
2461c9403b Fix private handling 2002-10-20 17:46:16 +00:00
Sebastian Bergmann
12642146c0 Sync zend_html_puts parameter list with Zend Engine 1. 2002-10-20 08:32:02 +00:00
bc7a426731 ChangeLog update 2002-10-20 00:33:02 +00:00
Andi Gutmans
13274801e4 - Fix compile warning. 2002-10-19 20:57:15 +00:00
Andi Gutmans
536d4d8aab - Improve opcode dispatching 2002-10-19 09:45:51 +00:00
a699b13246 ChangeLog update 2002-10-19 00:33:29 +00:00
Andi Gutmans
cf36abb2eb - Change opcode dispatch mechanism to use a function per opcode and use
- a lookup table using the opcode # to call the correct function.
- Still have lots of tuning to do.
2002-10-18 21:19:27 +00:00
Andi Gutmans
7f9819e647 - Cleanup 2002-10-18 10:20:44 +00:00
5a935a445b ChangeLog update 2002-10-17 00:33:37 +00:00
Sebastian Bergmann
7b0949b005 Fix ZTS build. 2002-10-16 19:16:58 +00:00
Stanislav Malyshev
c42ec35331 Fix class static members: now the following code works:
<?php

class Foo {
         static $c = "Parent";
}

class Child extends Foo {
}

Foo::$c = "Hello";

var_dump(Child::$c);
?>
and returns "Hello" (class statics are not copied anymore, but looked up in
runtime)
2002-10-16 18:29:41 +00:00
Stanislav Malyshev
349b3a096a Fix and generalize $this handling.
ZEND_FETCH_FROM_THIS is removed, IS_UNUSED type on class variables will be
used instead as the sign that it's a fetch from $this
2002-10-16 18:06:36 +00:00
f0664706c9 ChangeLog update 2002-10-15 00:34:34 +00:00
Ilia Alshanetsky
fac8eaff1a MFZE1 2002-10-14 23:41:32 +00:00
Andi Gutmans
046bdeaaab - Support new classname::$class_name, e.g.:
<?

	class foo::bar {
		public $hello = "Hello, World\n";
	}

	$name = "bar";
	$obj = new foo::$name;
	print $obj->hello;
?>
2002-10-14 20:13:03 +00:00
cf3493a78d ChangeLog update 2002-10-14 00:35:29 +00:00
Ilia Alshanetsky
63212d27ee Increased the API number. (re: floats patch) 2002-10-13 15:28:21 +00:00
495dbef642 ChangeLog update 2002-10-13 00:33:52 +00:00
Ilia Alshanetsky
e842ef9f4b MFZE1 (floats & locale issue) 2002-10-12 21:15:35 +00:00
bc08177790 ChangeLog update 2002-10-11 00:33:57 +00:00
Sebastian Bergmann
69343667e7 Fugbix typo. 2002-10-10 18:49:29 +00:00
Stanislav Malyshev
f45d2f9225 add comment 2002-10-10 10:07:22 +00:00
Stanislav Malyshev
98ad93fb6d fix memory leaks 2002-10-10 09:57:56 +00:00
5cd142d736 ChangeLog update 2002-10-10 00:38:34 +00:00
Stanislav Malyshev
e22e61a4df Fix object write handler behaviour:
* If this value is already set to given value, don't try to set it again.
* If we have reference, we should not move it.
* If we are assigning referenced variable, we should separate it.
# Hope this covers all... Sigh...
2002-10-09 17:14:25 +00:00
Ilia Alshanetsky
d3617c51b8 MFZE1 zend_str_tolower issue. 2002-10-09 14:21:40 +00:00
26348e5392 ChangeLog update 2002-10-08 00:35:21 +00:00
Andi Gutmans
c32bac8fba - Fix test 2002-10-07 21:58:59 +00:00
Andi Gutmans
77b3ffbc5a - Require $this-> when calling a methods. This whole automatic lookup
- first in the class and then in the global scope is confusing, slow and
- not quite BC compatible.
2002-10-07 21:46:44 +00:00
Andi Gutmans
7cba0254e7 - Allow access to private/protected variables of $clone inside the __clone()
- method
2002-10-07 21:20:23 +00:00
5c782303a1 ChangeLog update 2002-10-07 00:34:07 +00:00
Andi Gutmans
278a00e1d8 - Fix problem with unsetting object members. 2002-10-06 19:55:31 +00:00
0662a009db ChangeLog update 2002-10-02 00:33:32 +00:00
Andi Gutmans
aa7bffeec6 - Fix problem when crashing on illegal tokens in class name during class
- definition.
2002-10-01 20:00:45 +00:00
b9cb4f9442 ChangeLog update 2002-10-01 00:34:05 +00:00
Derick Rethans
d23c9b24ca - No tabs :) 2002-09-30 10:34:40 +00:00
0166a14916 ChangeLog update 2002-09-29 00:34:45 +00:00
Derick Rethans
52bd901eb4 - Fix for defines... 2002-09-28 19:02:21 +00:00
Derick Rethans
34f5bd514c - Fix build in non-ZTS mode 2002-09-28 15:12:41 +00:00
03803bf412 ChangeLog update 2002-09-27 00:34:13 +00:00
Ilia Alshanetsky
ee7b8f906d MFZE1 2002-09-26 18:56:11 +00:00
2f418a1fdb ChangeLog update 2002-09-26 00:35:59 +00:00
Stanislav Malyshev
3fb0dc7b05 Propmote API NO year, so that it will never be the same as ZE1 API NO 2002-09-25 16:54:04 +00:00
c8114d7f31 ChangeLog update 2002-09-25 00:36:04 +00:00
Andi Gutmans
974b502199 - Fix leak 2002-09-24 19:32:01 +00:00
Andi Gutmans
f78fa50423 - Megapatch to try and support inheritance from sub-classes. Things might
- be *very* buggy now so don't get too upset if that happens.
- I still need to improve some stuff but it's a good step (hopefully).
2002-09-24 19:05:53 +00:00
46b4e9c0f9 ChangeLog update 2002-09-24 00:34:06 +00:00
Andi Gutmans
8831b9cfd0 - MFZE1. 2002-09-23 17:20:59 +00:00
f3a0c7e34b ChangeLog update 2002-09-22 00:34:53 +00:00
Andi Gutmans
21e9bc0fb3 - Someone screwed this up. 2002-09-21 13:01:08 +00:00
c2d899e0dd ChangeLog update 2002-09-20 00:35:19 +00:00
Derick Rethans
5acf8709c2 - Make Colin happy 2002-09-19 22:23:56 +00:00
Zeev Suraski
bd115087e3 MFZE1 - connection_status() fix 2002-09-19 15:58:01 +00:00
Zeev Suraski
8a003f8021 Fix non ZTS build 2002-09-19 15:15:39 +00:00
Zeev Suraski
c29f5d6e9d Fix that obscure crash in Debug_TS mode 2002-09-19 15:12:20 +00:00
532362e7f4 ChangeLog update 2002-09-19 00:34:48 +00:00
Zeev Suraski
5fcae67e9d Fix the thread-safe initialization of the ZE2. This should solve some
sporadic crashes, as well as the problem with the built-in constants.
2002-09-18 22:16:22 +00:00
Zeev Suraski
f2aa45d234 Remove dead code 2002-09-18 22:15:02 +00:00
Zeev Suraski
7dfa439185 Add useful debugging function 2002-09-18 14:08:07 +00:00
01f9c2ad14 ChangeLog update 2002-09-18 00:34:20 +00:00
Zeev Suraski
91b0d03346 Add tracking for hashtable allocation 2002-09-17 14:04:37 +00:00
Zeev Suraski
71126a21bc ZE2 fix 2002-09-17 12:44:10 +00:00
Zeev Suraski
aa07082a5c whitespace 2002-09-17 12:42:58 +00:00
Zeev Suraski
711be83d49 MFZE1 - threading fix 2002-09-17 12:42:11 +00:00
cab024e411 ChangeLog update 2002-09-17 00:33:53 +00:00
Andrei Zmievski
a35c61af3c MFZE1 2002-09-16 01:36:48 +00:00
78a17be5e5 ChangeLog update 2002-09-16 00:35:19 +00:00
Ilia Alshanetsky
94aaba773c Make zend actually strip comments. Bug #18151 2002-09-15 23:37:26 +00:00
Ilia Alshanetsky
1074fca0ae Make zend return a proper exit error code when it encounters a parse error. 2002-09-15 23:34:03 +00:00
Andi Gutmans
f8ebfe7c51 - Hopefully fix problem with __autoload not working well with inherited classes.
- There might still be some weird situations I haven't thought of.
2002-09-15 07:54:01 +00:00
Andi Gutmans
7f6c2da50a - WS fix - "while (" instead of "while(" 2002-09-15 07:46:20 +00:00
Andi Gutmans
43139dc755 - WS - Always use "if (" and not "if(" 2002-09-15 07:45:26 +00:00
Andi Gutmans
fcc0ce7eec - WS 2002-09-15 07:41:23 +00:00
a0620f711d ChangeLog update 2002-09-11 00:33:52 +00:00
Stanislav Malyshev
7fe216e27b MFZE1 2002-09-10 08:37:18 +00:00
Stanislav Malyshev
ca6717e348 MFZE1 2002-09-10 08:35:50 +00:00
Stanislav Malyshev
7fca47f1cf MFZE1 2002-09-10 08:18:53 +00:00
513a15b219 ChangeLog update 2002-09-10 00:33:44 +00:00
Stanislav Malyshev
44c2c39188 remove comment 2002-09-09 08:59:18 +00:00
e15e0336de ChangeLog update 2002-09-09 00:33:41 +00:00
Andi Gutmans
e3ca0ff0b8 - Prepare for alpha 3 2002-09-08 15:33:54 +00:00
5800ae1db2 ChangeLog update 2002-09-06 00:36:15 +00:00
Stanislav Malyshev
c2af55fb18 quick-n-dirty inheritance support for __handlers 2002-09-05 17:34:16 +00:00
e5fd005fa9 ChangeLog update 2002-09-05 00:34:49 +00:00
Sebastian Bergmann
af4243b908 Whitespace fixes. 2002-09-04 16:50:01 +00:00
Stanislav Malyshev
e8f6654663 remove dead code 2002-09-04 15:04:39 +00:00
Stanislav Malyshev
36c60cea38 Fix __call and add some docs 2002-09-04 15:03:41 +00:00
Sebastian Bergmann
2711976f56 Fix ZTS build. 2002-09-04 12:49:30 +00:00
Sebastian Bergmann
42eebfc81a TBD: __call(), __get(), __set(). 2002-09-04 12:49:15 +00:00
Stanislav Malyshev
d8651c82cd Support for __get, __set and __call in classes.
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.
2002-09-04 09:07:58 +00:00
Sebastian Bergmann
84c1bee585 Workaround for superfluous comma in var_export() result. 2002-09-04 05:46:16 +00:00
Sebastian Bergmann
7d85d01834 Let debug_backtrace() example print out the class name, if applicable, and the function/method arguments. 2002-09-04 05:35:20 +00:00
05d52abd27 ChangeLog update 2002-09-04 00:34:17 +00:00
Thies C. Arntzen
ca0a7c4323 nuke warning 2002-09-03 14:14:44 +00:00
Thies C. Arntzen
db92641e32 nuke unneeded stuff 2002-09-03 13:53:05 +00:00
Zeev Suraski
e801a99a50 MFZE1 2002-09-03 10:25:06 +00:00
Zeev Suraski
5f3e75a725 MFZE1 2002-09-03 10:06:13 +00:00
Derick Rethans
45a203b411 - Revert
#- Sorry... was too busy with it to notice discussion on php.dev
2002-09-03 09:57:27 +00:00
Derick Rethans
74049eb191 - MFH for: Apply rest of html errors fix (Patch by Jan Lehnardt <jan@php.net>) 2002-09-03 09:56:20 +00:00
Sebastian Bergmann
cfad3c664f Add html_errors to zend_utility_values. Patch by Jan Lehnardt <jan@php.net>. 2002-09-03 09:41:41 +00:00
Andi Gutmans
1c5841d376 - Fix typo 2002-09-03 04:19:04 +00:00
3df0df50f4 ChangeLog update 2002-09-03 00:32:58 +00:00
Thies C. Arntzen
96ab23981c refine last patch. if the argument-stack is not consistent don't try to show
arguments. no call to zend_error is made as we might end up in an infinite
recursion if called from an error_handler.
so: if the arguments to functions aren't shown in debug_backtrace this is 'cause
the arument stack was not consistent when debug_backtrace was called.
2002-09-02 12:26:09 +00:00
Thies C. Arntzen
9afea7175c debug_backtrace() now checks the complete argument-stack for consistency. 2002-09-02 12:20:09 +00:00
Stanislav Malyshev
c8a659f8f6 MFZE1 2002-09-02 09:13:53 +00:00
bf220ce104 ChangeLog update 2002-09-02 00:31:53 +00:00
Andi Gutmans
f4e8b2c4e9 - Fix leak reported by "l0t3k" <cshmoove@hotmail.com> 2002-09-01 19:19:50 +00:00
Stanislav Malyshev
73cf316a53 MFZE1 2002-09-01 08:30:39 +00:00
3324e38e8a ChangeLog update 2002-08-29 00:17:29 +00:00
Thies C. Arntzen
eef3e66f1f debug_backtrace()
- make args passed to functions called vy call_user_function available again.
2002-08-28 15:05:15 +00:00
Thies C. Arntzen
b72069e859 debug_backtrace():
- make args work if called from the error_handler
- fix refcount for args
2002-08-28 14:49:15 +00:00
Thies C. Arntzen
bdc35c9f2e clear current_execute_data on bailout as it would point into some freed area
on the stack.
2002-08-28 14:43:32 +00:00
Derick Rethans
a9d819818b - MFZE1 2002-08-28 09:49:40 +00:00
9cf662e1a2 ChangeLog update 2002-08-27 00:20:32 +00:00
Thies C. Arntzen
4d931b9888 debug_backtrace(): show name of included file for include and require calls
plus some small fixes suggested by andi.
# now it's perfect;-)
2002-08-26 16:40:34 +00:00
6218e98046 ChangeLog update 2002-08-25 00:18:44 +00:00
Andi Gutmans
c651dd962f - Whitespace 2002-08-24 20:57:54 +00:00
Andi Gutmans
8a02b43073 - Whitespace and better variable name 2002-08-24 20:52:52 +00:00
Thies C. Arntzen
800c67a166 fix warning 2002-08-24 09:05:44 +00:00
89f8b5ad79 ChangeLog update 2002-08-24 00:20:37 +00:00
Andi Gutmans
f976590420 - Add \n to configure fprintf 2002-08-23 22:11:10 +00:00
Andi Gutmans
3844b6af97 - dlerror -> DL_ERROR 2002-08-23 22:07:59 +00:00
Thies C. Arntzen
eea1a0b296 debug_backtrace: show include/require/eval as normal functions on the stack
# the hard bit is to find out the args for those
2002-08-23 14:44:58 +00:00
Derick Rethans
8feda5cb6a - No spaces :) 2002-08-23 14:28:56 +00:00
Thies C. Arntzen
280809189b - debug_backtrace now also returns an array containing the arguments of the
called function.

zeev, andi - is knowing the structure of the stack considered a bad thing in
zend_builtin_function? if yes i would have to create a new function in
zend_ptr_stack.c (but i think we are save this way)
2002-08-23 14:22:25 +00:00
Thies C. Arntzen
7ed2d363c8 - debug_backtrace:
added "type" ('->' or '::') for object calls.
	made calls done thru call_user_func show-up correct in backtraces.

andi,
does this look correct to you?
2002-08-23 13:50:42 +00:00
Thies C. Arntzen
10b58f2110 those are set by RETURN_FROM_EXECUTE 2002-08-23 12:18:54 +00:00
f35c4b5138 ChangeLog update 2002-08-22 00:17:15 +00:00
Thies C. Arntzen
d88ca858aa zend_execute: make sure that current_execute_data points to the right thing
after coming back from recursion.
2002-08-21 13:58:20 +00:00
e321742383 ChangeLog update 2002-08-20 00:19:08 +00:00
Zeev Suraski
91f585744f MFZE1 2002-08-19 20:58:22 +00:00
2d2250c520 ChangeLog update 2002-08-18 00:18:19 +00:00
Andi Gutmans
2372caf57e MFZE1 2002-08-17 20:20:36 +00:00
Zeev Suraski
b66561c44a MFZE1 2002-08-17 16:22:40 +00:00
Zeev Suraski
88fd5f3f5d MFZE1 2002-08-17 16:07:26 +00:00
f32baf54b6 ChangeLog update 2002-08-17 00:19:19 +00:00
Stig Bakken
5a41ced0d7 * append emacs footer 2002-08-16 10:12:17 +00:00
Stig Bakken
bd7105f731 * remove builtin exception class 2002-08-16 10:11:32 +00:00
Andi Gutmans
38eea2e817 - Fix whitespace 2002-08-16 07:11:37 +00:00
Stig Bakken
04788f9503 @- Added set_exception_handler() function for registering a global,
@  catch-all exception handling function (Stig)
- Added set_exception_handler() function for registering a global,
  catch-all exception handling function (Stig)
2002-08-16 00:41:37 +00:00
87d86ad21d ChangeLog update 2002-08-16 00:18:07 +00:00
Zeev Suraski
0bb780b384 MFZE1 2002-08-15 00:25:27 +00:00
d823e3fe41 ChangeLog update 2002-08-15 00:18:40 +00:00
Jason Greene
b806a8e247 MFZE1 (use token instead of global for opcode counting) 2002-08-14 01:40:59 +00:00
fa626babf2 ChangeLog update 2002-08-14 00:18:10 +00:00
Andi Gutmans
17d1c75b8b - Fix crash when exception is raised in __autoload function 2002-08-13 16:46:40 +00:00
Zeev Suraski
88d3154b68 MFZE1 2002-08-13 15:14:45 +00:00
4097df12c6 ChangeLog update 2002-08-09 00:18:23 +00:00
Sebastian Bergmann
646292e08b Fix warning. 2002-08-08 18:50:46 +00:00
Stanislav Malyshev
11fb07a360 Add ZEND_API to functions 2002-08-08 17:53:32 +00:00
Andi Gutmans
52406cb37c - Make new 'is' operator work with classes only and return false when
- the object isn't of the said class or the value isn't an object.
2002-08-08 16:32:34 +00:00
Andi Gutmans
7904787f95 - Bad Harald! :) 2002-08-08 16:07:09 +00:00
Zeev Suraski
0e50ac4b2c MFZE1 2002-08-08 08:42:22 +00:00
c4b11d2447 ChangeLog update 2002-08-08 00:18:02 +00:00
Harald Radi
99c90db11a make win32 debug output more verbose 2002-08-07 14:47:42 +00:00
c5067529ee ChangeLog update 2002-08-04 00:18:09 +00:00
Andi Gutmans
61a73183cc - Small fix 2002-08-03 09:50:07 +00:00
Zeev Suraski
6025b804c2 MFZE1 2002-08-03 09:44:27 +00:00
82b5dc103f ChangeLog update 2002-08-02 00:23:21 +00:00
Stanislav Malyshev
0e7c1f4609 MFZE1 2002-08-01 16:07:19 +00:00
e219b8e70c ChangeLog update 2002-07-31 00:18:46 +00:00
Jason Greene
b0cf6c3112 MFZE1 global declare 2002-07-30 22:19:50 +00:00
Jason Greene
838b8ba49f Fix segfault 2002-07-30 22:14:39 +00:00
Andrei Zmievski
82c72f2799 @- Adding 'is' operator that can be used to check the type of a variable,
@  or its class. (Andrei)
2002-07-30 04:07:15 +00:00
110027f64a ChangeLog update 2002-07-29 00:18:58 +00:00
Harald Radi
476bae4035 update the handlers struct 2002-07-28 13:06:54 +00:00
aa338d7b21 ChangeLog update 2002-07-28 00:19:08 +00:00
Andi Gutmans
b476ddf183 - Make sure classes are first looked for in the current scope.
- Make sure that during inheritance the global scope is searched if the
- current one doesn't work.
2002-07-27 15:53:14 +00:00
6a1b927482 ChangeLog update 2002-07-27 00:18:39 +00:00
Andi Gutmans
41e3f4f0c3 - Fix problem with debug_backtrace() reported by Stig. We weren't reporting
- global function information because it wasn't available. We have to do
- an additional assignment per-function call so that it'll be available.
- Also don't define the global scope as function name _main_ but leave it
- empty so that frameworks like Pear can decide what they want to do.
2002-07-26 10:38:25 +00:00
e7bd50a5e6 ChangeLog update 2002-07-26 00:18:24 +00:00
foobar
c4789feffa Fixed 3 major failures in this test:
1. Tests work better when they are actually run..
  2. When file is opened, it should be closed sometime too.
  3. AC_TRY_RUN cleans after itself (rm -f conftest.*), so it's
     good idea to read the values while the file still exists.

#
# James, TEST BEFORE YOU COMMIT!!!!!!!
#
# Andi, I get these results (in Linux/i386):
#
#  ZEND_MM_ALIGNMENT      4
#  ZEND_MM_ALIGNMENT_LOG2 2
#
# Weren't these supposed to be 8 and 3 ?
#
2002-07-25 23:55:06 +00:00
e09f789c14 ChangeLog update 2002-07-25 00:18:55 +00:00
Andi Gutmans
a38038a4a0 - Fix some compile problems with the new configure checks. 2002-07-24 18:53:19 +00:00
James Cox
5626fc5a39 move testing for the alignment values into configure. 2002-07-24 17:04:11 +00:00
James Cox
79ef1c1661 ws fixes. 2002-07-24 00:50:04 +00:00
6b08ac665b ChangeLog update 2002-07-24 00:18:45 +00:00
Andi Gutmans
b291dfad3d - Fix WS. 2002-07-23 19:29:02 +00:00
435c2611fd ChangeLog update 2002-07-22 00:19:47 +00:00
Andi Gutmans
8dd639ce22 - Fix bug reported by Sebastian where old constructors didn't work in
- nested classes.
2002-07-21 18:50:10 +00:00
eb14d0f8e7 ChangeLog update 2002-07-19 00:18:47 +00:00
Derick Rethans
0650a59aea - MFZE1 - MacOSX fixes by Marko Karppinen 2002-07-18 11:16:34 +00:00
fb3f1709e8 ChangeLog update 2002-07-18 00:19:37 +00:00
Andi Gutmans
0355dc5504 - Remove code which wasn't supposed to go into the patch. 2002-07-17 18:39:26 +00:00
Andi Gutmans
9c52e883f0 - Rejuggle some code. 2002-07-17 18:36:29 +00:00
foobar
ff012991f8 This was mentioned already above (with an example too :) 2002-07-17 03:46:55 +00:00
8505e6ec1e ChangeLog update 2002-07-17 00:19:37 +00:00
Andi Gutmans
852f4f2c29 - Before I forget to list it, this was also added. 2002-07-16 19:16:53 +00:00
Andi Gutmans
3be1dd468e - Syntactic sugar - Add "public" as a synonym for "var".
- Now we have the three P's.
You can do:

<?
	class MyClass {
		public $a;
		private $b;
		protected $c;
	}

?>
2002-07-16 19:11:14 +00:00
449327f57c ChangeLog update 2002-07-16 00:18:24 +00:00
Derick Rethans
c652c4b512 - MFH of the crap removal 2002-07-15 18:11:04 +00:00
Andi Gutmans
bc5ea87e28 - Commit patch to support protected member variables (by Timm Friebe w/
- some fixes by me).
- You can't access protected variables from outside the object. If you want
- to see a protected member from your ancestors you need to declare the
- member as protected in the class you want to use it in. You can't
- redeclare a protected variable as private nor the other way around.
2002-07-15 18:09:56 +00:00
Andi Gutmans
f7d9b9f1ae - Really implement bool increment/decrement as flip-flop. 2002-07-15 04:11:13 +00:00
2fba341e07 ChangeLog update 2002-07-15 00:21:10 +00:00
Andi Gutmans
7b68f5108a - Nuke delete(). It was a big mistake to introduce it and I finally
- understand why Java didn't do so.
- If you still want to control destruction of your object then either make
- sure you kill all references or create a destruction method which you
- call yourself.
2002-07-14 19:23:18 +00:00
Andi Gutmans
35e8d8139e - Nuke some unused code 2002-07-14 18:17:07 +00:00
Derick Rethans
207845410b MFZE1 2002-07-14 11:48:45 +00:00
Derick Rethans
dcd67e0b14 - MFZE1 2002-07-14 09:37:42 +00:00
Derick Rethans
643f21e840 - MFZE1 2002-07-14 09:29:42 +00:00
8e7219e123 ChangeLog update 2002-07-08 00:17:06 +00:00
Andi Gutmans
1b5ac1386e - Path which should improve previous fix. 2002-07-07 19:59:37 +00:00
Andi Gutmans
4271895222 - First try at solving problem with different objects being allocated the
- same id.
2002-07-07 19:34:34 +00:00
Stanislav Malyshev
0ed4f6d184 name length should be strlen+1 2002-07-07 13:06:58 +00:00
Sebastian Bergmann
c9f1c9c19f Allow for 'class Namespace::Bar extends Foo' syntax. Patch by Timm Friebe <thekid@thekid.de>. 2002-07-07 08:22:23 +00:00
08f4a57cad ChangeLog update 2002-07-07 00:17:17 +00:00
Andi Gutmans
677a9e8751 - Fix problem where scope was lost in nested function calls.
- Thanks to Timm Friebe for diving into this one.
2002-07-06 17:44:45 +00:00
Zeev Suraski
0ae66bd659 spelling fix 2002-07-06 16:48:13 +00:00
e8c76f21ad ChangeLog update 2002-07-06 00:18:36 +00:00
Stig Bakken
eebae9f9ef * folding fixes 2002-07-05 02:34:54 +00:00
7e921b42a4 ChangeLog update 2002-07-02 00:37:08 +00:00
Andi Gutmans
57b853c831 - Fix bug when acccessing $this not in class scope. 2002-07-01 15:13:39 +00:00
Andi Gutmans
4a52b98835 - Export zend_object_get_address() 2002-07-01 04:21:40 +00:00
acac7af404 ChangeLog update 2002-07-01 00:24:52 +00:00
Andi Gutmans
4d1321afbc - Remember to document autoload when I have time. 2002-06-30 19:55:50 +00:00
Derick Rethans
bf4e59449b - MFZE1 2002-06-30 11:18:43 +00:00
cfc2259d13 ChangeLog update 2002-06-30 00:22:49 +00:00
Andi Gutmans
f24cb9731c - Get ready for alpha2 2002-06-29 19:37:10 +00:00
Andi Gutmans
401c26fb5e - Invalid -> Undefined 2002-06-29 16:01:40 +00:00
Andi Gutmans
5f2fcdd689 - Add missing semi-colon. 2002-06-29 15:38:40 +00:00
Andi Gutmans
ede84fa384 - Improve some error messages. 2002-06-29 15:30:27 +00:00
Andi Gutmans
20d02565df - Revert previous fix. 2002-06-29 11:24:11 +00:00
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