[interp] Static field access fixes (#14009)
commit79f15ccd35a0f921a2ff6744d564cbc47d8877d0
authorVlad Brezae <brezaevlad@gmail.com>
Mon, 15 Apr 2019 12:35:34 +0000 (15 15:35 +0300)
committerGitHub <noreply@github.com>
Mon, 15 Apr 2019 12:35:34 +0000 (15 15:35 +0300)
tree5eb450ed0058a46fc274a818de50e9968c6494f3
parent8c85c298411bc43f2af66f9ca65e0c2d0293d52a
[interp] Static field access fixes (#14009)

* [interp] Further optimize static vt field access

We don't require any write barrier checking since we always copy between interpreter vt_stack and static data. We can also include the vt size in the code stream. Makes it over 1.5x times faster.

* [interp] Fix static field access using ldfld/stfld

Static field access using the ldfld/stfld instructions was not updated when stsfld/ldsfld were optimized.

* [interp] Fix special static vtype field access
mono/mini/interp/interp.c
mono/mini/interp/mintops.def
mono/mini/interp/transform.c