diff options
| author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2020-09-30 16:57:54 -0400 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:24 -0400 |
| commit | 851ea463512529390133e656540bb3e287ca6fdd (patch) | |
| tree | c7d26b38389bc47a8ee31e3e0e8f4dc996283586 /ujit_asm.h | |
| parent | d7f012666d4931c64fbb6175eab3837088e4f0ea (diff) | |
Added member_opnd() convenience macro
Diffstat (limited to 'ujit_asm.h')
| -rw-r--r-- | ujit_asm.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ujit_asm.h b/ujit_asm.h index 8bb408f9f1..810b4d35b7 100644 --- a/ujit_asm.h +++ b/ujit_asm.h @@ -218,6 +218,13 @@ x86opnd_t imm_opnd(int64_t val); // Constant pointer operand x86opnd_t const_ptr_opnd(void* ptr); +// Struct member operand +#define member_opnd(base_reg, struct_type, member_name) mem_opnd( \ + 8 * sizeof(((struct_type*)0)->member_name), \ + base_reg, \ + offsetof(struct_type, member_name) \ +) + // Code block methods uint8_t* alloc_exec_mem(size_t mem_size); void cb_init(codeblock_t* cb, uint8_t* mem_block, size_t mem_size); |
