File tree 2 files changed +4
-7
lines changed
2 files changed +4
-7
lines changed Original file line number Diff line number Diff line change 1
1
---
2
- refs/heads/master: 82cb906dd89c16d8cfd387ec782d115ce6eaa2a5
2
+ refs/heads/master: fefae72a53a61c256481328ed29aafb725056f5c
Original file line number Diff line number Diff line change @@ -21,21 +21,18 @@ T align_down(T sp)
21
21
// The struct in which we store the saved data. This is mostly the
22
22
// volatile registers and instruction pointer, but it also includes
23
23
// RCX/RDI which are used to pass arguments. The indices for each
24
- // register are found in "regs.h":
24
+ // register are found in "regs.h". Note that the alignment must be
25
+ // 16 bytes so that SSE instructions can be used.
25
26
#include " regs.h"
26
27
struct registers_t {
27
28
uint64_t data[RUSTRT_MAX];
28
- };
29
+ } __attribute__((aligned( 16 ))) ;
29
30
30
31
extern " C" void __morestack (void *args, void *fn_ptr, uintptr_t stack_ptr);
31
32
32
33
class context {
33
34
public:
34
- #ifdef __FreeBSD__
35
- registers_t regs __attribute__ ((aligned(16 )));
36
- #else
37
35
registers_t regs;
38
- #endif
39
36
40
37
context ();
41
38
You can’t perform that action at this time.
0 commit comments