diff options
author | Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> | 2020-10-02 12:12:28 -0400 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:24 -0400 |
commit | e3cd43e2bc44fdd358f8ea1c373125ce4320f972 (patch) | |
tree | ac46bb8422210074d029f126a365856041908cb1 /ujit_asm.h | |
parent | 4e9a62c963292cec76c6011e9e18987f64d8257d (diff) |
Implemented opt_minus in MicroJIT
Diffstat (limited to 'ujit_asm.h')
-rw-r--r-- | ujit_asm.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ujit_asm.h b/ujit_asm.h index baeadc75b0..a52a9691df 100644 --- a/ujit_asm.h +++ b/ujit_asm.h @@ -225,6 +225,14 @@ x86opnd_t const_ptr_opnd(void* ptr); offsetof(struct_type, member_name) \ ) +// Struct member operand with an array index +#define member_opnd_idx(base_reg, struct_type, member_name, idx) mem_opnd( \ + 8 * sizeof(((struct_type*)0)->member_name), \ + base_reg, \ + (offsetof(struct_type, member_name) + \ + sizeof(((struct_type*)0)->member_name) * idx) \ +) + // 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); |