Commit Graph

263 Commits

Author SHA1 Message Date
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
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
Andrei Zmievski
fc260e6c98 Fix certain cases where inheritance of base class's overloaded handlers wasn't
being done.
2001-07-21 02:35:13 +00:00
Zeev Suraski
d68f53e94e Unfix, it has too strong effects 2001-07-19 18:33:22 +00:00
Zeev Suraski
ce29cb297e Catch all cases 2001-07-19 15:53:38 +00:00
Zeev Suraski
01814bb2b8 Fix bug #11970, strike 2 2001-07-19 14:15:50 +00:00
Zeev Suraski
43ebb86806 Fix bug #10287 - avoid crashing under a bogus usage of list() 2001-07-16 15:48:31 +00:00
Zeev Suraski
fb532ba52b Fix bug #10467 2001-07-16 11:41:06 +00:00
Zeev Suraski
0c49166197 Fix bug #9884 2001-07-15 16:22:41 +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
Andi Gutmans
6297cd26e2 - Commit Thies' patch. str.len was too long. 2001-07-10 05:02:50 +00:00
Zeev Suraski
cb0d2775fb parent::methodname() now works better with runtime classes (fix bug #11589) 2001-06-21 14:53:05 +00:00
Andi Gutmans
e264a407eb - Change if() to while() to make sure we skip enough opcodes 2001-05-25 09:46:48 +00:00
Andi Gutmans
90c36273b4 - Fix memory leak 2001-05-25 07:26:48 +00:00
Zeev Suraski
bda9c83a82 Recover from a parse error in include files (before, it could result in a crash under certain circumstances). Fix bug #8663 2001-05-06 19:30:31 +00:00
Zeev Suraski
686eab894c Hear hear, interactive mode is finally showing some progress:
- Support function calls
- Fix crash bug
2001-05-06 15:00:58 +00:00
Zeev Suraski
36ded42156 Make parent:: work in runtime bindings as well 2001-03-07 10:07:25 +00:00
Zeev Suraski
bdacbc4c94 Whitespace fix 2001-03-02 23:56:03 +00:00
Andrei Zmievski
cb00ed2bd3 Don't overwrite existing handlers with parent ones. 2001-02-27 05:18:34 +00:00
Andi Gutmans
d2c9e8074c - Update copyright year 2001-02-26 05:43:27 +00:00
Andrei Zmievski
50f28f4372 Inherit overloaded handlers. 2001-02-03 04:52:29 +00:00
Zeev Suraski
0e08845eb0 Add free_estring() 2001-01-15 10:52:06 +00:00
Andi Gutmans
43adbdcc72 - Fix leak with useless statements such as "foo"; 2000-12-18 13:28:32 +00:00
Stanislav Malyshev
6a356cf5c8 Whitespace fix 2000-12-07 10:36:45 +00:00
Stanislav Malyshev
8ba3eeabd9 Allow var $foo = array(ABC => 1) constructs
# It still doesn't work good with constants, but at least doesn't leak now
2000-12-07 10:36:10 +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
Andi Gutmans
be6ab20415 - Remove code which has been commented out for ages. 2000-11-22 19:53:17 +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
1ccf94066c - Move SET_UNUSED() to header 2000-11-11 17:59:47 +00:00
Andi Gutmans
5e33cdaef3 - Remove this damn thing once again. 2000-11-10 11:48:12 +00:00
Andi Gutmans
f950a3724c - Maybe it's OK now? :) 2000-11-09 23:54:18 +00:00
Andi Gutmans
113a5bb8c2 - Undo the previous commit for fixing $obj = new foo(). 2000-11-09 23:43:21 +00:00
Andi Gutmans
d9d4824cd3 - Commit experimental patch to fix the problem when doing $a = new foo()
and the constructor assigns $this by reference to other symbol table
  elements. Thanks to Daniel J. Rodriguez on this one.
2000-11-09 22:11:14 +00:00
Zeev Suraski
f1a9920bcf Maintain consistency 2000-11-02 19:27:55 +00:00
Andi Gutmans
ce501c78a8 - Replace do_exit() with zend_do_exit().
- Problem reported by David Hedbor <david@hedbor.org>
2000-11-02 18:42:54 +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
7b0d92dd18 Unify the names of these last 3 files... 2000-10-29 14:35:34 +00:00
Andi Gutmans
c13cfa040d - Constant expressions which are used multiple times need to be copy_ctored 2000-10-19 09:36:53 +00:00
Stanislav Malyshev
2158bbfa7f Set filename even on recursive include 2000-09-17 08:58:39 +00:00
Andi Gutmans
5348058938 - Forgot to create extended info in include()/require() call 2000-09-11 15:15:57 +00:00
Zeev Suraski
c34f41b7c5 Eliminate run-time leak with eval()'s 2000-08-19 17:50:42 +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
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
Andi Gutmans
e1a3604103 - Unused results should be marked with EXT_TYPE_UNUSED and not IS_UNUSED 2000-08-14 04:10:02 +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
Andi Gutmans
a1adc81f30 @ Fix switch which only has a default rule (Andi, Zend Engine)
@ Change require_once() to use the same file list as include_once().
@ Patch includes making require() & include() to behave the same when it
@ comes to scoping. require() is now an include() which isn't allowed to fail.
@ require() caused too many memory reallocations which ended up being quite
@ slow for sites that required lots of files. (Andi & Zeev, Zend Engine)
- Fix switch() which only has default rule (bug #5879,
2000-08-10 20:42:57 +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
Zeev Suraski
a30cde3de5 Fix a possible issue with runtime inheritence under fairly rare circumstance
and optimize a tiny bit
2000-07-26 18:23:30 +00:00
Andi Gutmans
4066a197be - Beautify Zeev's patch a bit. 2000-07-16 22:33:42 +00:00
Zeev Suraski
808f8ed306 Implement parent::foo() 2000-07-16 16:40:21 +00:00
Zeev Suraski
b4266edb07 Add more extended_info calls 2000-07-15 15:41:20 +00:00
Andi Gutmans
80121ead56 - Make is_method_call() static and remove a couple of old lines 2000-07-06 23:28:05 +00:00
Andi Gutmans
af5d38214b - One more fix for the latest patch 2000-07-06 22:29:06 +00:00
Andi Gutmans
2787a746f4 - One dumb bug in my latest patch 2000-07-06 22:21:24 +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
Andi Gutmans
6d6d52551e - Fix bug #4120 2000-07-03 19:17:57 +00:00
Andi Gutmans
727398b2d4 Add to the API 2000-06-13 19:01:22 +00:00
Zeev Suraski
968d2c5b33 Get rid of <?php_track_vars?> 2000-06-12 16:07:15 +00:00
Andi Gutmans
eb0e694665 - Andrei, this is for you!
- Add zend_register_internal_class_ex() which allows you to specify a
- parent to inherit from. You can either specify the parent directly or via
- its name.
2000-06-09 14:40:14 +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
1c36e3472f Change shutdown order to sort out a crash when assigning a resource id to a static. 2000-06-04 22:09:16 +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
385d1aa664 Fix a crash bug in certain situations of class redeclarations 2000-05-25 16:26:22 +00:00
Zeev Suraski
9a751419cf Refined fix 2000-05-11 18:49:45 +00:00
Zeev Suraski
cb35b7e4ed Fix a memory corruption bug with by-ref function arguments 2000-05-11 18:31:21 +00:00
Thies C. Arntzen
354272315a make waning readable 2000-05-10 09:40:46 +00:00
Andi Gutmans
30da5fd8fc Thoroughly initialize IS_UNUSED for proper cleanup 2000-05-08 21:46: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
e0a48fe623 Beautify 2000-04-29 01:30:17 +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
Zeev Suraski
e16c38b3f5 - Forgot to keep the ':' in the class_name 2000-04-24 22:13:08 +00:00
Andi Gutmans
4f15966d1b - Fix order of JMPZNZ arguments 2000-04-17 17:16:47 +00:00
Zeev Suraski
4cb9a483d2 - Clean up resource lists namespace
- Prepare extended resource list destructor APIs (currently unused)
2000-04-15 13:02:22 +00:00
Andi Gutmans
cc0d6ac19c - Two more places needed changing 2000-04-10 18:24:38 +00:00
Zeev Suraski
232b90454f Clean up last/size definitions 2000-04-10 18:02:40 +00:00
Andi Gutmans
da3db3d864 - FIx JMPZNZ 2000-04-05 20:55:51 +00:00
Zeev Suraski
523f3cce5f The previous fix ended up being broken, this one should do it 2000-03-31 15:17:43 +00:00
Andi Gutmans
24302e89e5 - Fix bug 2000-03-31 00:05:41 +00:00
Zeev Suraski
b7cd2bfa8e - Make the argument order for the stack applies more consistent with other Zend
data structures
- Fix a possible corruption problem due to switch() C-level optimization
2000-03-29 22:28:04 +00:00
Zeev Suraski
5dba477467 - Some header dependencies cleanup
- Generalize zval_print() and zval_print_r()
2000-03-25 19:10:07 +00:00
Andi Gutmans
6db18997bb - Nuke hash_*_ptr functions 2000-03-24 11:12:30 +00:00
Zeev Suraski
84569c08fc - 2000-03-13 18:01:43 +00:00
Zeev Suraski
fe37f4bca9 - Spare a byte :) 2000-03-13 17:59:30 +00:00
Andi Gutmans
7fc5c94478 *** empty log message *** 2000-03-13 15:49:47 +00:00
Andi Gutmans
b5de395367 - Support require_once(). 2000-03-10 16:04:16 +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
Zeev Suraski
0ac9536d99 (c) patch 2000-02-19 22:46:42 +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
0c470af314 Syntax highlighting was erronously emitting more than one semicolon and/or garbage with heredocs 2000-02-07 18:39:14 +00:00
Andi Gutmans
4b0da428e7 - Support the string offset syntax $a{2} with the regular array opcodes.
Will need to write new opcodes sometime but right now it's good enough
  to announce the change to this string offset syntax for beta 4.
2000-02-06 20:18:35 +00:00
Andi Gutmans
7f48989be6 - This hopefully fixes the list($a, $a) = array(1,2) crash, i.e. when list
by mistake contains the same variable twice.
- BTW, there is no defined order of assignment. The value of $a after the
  previous example is undefined, and should not be assumed to be either 1
  nor 2.
2000-02-05 20:19:46 +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
b3ec6d5d05 - Fix the annoying problem with list(), that surfaced up after our recent cleaning
patches
2000-02-02 16:47:43 +00:00
Andi Gutmans
131e3a06fb - Get rid of remains of garbage.
- This should fix Thies' UMR
2000-02-01 16:02:38 +00:00