Lines Matching defs:registers

123         // Non-volatile registers are: ebx, ebp, esp, esi, edi
124 usword_t _registers[5]; // buffer for capturing registers
129 // Capture the state of the non-volatile registers.
131 static inline void capture_registers(register usword_t *registers) {
132 __asm__ volatile ("mov %%ebx, 0(%[registers]) \n"
133 "mov %%ebp, 4(%[registers]) \n"
134 "mov %%esp, 8(%[registers]) \n"
135 "mov %%esi, 12(%[registers]) \n"
136 "mov %%edi, 16(%[registers]) \n"
137 : : [registers] "a" (registers) : "memory");
140 // Non-volatile registers are: rbx rsp rbp r12-r15
141 usword_t _registers[7]; // buffer for capturing registers
146 // Capture the state of the non-volatile registers.
148 static inline void capture_registers(register usword_t *registers) {
149 __asm__ volatile ("movq %%rbx, 0(%[registers]) \n"
150 "movq %%rsp, 8(%[registers]) \n"
151 "movq %%rbp, 16(%[registers]) \n"
152 "movq %%r12, 24(%[registers]) \n"
153 "movq %%r13, 32(%[registers]) \n"
154 "movq %%r14, 40(%[registers]) \n"
155 "movq %%r15, 48(%[registers]) \n"
156 : : [registers] "a" (registers) : "memory");
159 // Non-volatile registers are: r4..r8, r10, r11
161 usword_t _registers[8]; // buffer for capturing registers
166 // Capture the state of the non-volatile registers.
168 static inline void capture_registers(register usword_t *registers) {
169 __asm__ volatile ("stmia %[registers], {r4-r11}"
170 : : [registers] "r" (registers) : "memory");
188 // Returns the range of captured registers buffer.
426 // Scan the current thread stack and registers for block references.
444 // Scan a thread other than the current thread stack and registers for block references.
460 // visits the thread's stack and registers.