Zeev Suraski
c34f41b7c5
Eliminate run-time leak with eval()'s
2000-08-19 17:50:42 +00:00
Zeev Suraski
c06692e9ec
The patch we promised - redesigned the compilation/execution API:
...
Advantages:
- Smaller memory footprint for the op arrays
- Slightly faster compilation times (due to saved erealloc() calls and faster zend_op
initialization)
- include_once() & require_once() share the same file list
- Consistency between include() and require() - this mostly means that return()
works inside require()'d files just as it does in include() files (it used to
be meaningless in require()'d files, most of the time (see below))
- Made require() consistent with itself. Before, if the argument was not a constant
string, require() took the include() behavior (with return()).
- Removed lots of duplicate code.
Bottom line - require() and include() are very similar now; require() is simply an include()
which isn't allowed to fail. Due to the erealloc() calls for large op arrays, require()
didn't end up being any faster than include() in the Zend engine.
2000-08-09 19:22:35 +00:00
Sascha Schumann
a61721741b
Replace macros which begin with an underscore through an appropiately
...
named macro.
2000-07-03 00:55:36 +00:00
Zeev Suraski
fde2e61d54
error_reporting fix
2000-06-30 11:45:32 +00:00
Stanislav Malyshev
7f87a319aa
Make cache counters to be unsigned int
...
Start collecting statistics after cache pre-fill
2000-06-22 09:17:38 +00:00
Zeev Suraski
34c2b0a07c
- Add restore_error_handler()
...
error_handler's are now stored in a stack
2000-06-17 18:04:58 +00:00
Zeev Suraski
84eb48f0a1
Ok, this time here's some real Win32 system programming :)
...
Redesigned the timeout system using a single timeout thread and a single window,
and used a much quicker check.
2000-06-16 14:27:28 +00:00
Zeev Suraski
ef0bd3d102
- Move timeout code to Zend
...
- Implement timeouts in Win32
2000-06-16 01:54:56 +00:00
Sascha Schumann
df74f1dfab
Add optional support for C0x inline semantics.
...
These are enabled by specifying `--enable-c0x-inline' on the command
line. We might add an autoconf check for this particular feature
later.
2000-06-13 17:58:33 +00:00
Zeev Suraski
0b7a9cea88
- Fix Win32 compilation (Use winsock2.h from now on)
...
- Add lambda() support
2000-06-03 01:49:49 +00:00
Zeev Suraski
67f6974373
Initial support for trapping errors (not complete and disabled; will be enabled only
...
post-PHP 4.0.0)
2000-04-19 15:08:06 +00:00
Zeev Suraski
e663d856b3
Fix object overloading support
2000-04-10 20:21:13 +00:00
Andi Gutmans
5951b166c8
- Quick way of supporting include_once().
...
Good enough for RC1.
2000-03-10 16:36:30 +00:00
Zeev Suraski
5e55e47f7f
It's official now...
2000-03-06 05:26:39 +00:00
Zeev Suraski
0ac9536d99
(c) patch
2000-02-19 22:46:42 +00:00
Zeev Suraski
b6197bcf90
Maintain a state of whether we're compiling and/or executing
2000-02-04 14:45:58 +00:00
Andi Gutmans
131e3a06fb
- Get rid of remains of garbage.
...
- This should fix Thies' UMR
2000-02-01 16:02:38 +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
5864b57eec
This should enable people to use ALLOC_ZVAL() in code outside the php4.dll
1999-12-30 05:25:44 +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
Zeev Suraski
ebd4445ba2
Add cache statistics support
1999-12-27 16:42:59 +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
aec33aa753
Introduce a zval-specific cache - 5-15% speed improvement
1999-12-26 21:56:59 +00:00
Zeev Suraski
c517633b49
namespace protection
1999-12-26 20:45:42 +00:00
Zeev Suraski
223c674c2a
- Made things work again (Thies, everybody - please check the latest CVS and see if you're
...
still getting any problems)
- Changed the interface of call_user_function_ex() to support returning of references
1999-12-19 18:54:40 +00:00
Andi Gutmans
213d0e2fb2
- More fixes related to the return references patch
...
- eval_string() and call_user_function_ex() still don't work.
- The libzend tree is untested and might not be stabl yet.
1999-12-19 06:39:17 +00:00
Zeev Suraski
ced9cee10c
- Implement return by reference:
...
- In function declaration instead of the return statement
- In the assignment phase
- Implement ability to turn off support for call-time pass by reference
1999-12-15 20:15:32 +00:00
Andi Gutmans
5463dd5b38
- Add use support (behaves like require, but will not use the same file twice)
...
- Add import support (behaves like include, but requires parentheses; will not
use the same file twice; Currently, it is not yet properly implemented, and
only behaves like include)
1999-11-30 20:15:04 +00:00
Zeev Suraski
86a0efcff5
Fix #2744
1999-11-22 16:30:23 +00:00
Sascha Schumann
b510a6d11f
More portability stuff
1999-10-05 15:13:22 +00:00
Andi Gutmans
1c0f136405
- Hooray. This might actually work. (I hope)
1999-10-03 20:06:21 +00:00
Andi Gutmans
22f066e708
- Add foreach() freeing code.
...
- Fix switch() freeing code to only free current function's switch expressions.
- I have a feeling break expr; in a switch where expr > 1 leaks because it
won't free all of the expressions. Fix is probably not trivial.
1999-09-09 14:15:17 +00:00
Andi Gutmans
99947a251e
- Shift around header files.
1999-09-05 19:03:35 +00:00
Sascha Schumann
d82728c4d0
This changes makes it work on egcs 1.1.2/Alpha
1999-08-22 19:43:04 +00:00
Andi Gutmans
b5f5e9a6d1
- Optimize the execute stack a bit.
1999-08-15 19:29:39 +00:00
Andi Gutmans
741ca16711
- Fixed various inheritance problems & Andrey's leak
1999-07-28 17:59:55 +00:00
Zeev Suraski
8d1de13aef
0.91 update
1999-07-19 20:02:12 +00:00
Zeev Suraski
b5b1117760
License update
1999-07-16 14:58:16 +00:00
Zeev Suraski
909590ba7b
Put the garbage in the garbage bin
1999-07-10 11:47:16 +00:00
Zeev Suraski
cccd2445ee
Get rid of AiCount completely
1999-07-10 11:45:23 +00:00
Zeev Suraski
9ece796086
define zend_bool
1999-07-02 14:10:57 +00:00
Zeev Suraski
87ba08d1d0
Avoid leaking fd's in case of failures
1999-05-22 02:13:01 +00:00
Zeev Suraski
473d1d7cf1
* Fix a bug that occured in case of parse errors. We need to restore the lexical state
...
even if the compilation failed.
1999-05-11 17:50:37 +00:00
Zeev Suraski
7c4a08381e
Various thread safety fixes and DLL updates
1999-04-26 14:10:42 +00:00
Andi Gutmans
df6134bc42
-More commits
1999-04-26 03:03:39 +00:00
Zeev Suraski
e06a1ed265
Thread safety fixes
1999-04-24 16:16:11 +00:00
Zeev Suraski
1aa2c5c0b4
Ok, call me crazy, because I probably am.
...
Thread safe version now uses a C++ scanner object. Works fully.
1999-04-23 03:32:33 +00:00
Zeev Suraski
551fe7780b
Make token names uniform, they all begin with T_ now.
1999-04-22 23:08:42 +00:00
Zeev Suraski
942f409292
* Change the thread safe project to create a C++ scanner.
...
* Add in a slightly modified skeleton file (only a couple of #if's for #include's
that we dont have in Windows)
It does NOT compile or work yet :)
1999-04-21 20:13:02 +00:00
Zeev Suraski
52fcaa443b
Thread-safe project
1999-04-21 15:35:57 +00:00
Zeev Suraski
7a87fcbbda
Thread safety patch. We're still not quite there but it compiles again, and
...
more logic has been implemented.
1999-04-21 03:49:09 +00:00
Zeev Suraski
342c6e0b23
Whatnot:
...
* updated alloc_persist to use critical sections
* changed extension shutdown to two-phase
* updated dependencies
* PR support (don't remember if there was any really)
1999-04-18 15:11:52 +00:00
Zeev Suraski
533f135987
Remove unnecessary stack
1999-04-12 21:50:49 +00:00
Zeev Suraski
39a7f4c306
This patch is a go. Not fully optimized yet, but working properly.
...
Prepatch tagged as BEFORE_STACK_PATCH.
1999-04-12 18:29:09 +00:00
Zeev Suraski
2e9886de3c
Get rid of php3_ini in Zend
1999-04-10 14:44:35 +00:00
Andi Gutmans
573b46022c
Zend Library
1999-04-07 18:10:10 +00:00