Dmitry Stogov
d3efe97a2e
Reduced initial VM stack size to fit into zend_mm segment and eliminate extra segment allocation
2010-07-07 10:30:17 +00:00
Felipe Pena
79d2aaf0f1
- Fixed bug #51905 (ReflectionParameter fails if default value is an array with an access to self::)
2010-05-26 00:00:58 +00:00
Dmitry Stogov
c5237d82bf
Added caches to eliminate repeatable run-time bindings of functions, classes, constants, methods and properties
2010-05-24 14:11:39 +00:00
Dmitry Stogov
453b49ed20
Added a number of small performance tweaks and optimizations
...
. ZEND_RECV now always has IS_CV as its result
. ZEND_CATCH now has to be used only with constant class names
. ZEND_FETCH_DIM_? may fetch array and dimension operans in a different order
2010-04-20 11:16:39 +00:00
Dmitry Stogov
94dd83722b
Changed the structure of op_array.opcodes. The constant values are moved from opcode operands into a separate literal table
2010-04-20 10:57:45 +00:00
Dmitry Stogov
694a72c5af
Fixed bug #50723 (Bug in garbage collector causes crash)
2010-02-02 12:32:29 +00:00
Sebastian Bergmann
d2281d1dff
sed -i "s#1998-2009#1998-2010#g" **/*.c **/*.h **/*.php
2010-01-05 20:46:53 +00:00
Felipe Pena
2c388a4eaa
- Fixed warnings (Kalle)
2009-09-13 14:42:36 +00:00
Dmitry Stogov
4016bfcd71
Fixed bug #46074 (Bus error during running PHP CLI under IRIX 6.5.30)
2009-09-03 14:33:11 +00:00
Dmitry Stogov
f1ab855cfe
Fixed ability to call user functions from user opcodes without recursion
2009-08-18 10:12:32 +00:00
Pierre Joye
ba79cd5a23
- fix build (void alarm)
2009-06-09 09:26:02 +00:00
Matt Wilmas
d55300298e
MFH: Added zend_eval_stringl and made create_function(), etc. binary-safe
2009-06-05 18:50:32 +00:00
Arnaud Le Blanc
85b9327836
MFH: better fix for #48409 , #48428 , #48228
2009-06-05 11:21:31 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Felipe Pena
cf7384aa40
- MFH: Constness (Added const qualifier to several function parameters)
2008-08-12 17:20:25 +00:00
Dmitry Stogov
76a9a42ee2
- Removed direct executor recursion.
...
- Use fastcall calling convention in executor on x86.
2008-06-11 13:18:41 +00:00
Dmitry Stogov
e8b485d077
Selected better initial VM stack size
2008-04-15 15:52:36 +00:00
Rasmus Lerdorf
6c158374ba
exit_on_timeout patch
...
After the sigsetjmp change, this is patch #2 in an effort to get some
sanity restored to signal handling in PHP.
This patch does two things. First, it makes it possible to reset the
timeout without resetting the signal handlers. This is important for
cases where an extension may have deferred signals in its MINIT in order
to implement critical sections. It also lays the groundwork for cleaning
up our signal handling and perhaps eventually implementing our own
signal deferring mechanism so we can have true critical sections.
The second thing this does is to make it possible to terminate the current
child process (only for Apache1 at the moment) on a timeout. There are
a number of extensions that are unhappy about being longjmp'ed out of
and when this happens on a timeout they are left in an inconsistent state.
By turning on exit_on_timeout you can now force the process to terminate
on a timeout which will clean up any hanging locks and/or memory left
hanging after the longjmp.
2008-03-18 21:42:50 +00:00
Felipe Pena
2b10c53ae1
MFH: Dropped zend.ze1_compatibility_mode
...
[DOC]
2008-03-18 14:10:45 +00:00
Dmitry Stogov
c33db5c74e
Fixed warning
2008-03-12 08:52:49 +00:00
Dmitry Stogov
e0ca3b2424
Fixed types
2008-01-29 11:12:07 +00:00
Stanislav Malyshev
2cd551ffec
fix type
2008-01-28 23:55:53 +00:00
Dmitry Stogov
0b6825102d
Changed EG(argument_stack) implementation.
2008-01-24 09:41:39 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Dmitry Stogov
6c810b0d4c
Improved memory usage by movig constants to read only memory. (Dmitry, Pierre)
2007-09-27 18:00:48 +00:00
Jani Taskinen
226c56fe76
MFH: Fixed compiler warnings
2007-07-21 00:35:15 +00:00
Dmitry Stogov
e1814f0dbe
WIN64 support
2007-04-16 08:09:56 +00:00
Dmitry Stogov
e470e22e20
- Fixed bug #35106 (nested foreach fails when array variable has a reference).
...
- Fixed bug #36214 (__get method works properly only when conditional operator is used).
- Fixed bug #39449 (Overloaded array properties do not work correctly).
- Fixed bug #39990 (Cannot "foreach" over overloaded properties).
2007-01-10 15:58:08 +00:00
Sebastian Bergmann
4223aa4d5e
MFH: Bump year.
2007-01-01 09:36:18 +00:00
Johannes Schlüter
dcf249004c
- MFH: Fix #38465 (ReflectionParameter fails if default value is an access to self::
2006-10-18 16:35:15 +00:00
Zeev Suraski
51d495850a
Restore ZE1 compatibility mode (Zend Engine part - the modules patches
...
will follow later today)
2006-06-05 13:58:52 +00:00
Dmitry Stogov
8df40bdb31
Keeping consistent arg_stack during arguments freeing (Exception from destructor may use inconsistent arg_stack for backtrace).
2006-05-31 13:01:57 +00:00
Marcus Boerger
637a40423c
- MFH as discussed
...
. zend_exception_get_default() -> zend_exception_get_default(TSRMLS_D)
. zend_get_error_exception() -> zend_get_error_exception(TSRMLS_D)
. added E_RECOVERABLE_ERROR
. added ZEND_TOSTRING_FUNC_NAME
. added __tostring function cache to zend_class_entry
. added ZEND_NAMED_ME
. modified ZEND_ME_MAPPING to support method flags
. added ZEND_MN
. method entries now use prefix "zim_" instead of "zif_"
. drop EG(ze1_compatibility_mode)
. changed cast handler, now without (int should_free):
typedef int (*zend_object_cast_t)(zval *readobj, zval *retval, int type TSRMLS_DC);
. changed get_iterator, now receives whether value is by ref:
zend_object_iterator *(*get_iterator)(zend_class_entry *ce, zval *object, int by_ref TSRMLS_DC);
. added zend_objects_store_add_ref_by_handle
. added zend_objects_store_del_ref_by_handle
. convert_to_explicit_type(pzv, type)
2006-05-09 23:53:23 +00:00
Andi Gutmans
61e93ccfe8
- Update copyright notices to 2006
2006-01-04 23:53:05 +00:00
Dmitry Stogov
9d3ac92729
MFH (removed unnecesary call to zval_ptr_dtor)
2005-09-19 17:50:24 +00:00
Dmitry Stogov
9d1f2f30d3
Fixed bug #34199 (if($obj)/if(!$obj) inconsistency)
2005-09-12 11:48:57 +00:00
Dmitry Stogov
9305339d94
Changed "instanceof" and "catch" operators, is_a() and is_subclass_of() functions to not call __autoload().
2005-09-09 06:48:49 +00:00
foobar
916815b779
Bump up the year
2005-08-03 13:30:58 +00:00
Dmitry Stogov
61b9dedd90
Export zend_do_fcall() helper from executor
2005-06-24 12:33:53 +00:00
Stanislav Malyshev
999998ecaa
rename to zend_
2005-06-16 14:27:08 +00:00
Stanislav Malyshev
87c9e68c91
export zval getters
2005-06-16 11:50:08 +00:00
Dmitry Stogov
3c1a774ddc
USER_OPCODE API is improvet.
...
Implemented ability to dispatch from user handler to internal handler of another opcode.
2005-06-16 06:00:48 +00:00
Dmitry Stogov
84b96e9b03
Fix so that extensions like xdebug, can overload opcodes in all execution modes including goto/switch
2005-06-10 09:54:38 +00:00
Andi Gutmans
8838c0f860
- Two new API calls for Derick (retreive CV name and value) by Dmitry
2005-01-22 02:29:18 +00:00
Andi Gutmans
f82ed13625
- Commit new VM architecture. This one allows people (aka Derick) to
...
- ask the engine to use function handler mode. Will update the README
- about that.
2004-09-23 21:43:32 +00:00
Andi Gutmans
d9252aa1ea
- Fix for bug #29707
2004-09-21 22:09:22 +00:00
Andi Gutmans
96ab56e146
- Roll back VM commit
2004-09-09 16:47:22 +00:00
Andi Gutmans
8eb8850c90
- Some architectural changes:
...
a) We specialize opcodes according to op_type fields. Each opcode has to
be marked with which op_type's it uses.
b) We support different execution methods. Function handlers, switch()
and goto dispatching. goto seems to be the fastest but it really
depends on the compiler and how well it optimizes. I suggest playing
around with optimization flags.
- Warning: Things might break so keep us posted on how things are going.
(Dmitry, Andi)
2004-09-08 22:14:12 +00:00
Marcus Boerger
0cd2da0309
- Execute destructors earlier (Florian Schaper, fschaper at intux org)
2004-07-25 07:14:49 +00:00
Marcus Boerger
09e76476ef
Improve error message
2004-03-16 10:14:57 +00:00
Stanislav Malyshev
97e7ce733a
fix the fix
2004-03-04 13:11:03 +00:00
Stanislav Malyshev
99edaa3a4f
oops, fix cut&paste gone bad
2004-03-04 13:09:03 +00:00
Stanislav Malyshev
f9c65203d2
Fix object true value: if we are in compat mode and it's Zend object -
...
use PHP4 rules. Otherwise, object is always true.
2004-03-04 13:06:02 +00:00
Zeev Suraski
00ed3bad29
Centralize exceptions code in zend_exceptions.[ch].
...
Remove zend_default_classes.h (use zend_exceptions.h instead)
NOTE: This currently breaks the build, fixes to php-src and pecl coming
soon
2004-02-12 10:38:14 +00:00
Zeev Suraski
d9630a595b
Exceptions updates:
...
- Enforce exceptions to be derived from class Exception. This allows
users to perform catch-all. It's not yet complete, so don't get
comfortable with it just yet :) Updates are coming soon.
- Implement zend_throw_exception() using zend_throw_exception_ex()
2004-02-12 10:24:40 +00:00
Andi Gutmans
559b14611d
- Add API function to throw exception by using an object
2004-02-12 09:50:08 +00:00
Zeev Suraski
c5d842279c
Reinstate early-binding for classes.
...
Note that this is available for downwards compatibility only - and it doesn't
work if you use new features (namely, interfaces). Generally, people should
declare their classes before using them, but we just didn't want hell to break
loose (c)
2004-02-04 16:30:15 +00:00
Zeev Suraski
9e60cb553f
Rewrote exception support. Fixes a few limitations and bugs in the old
...
implementation, and allows exceptions to 'fire' much earlier than before.
Instructions on how to use the new mechanism will follow on internals@
shortly...
Note - this (most probably) breaks the current implementation of
set_exception_handler()
2004-02-03 12:17:09 +00:00
Andi Gutmans
21f09643ec
- Hopefully fix bug #26696 .
...
- Please let me know if hell-breaks loose
2004-01-19 12:22:02 +00:00
Marcus Boerger
3df0288490
Improove debug capabilities
2004-01-18 23:47:10 +00:00
foobar
ccfc46b0aa
- Happy new year and PHP 5 for rest of the files too..
...
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Zeev Suraski
3a42babad6
Fix behavior of return-by-reference functions. Remove erroneous warnings,
...
add E_STRICT warnings in case you return something by reference that you're
not supposed to (anything that's not a variable, or a return-value of a
function that returned by reference).
2003-12-14 16:09:07 +00:00
Zeev Suraski
e94e3e1775
Some cleanup
2003-12-14 12:32:02 +00:00
Marcus Boerger
d3473d1f58
- Provide a unified way to display uncaught exceptions, which shows
...
file/line/message info if possible.
- Add zend_eval_string_ex() to be able to handle exceptions in eval'd code.
- Use above function to fix memleaks in CLI.
2003-08-24 13:10:03 +00:00
Zeev Suraski
9d7122fb53
Generalize fetch_class
2003-08-03 08:21:08 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Sebastian Bergmann
572504845d
Leftover.
2003-06-02 15:53:09 +00:00
Stanislav Malyshev
f7f5a5ea6b
MEGA-patch: namespaces are R.I.P.
2003-06-02 12:13:11 +00:00
Andrei Zmievski
3b47a64269
Add zend_lookup_ns_class() function.
2003-04-08 17:10:01 +00:00
Stanislav Malyshev
a4c3b2ce80
Namespace patch. Big changes:
...
1. Nested classes are gone.
2. New syntax for namespaces:
namespace foo {
class X { ... }
function bar { ... }
var x = 1;
const ZZ = 2;
}
3. Namespaced symbol access: $x = new foo::X; - etc.
For now, namespaces are case insensitive, just like classes.
Also, there can be no global class and namespace with the same name
(to avoid ambiguities in :: resolution).
2003-02-16 11:12:43 +00:00
foobar
333406bdc2
- Added some missing CVS $Id$ tags, headers and footers.
2003-02-01 01:49:15 +00:00
Derick Rethans
2c44fab3a0
- Ported the zend_execute_internal hook to ZendEngine2.
2003-01-11 16:12:44 +00:00
Sebastian Bergmann
2c5d4b8c23
Bump year.
2002-12-31 15:59:15 +00:00
Andi Gutmans
e8214a3384
- Commit Marcus' cleanup of abstract and static inheritance and improve
...
- error messages
2002-11-23 20:44:12 +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
Zeev Suraski
0450ab9462
MFZE1 (Expose more C++ APIs)
2002-05-20 07:17:30 +00:00
Harald Radi
51e797f1e3
some type cleanup work
2002-04-23 18:06:54 +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
Sebastian Bergmann
62dc854bb0
Happy New Year.
2002-01-06 15:21:36 +00:00
Sebastian Bergmann
d863d52a5d
Update headers.
2001-12-11 15:16:21 +00:00
Andi Gutmans
26578c386d
- Initial support for nested class definitions
2001-10-29 17:19:02 +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
Andi Gutmans
51b92451d0
- More object junk
2001-07-29 08:24:38 +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
Andi Gutmans
8cd70926c5
- Nuke dependency of all of PHP on zend_execute_locks.h.
2001-06-21 21:17:10 +00:00
Zeev Suraski
0c164128f8
Add missing exports
2001-06-19 08:52:19 +00:00
Andi Gutmans
d2c9e8074c
- Update copyright year
2001-02-26 05:43:27 +00:00
Zeev Suraski
848e51fda5
Expose all timeout functions
2000-12-05 13:04:05 +00:00
Andi Gutmans
996bd9300b
- Fix Bug #7061
2000-10-06 17:34:50 +00:00
Sascha Schumann
99771d91ce
Remove --enable-c9x-inline option. We now use a syntax which is compatible
...
with all compilers by providing the function with static linkage in every
compilation unit.
2000-09-26 11:10:11 +00:00
Zeev Suraski
5286b3971c
Make compile_string() accept a description of the code
2000-09-12 19:47:25 +00:00
Andi Gutmans
e1a3604103
- Unused results should be marked with EXT_TYPE_UNUSED and not IS_UNUSED
2000-08-14 04:10:02 +00:00
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
b72a2738dc
- Forgot ZEND_API
2000-07-02 15:39:54 +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
ef0bd3d102
- Move timeout code to Zend
...
- Implement timeouts in Win32
2000-06-16 01:54:56 +00:00
Sascha Schumann
35f43ad274
Rename C0x-inline to C9x-inline, and frame preprocessor directives in
...
zend_gcc_inline.c with #ifndef C9X_INLINE_SEMANTICS..#endif.
2000-06-14 07:06:33 +00:00