Commit Graph

433 Commits

Author SHA1 Message Date
Andi Gutmans
f909ff9ed0 - Try and nuke get_object_zval_ptr() 2001-08-16 15:01:25 +00:00
Andi Gutmans
ea48c0c46a - Fix a bug in method calls.
- Try to get the old copying behavior of objects to work (doesn't work yet).
2001-08-16 14:04:04 +00:00
Andi Gutmans
33539126d0 - MFZE1 2001-08-13 18:33:41 +00:00
Andi Gutmans
30bad123f0 - MFZE1 2001-08-13 15:38:07 +00:00
Andi Gutmans
b6eb324cd2 - Merge from Engine 1 2001-08-13 15:23:37 +00:00
Andi Gutmans
5af7770a81 - Sync Engine2 CVS with latest Engine CVS 2001-08-07 03:17:33 +00:00
Andi Gutmans
e6697297b6 - Move to using Z_ macros 2001-08-06 02:52:03 +00:00
Zeev Suraski
7ecb33868c require_once()/include_once will return true in case a file was not included
because it was already included earlier.
Changed the default return value type of the include() family from long to
boolean
2001-08-02 17:27:19 +00:00
Zeev Suraski
d76cf1da18 More TSRMLS_FETCH work 2001-07-31 04:53:54 +00:00
Zeev Suraski
4187439cff More TSRMLS_FETCH work 2001-07-30 07:43:02 +00:00
Zeev Suraski
8ce8324e59 More TSRMLS_FETCH annihilation 2001-07-30 04:54:16 +00:00
Zeev Suraski
b57703825b Avoid TSRMLS_FETCH()'s (still lots of work left) 2001-07-30 01:48:22 +00:00
Zeev Suraski
b4f3b9d3ce Redesigned thread safety mechanism - nua nua 2001-07-28 10:51:54 +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
06fc55cc67 Revert bogus patch 2001-07-19 14:11:40 +00:00
Zeev Suraski
553505cb61 Fix bug #11970 2001-07-15 16:51:30 +00:00
Zeev Suraski
85b4df53c0 Improved interactive mode - it is now available in all builds, without any significant slowdown 2001-07-15 14:08:58 +00:00
Zeev Suraski
2536259557 Fix leak in the patch, and revert a couple of lines I didn't mean to commit 2001-06-27 15:47:31 +00:00
Zeev Suraski
ee115c8ecc - Warn about illegal offsets
- Allow assignments to uninitialized string offsets (automatically pads the
  string with spaces)
2001-06-27 15:40:49 +00:00
Andi Gutmans
5bf89ce61c - Hopefully fix bug #11476 and improve garbage to be freed very quickly.
Tree tagged as PRE_GRANULAR_GARBAGE_FIX before commiting.
2001-06-21 22:30:23 +00:00
Andi Gutmans
8cd70926c5 - Nuke dependency of all of PHP on zend_execute_locks.h. 2001-06-21 21:17:10 +00:00
Zeev Suraski
851b1e3b35 Eliminate the leak that the original bogus code tried to solve 2001-06-21 15:33:55 +00:00
Zeev Suraski
cb0d2775fb parent::methodname() now works better with runtime classes (fix bug #11589) 2001-06-21 14:53:05 +00:00
Zeev Suraski
3276cfd950 Fix bug #11590 (I want Andi to also review this patch before it goes into 4.0.6) 2001-06-21 08:17:09 +00:00
Andi Gutmans
1aa5b19cc9 - Fix string offsets crash. 2001-06-20 17:14:58 +00:00
Zeev Suraski
0c164128f8 Add missing exports 2001-06-19 08:52:19 +00:00
Zeev Suraski
38085881a6 Fix warning 2001-06-19 08:42:22 +00:00
Zeev Suraski
f78e65cabf Floating point keys didn't work in array() (fix bug #6662) 2001-05-06 15:39:27 +00:00
Andi Gutmans
2d9eac7e0e - Patch by Andrei to prevent crash in error situation when not all
object overloading handles are defined.
2001-05-02 19:51:33 +00:00
Andi Gutmans
90cf65411c - Fix for crash bug when using invalid arguments in the foreach() loop.
- Reported by Yasuo Ohgaki
2001-04-20 07:09:22 +00:00
Andi Gutmans
492a619be3 - Whitespace 2001-03-10 09:21:48 +00:00
Zeev Suraski
36ded42156 Make parent:: work in runtime bindings as well 2001-03-07 10:07:25 +00:00
Zeev Suraski
87ee97e303 Fix bug #8899 (thanks Jani) 2001-03-04 22:27:56 +00:00
Andi Gutmans
d2c9e8074c - Update copyright year 2001-02-26 05:43:27 +00:00
Andi Gutmans
e0b2a5f583 - Remove duplicate code and do a tiny optimization in DO_FCALL 2001-02-09 12:47:57 +00:00
Zeev Suraski
c3531b3750 Fix string offset data corruption 2001-02-05 22:27:47 +00:00
Andi Gutmans
f67df57491 - That doesn't seem like a smart thing to do :)
- I wonder if gcc optimized it out.
2001-01-27 12:29:02 +00:00
Andi Gutmans
62606e7789 - Fix leak in fetch_dim_address() which was already fixed in
- fetch_dim_object(). Take the oppertunity to make both use the same
- function and not duplicate the code.
2001-01-17 17:34:16 +00:00
Andi Gutmans
7b5138035c - Remove unreachable code 2001-01-01 17:59:08 +00:00
Zeev Suraski
36eaad252f Allow get_current_key() not to return the key itself, instead of a duplicate 2000-12-22 12:49:51 +00:00
Andi Gutmans
8d9082563a - Allow passing references which are returned from functions and new
- statements to be passed by reference.
2000-11-27 18:46:23 +00:00
Sascha Schumann
2ef6b689e8 Pass on the exit status 2000-11-22 04:24:35 +00:00
Andi Gutmans
12077112b4 - The baby patch wasn't that innocent :) 2000-11-21 16:14:02 +00:00
Andi Gutmans
b2c957d4b1 - NEVER copy and paste :) 2000-11-20 20:54:10 +00:00
Andi Gutmans
b5d5b3a703 - Baby patch towards making the damn pass-by-ref work. 2000-11-20 20:49:42 +00:00
Andi Gutmans
6d2a433ec5 - This patch is broken and needs more thorough fixing. 2000-11-20 05:09:21 +00:00
Andi Gutmans
ce87ae4159 - Try and fix the problem when sending references returned from a function by reference. 2000-11-19 19:49:58 +00:00
Zeev Suraski
d0fbddcc2b Fix a corruption bug, when erroneously allowing to send non-variables by reference (several
bug-db reports seem to originate in this bug)
2000-10-29 19:16:29 +00:00
Zeev Suraski
dee2d85e77 Fix -a interactive mode (no idea how the previous commit got committed) 2000-10-11 18:51:52 +00:00
Zeev Suraski
48167d2b21 *** empty log message *** 2000-10-11 18:36:02 +00:00
Andi Gutmans
5418b59681 - Fix NULL handling in ARRAY opcode and resolve memory leak 2000-09-14 20:30:06 +00:00
Zeev Suraski
5286b3971c Make compile_string() accept a description of the code 2000-09-12 19:47:25 +00:00
Andi Gutmans
27de50012b - Use emalloc() for opened_path now. This was a potential leak before.
- This patch has potential to break stuff but I tested it as much as I
- could. Fixes should be easy.
2000-08-31 22:24:20 +00:00
Andi Gutmans
fbbc249f2b - Revert patch from 9/7/2000 which seems to have broken unset().
- I hope what made me do this patch doesn't appear again.
2000-08-24 19:03:35 +00:00
Andi Gutmans
c698e14635 - Beautify 2000-08-19 15:16:53 +00:00
Zeev Suraski
7795aca4ca Fix warning issue (compile errors inside require()'d files were incorrectly supressed) 2000-08-15 16:44:40 +00:00
Zeev Suraski
636d126e16 - Fix leak and some logic 2000-08-14 20:16:27 +00:00
Andi Gutmans
e46ea8864c - This patch should hopefully fix situations where a constructor uses
- the $this pointer as a reference.
2000-08-14 19:17:26 +00:00
Stanislav Malyshev
9e750e64b9 Fix crash 2000-08-14 09:06:56 +00:00
Stanislav Malyshev
5090b1e8d5 Fix zend_fiel_handle handling. Should fix URL include
and various opened_path inconsistencies.
2000-08-13 18:00:50 +00:00
Andi Gutmans
e5015ed581 @ Fix problem with nested foreach()'s (Andi, Zend Engine) 2000-08-10 22:08:02 +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
Andi Gutmans
50ddf9e3d5 - Use some more SEPARATE_ZVAL macros instead of replicated code. 2000-08-05 13:54:07 +00:00
Stanislav Malyshev
8b9ecac2dc Fix memory leak 2000-08-05 11:06:00 +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
5ae343b752 - Remove commented code 2000-08-02 17:51:42 +00:00
Zeev Suraski
735a0d148e Fix filename issues 2000-07-29 10:44:13 +00:00
Andi Gutmans
290525fdcd Always store full filename as compiled file name 2000-07-27 15:36:54 +00:00
Stanislav Malyshev
148317f979 Fix a bug in passing second parameter of RECV_INIT with is_ref set 2000-07-11 13:23:48 +00:00
Andi Gutmans
c1ed6ef9cc - Fix memory leak. 2000-07-09 20:21:20 +00:00
Andi Gutmans
40b31d7487 - Need to seperate if the hash isn't a reference 2000-07-09 17:12:37 +00:00
Stanislav Malyshev
be59613ddf Remove C++ commennts. 2000-07-07 09:50:50 +00:00
Andi Gutmans
58d1e0a2cc - Yet another fix... 2000-07-06 23:00:46 +00:00
Andi Gutmans
db8734c82f - One more... 2000-07-06 22:38:01 +00:00
Andi Gutmans
5f893e68ff - Complex fix for solving a problem with objects & method calls.
- Previous version is tagged PRE_METHOD_CALL_SEPERATE_FIX_PATCH.
- I need to check this fix on a server so if it doesn't work I will revert
- it.
2000-07-06 22:08:22 +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
a6d9b5ed18 Macro it up the right way 2000-06-16 02:48:35 +00:00
Zeev Suraski
b791918443 Macro this up, so it can be moved to other places 2000-06-16 02:47:00 +00:00
Zeev Suraski
ef0bd3d102 - Move timeout code to Zend
- Implement timeouts in Win32
2000-06-16 01:54:56 +00:00
Zeev Suraski
53bdf0b5cc I can't think of a reason of why it should just be a notice... Make it a warning, like it was in PHP 3. 2000-06-10 01:12:12 +00:00
Zeev Suraski
03e842ccb8 Fix bug #4933 2000-06-09 15:42:49 +00:00
Andi Gutmans
edd7025645 - Remove old obsolete code. 2000-06-09 13:08:40 +00:00
Andi Gutmans
a712da5cee - Make unset consistent with the way array offsets work 2000-06-09 13:07:26 +00:00
Stanislav Malyshev
e346a6b538 Handle unset with empty key 2000-06-09 10:59:21 +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
715ff77344 - Fix include() when used on resources (shouldn't work but shouldn't crash
either).
2000-05-18 10:21:24 +00:00
Andi Gutmans
686bd5724b - Make $obj->test = 5; work again (assigning to uninitialized objects) 2000-05-06 18:40:48 +00:00
Andi Gutmans
f2471fd50a - Change the place CAST uses for the op_type 2000-05-03 17:56:44 +00:00
Zeev Suraski
974671eced *** empty log message *** 2000-04-27 21:48:47 +00:00
Zeev Suraski
4b6594c5e9 Change to using the #define's 2000-04-27 21:26:17 +00:00
Andi Gutmans
4f15966d1b - Fix order of JMPZNZ arguments 2000-04-17 17:16:47 +00:00
Zeev Suraski
021631d5eb *** empty log message *** 2000-04-12 00:50:21 +00:00
Zeev Suraski
d17e3d6b18 Fix warnings 2000-04-11 17:38:19 +00:00
Zeev Suraski
97c9603b02 Fix fd leak in include_once() 2000-04-11 17:30:37 +00:00
Andi Gutmans
73c6fbff7e - 2000-04-10 21:12:33 +00:00
Zeev Suraski
e663d856b3 Fix object overloading support 2000-04-10 20:21:13 +00:00
Andi Gutmans
c5d5c69bfe - Add warnings 2000-04-10 19:54:45 +00:00
Zeev Suraski
1cf5c33627 Thoroughly fix include_once() 2000-04-07 22:03:46 +00:00
Zeev Suraski
ed6e734047 Fix include_once() 2000-04-07 21:16:19 +00:00
Andi Gutmans
a9159c2eec Initial preparation for OO overloading patch 2000-04-06 16:34:55 +00:00
Andi Gutmans
da3db3d864 - FIx JMPZNZ 2000-04-05 20:55:51 +00:00
Torben Wilson
521c8af6a4 Added !== (is not identical) operator. 2000-03-29 22:05:19 +00:00
Andi Gutmans
7fd92b524d - Stop zend_func_args() and co. from crashing 2000-03-26 18:40:24 +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
Zeev Suraski
5bdd53972f - Fixed a crash when sending a non-variable expression to a runtime-bound function
that expected a reference.
2000-03-24 23:51:34 +00:00
Andi Gutmans
6db18997bb - Nuke hash_*_ptr functions 2000-03-24 11:12:30 +00:00
Zeev Suraski
0b8ea28832 false wouldn't automaticaly switch to an array type, which resulted in an
incompatibility with PHP 3.  Fixed.
2000-03-18 14:28:03 +00:00
Zeev Suraski
15dd8e61a2 - Fix newly introduced problem reported by Sam Ruby 2000-03-15 17:32:29 +00:00
Andi Gutmans
51c10e49dd - Remove inline from functions which are pretty large and besides eating up
memory in compile time probably doesn't boost performance.
2000-03-11 01:13:10 +00:00
Andi Gutmans
5951b166c8 - Quick way of supporting include_once().
Good enough for RC1.
2000-03-10 16:36:30 +00:00
Andi Gutmans
9cc704421a - Cleanup old IMPORT stuff 2000-03-10 15:05:00 +00:00
Zeev Suraski
5e55e47f7f It's official now... 2000-03-06 05:26:39 +00:00
Andi Gutmans
110b670d44 - Fix typos 2000-03-01 17:10:45 +00:00
Andrei Zmievski
e6146d6bf3 Fix typo. 2000-02-26 16:21:29 +00:00
Zeev Suraski
0ac9536d99 (c) patch 2000-02-19 22:46:42 +00:00
Zeev Suraski
f77e6a4499 Generalize macros 2000-02-19 13:11:39 +00:00
Andi Gutmans
9bb9221642 -Fix bug 3504 concerning leaks with unset() 2000-02-16 16:49:44 +00:00
Andi Gutmans
9b840c5f59 - Hopefully fix Thies' bug report. 2000-02-16 16:00:02 +00:00
Andi Gutmans
f79688e848 - Fix bug #3309 2000-02-16 09:20:10 +00:00
Andi Gutmans
7fa17e8e08 - Put in the infrastructure for the unset() fix. Right now it has the old
behavior but I just need time tomorrow to add the correct behavior.
2000-02-14 20:31:01 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Andi Gutmans
bc5c9d8d7b - Finally beautify those WIN32|WINNT checks 2000-02-10 17:03:53 +00:00
Andi Gutmans
c8b321c678 - Shouldn't be there 2000-02-10 05:41:28 +00:00
Andi Gutmans
39c4687816 - Cleanup the code 2000-02-10 05:41:05 +00:00
Zeev Suraski
de8471ab4e Fix last known nasty bugs in Zend. It'll be cool if there are no new ones :) 2000-02-09 21:48:16 +00:00
Thies C. Arntzen
2e7f24a487 foreach() works now for objects as well. 2000-02-09 15:38:56 +00:00
Zeev Suraski
ca5622c711 Fix an elusive bug 2000-02-08 20:10:47 +00:00
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
b6197bcf90 Maintain a state of whether we're compiling and/or executing 2000-02-04 14:45:58 +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
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
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
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
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
549cf0381a Leak fix 2000-01-18 22:18:17 +00:00
Zeev Suraski
d3cad4f289 Functionality & crash fixes 2000-01-09 19:16:34 +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
Zeev Suraski
8e99c415ab Fix 2000-01-03 17:26:24 +00:00
Zeev Suraski
990ac99c97 Fix 2000-01-02 16:47:00 +00:00
Zeev Suraski
f2d703e916 - Nuke undefined_variable_string
- Introduce IS_UNSET
1999-12-31 13:56:59 +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
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
67b4b3a634 - require() of a dynamic expression now has the standard require() semantics
- Fixed a memory leak in require() of a dynamic expression
1999-12-23 15:03:25 +00:00
Zeev Suraski
5939b3d702 - Fix a very old legacy memory leak in break(n) statements 1999-12-22 18:10:38 +00:00
Zeev Suraski
5c56fd4793 Fix for the array() initialization bug Stas found 1999-12-22 15:34:38 +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
Andrei Zmievski
80bab9d939 We're using ZVAL's now. 1999-12-21 17:14:31 +00:00
Zeev Suraski
8a4170e6bd - Fix Sascha's leak. Good report! 1999-12-21 15:55:46 +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
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
Stig S. Bakken
93536507f6 Fix warnings surfacing in maintainer-mode. 1999-12-01 22:55:20 +00:00
Andi Gutmans
14382523bf - Forgot to check for BP_VAR_IS in the fix made for Thies' string offset
problem.
1999-12-01 14:55:58 +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
Andi Gutmans
08304a3c93 - Fix problem Thies reported. We by mistake separated variables which were
being fetched for read only.
1999-11-30 17:10:11 +00:00
Zeev Suraski
f617a46305 That's a more thorough fix... 1999-11-25 16:21:01 +00:00
Zeev Suraski
f62a08c2ae Fix bug #2817 - assignments to string offsets could erronously modify unrelated strings 1999-11-25 16:11:34 +00:00
Andi Gutmans
f3ca328b34 That slipped away 1999-11-21 18:19:08 +00:00
Andi Gutmans
1f11e07fc6 - Moved var_uninit() for return_value to the beginning of DO_FCALL.
We forgot to do it for overloaded methods
1999-11-19 17:04:54 +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
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
dbb67ab9dc - Add support for used_return_value passed to internal functions. 1999-11-16 18:30:06 +00:00
Andi Gutmans
d35ea24fc0 - Fix crash with string offset assignments. 1999-11-13 18:11:34 +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
Andi Gutmans
9b83d1ca5d - Fix isset() with string offsets. 1999-10-22 22:35:16 +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
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
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
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
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
Andi Gutmans
1c0f136405 - Hooray. This might actually work. (I hope) 1999-10-03 20:06:21 +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