Project

General

Profile

« Previous | Next » 

Revision de9a1e4a

Added by jhawthorn (John Hawthorn) over 3 years ago

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.

  • Add tests for non-embedded struct aref/aset

Co-authored-by: Alan Wu