dstogov
Repos
17
Followers
1253

Events

push

Don't create two DEF UsePos

Created at 18 hours ago
push

Improve x86 code generation for passing address of label to stack

  •   leal .L1, %eax
    
  •   movl %eax, (%esp)
    
  •   movl $.L1, (%esp)
    
Created at 20 hours ago
push

Fix test

Created at 20 hours ago
push

Fix "diff" on Windows

Created at 20 hours ago
push

Add --show-diff for Windows CI test

Created at 21 hours ago
push

Add --show-diff for Windows CI test

Created at 21 hours ago
push

Add more folding rules

Created at 21 hours ago
push

typo

Remove *.ir and *.out files for passed tests and generate *.exp and *.diff for all failed tests

Fix fusion of IF(, CMP(AND(, _) 0))

Cleanup instruction selector

Created at 1 day ago

[skip ci] Make Tim CODEOWNER of /.github

Update assertion about unsupported property types

[skip ci] Add myself as code owner of stubs

[skip ci] Reorder rules alphabetically

[skip ci] Add myself as CODEOWNER for a couple of extensions

Mainly because I'm the one who's touched them the most recently and has a vague idea how these extensions work.

[skip ci] Add CONFLICTS file for curl tests

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: [skip ci] Add CONFLICTS file for curl tests

Merge branch 'PHP-8.2'

  • PHP-8.2: [skip ci] Add CONFLICTS file for curl tests

[skip ci] Add myself in CODEOWNERS for few extensions (#10903)

Add myself for ext/date

[skip ci] Fix CODEOWNERS sorting

The alphabet is hard :stuck_out_tongue_winking_eye:

[skip ci] Add myself in CODEOWNERS for curl

[Zend]: Remove unused code in MAKE_NOP macro (#10906)

Prefer to see clean code.

In MAKE_NOP macro, op.num is first set to 0, but immediately set to -1 by SET_UNUSED macro, which invalidates previous set-to-zero code.

So clean the code to make it look nice and neat.

Signed-off-by: Tony Su tao.su@intel.com

Shrink some commonly used structs by reordering members (#10880)

Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will be a hole created by the compiler in the struct, which is wasted space. This patch reorders some of the most commonly used structs, but in such a way that the fields which were in the same cache line still belong together. The only exception to this is exception_ignore_args, which was temporally not close to nearby members, and as such I placed it further up to close a hole.

On 64-bit Linux this gives us the following shrinks:

  • zend_op_array: 248 -> 240
  • zend_ssa_var: 56 -> 48
  • zend_ssa_var_info: 48 -> 40
  • php_core_globals: 672 -> 608
  • zend_executor_globals: 1824 -> 1792

On 32-bit, the sizes will either remain the same or will result in smaller shrinks.

Implement better diff for run-tests.php

Borrow sebastianbergmann/diff with MemoryEfficientLongestCommonSubsequenceCalculator

Fixes GH-10806 Closes GH-10875

ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Disable the warning before including curl_arginfo.h.

(Follow-up for https://github.com/php/php-src/pull/10531)

Merge branch 'PHP-8.1' into PHP-8.2

  • PHP-8.1: ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Merge branch 'PHP-8.2'

  • PHP-8.2: ext/curl: suppress -Wdeprecated-declarations in curl_arginfo.h

Empty merge

Updated to version 2023.1 (2023a)

Created at 1 day ago

Use new ir_init() prototype

Created at 1 day ago
push

Add "const" modifiers

Fix 32-bit clang build

Prefer IR_TARGET_* checks instead of system specific macros

Created at 1 day ago
pull request closed
fixups: Minor improvements to ir.h, ir_builder.h and ir_init

In this series,

  • Pass additional flags argument into ir_init
  • Expose and formalize the minimal constants and instructions limit in context
  • Add C++ guards to headers
  • Put comments to several flags/options

These are minor fixes based on the discussions that took place previously.

Created at 2 days ago
push

C++: Add guards for relevant headers

Signed-off-by: Anatol Belski ab@php.net

doc: Add short comments to some flags

Signed-off-by: Anatol Belski ab@php.net

ir_init: Expose min limit for constants and instructions

Signed-off-by: Anatol Belski ab@php.net

ir_init: Accept flags as an additional arguments

Signed-off-by: Anatol Belski ab@php.net

Merge pull request #20 from weltling/fixups_00

fixups: Minor improvements to ir.h, ir_builder.h and ir_init

Created at 2 days ago
issue comment
Forward shutdown exceptions to user error handlers

@dstogov From a purely functional point of view, this adds functionality, which is not possible to achieve in any other way. So, I think we should do it in any case, only the specific semantics might be argued.

OK. Lets define the proposed functionality. The first thing you need is an ability to catch exceptions thrown from "shutdown functions" by "exception handler".

Questions:

  • what should we do if we already shutting down because of a previously "uncaught" exception?
  • if an exception is thrown from exception handler itself?
  • if an exception is thrown from some __destructor() that is called after shutdown functions?
  • if an exception is thrown from some output buffering handler?
  • if an exception is thrown from some resource dtors?
  • if an exception is thrown during releasing of static properties and variables?
  • if an exception is thrown from a error handler?

I would say - "discard" for the first two questions and "catch" for everything else, but note that behaviour of exception handlers is limited by each step of the shut-down sequence. (e.g. output buffers may be flushed, DB connections closed, objects destroyed, global and static variables unset). So may be better to "discard" for everything else after "user shutdown handlers".

Created at 2 days ago
issue comment
Reset user func trampoline values FFI may overwrite

no, the C code is exactly right. The new comments may be confusing for people who are not familiar with the problem.

It's better to add comments that EG(trampoline) may be reused in different places (e.g. FFI) and all sensitive fields must be reinitialized.

Created at 2 days ago

Fix incorrect optimization

Fixes oss-fuzz #57482

Merge branch 'PHP-8.2'

  • PHP-8.2: Fix incorrect optimization
Created at 2 days ago

Fix incorrect optimization

Fixes oss-fuzz #57482

Created at 2 days ago