Commit 1f95d2a
Move
And get rid of the `obj_to_id_tbl`
It's no longer needed, the `object_id` is now stored inline
in the object alongside instance variables.
We still need the inverse table in case `_id2ref` is invoked, but
we lazily build it by walking the heap if that happens.
The `object_id` concern is also no longer a GC implementation
concern, but a generic implementation.
Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>object_id in object fields.1 parent 8004e46 commit 1f95d2a
23 files changed
Lines changed: 1159 additions & 553 deletions
File tree
- ext/objspace
- gc
- default
- mmtk
- src
- include/ruby/internal
- internal
- test/ruby
- yjit/src
- zjit/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
805 | 805 | | |
806 | 806 | | |
807 | 807 | | |
808 | | - | |
809 | 808 | | |
810 | 809 | | |
811 | | - | |
| 810 | + | |
812 | 811 | | |
813 | 812 | | |
814 | | - | |
| 813 | + | |
815 | 814 | | |
816 | 815 | | |
817 | 816 | | |
818 | 817 | | |
819 | 818 | | |
820 | 819 | | |
821 | | - | |
| 820 | + | |
822 | 821 | | |
823 | 822 | | |
824 | | - | |
| 823 | + | |
825 | 824 | | |
826 | 825 | | |
827 | | - | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
828 | 830 | | |
829 | | - | |
830 | | - | |
831 | 831 | | |
832 | 832 | | |
833 | 833 | | |
| |||
0 commit comments