Commit Graph

646 Commits

Author SHA1 Message Date
Zeev Suraski
b1a837ad17 More cleanup 2000-02-05 16:38:50 +00:00
Zeev Suraski
f207b3623e Pass the executor globals to internal functions 2000-02-05 15:40:05 +00:00
Zeev Suraski
9f51f154aa - Stop passing list/plist to internal functions
- Add a typedef for the pCopyConstructor function pointer
- Minor hacks
2000-02-05 15:11:24 +00:00
Zeev Suraski
ef5d72cc37 That was the broken downcasting that prevented the interactive C++ mode from working properly under UNIX 2000-02-05 01:26:15 +00:00
Zeev Suraski
b6197bcf90 Maintain a state of whether we're compiling and/or executing 2000-02-04 14:45:58 +00:00
Andrei Zmievski
e0628436f3 *** empty log message *** 2000-02-03 18:51:33 +00:00
Zeev Suraski
8b9e07dace - Fix built-in classes with more than 5 methods 2000-02-02 22:23:37 +00:00
Zeev Suraski
b3ec6d5d05 - Fix the annoying problem with list(), that surfaced up after our recent cleaning
patches
2000-02-02 16:47:43 +00:00
Andrei Zmievski
b995d2cc2f Added add_property_unset() and add_property_bool(). 2000-02-01 23:12:48 +00:00
Zeev Suraski
485412ecb1 Improve dependencies 2000-02-01 22:04:52 +00:00
Zeev Suraski
5cabf74445 Sort out a gdb problem 2000-02-01 19:22:59 +00:00
Zeev Suraski
39adeaf4f4 Fix warning 2000-02-01 18:54:01 +00:00
Andi Gutmans
131e3a06fb - Get rid of remains of garbage.
- This should fix Thies' UMR
2000-02-01 16:02:38 +00:00
Thies C. Arntzen
11f53347c7 moved destroying of garbage before resource-list gets destroyed - (see my previous mail)
zeev, andi - please comment!
2000-02-01 11:41:15 +00:00
Thies C. Arntzen
8c4ab98e17 added missing break. 2000-02-01 11:37:33 +00:00
Thies C. Arntzen
d6afe4bac7 took out zend_hash_pointer_update() & zend_hash_pointer_index_update_or_next_insert() - i really prefer link-errors instead of runtime-errors, don't you? 2000-02-01 10:40:05 +00:00
Andi Gutmans
45686e3a55 - This has to always be done. 2000-01-31 21:09:14 +00:00
Zeev Suraski
f2d3ce4170 - Optimized garbage mechanism
- Fixed another buglet in the parser
2000-01-31 19:18:07 +00:00
Zeev Suraski
0517436bf9 - Fix foreach()
- Fix indirect reference with object properties
2000-01-31 18:21:54 +00:00
Andi Gutmans
fdbca7526f - Fix the bug Thies found where I forgot to change a break; to NEXT_OPCODE();
- If you find anymore let me know
2000-01-30 21:17:29 +00:00
Andi Gutmans
0296bba808 - Run it on align_test 2000-01-30 04:49:43 +00:00
Zeev Suraski
400f464307 Fix ``'s 2000-01-29 17:49:05 +00:00
Zeev Suraski
ad115d2088 Fix require() 2000-01-29 17:19:47 +00:00
Andi Gutmans
6864e05ae3 - Get rid of another rule which isn't needed. 2000-01-29 10:20:05 +00:00
Andi Gutmans
7663e4f65e - Add parser support for string offsets. This added three shift/reduce
conflicts but they all seem to be fine.
- Cleaned up the parsing rules a bit and made them much more compact and
  elegant.
- Please CVS update and see that I didn't break anything.
2000-01-29 10:16:04 +00:00
Andi Gutmans
b862a8b728 - This will save some memory w/ GCC compilers on some platforms 2000-01-29 09:14:22 +00:00
Andi Gutmans
5da185594c - Yet another tiny optimization. 2000-01-29 00:33:07 +00:00
Andi Gutmans
336bf35a2c - Make loop a bit faster. 2000-01-28 22:23:28 +00:00
Andi Gutmans
059b64efbe - Make sure its use is understood. 2000-01-28 21:46:07 +00:00
Andi Gutmans
c23056719e - Double the speed of some key switch() tests for Win32. 2000-01-28 21:43:46 +00:00
Andi Gutmans
6f63373bb2 - This makes the switch() statement twice as quick. Moving to enum
might make this a general speed up for other platforms too
2000-01-28 13:25:55 +00:00
Andi Gutmans
8b9765a917 - Keep objects as references. 2000-01-26 21:10:46 +00:00
Andi Gutmans
4585f7bf1f - Allow is_ref to become 0 in case the refcount is back to 1. 2000-01-26 05:03:22 +00:00
Andi Gutmans
58a0844b1c - Make foreach() now copy the array but use the original array. It can
still be optimized A LOT but it's only a performance issue and not
  a feature issue.
2000-01-24 19:04:07 +00:00
Zeev Suraski
fafbf6d8da - Implement declare() with declarables framework
- Implement ticks - Germany&Norway - 5 points!
2000-01-24 19:00:30 +00:00
Zeev Suraski
adec56938e Fixes 2000-01-24 17:29:15 +00:00
Zeev Suraski
e6ba28b680 Fix an elusive bug 2000-01-22 17:02:48 +00:00
Zeev Suraski
c3677ca907 Add some order... 2000-01-20 14:26:31 +00:00
Zeev Suraski
92633067af Indentation fixes 2000-01-20 05:27:57 +00:00
Andi Gutmans
af2ef0830a - Optimize zend_hash_del a tiny bit. 2000-01-19 19:47:16 +00:00
Andi Gutmans
aa73f6b68f - Hopefully fix the hash problem. 2000-01-19 19:44:32 +00:00
Andi Gutmans
7271c050a3 - Hrm I'm not concentrating 2000-01-19 18:14:20 +00:00
Andi Gutmans
99783fe795 - Actually the destructor should run after the data is already detached
from the hash but before the bucket is freed.
2000-01-19 18:12:05 +00:00
Andi Gutmans
d3690efffe - Rollback hash_apply and friends. They assume now that hash_del is reentrant
as it first applies the destructor and only later nukes the bucket
2000-01-19 18:05:16 +00:00
Andi Gutmans
b7b97df93f - Run destructor before the hash structure is modified, thus, making
hash_del, reentrant (BLOCK_INTERRUPTIONS needs to be made a counter now).
2000-01-19 17:39:55 +00:00
Andi Gutmans
58fb1a3922 - Undo a bug we introduced. (Another one out there). 2000-01-19 17:31:33 +00:00
Thies C. Arntzen
fb6a1b8b83 RETURN_NULL -> RETURN_NULL() // we don't want macros without an argumnet 2000-01-19 09:38:45 +00:00
Zeev Suraski
549cf0381a Leak fix 2000-01-18 22:18:17 +00:00
Thies C. Arntzen
cd377b646d RETURN_NULL & RETVAL_NULL don't need (). 2000-01-18 08:40:45 +00:00
Thies C. Arntzen
bbe2172c38 use defines 2000-01-17 19:17:58 +00:00
Zeev Suraski
19d978d1c7 Get rid of the IsPointer functionality in the hash. 2000-01-17 18:45:46 +00:00
Zeev Suraski
a965dc5b40 - Fixes a newly introduced bug in the hash 2000-01-17 18:09:03 +00:00
Zeev Suraski
62114c1806 Destructors no longer return ints, the low level problem it was intended to solve is long gone now... 2000-01-17 17:33:37 +00:00
Zeev Suraski
ee08b81aab - Make zend_hash_apply() (and friends) reentrant and much, much quicker
- Introduce zend_hash_graceful_destroy(), which allows the destructor functions to
  use zend_hash_apply() and/or zend_hash_graceful_destroy()
- Switch to zend_hash_graceful_destroy() in the resource list shutdowns
2000-01-16 20:59:03 +00:00
Zeev Suraski
dc0e663241 Allow module startup to be separate from the compiler/executor startup 2000-01-16 19:41:15 +00:00
Thies C. Arntzen
bd375505f7 make the ht->inconsistent stuff less ugly:) 2000-01-16 09:45:10 +00:00
Zeev Suraski
caaeb9ff12 Fix a bug in call_user_function_ex() 2000-01-15 22:52:24 +00:00
Zeev Suraski
470fe972f5 Added support for $foo->{$bar}["foobar"] notation (was supported in PHP 3) 2000-01-15 17:17:32 +00:00
Thies C. Arntzen
c93a189028 if ZEND_DEBUG mode is on we'll now see warnings when a HashTable is accessed
while it's inconsistent.

Zeev, Andi - you welcome to revert this patch if you don't like it - i find it
useful! accesssing inconsistent hashtables is one of the hardest things to track!
2000-01-15 13:40:17 +00:00
Andrei Zmievski
7d425f38ee Since we're highlighting code, put <code> and </code> around the code. 2000-01-14 19:35:29 +00:00
Zeev Suraski
f24931222c Make Win32 compile again 2000-01-13 20:34:45 +00:00
Sascha Schumann
bf7b292db9 Move dl stuff from acconfig.h into zend.h. That allows us finer control
when it comes to suppressing dlfcn.h.
2000-01-12 19:52:33 +00:00
Zeev Suraski
d3cad4f289 Functionality & crash fixes 2000-01-09 19:16:34 +00:00
Andi Gutmans
44e9e95933 - Rename IS_BC to FLAG_IS_BC. We will probably nuke it. 2000-01-04 14:25:42 +00:00
Thies C. Arntzen
af22085c51 added ZVAL_*() macros. 2000-01-04 13:56:17 +00:00
Andi Gutmans
b8cebe32e3 - Separate the overloaded objects' types from Zend's data types.
There is no reason for them to be the same, and IS_METHOD just cluttered
  there data types.
2000-01-04 13:52:52 +00:00
Andi Gutmans
bdefd5da15 - Change IS_UNSET -> IS_NULL 2000-01-04 13:22:58 +00:00
Zeev Suraski
f29ee8f7ee Fix a bug when using [] on a string 2000-01-03 20:01:54 +00:00
Joey Smith
c5589a9dd5 # There is no functions/ directory in PHP4.
@ number.h comes from ext/bcmath, not functions/
 number.h comes from ext/bcmath, not functions/
2000-01-03 18:53:29 +00:00
Zeev Suraski
8e99c415ab Fix 2000-01-03 17:26:24 +00:00
Andi Gutmans
da8ad4f20f - Fix compare_function() for IS_UNSET 2000-01-03 05:28:34 +00:00
Zeev Suraski
990ac99c97 Fix 2000-01-02 16:47:00 +00:00
Thies C. Arntzen
bc6811ec90 renamed RET???_UNSET -> RET???_NULL 2000-01-02 11:44:33 +00:00
Sascha Schumann
800ffda01c Some cleanup 2000-01-01 20:49:34 +00:00
Andi Gutmans
4a4fe0974f - IS_NULL should be 0 when converted to a long although I don't think it
really should be documented.
2000-01-01 18:47:03 +00:00
Zeev Suraski
a6d4b30d19 Fix buglet 2000-01-01 15:31:59 +00:00
Zeev Suraski
4765396846 .dsp updates 1999-12-31 16:20:04 +00:00
Zeev Suraski
61b9e78e1b - Add Release_inline builds 1999-12-31 15:41:18 +00:00
Zeev Suraski
f2d703e916 - Nuke undefined_variable_string
- Introduce IS_UNSET
1999-12-31 13:56:59 +00:00
Andi Gutmans
400ee6caa0 - Fix bug #3073. continue in do..while() loops should work now 1999-12-31 12:56:48 +00:00
Zeev Suraski
5864b57eec This should enable people to use ALLOC_ZVAL() in code outside the php4.dll 1999-12-30 05:25:44 +00:00
Sascha Schumann
d93da3c1c3 Solaris' sed does not like this expression. Since -O0 is the default,
we can also omit it.
1999-12-30 01:13:42 +00:00
Zeev Suraski
80e20b5fea - Change var_reset() to set bool(0) instead of string("")
Authors should go over their code and change it to use var_reset() instead of manually
setting it to string(""), in case they're interested in the false value.
1999-12-29 17:29:26 +00:00
Zeev Suraski
8f88443aba time_t is an int under Linux... this should always work. 1999-12-29 17:22:47 +00:00
Sascha Schumann
32ef59b290 Fix warnings 1999-12-28 20:33:02 +00:00
Thies C. Arntzen
546af70783 new constant: SQL_NULL
new macros: RETURN_SQLNULL,RETVAL_SQLNULL,IS_SQLNULL
1999-12-28 12:05:48 +00:00
Zeev Suraski
39d9a93acc Fix 1999-12-27 22:03:25 +00:00
Andi Gutmans
c34a062f5c - Get rid of warning 1999-12-27 19:17:40 +00:00
Zeev Suraski
b7a5b3c309 - Generalize the fast cache mechanism
- Add the HashTable struct to the fast cache mechanism
1999-12-27 19:07:33 +00:00
Andi Gutmans
27daca31f3 - Make zend_internal_function allocate a full zend_function structure so
that we don't get memory overruns and Thies doesn't get angry :)
1999-12-27 17:29:35 +00:00
Zeev Suraski
1ad06e428d *** empty log message *** 1999-12-27 17:24:33 +00:00
Zeev Suraski
ebd4445ba2 Add cache statistics support 1999-12-27 16:42:59 +00:00
Thies C. Arntzen
9cf1a98d0e fix UMR in ZTS mode 1999-12-27 11:22:57 +00:00
Zeev Suraski
3c50b7ee45 - Enable the new zval cache on debug too. No real reason not to, and it keeps
the code cleaner.
- ZTS compile fixes
1999-12-26 23:20:18 +00:00
Zeev Suraski
b90bc0b15c Fix buglet 1999-12-26 22:50:08 +00:00
Zeev Suraski
90e1b0734e Add missing file 1999-12-26 22:41:20 +00:00
Zeev Suraski
aec33aa753 Introduce a zval-specific cache - 5-15% speed improvement 1999-12-26 21:56:59 +00:00
Sascha Schumann
14f915ece6 Makefile.am: Add dummy target for dependencies
acinclude.m4: Cache result of broken sprintf check
1999-12-26 21:45:53 +00:00
Zeev Suraski
235386b245 Change ALLOC_ZVAL() semantics 1999-12-26 21:21:33 +00:00
Zeev Suraski
c517633b49 namespace protection 1999-12-26 20:45:42 +00:00