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
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
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
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
Andi Gutmans
d1eea3de9c
- Fix bug in nested try/catch's
...
- Infrastructure for implementing imports of methods.
2002-03-01 14:04:51 +00:00
Andi Gutmans
21b04ff2a6
@ Allow a series of consecutive catch() statements (Andi, Zend Engine)
...
<?php
class MyException1 {
}
class MyException2 {
}
try {
throw new MyException2();
} catch (MyException1 $m) {
print "Caught MyException1";
} catch (MyException2 $m) {
print "Caught MyException2";
}
2002-02-13 19:26:07 +00:00
Sebastian Bergmann
1fd542fd38
Export lex_scan(). Both the PHPDoc and tokenizer extension need this. I hope this is okay with Z&A.
2002-02-10 12:54:02 +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
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
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
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
Andi Gutmans
ae1a702501
- Fix some case insensitivity stuff in respect to classes
2001-12-28 16:36:04 +00:00
Andi Gutmans
b3fd2faac0
- Support parent:: again
2001-12-27 13:12:45 +00:00
Andi Gutmans
2ce4b47657
- Initial support for _clone()
2001-12-26 17:49:22 +00:00
Andi Gutmans
ac7ed464b5
- Start adding parsed variable checks.
2001-12-16 19:45:49 +00:00
Andi Gutmans
880e7d8ce7
- Framework for knowing what kind of variable we just parsed.
...
- This will be used in compile-time error checking which couldn't be done
- at the level of the grammar.
2001-12-16 19:18:19 +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
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
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
7cd6ccc0ec
- Support static $var = 0; style initialization of static class
...
- members. For example:
- class foo {
- static $my_static = 5;
-
- }
-
- print foo::$my_static;
2001-11-26 18:05:01 +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
26578c386d
- Initial support for nested class definitions
2001-10-29 17:19:02 +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
Zeev Suraski
9f61e47c24
MFZE1 (nuke cplusplus code)
2001-09-10 00:08:24 +00:00
Zeev Suraski
819ea51d00
MFZE1
2001-08-31 13:11:52 +00:00
Andi Gutmans
619702157b
- Make it compile in thread-safe mode.
2001-08-30 17:27:43 +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
Andi Gutmans
9d11db1200
- Merge new $_GET, $_POST etc. patch from Engine 1 tree
2001-08-08 17:18:16 +00:00
Andi Gutmans
cb1a40f399
- Preliminary patch for method() dereferencing
2001-08-08 15:07:11 +00:00
Andi Gutmans
5af7770a81
- Sync Engine2 CVS with latest Engine CVS
2001-08-07 03:17:33 +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
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
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
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
1e63f44084
Support interactive mode in thread-safe builds
2001-05-06 14:36:25 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Zeev Suraski
6f6e13de54
Use iostream.h instead of istream.h (IBM's compiler doesn't come with istream.h,
...
and iostream.h should include it)
2000-12-26 23:05:55 +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
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
Zeev Suraski
5286b3971c
Make compile_string() accept a description of the code
2000-09-12 19:47:25 +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
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
f4e2a900d6
- Oops. Too early in the morning
2000-07-11 04:15:35 +00:00
Andi Gutmans
e95220e722
- Include iostream.h in C++.
2000-07-11 04:07:18 +00:00
Sascha Schumann
a61721741b
Replace macros which begin with an underscore through an appropiately
...
named macro.
2000-07-03 00:55:36 +00:00
Andi Gutmans
727398b2d4
Add to the API
2000-06-13 19:01:22 +00:00
Sascha Schumann
df74f1dfab
Add optional support for C0x inline semantics.
...
These are enabled by specifying `--enable-c0x-inline' on the command
line. We might add an autoconf check for this particular feature
later.
2000-06-13 17:58:33 +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
0b7a9cea88
- Fix Win32 compilation (Use winsock2.h from now on)
...
- Add lambda() support
2000-06-03 01:49:49 +00:00
Andi Gutmans
a8b0d9609c
- Fix Apache php source highlighting mode. It was crashing due to the
...
- module shutdown functions being called when the startup functions weren't
- being called.
2000-05-21 17:41:16 +00:00
Andi Gutmans
69eb908f06
- Change fetch_type to be zend_uint
2000-05-03 18:01:35 +00:00
Zeev Suraski
42d15298d7
Fix possible bug with extension dtors being called without the ctors being called first
2000-04-29 02: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
Andi Gutmans
207167c54b
- Export pass_include() for Windows
2000-04-19 08:17:34 +00:00
Zeev Suraski
e663d856b3
Fix object overloading support
2000-04-10 20:21:13 +00:00
Zeev Suraski
232b90454f
Clean up last/size definitions
2000-04-10 18:02:40 +00:00
Zeev Suraski
4cdcf638ce
*** empty log message ***
2000-04-09 16:08:10 +00:00
Torben Wilson
521c8af6a4
Added !== (is not identical) operator.
2000-03-29 22:05:19 +00:00
Thies C. Arntzen
3b88c31bfc
kill warning
2000-03-19 10:50:48 +00:00
Andi Gutmans
61379fe0c3
- Another zend_uchar
2000-03-13 15:59:24 +00:00
Andi Gutmans
e92f6f15cb
- define zend_uint and zend_uchar and use them in a few places
2000-03-13 15:43:40 +00:00
Andi Gutmans
712ffd4c14
- Change type from int -> char
2000-03-13 15:11:07 +00:00
Andi Gutmans
b5de395367
- Support require_once().
2000-03-10 16:04:16 +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
Zeev Suraski
0ac9536d99
(c) patch
2000-02-19 22:46:42 +00:00
Andi Gutmans
9b840c5f59
- Hopefully fix Thies' bug report.
2000-02-16 16:00:02 +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
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
Andi Gutmans
45686e3a55
- This has to always be done.
2000-01-31 21:09:14 +00:00
Zeev Suraski
f2d3ce4170
- Optimized garbage mechanism
...
- Fixed another buglet in the parser
2000-01-31 19:18:07 +00:00
Zeev Suraski
ad115d2088
Fix require()
2000-01-29 17:19:47 +00:00
Andi Gutmans
7663e4f65e
- Add parser support for string offsets. This added three shift/reduce
...
conflicts but they all seem to be fine.
- Cleaned up the parsing rules a bit and made them much more compact and
elegant.
- Please CVS update and see that I didn't break anything.
2000-01-29 10:16:04 +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
62114c1806
Destructors no longer return ints, the low level problem it was intended to solve is long gone now...
2000-01-17 17:33:37 +00:00
Zeev Suraski
dc0e663241
Allow module startup to be separate from the compiler/executor startup
2000-01-16 19:41:15 +00:00
Andi Gutmans
400ee6caa0
- Fix bug #3073 . continue in do..while() loops should work now
1999-12-31 12:56:48 +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
Andi Gutmans
7fe808ea02
- By mistake commited this to the branch. It fixes a bug we introduced with
...
the return reference patch.
1999-12-17 08:24:10 +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
Zeev Suraski
ef596bbafb
Move the #include of zend-parser.h out of zend_compile.h
1999-12-06 20:42:44 +00:00
Zeev Suraski
00c3ac908b
Localize a couple of macros
1999-12-06 15:31:06 +00:00
Zeev Suraski
9baad80459
- Break the zend->PHP dependency introduced by the .php extension for use(),
...
by providing an API
- Enable Stig's patch for use() extensions (it wasn't refered to by the parser)
- Fix a memory leak in that code
1999-12-04 13:26:57 +00:00
Stig S. Bakken
aaadc71d5d
Fix typo, add prototype for use_filename().
1999-12-04 11:45:14 +00:00
Zeev Suraski
fdcaba4096
Solve a couple of compile issues
1999-12-02 18:59:29 +00:00
Stig S. Bakken
93536507f6
Fix warnings surfacing in maintainer-mode.
1999-12-01 22:55:20 +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
Zeev Suraski
58153dfed0
- Improve the file handle closing code
1999-11-26 23:45:22 +00:00
Andi Gutmans
4ebf7b85ad
- Fix comment as to Joey's findings
1999-11-14 10:30:39 +00:00
Andi Gutmans
6d988ec694
- Add support for BYREF_FORCE_REST
1999-11-03 19:21:56 +00:00
Zeev Suraski
7f35cfda71
*** empty log message ***
1999-10-25 16:07:14 +00:00
Andi Gutmans
98f025430e
- Move IS_IDENTICAL next to IS_EQUAL
1999-10-19 14:19:42 +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
Sascha Schumann
1877b0779c
This causes link problems with anything higher than -O0.
1999-10-05 11:17:04 +00:00
Andi Gutmans
1c0f136405
- Hooray. This might actually work. (I hope)
1999-10-03 20:06:21 +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
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
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
b5f5e9a6d1
- Optimize the execute stack a bit.
1999-08-15 19:29:39 +00:00
Zeev Suraski
ef5b7e212d
Generate better warnings for class/function redefinitions
1999-08-14 11:50:36 +00:00
Zeev Suraski
720d32f581
Fix a few leaks
1999-08-07 23:04:01 +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
07e0885519
Make set_compiled_filename() return a pointer to the allocated file name
1999-08-02 18:40:10 +00:00
Andi Gutmans
739132e58d
- Fixed a leak when doing inheritance. The parent class name wasn't being freed.
...
- Fixed a stack leak. Functions that had late argument binding were set up as
INIT_FCALL_BY_NAME but were using DO_FCALL and not the corresponding
DO_FCALL_BY_NAME.
1999-07-29 12:24:58 +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
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
Zeev Suraski
8d1de13aef
0.91 update
1999-07-19 20:02:12 +00:00
Zeev Suraski
b5b1117760
License update
1999-07-16 14:58:16 +00:00
Zeev Suraski
cccd2445ee
Get rid of AiCount completely
1999-07-10 11:45:23 +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
81d901b14d
Step 1 in nuking the garbage collector:
...
- Change the hash destructor to return int
- Don't kill the bucket on hash_destroy if the destructor returns 0
1999-07-09 17:24:47 +00:00
Zeev Suraski
d894cf44d8
Support definition of classes that are derived from classes that are defined in runtime
1999-07-08 16:55:27 +00:00
Andi Gutmans
7ed4923441
- Fix the static array() initializing
1999-06-09 19:26:54 +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
ed06a70f7f
* Centralized shutdown
...
* Change shutdown order again
1999-06-05 20:00:00 +00:00
Zeev Suraski
1b4b5c4a88
New $GLOBALS init
1999-06-04 13:09:24 +00:00
Sascha Schumann
88029643d0
* fix some casts
...
* introduce unary_op_type - cleaner than casting data voids to function ptrs
1999-05-30 13:28:56 +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
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
87ba08d1d0
Avoid leaking fd's in case of failures
1999-05-22 02:13:01 +00:00
Zeev Suraski
9cb2cf1393
Optimize allocations into uninitialized_zval assignments
1999-05-20 20:00:59 +00:00
Andi Gutmans
3facf7cb7c
- Updates we did today
1999-05-20 13:04: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
74a9ed7b3f
Weed out all BoundsChecker-found bugs (including a serious file descriptor leak
...
in the C++ scanner)
1999-05-10 20:46:42 +00:00
Andi Gutmans
fcaf734f94
- Don't support interactive mode when thread safe.
1999-05-02 19:07:46 +00:00
Zeev Suraski
2493f68018
* Fix debugger+interactive mode bug
...
* Recognize whether an extension is with debug information or not
1999-04-27 11:00:59 +00:00
Zeev Suraski
7c4a08381e
Various thread safety fixes and DLL updates
1999-04-26 14:10:42 +00:00
Zeev Suraski
5a5806e02a
Cleanups, remove old ts code
1999-04-24 00:12:55 +00:00
Zeev Suraski
1aa2c5c0b4
Ok, call me crazy, because I probably am.
...
Thread safe version now uses a C++ scanner object. Works fully.
1999-04-23 03:32:33 +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
Zeev Suraski
fa76f0c903
Compile fix
1999-04-14 21:03:25 +00:00
Andi Gutmans
39f9487ee1
-Tiny patches
1999-04-14 19:53:33 +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
Andi Gutmans
5cb576d81a
- I guess print $GLOBALS and print "$GLOBALS" should yield the same result
...
so I returned the one in encaps_var.
- Made INITAL_OP_ARRAY_SIZE smaller (64? can't remeber). I don't think the
erealloc()'s during compile time are such a biggy, we might make it even
smaller. We can have a configure time option as to it's size.
1999-04-09 15:18:29 +00:00
Zeev Suraski
17bdb70823
$GLOBALS support
1999-04-08 20:21:36 +00:00
Andi Gutmans
573b46022c
Zend Library
1999-04-07 18:10:10 +00:00