Skip to content

Commit b4f6366

Browse files
committed
Force C saving preserved registers only for HYBRID VM
1 parent af6d824 commit b4f6366

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

Zend/zend_vm_execute.h

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Zend/zend_vm_execute.skl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,16 @@ ZEND_API void {%EXECUTOR_NAME%}_ex(zend_execute_data *ex)
1313

1414
{%INTERNAL_LABELS%}
1515

16+
#if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID)
1617
/* Force C compiler to store preserved registers to allow JIT using them */
17-
#if defined(__GNUC__) && defined(__i386__)
18+
# if defined(__GNUC__) && defined(__i386__)
1819
__asm__ __volatile__ (""::: "ebx");
19-
#elif defined(__GNUC__) && defined(__x86_64__)
20+
# elif defined(__GNUC__) && defined(__x86_64__)
2021
__asm__ __volatile__ (""::: "rbx","r12","r13");
21-
#elif defined(__GNUC__) && defined(__aarch64__)
22+
# elif defined(__GNUC__) && defined(__aarch64__)
2223
__asm__ __volatile__ (""::: "x19","x20","x21","x22","x23","x24","x25","x26");
24+
# endif
2325
#endif
24-
2526
LOAD_OPLINE();
2627
ZEND_VM_LOOP_INTERRUPT_CHECK();
2728

0 commit comments

Comments
 (0)