1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

13668 Commits

Author SHA1 Message Date
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
Xinchen Hui 85145e509e Unused var 2018-08-01 14:49:06 +08:00
Anatol Belski f8357f9e80 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix length to copy
2018-07-31 17:32:49 +02:00