summaryrefslogtreecommitdiff
path: root/ports/unix/gccollect.c
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2021-03-16 12:21:50 -0500
committerJeff Epler <jepler@gmail.com>2021-03-16 12:21:50 -0500
commit58679dc038e475d7cd00ee45256b7f906ecc2240 (patch)
tree30cbc3f9e7e4efc81a43f364d554f33c1df34169 /ports/unix/gccollect.c
parent97b6664201de2530c9b92957a5e8d2a68524fa7e (diff)
parentbc690d4070c69e21d9070badc9f56a15d62ffb5d (diff)
Merge remote-tracking branch 'origin/main' into bitmap-read-2
Diffstat (limited to 'ports/unix/gccollect.c')
-rw-r--r--ports/unix/gccollect.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/ports/unix/gccollect.c b/ports/unix/gccollect.c
index 7cd74ec13..45ad1e043 100644
--- a/ports/unix/gccollect.c
+++ b/ports/unix/gccollect.c
@@ -49,20 +49,20 @@ STATIC void gc_helper_get_regs(regs_t arr) {
register long r13 asm ("r13");
register long r14 asm ("r14");
register long r15 asm ("r15");
-#ifdef __clang__
+ #ifdef __clang__
// TODO:
// This is dirty workaround for Clang. It tries to get around
// uncompliant (wrt to GCC) behavior of handling register variables.
// Application of this patch here is random, and done only to unbreak
// MacOS build. Better, cross-arch ways to deal with Clang issues should
// be found.
- asm("" : "=r"(rbx));
- asm("" : "=r"(rbp));
- asm("" : "=r"(r12));
- asm("" : "=r"(r13));
- asm("" : "=r"(r14));
- asm("" : "=r"(r15));
-#endif
+ asm ("" : "=r" (rbx));
+ asm ("" : "=r" (rbp));
+ asm ("" : "=r" (r12));
+ asm ("" : "=r" (r13));
+ asm ("" : "=r" (r14));
+ asm ("" : "=r" (r15));
+ #endif
arr[0] = rbx;
arr[1] = rbp;
arr[2] = r12;
@@ -80,18 +80,18 @@ STATIC void gc_helper_get_regs(regs_t arr) {
register long esi asm ("esi");
register long edi asm ("edi");
register long ebp asm ("ebp");
-#ifdef __clang__
+ #ifdef __clang__
// TODO:
// This is dirty workaround for Clang. It tries to get around
// uncompliant (wrt to GCC) behavior of handling register variables.
// Application of this patch here is random, and done only to unbreak
// MacOS build. Better, cross-arch ways to deal with Clang issues should
// be found.
- asm("" : "=r"(ebx));
- asm("" : "=r"(esi));
- asm("" : "=r"(edi));
- asm("" : "=r"(ebp));
-#endif
+ asm ("" : "=r" (ebx));
+ asm ("" : "=r" (esi));
+ asm ("" : "=r" (edi));
+ asm ("" : "=r" (ebp));
+ #endif
arr[0] = ebx;
arr[1] = esi;
arr[2] = edi;
@@ -155,12 +155,12 @@ void gc_collect_regs_and_stack(void) {
regs_t regs;
gc_helper_get_regs(regs);
// GC stack (and regs because we captured them)
- void **regs_ptr = (void**)(void*)&regs;
+ void **regs_ptr = (void **)(void *)&regs;
gc_collect_root(regs_ptr, ((uintptr_t)MP_STATE_THREAD(stack_top) - (uintptr_t)&regs) / sizeof(uintptr_t));
}
void gc_collect(void) {
- //gc_dump_info();
+ // gc_dump_info();
gc_collect_start();
gc_collect_regs_and_stack();
@@ -172,8 +172,8 @@ void gc_collect(void) {
#endif
gc_collect_end();
- //printf("-----\n");
- //gc_dump_info();
+ // printf("-----\n");
+ // gc_dump_info();
}
-#endif //MICROPY_ENABLE_GC
+#endif // MICROPY_ENABLE_GC