YJIT: Implement new struct accessors (#5161)
YJIT: Implement optimized_method_struct_aref
YJIT: Implement struct_aref without method call
Struct member reads can be compiled directly into a memory read (with either one or two levels of indirection).
YJIT: Implement optimized struct aset
YJIT: Update tests for struct access
YJIT: Add counters for remaining optimized methods
Check for INT32_MAX overflow
It only takes a struct with 0x7fffffff/8+1 members. Also add some cheap compile time checks.
Co-authored-by: Alan Wu [email protected]
YJIT: Implement new struct accessors (#5161)
YJIT: Implement optimized_method_struct_aref
YJIT: Implement struct_aref without method call
Struct member reads can be compiled directly into a memory read (with
either one or two levels of indirection).
YJIT: Implement optimized struct aset
YJIT: Update tests for struct access
YJIT: Add counters for remaining optimized methods
Check for INT32_MAX overflow
It only takes a struct with 0x7fffffff/8+1 members. Also add some
cheap compile time checks.
Co-authored-by: Alan Wu [email protected]