Stanislav Malyshev
3a419fa8dd
Fix leak
2002-06-10 09:15:02 +00:00
Sebastian Bergmann
e449646b68
Remove unused local variable.
2002-06-05 18:17:19 +00:00
Andi Gutmans
2d6404d5b0
- Allow overloaded objects to receive the method name in its original
...
- case.
2002-06-05 17:34:56 +00:00
Andi Gutmans
14a81f91e3
- Hopefully fix problems with debug_backtrace()
2002-05-08 18:43:19 +00:00
Andi Gutmans
b66c89c47a
- More debug backtrace work. It still doesn't work very well...
2002-05-07 18:42:13 +00:00
Andi Gutmans
7e5ec2d761
Initial support for built-in backtracing.
...
There are still a few problems such as includes and calling other functions
from internal functions which aren't seen (will have to think if and how to
fix this).
Also the main scripts filename isn't available. Need to think about that.
2002-05-02 17:20:48 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +00:00
Andi Gutmans
c84a4ead95
- Pass TSRMLS to callbacks.
2002-03-15 16:26:17 +00:00
Andi Gutmans
db84afb206
- Scope fix. When calling an imported function the scope will change
...
- correctly to the scope of the functions class.
<?php
function Hello()
{
print "Wrong one\n";
}
class MyClass {
static $hello = "Hello, World\n";
function Hello()
{
print self::$hello;
}
function Trampoline()
{
Hello();
}
}
import function Trampoline from MyClass;
Trampoline();
?>
2002-03-15 15:28:06 +00:00
Andi Gutmans
0ce019f715
- Fix issues with $this when using it by itself without indirection such as
...
- $this->foo.
2002-03-15 15:09:46 +00:00
Stanislav Malyshev
40becd37e5
fix for delete $this and unset $this
2002-03-14 16:00:48 +00:00
Andi Gutmans
c8c629b3fc
- Fix bug introduced with latest class hash table change.
2002-03-12 18:53:27 +00:00
Stanislav Malyshev
92dd5e611b
- make class tables contain class_entry *, not class_entry
...
- fix isset($this)
2002-03-12 10:08:47 +00:00
Andi Gutmans
d77ff9607e
- Fix build in ZTS mode.
2002-03-10 21:02:00 +00:00
Stanislav Malyshev
04ed2b520f
New stuff for objects API:
...
- Better assignment handling
- More flexible operations with zval-containing objects
2002-03-10 13:42:37 +00:00
Andi Gutmans
90f6005f58
- Support importing constants. e.g.:
...
<?php
class MyOuterClass {
const Hello = "Hello, World\n";
}
import const Hello from MyOuterClass;
print Hello;
2002-03-08 10:58:24 +00:00
Andi Gutmans
83f102fd9f
- Add function * and class * functionality. Only constants are left.
...
<?php
class MyOuterClass {
class MyInnerClass {
function func1()
{
print "func1()\n";
}
function func2()
{
print "func2()\n";
}
}
}
import class * from MyOuterClass;
import function func2 from MyOuterClass::MyInnerClass;
MyInnerClass::func1();
func2();
2002-03-06 17:08:26 +00:00
Andi Gutmans
b90d80b588
- Initial patch to support importing from class scopes (for Stig).
...
- It isn't complete yet but I want to work on it from another machine. It
- shouldn't break anything else so just don't try and use it.
- The following is a teaser of something that already works:
<?php
class MyClass
{
function hello()
{
print "Hello, World\n";
}
class MyClass2
{
function hello()
{
print "Hello, World in MyClass2\n";
}
}
}
import function hello, class MyClass2 from MyClass;
MyClass2::hello();
hello();
?>
2002-03-02 20:38:52 +00:00
Andi Gutmans
90bd4539c7
- Remove use of C++ reserved words namespace/this
2002-03-01 14:27:26 +00:00
Stanislav Malyshev
6608f07322
Mega-commit: Enter the new object model
...
Note: only standard Zend objects are working now. This is definitely going to
break custom objects like COM, Java, etc. - this will be fixed later.
Also, this may break other things that access objects' internals directly.
2002-02-07 14:08:43 +00:00
Andi Gutmans
8535164f21
- This small patch should also take care of allowing unseting of $this->foo
...
- and static members. The unset() opcode was luckily already suitable for
- object overloading.
2002-02-04 20:44:24 +00:00
Andi Gutmans
e366f5dbd8
- Fix problem with the objects_destructor called during shutdown. It was
...
- freeing objects from id 0 instead of id 1. id 0 is not used.
- Change isset/empty opcodes to support static members and the new way of
- doing $this->foobar. Also the opcodes operate now on the hash table
- combined with the variable names so that they can be overloaded by the
- soon to be added overloading patch.
2002-02-04 19:29:56 +00:00
Andi Gutmans
c2b73faade
- Fix a bug reported by Sebastian with indirect class names not working.
2002-01-22 18:02:52 +00:00
Andi Gutmans
2131b019c7
- Improve performance of functions that use $GLOBALS[]
...
- Please check this and make sure it doesn't break anything.
2002-01-20 20:42:15 +00:00
Andi Gutmans
f1e8815c26
- Change exception handling to use the Java-like catch(MyException $exception)
...
- semantics. Example:
<?php
class MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
class MyExceptionFoo extends MyException {
function __construct($exception)
{
$this->exception = $exception;
}
function Display()
{
print "MyException: $this->exception\n";
}
}
try {
throw new MyExceptionFoo("Hello");
} catch (MyException $exception) {
$exception->Display();
}
?>
2002-01-13 20:21:55 +00:00
Andi Gutmans
0f398e4d4a
- Make sure $this is passed on to methods
2002-01-06 19:52:22 +00:00
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Andi Gutmans
e56fb1639b
- Allow passing of $this as function arguments.
...
- Fix a bug which I introduced a couple of months ago
2002-01-05 19:59:09 +00:00
Andi Gutmans
a4248dd584
- Significantly improve the performance of method calls and $this->member
...
- lookups.
2002-01-05 15:18:30 +00:00
Andi Gutmans
eb08cb956b
- Improve performance of indirect-referenced function calls
2002-01-04 09:21:16 +00:00
Andi Gutmans
6203a250f7
- Separate other kinds of function calls too.
...
- Significantly improve performance of function calls by moving lowercasing
- the function name to compile-time when possible.
2002-01-04 08:05:21 +00:00
Andi Gutmans
0ab9d11225
- Start splitting up different kinds of function calls into different
...
- opcodes.
2002-01-04 06:44:19 +00:00
Derick Rethans
9b391a83c2
- MFZE1 for exit fix, exposing current function name in error messages and
...
exposing zend_zval_type_name().
2002-01-03 14:19:13 +00:00
Andi Gutmans
b14f6cf79f
- Support default arguments for reference parameters
...
- Fix two compile warnings
2001-12-28 13:28:33 +00:00
Andi Gutmans
b3fd2faac0
- Support parent:: again
2001-12-27 13:12:45 +00:00
Andi Gutmans
5cb454a8ad
- Fix scoping issue. The following works now:
...
<?
class MyClass {
static $id = 0;
function MyClass()
{
$this->id = self::$id++;
}
function _clone()
{
$this->name = $clone->name;
$this->address = "New York";
$this->id = self::$id++;
}
}
$obj = new MyClass();
$obj->name = "Hello";
$obj->address = "Tel-Aviv";
print $obj->id;
print "\n";
$obj = $obj->_clone();
print $obj->id;
print "\n";
print $obj->name;
print "\n";
print $obj->address;
print "\n";
2001-12-26 20:17:34 +00:00
Andi Gutmans
2ce4b47657
- Initial support for _clone()
2001-12-26 17:49:22 +00:00
Andi Gutmans
ee44180fc6
- Fix a crash (not a thorough fix).
...
- Commented old code
2001-12-25 16:51:37 +00:00
Andi Gutmans
df38ce3727
- Fixed bug where global functions weren't called if they didn't exist
...
- in the class scope
2001-12-24 17:39:16 +00:00
Andi Gutmans
f4b832d277
- Fix crash bug in startup code.
...
- Start work on being able to reference global and local scope
2001-12-13 16:55:04 +00:00
Andi Gutmans
74efc41fc3
- Make classes have scope and function/constant lookups default to the class
2001-12-12 17:38:37 +00:00
Andi Gutmans
4cb97fa3b9
- Rename zend_class_entry.constants -> zend_class_entry.constants_table
2001-12-11 18:46:43 +00:00
Andi Gutmans
1dcef1e4ea
- Start making scope change correctly when calling namespace functions.
...
- When inside a namespace fallback to global namespace when function
- or constant is not found.
2001-12-11 17:56:57 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Andi Gutmans
3bfee898db
- More namespaces work.
...
- Nuke memory leak.
2001-12-10 18:57:17 +00:00
Andi Gutmans
055709538c
- Support constants. The following works now:
...
<?
class foo {
const GC = "foo constant\n";
}
define("GC", "Global constant\n");
namespace;
print GC;
namespace foo;
print GC;
namespace;
print foo::GC;
?>
2001-12-06 18:05:18 +00:00
Andi Gutmans
42486196ad
- Initial work on changing namespace scope. Only methods & variables
...
- right now.
<?
$hey = "Global hey\n";
class foo {
static $hey = "Namespace hey\n";
function bar()
{
print "in foo::bar()\n";
}
}
function bar()
{
print "in bar()\n";
}
bar();
namespace foo;
bar();
namespace;
bar();
namespace foo;
$bar_indirect = "bar";
$bar_indirect();
namespace;
print $hey;
namespace foo;
print $hey;
$hey = "Namespace hey #2\n";
namespace;
print $hey;
$hey = "Global hey #2\n";
namespace foo;
print $hey;
?>
2001-12-06 17:47:04 +00:00
Andi Gutmans
fe94f59427
- Nuke the namespace work I did. It'll be redone differently.
2001-12-06 17:23:08 +00:00
Andi Gutmans
e858d27888
- Initial support for class constants. There are still a few semantic
...
- issues which need to be looked into but basically it seems to work.
- Example:
<?php
class foo
{
const hey = "hello";
}
print foo::hey;
?>
2001-11-30 16:29:47 +00:00
Andi Gutmans
d2da63f629
- Support static members. The following script works:
...
<?
class foo
{
class bar
{
function init_values()
{
for ($i=1; $i<10; $i++) {
foo::bar::$hello[$i] = $i*$i;
}
}
function print_values()
{
for ($i=1; $i<10; $i++) {
print foo::bar::$hello[$i] . "\n";
}
}
}
}
foo::bar::init_values();
foo::bar::print_values();
for ($i=1; $i<10; $i++) {
print $hello[$i]?"Shouldn't be printed\n":"";
}
?>
2001-11-25 08:49:09 +00:00
Andi Gutmans
559d611a86
- MFZE1
2001-11-24 18:27:20 +00:00
Andi Gutmans
a332f826a7
- Support instantiation of nested class. The following script now should
...
- work:
-<?php
- class foo
- {
- function bar()
- {
- print "bar() in class bar\n";
- }
-
- class barbara
- {
- function bar()
- {
- print "bar() in class foo::barbara\n";
- }
- }
- }
-
- $obj = new foo();
- $obj->bar();
-
- $obj = new foo::barbara();
- $obj->bar();
-
2001-11-04 19:30:49 +00:00
Andi Gutmans
b87194e0c6
- Add constructor to the zend_class_entry instead of looking it up each
...
- time by name.
- This will allow the next patch of being able to instantiate nested
- classes such as new foo::bar::barbara();
2001-11-03 11:59:14 +00:00
Andi Gutmans
26578c386d
- Initial support for nested class definitions
2001-10-29 17:19:02 +00:00
Zeev Suraski
8b53a129f7
MFTGZE1
2001-10-27 09:43:38 +00:00
Andi Gutmans
2eabb14dc7
- Merge the NAMESPACES_BRANCH. It wasn't a good idea to have a branch when
...
- the whole CVS tree is work in progress
2001-09-30 17:29:55 +00:00
Andi Gutmans
560606d210
- Get rid of warning and C++ comments
2001-08-30 15:31:35 +00:00
Andi Gutmans
29f5dbe10b
- Initial support for exceptions.
2001-08-30 15:26:30 +00:00
Zeev Suraski
4684d5f405
MFZE1
2001-08-30 12:08:23 +00:00
Andi Gutmans
d87fa22532
- Merge Sterling's patches from ZE1
2001-08-18 18:16:49 +00:00
Andrei Zmievski
ea315a2e70
MFZE1
2001-08-17 17:42:43 +00:00
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
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
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
Andi Gutmans
4fff0386ac
- Changed Ts{}.var to Ts{}.var.ptr_ptr.
1999-09-26 05:45:18 +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
Thies C. Arntzen
aa5102490a
make SUNs c89 happy
1999-09-17 13:57:24 +00:00
Zeev Suraski
567b3cef6b
- Fix bug #2318
1999-09-17 02:06:12 +00:00
Andi Gutmans
67daaa7aac
- Fix for floating point array offsets. Same behaviour as in PHP 3.0. We
...
casted to (long).
1999-09-08 20:38:08 +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
48a8b14a47
- Fixed a specific memory leak linked to locking.
1999-08-23 19:02:28 +00:00
Zeev Suraski
96fd258d07
Fix #2070
1999-08-17 21:36:30 +00:00
Andi Gutmans
a08dc937c7
- Oopsie
1999-08-15 19:38:10 +00:00
Andi Gutmans
b5f5e9a6d1
- Optimize the execute stack a bit.
1999-08-15 19:29:39 +00:00
Andi Gutmans
11781bdaa8
- Thies's crash fix.
1999-08-09 16:39:13 +00:00
Zeev Suraski
720d32f581
Fix a few leaks
1999-08-07 23:04:01 +00:00
Zeev Suraski
4f2dd59e24
*** empty log message ***
1999-08-06 11:12:08 +00:00
Andi Gutmans
bbe27ffae9
- Initialize extended value's and put the fetch_type in it's own variable
...
name.
1999-08-03 18:54:49 +00:00
Andi Gutmans
e9e7bc6db3
- Add ptr_stack_n_{push,pop} in order to speed up function calls a bit.
...
There seems to be no reason for stack->top in the ptr_stack except for
when realloc()'in the stack. I think I'll remove it.
1999-07-30 11:55:53 +00:00
Andi Gutmans
741ca16711
- Fixed various inheritance problems & Andrey's leak
1999-07-28 17:59:55 +00:00
Andi Gutmans
348b2f0730
- Add missing lock
1999-07-27 18:35:22 +00:00
Andi Gutmans
88322d2ea0
- Fix up the new operator a bit more.
1999-07-27 17:30:16 +00:00
Zeev Suraski
9d0d2e5a69
Set reference count and is_ref values for new objects
1999-07-27 00:14:34 +00:00
Zeev Suraski
41308d4b43
Fix a bug in inheritence from classes defined in include files, that are
...
inherited from require()'d files
1999-07-26 21:18:35 +00:00
Andi Gutmans
7af5579e3f
- Oops I erased this by mistake
1999-07-26 19:35:57 +00:00
Andi Gutmans
7d77a63342
- Should be a complete fix now. This break away code should maybe be made
...
somewhat generic
1999-07-26 19:32:13 +00:00
Andi Gutmans
fe0fbdc5b6
- Temporary fix for "this". Have to fix it tomorrow.
1999-07-26 19:24:54 +00:00
Andi Gutmans
221c80d26d
- Fix compile error. Weird that Visual didn't catch this one.
1999-07-26 18:56:54 +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
1b6fae101a
Thoroughly fix the SWITCH problem. No RETURN handling yet.
1999-07-24 11:24:19 +00:00
Zeev Suraski
028cf1a368
Fix bug #1812
1999-07-23 18:41:58 +00:00
Andi Gutmans
acb9cae36d
- Include alloca.h when need and available.
1999-07-20 18:26:56 +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
Andi Gutmans
da648c0fb1
Fix a lock issue
1999-07-15 19:59:18 +00:00
Andi Gutmans
4dc22e32b6
- Fixed a purify warning
1999-07-12 18:07:01 +00:00
Andi Gutmans
44947bf563
Ok, so we do have to lock in there
1999-07-10 18:46:20 +00:00
Andi Gutmans
fb7a4b6486
Fix assignments of reference variables
1999-07-10 16:56:56 +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
82563bde60
Final tweaks
1999-07-10 10:55:55 +00:00
Zeev Suraski
03d33b2f88
More locking work
1999-07-10 09:29:02 +00:00
Zeev Suraski
6fcf8aa12c
*** empty log message ***
1999-07-09 21:00:24 +00:00
Zeev Suraski
0fadd053fa
More stuff
1999-07-09 20:57:29 +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
6ec1acbe32
Phase 3:
...
Use a single bit to mark IS_REF variables
1999-07-09 18:19:48 +00:00
Zeev Suraski
5f62c347c7
Step 2:
...
Rename is_ref to EA
1999-07-09 17:44:41 +00:00
Zeev Suraski
baa75917c8
Support isset()/empty() for string offsets
1999-07-03 18:03:02 +00:00
Zeev Suraski
963a004481
* Use to_string() instead of __print()
...
* Support boolean casts ((bool) and (boolean))
1999-06-11 11:17:43 +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
95c9e3014a
* Fix cases where you assign an array element to the parent array (the array was
...
being erased before the assignment, so the element was being smashed).
1999-06-09 21:39:12 +00:00
Zeev Suraski
b484f40c31
* Fix foreach() that receives a non array argument
...
* Clean up some C++ comments
1999-06-09 21:02:59 +00:00
Andi Gutmans
04b2c1d422
* Fix a by-name call/method call bug
...
* Clean and optimize the whole function call process
1999-06-08 18:33:31 +00:00
Zeev Suraski
8b2fe60467
- Fixed Karl's bug report. It's not really a thorough fix, we really need to rethink the INIT_FCALL/DO_FCALL issue.
...
- Fixed numerous AiCount problems
1999-06-05 18:47:36 +00:00
Zeev Suraski
1b4b5c4a88
New $GLOBALS init
1999-06-04 13:09:24 +00:00
Andi Gutmans
1225d0307b
- We weren't counting newlines in heredocs. The only place which is still questionable
...
is when there's a \ followed by a newline but it seems we have a parse error in this
case anyways.
- Fixed the alloca() macros so that the alloca() #define in win32 mode won't clash
with the real win32 alloca().
1999-06-03 21:06:03 +00:00
Andi Gutmans
c4b7426ec1
- Make execute() use less stack in thread-safe win32 due to Microsoft's shitty 256kb stack.
1999-06-01 18:47:53 +00:00
Andi Gutmans
52ec64359c
Fixes
1999-05-31 18:33:12 +00:00
Zeev Suraski
b7ee45e13c
Correct fix
1999-05-29 12:00:32 +00:00
Zeev Suraski
24a21ca2e1
Fix a leak
1999-05-29 11:01:50 +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
3b5972ed4a
Fix the AiCount issue with objects
1999-05-27 03:11:08 +00:00
Zeev Suraski
ee7032f069
Sigh, another leak bites the dust. FREE_OP missing in case of a SEND_VAR.
1999-05-22 18:02:30 +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
9cb2cf1393
Optimize allocations into uninitialized_zval assignments
1999-05-20 20:00:59 +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
5a5806e02a
Cleanups, remove old ts code
1999-04-24 00:12:55 +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
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
Andi Gutmans
dd03a7a2f3
Support =unset as arguments
1999-04-19 16:28:05 +00:00
Zeev Suraski
1ae9891e7e
AiCount needs to be decreased here
1999-04-18 19:55:42 +00:00
Andi Gutmans
b32b2831d8
- one more place which seems to have needed fixing. I don't have time to look
...
more into it. I hope we don't have anymore places which need fixing.
1999-04-15 17:43:16 +00:00
Zeev Suraski
76ceb9ad44
Better detection
1999-04-13 22:09:59 +00:00
Zeev Suraski
7c2155c1ad
Move Ai stuff before get_zval_*(), like Andi suggested. Fixes Sascha's huge
...
memory leak
1999-04-13 20:50:31 +00:00
Andi Gutmans
e1e2226b92
- Fix various memory leaks.
1999-04-13 19:28:03 +00:00
Andi Gutmans
d86ed8207c
Refcount bugfix
1999-04-13 17:49:14 +00:00
Zeev Suraski
1dff49ec83
Minor optimization
1999-04-12 20:49:02 +00:00
Zeev Suraski
714f450a00
This should take care of "this" for user-defined functions. It wasn't yet working
...
for built-in functions anyway, this one is coming soon.
1999-04-12 19:40:48 +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
b06c5731fc
Minor fixes:
...
missing zval_copy_ctor()
messed up AiCount fix
1999-04-12 17:59:36 +00:00
Zeev Suraski
17bdb70823
$GLOBALS support
1999-04-08 20:21:36 +00:00
Zeev Suraski
135da4b4fc
Fix static assignment
1999-04-08 00:18:29 +00:00
Andi Gutmans
573b46022c
Zend Library
1999-04-07 18:10:10 +00:00