Commit graph

13969 commits

Author SHA1 Message Date
Nikita Popov
6aa55a28b5 Fix intl build
class is a reserved keyword in C++...
2019-01-04 11:03:03 +01:00
Nikita Popov
290adc4132 Introduce separate ZEND_AST_CLASS_NAME AST node
Instead of representing this as a ZEND_AST_CLASS_CONST with a
"class" constant name.

Class constants and ::class are unrelated features that happen to
share syntax, so represent and handle them separately.
2019-01-04 10:49:23 +01:00
Nikita Popov
03094c7af3 Merge branch 'PHP-7.3' 2019-01-04 09:53:36 +01:00
Nikita Popov
1ed20669c5 Merge branch 'PHP-7.2' into PHP-7.3 2019-01-04 09:53:30 +01:00
Nikita Popov
41af1e6781 Fix self::class inside constant in global scope
Previously this triggered an assertion failure. The behavior is
not quite correct, in that self::class should generate an exception
if there is no self, but returns an empty string here. Fixing that
would be a bit too intrusive for the 7.2 branch.
2019-01-04 09:52:04 +01:00
Nikita Popov
beaea5c560 Merge branch 'PHP-7.3' 2019-01-03 10:26:17 +01:00
Nikita Popov
5a361c3a54 Possible fix for bug #77357
Don't invoke CPUID with feature levels above the supported maximum.
In this case CPUID will return the highest supported basic information
leaf, which will have unrelated bits in the relevant positions.
2019-01-03 10:24:48 +01:00
Nikita Popov
fe359cf1ff Fix undefined function error message
This got fixed on 7.3, but the implementation is slightly different
on master and the new test was failing.
2019-01-02 15:41:38 +01:00
Nikita Popov
f9208e9bf8 Merge branch 'PHP-7.3' 2019-01-02 11:34:24 +01:00
Nikita Popov
613683580b Merge branch 'PHP-7.2' into PHP-7.3 2019-01-02 11:34:15 +01:00
Nikita Popov
73596c56e7 Partial fix for bug #75426
This does not print the exact line of the comma, but rather the line
of the previous element. This should generally be "good enough", as
the line number is close (off by one) to the actual issue now.
Previously it would point to the start of the array, which may be
very far away.
2019-01-02 11:32:48 +01:00
Nikita Popov
636b1c3d26 Drop _ex from zend_compile_class_ref_ex
The non-ex version no longer exists.
2019-01-02 09:56:40 +01:00
Xinchen Hui
384b02d058 Fixed bug #77387 (Recursion detection broken when printing GLOBALS) 2019-01-02 16:42:21 +08:00
Xinchen Hui
54a58a7380 Fixed bug #77387 (Recursion detection broken when printing GLOBALS) 2019-01-02 16:42:05 +08:00
Xinchen Hui
1a0c325b89 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #77376 ("undefined function" message no longer includes namespace)
2019-01-02 15:32:29 +08:00
Xinchen Hui
e01f08f679 Fixed bug #77376 ("undefined function" message no longer includes namespace) 2019-01-02 15:32:17 +08:00
Anatol Belski
e1ec033d1b Merge branch 'PHP-7.3'
* PHP-7.3:
  Add memory check to the test
2018-12-29 16:23:54 +01:00
Anatol Belski
2567eba330 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Add memory check to the test
2018-12-29 16:23:24 +01:00
Anatol Belski
222fa032d2 Add memory check to the test 2018-12-29 16:22:31 +01:00
Dmitry Stogov
b8d6aac5ad Micro optimization 2018-12-28 15:34:33 +03:00
Dmitry Stogov
617c90bcb9 Eliminate zend_string_destroy() wrapper in release build 2018-12-28 15:25:57 +03:00
Dmitry Stogov
76d8f3923e Revert HASH_FLAG_INITIALIZED into HASH_FLAG_UNINITIALIZED. 2018-12-28 11:22:18 +03:00
Dmitry Stogov
675a8a64c3 Use HT_IS_INITIALIZED() and HT_INVALIDATE() macros instead of hackish HT_FLAGS assumtions. 2018-12-27 22:48:25 +03:00
Dmitry Stogov
e8daada82e Tune ARRAY_KEY_EXISTS opcode handler for speed and code size 2018-12-27 02:34:52 +03:00
Dmitry Stogov
70fcbe3524 Fixed ext/spl/tests/bug61347.phpt failure introduced by ZEND_ARRAY_KEY_EXISTS opcode 2018-12-27 00:20:20 +03:00
Michael Moravec
f5044a12dd Implement ZEND_ARRAY_KEY_EXISTS opcode to speed up array_key_exists() 2018-12-26 23:54:11 +03:00
Anatol Belski
f44d53bb4a Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #77317 __DIR__, __FILE__, realpath() reveal physical path for subst virtual drive
2018-12-26 13:05:46 +01:00
Anatol Belski
199914b42d Fixed bug #77317 __DIR__, __FILE__, realpath() reveal physical path for subst virtual drive
Keep compatibility with 7.2 and below which better comply with
realpath(3). This might have been fixable another way, say by checking
of QueryDosDevice or alike, sadly that comes with a huge performance
impact. The new internal realpath API is kept available so is
usable when bind or network mount or other OS specific realpath
variants are needed. If not used by default, a userspace function for
this specific case might be considered to be offered in next minor.
2018-12-26 12:59:00 +01:00
Dmitry Stogov
95d8e05554 Merge branch 'PHP-7.3'
* PHP-7.3:
  Respect EG(vm_stack_page_size)
2018-12-26 13:10:02 +03:00
Dmitry Stogov
b45774eed0 Respect EG(vm_stack_page_size) 2018-12-26 13:09:32 +03:00
Dmitry Stogov
d90a5d2e1a Micro optimization 2018-12-26 12:30:30 +03:00
Dmitry Stogov
636b16402b Fixed crashes introduced by 7e597f48e9 (only master was affected) 2018-12-25 23:30:59 +03:00
Dmitry Stogov
a111dfae0b Removed dead condition 2018-12-25 19:23:40 +03:00
Dmitry Stogov
2954a309de Avoid code duplication 2018-12-25 17:48:29 +03:00
Dmitry Stogov
5888fbde0d Backport later interned strings destruction. 2018-12-24 13:45:02 +03:00
Dmitry Stogov
773ed62555 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #77339 (__callStatic may get incorrect arguments)
2018-12-24 13:25:24 +03:00
Dmitry Stogov
ddfb44f2cf Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #77339 (__callStatic may get incorrect arguments)
2018-12-24 13:23:47 +03:00
Dmitry Stogov
7e597f48e9 Fixed bug #77339 (__callStatic may get incorrect arguments) 2018-12-24 13:22:43 +03:00
Dmitry Stogov
6ccdb904ae Fixed ws 2018-12-21 19:03:28 +03:00
Dmitry Stogov
7155239669 Merge branch 'PHP-7.3'
* PHP-7.3:
  Removed /e modifirer and fixed ws.
2018-12-21 19:01:36 +03:00
Dmitry Stogov
95193c3872 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Removed /e modifirer and fixed ws.
2018-12-21 19:01:18 +03:00
Dmitry Stogov
8db63adb6d Removed /e modifirer and fixed ws. 2018-12-21 18:58:50 +03:00
Dmitry Stogov
d6f4652255 Added specialized code for small arrays 2018-12-20 17:55:01 +03:00
Dmitry Stogov
dddf3c501e Added specialized code for small arrays 2018-12-19 17:40:34 +03:00
Dmitry Stogov
493f830355 Reuse add_property_zval_ex() instead of code duplication 2018-12-19 17:24:56 +03:00
Dmitry Stogov
d356f6d72b Removed add_get_assoc_*() and add_get_index_*() API functions 2018-12-19 16:47:48 +03:00
Dmitry Stogov
85e1df6fdc Replace add_index_zval() and add_next_index_zval() functions by macros 2018-12-19 16:43:38 +03:00
Dmitry Stogov
cec091176c Replace zend_hash_apply... with ZEND_HASH_FOREACH... 2018-12-19 02:49:56 +03:00
Dmitry Stogov
ae9e956ef9 Reorder conditions 2018-12-18 23:23:44 +03:00
Dmitry Stogov
868c1b7377 Reduce executor size 2018-12-18 17:34:18 +03:00