1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 06:51:18 +02:00
Commit Graph

13670 Commits

Author SHA1 Message Date
Dmitry Stogov
cd9f0a22fc Perform run-time binding reusing HashTable bucket (without new bucket insertion). 2018-08-29 00:35:07 +03:00
Peter Kokot
409b5133cc Change some permissions from 755 to 644
This patch syncs file permissions accross the PHP source code files
since these don't need to be executable.
2018-08-28 23:26:49 +02:00
Dmitry Stogov
2fbfdde1b6 Cleanup class linking 2018-08-27 16:40:25 +03:00
Dmitry Stogov
ea9628936f Move zend_verify_abstract_class() into zend_inheritance.c 2018-08-27 12:56:17 +03:00
Dmitry Stogov
02eded868c Avoid function copying 2018-08-27 12:47:32 +03:00
Anatol Belski
e42e8b1051 Refactor stat implementation
- move relevant parts into win32
- general cleanup
- use Windows API and fallback to POSIX
- improve filetime to timestamp conversion
- improve stat/fsat
- handle ino by using file index
- handle st_dev by using volume serial number

The inode implementation is based on file indexes from NTFS. On 32-bit,
fake inodes are shown, that may lead to unexpeted results. 64-bit
implementation is most reliable.
2018-08-26 22:30:06 +02:00
Dmitry Stogov
6136a20544 ZEND_DECLARE_CLASS, ZEND_DECLARE_INHERITED_CLASS and ZEND_DECLARE_INHERITED_CLASS_DELAYED don't need return value anymore. 2018-08-24 15:40:53 +03:00
Dmitry Stogov
b36dbdd1dd Perform "early-binding" directly during compilation 2018-08-24 15:18:38 +03:00
Dmitry Stogov
8050f4a334 Keep information about unresolved parent class in zend_class_entry->parent_name 2018-08-24 00:20:57 +03:00
Dmitry Stogov
d140df58e6 Keep information about unresolved interfaces in zend_class_entry->interface_names.
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.
2018-08-23 17:16:28 +03:00
Dmitry Stogov
67397970b2 Replace zend_class_entry->traits by persistent zend_class_entry->trait_names.
Move trait binding code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_TRIAIT and ZEND_BIND_TRAITS opcodes.
2018-08-23 02:02:26 +03:00
Dmitry Stogov
92fdf9d629 Change zend_lookup_class_ex() and zend_fetch_class_by_name() prototypes to accept optional lower-case class name as zend_string*, instead of zval*. 2018-08-22 17:07:31 +03:00
Christoph M. Becker
1f698e0f94 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #76773 - Methods with a concrete scope need to be added again
2018-08-22 14:08:46 +02:00
Chris Wright
9ace33b9c5 Fix #76773 - Methods with a concrete scope need to be added again 2018-08-22 14:08:15 +02:00
Christoph M. Becker
d1ff6c3a4e Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #76767: ‘asm’ operand has impossible constraints in zend_operators.h
2018-08-22 13:57:44 +02:00
Ondřej Surý
02b0bc8bb1 Fix #76767: ‘asm’ operand has impossible constraints in zend_operators.h
We disable assembly code with gcc 4.8 on i386.
2018-08-22 13:57:21 +02:00
Dmitry Stogov
93f9ee7217 Use zend_class_entry/zend_function type names instead of _zend_class_entry/_zend_function tags. 2018-08-22 14:01:14 +03:00
Dmitry Stogov
fc8d6b6797 Introduced ZEND_COMPILE_IGNORE_OTHER_FILES compiler option, to allow "separate" file compilation (unaffected but previously compiled files), without CG(function_table)/CG(class_table) manipulation. 2018-08-22 13:45:56 +03:00
Nikita Popov
850b53df0e Unify unpack checking in compile_special_func()
Instead of handling this separately for each specialized function,
do one check directly in zend_compile_special_func().
2018-08-22 11:38:28 +02:00
Nikita Popov
406b57ed01 Merge branch 'PHP-7.3' 2018-08-22 11:22:23 +02:00
David Carlier
446b5b15d3 Don't report mmap failure if it is expected
When using mmap with MAP_FIXED_NOREPLACE or MAP_FIXED|MAP_EXCL
an mmap failure is not an error condition, so do not print an
error message in this case.
2018-08-22 11:19:52 +02:00
Dmitry Stogov
1321aa5080 Merge branch 'PHP-7.3'
* PHP-7.3:
  Stop using zend_function->reserved[] space.
2018-08-22 10:44:34 +03:00
Dmitry Stogov
8d95f561e4 Stop using zend_function->reserved[] space. 2018-08-22 10:43:51 +03:00
Dmitry Stogov
e3bbfbe6a2 Removed op_array->static_variables duplication code. They can't be "shared" during comilation. 2018-08-22 08:24:28 +03:00
Nikita Popov
045b74c12c Drop dead code
var_ast is always a ZEND_AST_ZVAL.
2018-08-21 13:43:29 +02:00
Dmitry Stogov
6d88e1ccd6 Don't use second operand of BIND_STATIC instruction. 2018-08-21 12:22:04 +03:00
Nikita Popov
09b4b83753 Merge branch 'PHP-7.3' 2018-08-21 08:34:15 +02:00
David Carlier
0f68ff5c92 Support fixed address mmap without replacement
We did not use MAP_FIXED here, because it may replace an existing
mapping. This commit adds support for MAP_FIXED_NOREPLACE (available
on newer Linux kernels) and MAP_FIXED|MAP_EXCL (available on FreeBSD),
which avoid this issue.
2018-08-21 08:31:31 +02:00
Dmitry Stogov
7a52864ad0 Merge branch 'PHP-7.3'
* PHP-7.3:
  Removed dead code
2018-08-21 09:02:22 +03:00
Dmitry Stogov
5e5311e0ba Removed dead code 2018-08-21 09:01:54 +03:00
Dmitry Stogov
64f8b0185f Merge branch 'PHP-7.3'
* PHP-7.3:
  Avoid hash lookups in BIND_STATIC and BIND_LEXICAL opcode handlers. Encode static variable offset into opline->extended_value.
2018-08-20 16:11:40 +03:00
Dmitry Stogov
b8828926f2 Avoid hash lookups in BIND_STATIC and BIND_LEXICAL opcode handlers.
Encode static variable offset into opline->extended_value.
2018-08-20 16:10:09 +03:00
Xinchen Hui
59bcf22237 Merge branch 'PHP-7.3'
* PHP-7.3:
  Update NEWS
  Update NEWS
  Fixed bug #76754 (parent private constant in extends class memory leak)
2018-08-17 13:36:34 +08:00
Xinchen Hui
3131ebcea8 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Update NEWS
  Fixed bug #76754 (parent private constant in extends class memory leak)
2018-08-17 13:36:03 +08:00
Xinchen Hui
ca103b415e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76754 (parent private constant in extends class memory leak)
2018-08-17 13:35:31 +08:00
Xinchen Hui
04c4854fdf Fixed bug #76754 (parent private constant in extends class memory leak) 2018-08-17 13:35:15 +08:00
Xinchen Hui
4ab25235e5 Added a note 2018-08-17 12:22:46 +08:00
Xinchen Hui
dc79094217 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed).
2018-08-17 12:19:42 +08:00
Xinchen Hui
fd463a9a60 Fixed bug #76752 (Crash in ZEND_COALESCE_SPEC_TMP_HANDLER - assertion in _get_zval_ptr_tmp failed). 2018-08-17 12:19:31 +08:00
Xinchen Hui
242ebcc10b Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed zend_read_static_property
2018-08-14 13:02:14 +08:00
Xinchen Hui
78d823d9c3 Fixed zend_read_static_property 2018-08-14 13:01:50 +08:00
Gabriel Caruso
84b195d9fc Fix some misspellings 2018-08-12 16:15:45 +02:00
Pedro Magalhães
887235773d Fix #76700 - Methods with altered visibility need to be added again 2018-08-07 14:22:37 +08:00
Xinchen Hui
fadbfbf8e1 Merge branch 'bug-76700' of https://github.com/pmmaga/php-src
* 'bug-76700' of https://github.com/pmmaga/php-src:
  Fix #76700 - Methods with altered visibility need to be added again
2018-08-07 14:21:02 +08:00
Gabriel Caruso
37245e63ca Make test run on non debug builds 2018-08-05 05:05:11 -03:00
Pedro Magalhães
97b2558b76 Fix #76700 - Methods with altered visibility need to be added again 2018-08-03 17:30:03 +01:00
Christoph M. Becker
c9861bd7a9 Create and expose php_sys_symlink() and php_sys_link()
These macros are supposed to behave like POSIX's symlink() and link(),
respectively, on POSIX compliant systems and on Windows.

Future scope: merge link.c and link_win32.c
2018-08-02 14:08:30 +02:00
Xinchen Hui
642bb9f376 Unused var 2018-08-01 16:45:15 +02:00
Anatol Belski
2d71a28954 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix clang compilation
2018-08-01 16:24:07 +02:00
Anatol Belski
36857ab52b Fix clang compilation
By usage of -fmodules, all the intrinsic items are loaded automatically.
The headers included come however from Visual Studio, thus bringing some
conflicting declarations. On the other hand, -fmodules is needed to
mitigate linking issues with clang in VS compatibility mode.
2018-08-01 16:19:54 +02:00