Andi Gutmans
c497868005
- Add support for static methods. Basically methods which are defined as
...
- static don't have $this. That's the whole difference.
2002-11-05 19:37:31 +00:00
Andi Gutmans
3c94041bed
- Fix unset($this->foo)
2002-11-01 07:59:42 +00:00
Andi Gutmans
023836ae25
- Also tune jmpz_ex
2002-10-24 18:24:55 +00:00
Andi Gutmans
80109314b9
- Improve performance of part of the jmps. More to follow.
2002-10-24 18:04:12 +00:00
Andi Gutmans
1eb04a850e
- This might improve performance. Commiting it so that I can check it on
...
- Linux
2002-10-23 20:40:07 +00:00
Andi Gutmans
4a9f1a9396
- Make Ts access a macro. I need this for my next patch which should
...
- improve performance but not sure yet if it will.
2002-10-23 20:26:28 +00:00
Andi Gutmans
8cbe1ea796
- Nuke unused get_incdec_op()
...
- Nuke old comment
2002-10-22 19:34:25 +00:00
Andi Gutmans
d12679a64d
- Improve overall engine performance
2002-10-22 19:31:53 +00:00
Andi Gutmans
329354529b
- Fix bug reported by Daniel T. Gorski
2002-10-22 17:00:59 +00:00
Andi Gutmans
536d4d8aab
- Improve opcode dispatching
2002-10-19 09:45:51 +00:00
Andi Gutmans
cf36abb2eb
- Change opcode dispatch mechanism to use a function per opcode and use
...
- a lookup table using the opcode # to call the correct function.
- Still have lots of tuning to do.
2002-10-18 21:19:27 +00:00
Andi Gutmans
7f9819e647
- Cleanup
2002-10-18 10:20:44 +00:00
Sebastian Bergmann
7b0949b005
Fix ZTS build.
2002-10-16 19:16:58 +00:00
Stanislav Malyshev
c42ec35331
Fix class static members: now the following code works:
...
<?php
class Foo {
static $c = "Parent";
}
class Child extends Foo {
}
Foo::$c = "Hello";
var_dump(Child::$c);
?>
and returns "Hello" (class statics are not copied anymore, but looked up in
runtime)
2002-10-16 18:29:41 +00:00
Stanislav Malyshev
349b3a096a
Fix and generalize $this handling.
...
ZEND_FETCH_FROM_THIS is removed, IS_UNUSED type on class variables will be
used instead as the sign that it's a fetch from $this
2002-10-16 18:06:36 +00:00
Andi Gutmans
046bdeaaab
- Support new classname::$class_name, e.g.:
...
<?
class foo::bar {
public $hello = "Hello, World\n";
}
$name = "bar";
$obj = new foo::$name;
print $obj->hello;
?>
2002-10-14 20:13:03 +00:00
Ilia Alshanetsky
d3617c51b8
MFZE1 zend_str_tolower issue.
2002-10-09 14:21:40 +00:00
Andi Gutmans
77b3ffbc5a
- Require $this-> when calling a methods. This whole automatic lookup
...
- first in the class and then in the global scope is confusing, slow and
- not quite BC compatible.
2002-10-07 21:46:44 +00:00
Andi Gutmans
278a00e1d8
- Fix problem with unsetting object members.
2002-10-06 19:55:31 +00:00
Ilia Alshanetsky
ee7b8f906d
MFZE1
2002-09-26 18:56:11 +00:00
Andi Gutmans
f78fa50423
- Megapatch to try and support inheritance from sub-classes. Things might
...
- be *very* buggy now so don't get too upset if that happens.
- I still need to improve some stuff but it's a good step (hopefully).
2002-09-24 19:05:53 +00:00
Andi Gutmans
7f6c2da50a
- WS fix - "while (" instead of "while("
2002-09-15 07:46:20 +00:00
Andi Gutmans
43139dc755
- WS - Always use "if (" and not "if("
2002-09-15 07:45:26 +00:00
Stanislav Malyshev
d8651c82cd
Support for __get, __set and __call in classes.
...
This should work as follows: if class hasn't member with given name,
__get/__set is called. If class has no method with given name, __call is called.
__get/__set are not recursive, __call can be.
2002-09-04 09:07:58 +00:00
Stanislav Malyshev
c8a659f8f6
MFZE1
2002-09-02 09:13:53 +00:00
Thies C. Arntzen
10b58f2110
those are set by RETURN_FROM_EXECUTE
2002-08-23 12:18:54 +00:00
Thies C. Arntzen
d88ca858aa
zend_execute: make sure that current_execute_data points to the right thing
...
after coming back from recursion.
2002-08-21 13:58:20 +00:00
Andi Gutmans
2372caf57e
MFZE1
2002-08-17 20:20:36 +00:00
Zeev Suraski
b66561c44a
MFZE1
2002-08-17 16:22:40 +00:00
Andi Gutmans
52406cb37c
- Make new 'is' operator work with classes only and return false when
...
- the object isn't of the said class or the value isn't an object.
2002-08-08 16:32:34 +00:00
Zeev Suraski
6025b804c2
MFZE1
2002-08-03 09:44:27 +00:00
Stanislav Malyshev
0e7c1f4609
MFZE1
2002-08-01 16:07:19 +00:00
Jason Greene
b0cf6c3112
MFZE1 global declare
2002-07-30 22:19:50 +00:00
Andrei Zmievski
82c72f2799
@- Adding 'is' operator that can be used to check the type of a variable,
...
@ or its class. (Andrei)
2002-07-30 04:07:15 +00:00
Andi Gutmans
41e3f4f0c3
- Fix problem with debug_backtrace() reported by Stig. We weren't reporting
...
- global function information because it wasn't available. We have to do
- an additional assignment per-function call so that it'll be available.
- Also don't define the global scope as function name _main_ but leave it
- empty so that frameworks like Pear can decide what they want to do.
2002-07-26 10:38:25 +00:00
Andi Gutmans
7b68f5108a
- Nuke delete(). It was a big mistake to introduce it and I finally
...
- understand why Java didn't do so.
- If you still want to control destruction of your object then either make
- sure you kill all references or create a destruction method which you
- call yourself.
2002-07-14 19:23:18 +00:00
Andi Gutmans
35e8d8139e
- Nuke some unused code
2002-07-14 18:17:07 +00:00
Andi Gutmans
677a9e8751
- Fix problem where scope was lost in nested function calls.
...
- Thanks to Timm Friebe for diving into this one.
2002-07-06 17:44:45 +00:00
Andi Gutmans
ede84fa384
- Improve some error messages.
2002-06-29 15:30:27 +00:00
Andi Gutmans
b55a20abf4
- Fix problem with scope's not changing correctly during method calls.
...
- Reapply a tiny optimization to the allocator so that in non-debug mode
- we clean memory without detecting leaks.
2002-06-26 11:07:35 +00:00
Andi Gutmans
68663bf96b
- Revert patch which checks at run-time if you're allowed to assign
...
- certain values by reference.
- We still need to find a solution for cases when this shouldn't be allowed
- as it might cause leaks.
2002-06-24 17:58:22 +00:00
Andi Gutmans
9c148f0d84
- Fix problem with constructor not being inherited and called correctly.
2002-06-23 15:46:58 +00:00
Andi Gutmans
690c85b406
- Fix bug in class constants
...
- Start centralizing main class lookups. This will help implement
- __autload()
2002-06-16 18:25:05 +00:00
Andi Gutmans
b2015c5610
- Fix problem with assigning functions by reference.
2002-06-11 17:33:53 +00:00
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