diff options
author | John Hawthorn <john@hawthorn.email> | 2021-11-25 11:56:58 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-25 11:56:58 -0800 |
commit | de9a1e4a9654ea305f11ce8602ee32f394e44338 (patch) | |
tree | 0cb841ee3da562313f773287ba9536775d1c6acb /common.mk | |
parent | e469ebd7d35bbb190395378c37f1f1051d243948 (diff) |
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 <XrXr@users.noreply.github.com>
Notes
Notes:
Merged-By: jhawthorn <john@hawthorn.email>
Diffstat (limited to 'common.mk')
-rw-r--r-- | common.mk | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -17483,6 +17483,7 @@ yjit.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h yjit.$(OBJEXT): $(top_srcdir)/internal/serial.h yjit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h yjit.$(OBJEXT): $(top_srcdir)/internal/string.h +yjit.$(OBJEXT): $(top_srcdir)/internal/struct.h yjit.$(OBJEXT): $(top_srcdir)/internal/variable.h yjit.$(OBJEXT): $(top_srcdir)/internal/vm.h yjit.$(OBJEXT): $(top_srcdir)/internal/warnings.h |