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