Commit Graph

339 Commits

Author SHA1 Message Date
Zeev Suraski
4f6c95d17a Whitespace 2001-08-11 15:56:40 +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
2f6cd308f9 - Merge zend_try fix from Engine 1 2001-08-08 15:06:08 +00:00
Andi Gutmans
5af7770a81 - Sync Engine2 CVS with latest Engine CVS 2001-08-07 03:17:33 +00:00
Zeev Suraski
d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +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
Zeev Suraski
ef4fe54f0a Always track bailout file/lineno 2001-07-21 16:21:22 +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
fb532ba52b Fix bug #10467 2001-07-16 11:41:06 +00:00
Andi Gutmans
12db900a6f - Bump Zend version 2001-06-24 03:54:11 +00:00
Sascha Schumann
996e9a7212 add missing closing paranthesis 2001-05-11 19:41:11 +00:00
Andi Gutmans
62cc5c9c8f - Bump up Zend version 2001-05-01 07:20:36 +00:00
Zeev Suraski
4e71bbed0a include limits.h if available 2001-04-28 20:21:42 +00:00
Zeev Suraski
b87bac782f Fix bug 5661 2001-04-28 20:13:25 +00:00
Andi Gutmans
0971ff99cb - Whitespace changes to be standard like the rest of Zend 2001-04-27 18:51:56 +00:00
Andi Gutmans
d2c9e8074c - Update copyright year 2001-02-26 05:43:27 +00:00
Stanislav Malyshev
e4f4983cdc allow more extensions with resources 2001-02-14 13:17:49 +00:00
Andi Gutmans
3353ad7e6e - Make people happy who like the Zend version number bumped up in parallel
with PHP.
2001-01-21 11:43:34 +00:00
Zeev Suraski
0e08845eb0 Add free_estring() 2001-01-15 10:52:06 +00:00
Zeev Suraski
903018ef36 - Remove backward dependency from PHP -> Zend
- Rename get_ini_entry() as get_configuration_directive() for clarity
  (it doesn't use the INI subsystem, but the module-supplied function for
  retrieving configuration directives)
2001-01-07 18:39:11 +00:00
Zeev Suraski
6b23ef6cef Commit missing declaration 2001-01-03 08:35:23 +00:00
Stanislav Malyshev
35f4826fea Add macro to replace value of zval with another value while preserving
referencing structure
2000-11-20 12:35:08 +00:00
Zeev Suraski
84f81c50ba Update version 2000-10-11 17:40:40 +00:00
Andi Gutmans
e7f10a41f2 - Update Zend version. 2000-08-29 15:48:55 +00:00
Andi Gutmans
fcdc025d11 - Beautify code. Try and use more macros for splitting instead of
- replicating the code everywhere.
2000-08-04 08:11:54 +00:00
Andi Gutmans
1cce5ed178 - Add zend_ulong 2000-07-08 15:49:39 +00:00
Sascha Schumann
b982307dd1 Change header protection macros to conform to standard.
Draft 3 of IEEE 1003.1 200x, "2.2 The Compilation Environment"

    All identifiers that begin with an underscore and either an uppercase
    letter or another underscore are always reserved for any use by the
    implementation.
2000-07-02 23:54:19 +00:00
Zeev Suraski
f34b9d41be Add $context argument to error handler 2000-06-29 15:07:59 +00:00
Andi Gutmans
3860254631 version update 2000-06-28 18:32:13 +00:00
Zeev Suraski
8e45536cf4 Make it possible to detect whether we're thread safe or not from PHP scripts and the php.ini
file
2000-06-26 18:15:33 +00:00
Stanislav Malyshev
536221be39 Make error callback be publicly accessible 2000-06-18 16:02:32 +00:00
Zeev Suraski
968d2c5b33 Get rid of <?php_track_vars?> 2000-06-12 16:07:15 +00:00
Zeev Suraski
98bf43f229 Enable asp_tags/short_tags/allow_call_time_pass_by_reference to work on a per-directory
basis as well
2000-06-06 19:13:54 +00:00
Zeev Suraski
d4b160c0d6 - Export normalize_bool
- This global/static syntax fix brought us back to the 4 documented conflicts
2000-06-03 03:05:01 +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
8a8c3eafc8 Nuke the old error code, use the new one 2000-06-02 12:21:49 +00:00
Zeev Suraski
898c8ead87 IS_BC isn't really being used, but still... 2000-05-31 19:08:18 +00:00
Zeev Suraski
13b67621cf Fix a bug in static initializers/default values/class member variables that contained
array values
2000-05-31 19:07:09 +00:00
Andi Gutmans
cc590f49f2 - Get ready for release 2000-05-21 16:29:38 +00:00
Zeev Suraski
0d6a794d85 Get rid of chval - it's really not necessary and seems to be confusing people 2000-05-11 19:18:11 +00:00
Andi Gutmans
63b7056f9a - Change Zend Engine version number 2000-05-08 16:33:52 +00:00
Zeev Suraski
b80b8381d4 More error handling work (still completely disabled) 2000-04-27 19:38:11 +00:00
Zeev Suraski
a20e90abb3 We'll need two... 2000-04-25 10:44:50 +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
9df63e183e - Didn't see Thies' commit message although I can't really see how it would
make a difference
2000-03-26 16:28:37 +00:00
Andi Gutmans
b763b25c96 - Include Andrea's fix for alloca.h 2000-03-26 16:00:35 +00:00
Thies C. Arntzen
7ec4e5e21b <alloca.h> needs to be included before we define macros calling alloca()
atleast using SGI's cc - should not harm other platforms (i hope)
2000-03-26 14:46:25 +00:00
Zeev Suraski
5dba477467 - Some header dependencies cleanup
- Generalize zval_print() and zval_print_r()
2000-03-25 19:10:07 +00:00
Sam Ruby
1e4e9b34e2 RTLD_NOW => RTLD_LAZY|RTLD_GLOBAL 2000-03-25 15:40:08 +00:00
Andi Gutmans
326f69f54e - Change Zend version as API has changed 2000-03-22 19:07:47 +00:00
Andi Gutmans
13e7413182 - Change zend_startup to accept a flag for starting builtin functions 2000-03-21 19:01:19 +00:00
Andi Gutmans
bf18f87644 - Move #defines 2000-03-21 18:48:28 +00:00
Andi Gutmans
8b8077709e - Fix compile problem on FreeBSD 2000-03-18 16:11:42 +00:00
Andi Gutmans
512ff32f87 - No reason for refcount to be signed and move to zend_* typedefs 2000-03-18 16:00:30 +00:00
Zeev Suraski
15dd8e61a2 - Fix newly introduced problem reported by Sam Ruby 2000-03-15 17:32:29 +00:00
Andi Gutmans
e92f6f15cb - define zend_uint and zend_uchar and use them in a few places 2000-03-13 15:43:40 +00:00
Sam Ruby
fc173b6ace Unresolved externs 2000-03-06 10:46:40 +00:00
Zeev Suraski
5e55e47f7f It's official now... 2000-03-06 05:26:39 +00:00
Zeev Suraski
56251a7239 Wrap some commonly unused callbacks 2000-03-05 19:50:10 +00:00
Zeev Suraski
0ac9536d99 (c) patch 2000-02-19 22:46:42 +00:00
Andi Gutmans
f1a2ee55e0 - Add ZEND_API 2000-02-17 08:03:13 +00:00
Andi Gutmans
9b840c5f59 - Hopefully fix Thies' bug report. 2000-02-16 16:00:02 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Andi Gutmans
b48eebb114 - #define ZEND_WIN32 differently 2000-02-10 17:19:10 +00:00
Andi Gutmans
bc5c9d8d7b - Finally beautify those WIN32|WINNT checks 2000-02-10 17:03:53 +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
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
Zeev Suraski
fafbf6d8da - Implement declare() with declarables framework
- Implement ticks - Germany&Norway - 5 points!
2000-01-24 19:00:30 +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
Andi Gutmans
44e9e95933 - Rename IS_BC to FLAG_IS_BC. We will probably nuke it. 2000-01-04 14:25:42 +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
f2d703e916 - Nuke undefined_variable_string
- Introduce IS_UNSET
1999-12-31 13:56:59 +00:00
Zeev Suraski
aec33aa753 Introduce a zval-specific cache - 5-15% speed improvement 1999-12-26 21:56:59 +00:00
Zeev Suraski
235386b245 Change ALLOC_ZVAL() semantics 1999-12-26 21:21:33 +00:00
Andi Gutmans
62b2087a84 - Create two new macro's. ALLOC_ZVAL() and FREE_ZVAL(z) and make Zend use
them.
1999-12-24 15:22:11 +00:00
Zeev Suraski
5ba5f00f65 export 1999-12-22 20:24:52 +00:00
Zeev Suraski
f0888ccaef Fix the highlighting problem. STR_REALLOC() should be used instead of plain erealloc()
whenever you're dealing with strings that might be coming back from the engine - there seem
to be a few other places like this in PHP.
1999-12-21 20:30:04 +00:00
Zeev Suraski
be1bb28355 - Fix the crash Thies was experiencing (returning a function call could cause a crash)
- Fix the leak Thies was experiencing (@fcall() leaked)
1999-12-20 16:05:36 +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
a1ad2872ee - The tree compiles again 1999-12-18 22:40:35 +00:00
Zeev Suraski
cd7d5546ae - Introduce ZEND_NUM_ARGS(), to replace ARG_COUNT(ht)
- Rename getParameters() and friends for consistency and namespace cleanliness
1999-12-18 22:23:23 +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
Zeev Suraski
9baad80459 - Break the zend->PHP dependency introduced by the .php extension for use(),
by providing an API
- Enable Stig's patch for use() extensions (it wasn't refered to by the parser)
- Fix a memory leak in that code
1999-12-04 13:26:57 +00:00
Stig S. Bakken
93536507f6 Fix warnings surfacing in maintainer-mode. 1999-12-01 22:55:20 +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
6358c6631b - Optimize class instanciation
- Fix constant instanciation for array elements inside objects
1999-11-21 18:11:10 +00:00
Andi Gutmans
817a11e7ed - Functions whose return values aren't used have them freed in DO_FCALL
and don't need a special ZEND_FREE opcode following them anymore
1999-11-19 16:55:25 +00:00
Andi Gutmans
247d3d3345 - CHange used_return_value -> return_value_used 1999-11-16 19:12:46 +00:00
Andi Gutmans
dbb67ab9dc - Add support for used_return_value passed to internal functions. 1999-11-16 18:30:06 +00:00
Sascha Schumann
b510a6d11f More portability stuff 1999-10-05 15:13:22 +00:00
Andi Gutmans
86357a9c27 - Move is_ref back to being an unsigned char and not a bit field. 1999-10-01 23:31:39 +00:00
Andi Gutmans
4dd47ffbc1 - Remove locking support completely 1999-10-01 23:26:00 +00:00
Stig S. Bakken
009025e00d * header file cleanup
* fixed --enable-thread-safety build for UNIX

I don't have a Win32 environment available, could someone please try
compiling on Win32 to see if I got all the header file stuff right there?
1999-09-06 16:14:08 +00:00
Andi Gutmans
99947a251e - Shift around header files. 1999-09-05 19:03:35 +00:00
Zeev Suraski
81e0131bc9 *** empty log message *** 1999-08-28 21:43:24 +00:00
Zeev Suraski
cda27ae9ac Beef up debug macros 1999-08-28 10:18:54 +00:00
Zeev Suraski
aa8b27ba1d Better debug macros 1999-08-27 19:17:19 +00:00
Sascha Schumann
8b44285b90 make it compile with gcc again 1999-08-25 21:54:00 +00:00
Sascha Schumann
d82728c4d0 This changes makes it work on egcs 1.1.2/Alpha 1999-08-22 19:43:04 +00:00
Sascha Schumann
433880bc6e remove checks 1999-08-22 18:34:40 +00:00
Andi Gutmans
acd6114fa7 - Add some ZENDAPI's 1999-08-17 19:25:22 +00:00
Andi Gutmans
b5f5e9a6d1 - Optimize the execute stack a bit. 1999-08-15 19:29:39 +00:00
Andi Gutmans
8f51f72dc6 - Fix the new operator incompatibility.
- I commented PHP_FUNCTION(strtotime) in datetime.c because it stopped
  win32 from compiling. This needs to be fixed!!!
- Check out libzend to compile the tree now.
1999-07-26 16:57:06 +00:00
Zeev Suraski
84aa8cce64 * Add an API macro users can use to ensure an array member can be modifed
before they modify it.
* Fix a bug and remove redundant code in convert_to_long() (booleans and
  resources weren't changing their types
1999-07-23 16:02:51 +00:00
Zeev Suraski
8d1de13aef 0.91 update 1999-07-19 20:02:12 +00:00
Andi Gutmans
e78fc33c35 * Fix Zend version
* Fix a method call bug
1999-07-19 19:58:44 +00:00
Zeev Suraski
b5b1117760 License update 1999-07-16 14:58:16 +00:00
Zeev Suraski
2a6da7814c Step 4:
Move to a 7-bit counter (not fully implemented yet)
1999-07-09 20:43:59 +00:00
Zeev Suraski
5f62c347c7 Step 2:
Rename is_ref to EA
1999-07-09 17:44:41 +00:00
Sascha Schumann
fdc1b9262d enable it, until we find a better way 1999-07-06 21:02:07 +00:00
Sascha Schumann
52308cd368 make Solaris gcc happy 1999-07-05 17:05:38 +00:00
Sascha Schumann
f6164dbf3a use void * instead of long for 64-bit test 1999-07-05 10:51:11 +00:00
Sascha Schumann
d6169276dd checking for ints won't work, since they are 32 bit on both platforms 1999-07-03 18:46:10 +00:00
Sascha Schumann
2a44f45cbe workaround for 64-bit platforms 1999-07-02 21:12:03 +00:00
Zeev Suraski
138d601ab1 Add a standard get_ini_entry() to interface between Zend and the outside world 1999-06-19 20:22:56 +00:00
Zeev Suraski
da9faa2c3a * Make the output handling of variables much, much cooler.
Uses zend_make_printable_zval() instead of convert_to_string() now:

$foo = true;
print "\$foo is $foo";
will now print
$foo is true
(instead of "$foo is 1", earlier).

Also, with objects, it automatically tries to call __print() and use it as a printing
function.

For example:

class foo {
  function __print() { return "Foo Object"; }
};

$foo = new foo;
print $foo;

will print "Foo Object".
1999-06-11 10:44:26 +00:00
Zeev Suraski
ed06a70f7f * Centralized shutdown
* Change shutdown order again
1999-06-05 20:00:00 +00:00
Zeev Suraski
9108abc287 Minor updates (mostly __declspec() stuff) 1999-06-04 11:44:02 +00:00
Zeev Suraski
63f2cc9fe9 *** empty log message *** 1999-05-31 18:39:29 +00:00
Zeev Suraski
741b816136 * Support getThis() for internal functions.
* Fix 'new object or die' and AiCount issue thoroughly (earlier fix didn't
  work with the optimizer).
* Add new macros for standardized definition of classes.
* Only report AiCount problems if shutdown was not silent.
1999-05-28 12:06:59 +00:00
Zeev Suraski
1250c43a39 * Add struct name to all typedef's so that they can be debugged with MSVC
* Fix an AiCount bug - list(...) = $var was using $var multiple times, and thus
causing AiCount to be decreased multiple times even though it was increased only
once for $var.  Mark all FETCH_DIM's so that they won't decrease AiCount, and only
decrease AiCount on the last FETCH_DIM.
* Fix a stupid bug - forgot to pass CLS_C to some compiler function.  For some reason
MSVC doesn't report these :I
1999-05-22 16:10:51 +00:00
Zeev Suraski
080105f79f Give more information and save log lines in memory leak reports 1999-05-22 11:20:56 +00:00
Zeev Suraski
b0bfa458b5 * Fix all hash checks that checked Bucket.arKey for NULL, when it was changed
to char[1], these checks should have been changed to Bucket.nKeyLength==0
* Support runtime declaration of functions.  I ended up changing the grammar
  to catch top level functions vs. nested functions.  The reason is simple -
  if we don't have functions properly declared at compile-time, function calls
  cannot be resolved at compile time, and have to be resolved at runtime, which
  ends up being much much slower (without the optimizer, that is).
  It's no biggy though, the grammar change isn't that bad.
1999-05-15 15:47:24 +00:00
Zeev Suraski
0b873a7899 *** empty log message *** 1999-05-12 23:05:17 +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
Stig S. Bakken
b227e385cc convert to automake 1999-04-19 20:10:26 +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
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
7656c77c38 We need to initialize the utility values after we initialize the INI file, which in
turn, is after we initialize Zend.  Set the utility values separately from Zend's
initialization
1999-04-10 11:21:55 +00:00
Andi Gutmans
573b46022c Zend Library 1999-04-07 18:10:10 +00:00