Commit Graph

448 Commits

Author SHA1 Message Date
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
52045afb08 - If a function's return value is unused then don't create a ZEND_FREE
opcode but free it after the function call in zend_execute.
1999-11-17 17:21:15 +00:00
Andi Gutmans
800e00727a - Forgot this 1999-11-17 04:38:38 +00:00
Andi Gutmans
3cd140cdef - Weird that this compiled for me. 1999-11-16 20:31:29 +00:00
Andi Gutmans
247d3d3345 - CHange used_return_value -> return_value_used 1999-11-16 19:12:46 +00:00
Andi Gutmans
b7b614d0b5 - In any case create the free opcode. Need to allow the functions to
create a hint.
1999-11-16 18:46:32 +00:00
Andi Gutmans
dbb67ab9dc - Add support for used_return_value passed to internal functions. 1999-11-16 18:30:06 +00:00
Andi Gutmans
4ebf7b85ad - Fix comment as to Joey's findings 1999-11-14 10:30:39 +00:00
Andi Gutmans
d35ea24fc0 - Fix crash with string offset assignments. 1999-11-13 18:11:34 +00:00
Andrei Zmievski
3964c92f8b Made zend_hash_rehash() callable from outside. 1999-11-04 21:02:35 +00:00
Andi Gutmans
6d988ec694 - Add support for BYREF_FORCE_REST 1999-11-03 19:21:56 +00:00
Andi Gutmans
83c79bb154 - Fix for Thies' leak and Andrei's crash 1999-10-28 15:53:31 +00:00
Zeev Suraski
7f35cfda71 *** empty log message *** 1999-10-25 16:07:14 +00:00
Sam Ruby
6576719dcb Allow CYGWIN directory to be specified as via environment variable 1999-10-23 19:27:24 +00:00
Andi Gutmans
9b83d1ca5d - Fix isset() with string offsets. 1999-10-22 22:35:16 +00:00
Thies C. Arntzen
816627b16c fixed is_identicat_function() 1999-10-19 15:48:25 +00:00
Andi Gutmans
98f025430e - Move IS_IDENTICAL next to IS_EQUAL 1999-10-19 14:19:42 +00:00
Andi Gutmans
70b41809f2 - Fix is_identical function 1999-10-19 14:11:39 +00:00
Andi Gutmans
7a205f6087 - Preliminary submit of Thie's patch. Will fix the rest on Windows
as this was added on UNIX with patch. Changed IS_SAME -> IS_IDENTICAL
1999-10-19 13:33:17 +00:00
Andrei Zmievski
52a30fd21b Be safe, use (). 1999-10-18 14:17:36 +00:00
Andrei Zmievski
c279668168 unstatic'fy is_numeric_string() 1999-10-15 20:42:26 +00:00
Andrei Zmievski
e956a266e2 *** empty log message *** 1999-10-15 20:37:53 +00:00
Andrei Zmievski
62c1407a4d *** empty log message *** 1999-10-15 13:45:28 +00:00
Andi Gutmans
4d7c162d16 - Add convert_to_number_ex() 1999-10-15 06:25:42 +00:00
Sascha Schumann
e77485a8f7 Add "--disable-inline" for low-memory machines (be it limited
RAM or virtual memory). It's also useful for Digital C where
the C++ compiler thinks "inline" is an invalid specifier.
1999-10-14 22:17:22 +00:00
Sascha Schumann
d58e6f2b00 Use sources from $(srcdir) 1999-10-14 17:20:25 +00:00
Sascha Schumann
2170fa6dea Do not use $< for anything but implicit rules. 1999-10-13 16:16:09 +00:00
Thies C. Arntzen
6e07d060fc (zend_fetch_resource) added warinig if resource is of wrong type 1999-10-13 12:59:48 +00:00
Sascha Schumann
8cc4fc6111 Disable ZEND_EXTENSIONS_SUPPORT, if RTLD_NOW is not defined.
Note that this part could be made platform independent by using
libltdl (for Solaris, Linux, *BSD, HP-UX, Win16/32, BeOS).
1999-10-13 00:17:01 +00:00
Thies C. Arntzen
6d7c18c1f5 new improved resource-API 1999-10-12 14:51:17 +00:00
Sascha Schumann
fc48083437 Use DL_LAZY for OpenBSD. This seems to be a compatibility flag which
should be used for the 2nd parameter to dlopen.

http://www.openbsd.org/cgi-bin/cvsweb/src/share/man/man3/dlfcn.3?rev=1.8
1999-10-12 14:48:32 +00:00
Andi Gutmans
faa1891782 - object.ptr was made NULL in DO_FCALL but wasn't restored. Right now I
push it in DO_FCALL and at the end of do_fcall_common it always gets
  popped. We might be able to optimize it out.
1999-10-12 11:41:17 +00:00
Andrei Zmievski
8864313c48 Modified zend_hash() to accept a pointer to sort function. 1999-10-11 21:30:23 +00:00
Andi Gutmans
81aa9a36b6 - No idea why this bug didn't exist before. But I'm too tired to think of it.
During a regular do_fcall we need to set object.ptr to NULL and, thus,
  push it in the beginning and pop it in the end.
  I hope this fix more or less cuts it. I just want to sleep :)
1999-10-11 20:29:55 +00:00
Andi Gutmans
3a88d5a68e - Didn't lower refcount when doing an internal function call linked to a regular object. 1999-10-10 18:31:42 +00:00
Andi Gutmans
274ce69429 - Clean up a bit. Separate before the locking so that we can use SEPARATE_ZVAL
macro.
1999-10-10 04:38:51 +00:00
Sascha Schumann
ea567a73f1 Add clean target which removes standard targets 1999-10-10 02:02:13 +00:00
Sascha Schumann
f2608c3fdb build.mk can be used to generate build tools. It is usually
faster than buildconf, since it rebuilds only components, if
it is necessary. To use it, run

    $ make -f build.mk
1999-10-10 01:23:15 +00:00
Andi Gutmans
ec04c922aa - Shouldn't be needed 1999-10-09 20:37:08 +00:00
Andi Gutmans
37159e7863 - God damn this sucked. I hopefully fixed the problems with classes although
we might need to clean stuff up a bit.
1999-10-09 20:29:36 +00:00
Sascha Schumann
1df149ec1a Define RTLD_NOW to DL_NOW, if RTLD_NOW is not defined (for OpenBSD). 1999-10-09 18:03:23 +00:00
Thies C. Arntzen
f352444541 added zval_del_ref() function 1999-10-07 12:20:40 +00:00
Andi Gutmans
5fed1466ef - Reverse my patch 1999-10-07 04:38:03 +00:00
Andi Gutmans
e3d0c91dbb - Fixed memory leak with this pointer. It was somtimes initialized with refcount
of 2 instead of 1.
- Also fixed a place where object.ptr_ptr is set to pointing to a zval* instead
  of zval**. I don't think this is ever used so we might be able to remove it
  altogether.
1999-10-06 17:45:15 +00:00
Thies C. Arntzen
c6b91f789d fix for using resources as array indices 1999-10-06 15:09:26 +00:00
Sascha Schumann
b510a6d11f More portability stuff 1999-10-05 15:13:22 +00:00
Sascha Schumann
2785fbce1e OSF/1 V4.0 wants -lcxx 1999-10-05 13:50:13 +00:00
Sascha Schumann
1877b0779c This causes link problems with anything higher than -O0. 1999-10-05 11:17:04 +00:00
Sascha Schumann
590f9c1dee Add necessary rule. 1999-10-04 15:35:16 +00:00
Sascha Schumann
8ae3f4b027 Use libtool to build. 1999-10-04 15:20:12 +00:00
Thies C. Arntzen
ca1d1f832a use getParametersEx for all builtin functions 1999-10-04 13:27:12 +00:00
Thies C. Arntzen
6847fefad9 added add_*_resource() and add_*_bool() functions 1999-10-04 11:42:46 +00:00
Andi Gutmans
1c0f136405 - Hooray. This might actually work. (I hope) 1999-10-03 20:06:21 +00:00
Sascha Schumann
a0296da876 Make it executable. 1999-10-03 15:49:27 +00:00
Andi Gutmans
56834ff66a - Another locking fix. 1999-10-02 18:02:10 +00:00
Andi Gutmans
e40667440d - Fixed locking problem when fetching string offsets 1999-10-02 16:40:25 +00:00
Zeev Suraski
77ddd3a35b Fix the leak reported on the PHP 3 list (isset() on string offsets) 1999-10-02 15:56:49 +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
Andi Gutmans
03d354dcf9 - For Andrei. Implement references in array() initializations 1999-10-01 10:00:05 +00:00
Zeev Suraski
dbccd75b06 *** empty log message *** 1999-09-29 21:46:37 +00:00
Andi Gutmans
202d7dd216 Fix leak in += with arrays 1999-09-29 17:45:44 +00:00
Andi Gutmans
06d04d15a8 - Fix SEND_VAR problem after fetch'ing a variable and not knowing the fetch type 1999-09-29 17:18:36 +00:00
Thies C. Arntzen
446e5d0fff added add_property_resource 1999-09-29 15:25:06 +00:00
Andi Gutmans
59d5462a6a - Stop using the locking mechanism and start using refcount.
Now we know when we need to free but we still need to support it
1999-09-28 17:37:14 +00:00
Andi Gutmans
b56fd4602f - First part of the patch which makes reads use ptr and not ptr_ptr. 1999-09-28 16:03:09 +00:00
Sascha Schumann
7ed68c0f53 Provide alternative istdiostream.
This has been tested with Sun WorkShop 4.2 C++ which does not
    contain class istdiostream.
1999-09-28 11:54:02 +00:00
Sascha Schumann
b7a1130143 Actually allow to set CXXFLAGS 1999-09-26 20:59:47 +00:00
Sascha Schumann
0ac169b474 Build communication channel and add checks for C++ library 1999-09-26 20:12:05 +00:00
Andi Gutmans
4fff0386ac - Changed Ts{}.var to Ts{}.var.ptr_ptr. 1999-09-26 05:45:18 +00:00
Sascha Schumann
d8895c02f7 Add _ex API implementation for booleans. 1999-09-24 19:22:25 +00:00
Zeev Suraski
85844ace95 Exify the standardized resource stuff 1999-09-24 14:03:45 +00:00
Andi Gutmans
63c15d292a - Fix bug #2364.
I haven't checked all of the conversion macros yet but there's a change
  there are more such bugs there.
1999-09-23 16:13:31 +00:00
Sascha Schumann
4efa22c84e Fix vpath build w/ thread-safe enabled on Unix. 1999-09-23 16:07:16 +00:00
Thies C. Arntzen
49c891f2cf preliminary fix for each until andi & zeev clean up! 1999-09-22 09:57:42 +00:00
Thies C. Arntzen
5f3515652a if you pass NULL as the resource_type_name to zend_fetch_resource*&friends the functions will not print any warnings if the resource is not found! 1999-09-22 09:46:44 +00:00
Andi Gutmans
228a537bbe - Fix problem where function parameter fetches were created too late. 1999-09-21 20:00:01 +00:00
Zeev Suraski
a30f028a12 Add get_func_args() 1999-09-21 07:31:24 +00:00
Zeev Suraski
9f1d0dec47 *** empty log message *** 1999-09-21 00:46:22 +00:00
Andi Gutmans
68217ef564 - Move some more Zend internal functions from PHP 1999-09-20 21:28:37 +00:00
Andi Gutmans
5e3bbea0ff - Next part of locking fix.
$var = expr; and $var += expr; first create code for expr and later on
  for the fetch_w of $var.
1999-09-20 18:17:32 +00:00
Andi Gutmans
7831d30265 - Newline for Sun's compiler 1999-09-20 17:01:38 +00:00
Andi Gutmans
06a18f169b - Add some internal functions to Zend 1999-09-20 16:56:09 +00:00
Andi Gutmans
babad2694e - First step in fixing locking problem. Array fetches are now always done last.
Later on we will want to delay the write fetches even longer until after their
  resulting expression is parsed. The way it is now, will make it very easy
  to delay as long as we need.
1999-09-20 15:44:30 +00:00
Andi Gutmans
82c8a9e745 - Indirect references had all of the fetches by mistakenly backpatched.
Actually all of the fetches are supposed to be read, except for the last
  one.
1999-09-20 14:45:36 +00:00
Zeev Suraski
7a4a5944f9 Added zend_num_args() and zend_get_arg() 1999-09-20 13:00:35 +00:00
Zeev Suraski
13d840bc3f Add a file in which we can put Zend builtin functions 1999-09-20 12:24:39 +00:00
Andi Gutmans
1ac04fe9f4 - Try to fix the leak Rasmus reported. It's pretty sucky code so I'm really
not sure this fix is OK.I can't remember all of what we did there.
1999-09-18 22:07:12 +00:00
Zeev Suraski
6ddd686141 Safer behavior 1999-09-18 13:07:45 +00:00
Thies C. Arntzen
aa5102490a make SUNs c89 happy 1999-09-17 13:57:24 +00:00
Thies C. Arntzen
20ee106672 no // in the sources please 1999-09-17 12:16:21 +00:00
Thies C. Arntzen
83bbb90d10 added newline at end of file 1999-09-17 12:14:31 +00:00
Zeev Suraski
567b3cef6b - Fix bug #2318 1999-09-17 02:06:12 +00:00
Zeev Suraski
52e769d883 Introduce convert_to_*_ex() 1999-09-16 23:15:34 +00:00
Sascha Schumann
119b85b736 this helps compiling on non-ANSI C compliant platforms 1999-09-16 14:06:35 +00:00
Stig S. Bakken
af1e5ad881 Make sure HAVE_LIBDL gets defined.
Disable more C++ tests when not configured for thread safety.
1999-09-13 11:29:44 +00:00
Zeev Suraski
5f1793e21c Make this class instanciatable 1999-09-12 19:27:50 +00:00
Sascha Schumann
c656292b96 check for c++ only, if thread safety is enabled 1999-09-12 14:14:34 +00:00
Zeev Suraski
ca1b3ffbc8 Shut up a warning 1999-09-10 16:16:24 +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