diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-03-12 08:52:19 -0400 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2024-03-13 09:05:52 -0400 |
| commit | 2fc551e34e3d1310986e0e2727aadcd39ba06925 (patch) | |
| tree | aa1001fb2e14a87ff4ed1993d3097a778fface59 | |
| parent | 5fa28ce015a595ba8042be58a951b2f2a83eef10 (diff) | |
Simplify NEWOBJ_OF macro
| -rw-r--r-- | internal/gc.h | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/internal/gc.h b/internal/gc.h index d06410a055..9470ceeccc 100644 --- a/internal/gc.h +++ b/internal/gc.h @@ -126,17 +126,11 @@ struct rb_objspace; /* in vm_core.h */ # undef RB_NEWOBJ_OF #endif -#define NEWOBJ_OF_0(var, T, c, f, s, ec) NEWOBJ_OF_ec(var, T, c, f, s, GET_EC()) -#define NEWOBJ_OF_ec(var, T, c, f, s, ec) \ +#define NEWOBJ_OF(var, T, c, f, s, ec) \ T *(var) = (T *)(((f) & FL_WB_PROTECTED) ? \ - rb_wb_protected_newobj_of((ec), (c), (f) & ~FL_WB_PROTECTED, s) : \ + rb_wb_protected_newobj_of((ec ? ec : GET_EC()), (c), (f) & ~FL_WB_PROTECTED, s) : \ rb_wb_unprotected_newobj_of((c), (f), s)) -#define NEWOBJ_OF(var, T, c, f, s, ec) \ - NEWOBJ_OF_HELPER(ec)(var, T, c, f, s, ec) - -#define NEWOBJ_OF_HELPER(ec) NEWOBJ_OF_ ## ec - #define RB_OBJ_GC_FLAGS_MAX 6 /* used in ext/objspace */ #ifndef USE_UNALIGNED_MEMBER_ACCESS |
