Move unbox tramp method address table to data segment, MONO_ARCH_CODE_EXEC_ONLY....
authormonojenkins <jo.shields+jenkins@xamarin.com>
Tue, 24 Mar 2020 04:28:06 +0000 (00:28 -0400)
committerGitHub <noreply@github.com>
Tue, 24 Mar 2020 04:28:06 +0000 (00:28 -0400)
commitb159b37160038631386f7c0846b106361a03619c
tree13742dd6b126e717e23e9f7194d22d9053ab74b5
parentc67efd8316b1cd44a4234090bbe898fde8409163
Move unbox tramp method address table to data segment, MONO_ARCH_CODE_EXEC_ONLY. (#33969)

unbox tramp method addresses are emitted as a table of calls and read at runtime by get_call_table_entry. This is problematic on platforms that doesn't allow data to be read from instruction stream.

Fix follow same pattern as method address table emitted as function pointers into table in data segment when using MONO_ARCH_CODE_EXEC_ONLY.

Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
src/mono/mono/mini/aot-compiler.c
src/mono/mono/mini/aot-runtime.c