4#ifndef QV4STACKLIMITS_P_H
5#define QV4STACKLIMITS_P_H
18#include <private/qtqmlglobal_p.h>
20#ifndef Q_STACK_GROWTH_DIRECTION
21# ifdef Q_PROCESSOR_HPPA
22# define Q_STACK_GROWTH_DIRECTION (1)
24# define Q_STACK_GROWTH_DIRECTION (-1)
41#if defined(Q_CC_GNU) || __has_builtin(__builtin_frame_address)
42 stackPointer = __builtin_frame_address(0);
43#elif defined(Q_CC_MSVC)
44 stackPointer = &stackPointer;
45#elif defined(Q_PROCESSOR_X86_64)
46 __asm__ __volatile__(
"movq %%rsp, %0" :
"=r"(stackPointer) : :);
47#elif defined(Q_PROCESSOR_X86)
48 __asm__ __volatile__(
"movl %%esp, %0" :
"=r"(stackPointer) : :);
49#elif defined(Q_PROCESSOR_ARM_64) && defined(__ILP32__)
50 quint64 stackPointerRegister = 0;
51 __asm__ __volatile__(
"mov %0, sp" :
"=r"(stackPointerRegister) : :);
52 stackPointer =
reinterpret_cast<void *
>(stackPointerRegister);
53#elif defined(Q_PROCESSOR_ARM_64) || defined(Q_PROCESSOR_ARM_32)
54 __asm__ __volatile__(
"mov %0, sp" :
"=r"(stackPointer) : :);
56 stackPointer = &stackPointer;
63 const void *
base =
nullptr;
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
StackProperties stackProperties()
const void * currentStackPointer()
unsigned long long quint64